Kako podesiti pametne telefone i računare. Informativni portal

Proučavamo AVR mikrokontrolere. ADC, pravi voltmetar


"Sukisod" ili jednostavan USB ADC na PIC

Radiokotu iskreno čestitam osmi rođendan. Dug život tebi. Zaista volim ovu stranicu na kojoj provodim dosta vremena.

Na internetu možete pronaći mnogo uređaja za mjerenje svih vrsta parametara. Tako da sam konačno spreman da kreiram sopstveni snimač i da vam ga pokažem. Sakupio sam čitav zoološki vrt programera i debagera koristeći standardne šeme i odlučio da je vrijeme da napravim nešto svoje. Ne postoji ništa bolje od užitka u uređaju koji ste sami napravili.

Sukisod je ime moje mačke. Uzeli smo mače i nazvali ga Sukisa, misleći da je mačka. Mačka je veoma dobro reagovala na ovaj nadimak. A malo kasnije se ispostavilo da je u pitanju mačka. Tako je nastao Sukisod. U redu, pogledajmo moj uređaj.

Zagrebao sam po svojim kantima i našao gomilu PIC16F1455. Dobio sam komad hardvera kao uzorak. Besplatno, naravno, ali u DIP paketu. Odlučio sam ga koristiti kako dobre stvari ne bi propale. Ovo je mikrokontroler kompanije Microchip Technology sa punom brzinom USB interfejs 2.0. PIC16F1455 ima interni izvor takta koji radi sa tačnošću od 0,25%, što je neophodno za funkcionisanje USB porta.

Generalno, njegova sudbina je da radi sa USB-om. Pogledao sam kroz datasheet i napravio ovaj crtež ploče:

Nisam nacrtao dijagram, jer... sve je primitivno prema dizajnu ploče. Nisam koristio USB konektor. Rub ploče će biti konektor. Debljina tekstolita je 1,5-2 mm.

Za referencu, USB pinout:

Sada ove stvari moraju nekako biti povezane sa računarom. Koristićemo stari dobri Delphi. USB veza obrađeno kroz JvHidController biblioteke "Jedi". Snimak ekrana prozora aplikacije

Kada je povezan, hardver se detektuje kao HID uređaj i ne zahteva drajvere. Malo kasnije ću objaviti softver za Android. Posebno hvala na podršci HHIMERA.

Rezultat 1 Rezultat 2 Rezultat 3 Rezultat 4 Rezultat 5

Čip PCF8591 ima sljedeće mogućnosti:

Jedini izvor napona napajanja;
- održavanje operativnosti u opsegu napona napajanja od 2,5 do 6 V;
- niske struje potrošnja;
- tri izlaza za postavljanje slave adrese;
- četiri analogna ulaza sa programabilnim prebacivanjem (direktni i diferencijalni);
- korištenje A/D konverzije sa uzastopnom aproksimacijom i 8-bitnim rasponom brojeva;
- multipleksirani D/A konverter sa jednim analognim izlazom.

Ovo mikrokolo je napravljeno korišćenjem CMOS tehnologije, ima 4 analogna ulaza i 1 analogni izlaz, kontrolisano podešavanjem podataka na I2C magistrali. Bits A2...A0 u slave adresi mikrokola su specificirani eksternih signala By tradicionalan način: povezivanjem odgovarajućih terminala ili na zajedničku žicu ili na napon napajanja. Ovo vam omogućava da koristite do 8 čipova istog tipa. Uključeno PCF8591 Postoji samo jedan A/D pretvarač, ali upotreba metoda multipleksiranja proširuje ulazne mogućnosti čipa. ADC ulaz je povezan serijski na 4 signalna ulaza i sa njih se čitaju informacije. Nažalost, multipleksiranje se ne može koristiti za D/A konverziju, tako da postoji samo jedan analogni izlaz. Maksimalna brzina Konverzija podataka je ograničena maksimalnom brzinom I2C magistrale.

Slika 1. Pinout PCF8591

Slika 2. Prikaz blok dijagrama unutrašnja organizacija i interakcija elemenata mikrokola

Tabela 1. Dodjela pinova PCF8591

Simbol Zaključak Opis
AIN0 1 Analogni ulaz (A/D)
AIN1 2 Analogni ulaz (A/D)
AIN2 3 Analogni ulaz (A/D)
AIN3 4 Analogni ulaz (A/D)
A0 5 Unos adrese 0
A1 6 Unos adrese 1
A2 7 Unos adrese 2
Vss 8 Zajednička žica mikrokola (napajanje)
S.D.A. 9 I2C autobus SDA linija
SCL 10 I2C sabirnica SCL linija
O.S.C. 11 Priključni terminal za eksterni generator
EXT 12 Eksterni/interni generator
AGND 13 Analogno uzemljenje
Vref 14 Referentni napon
AOUT 15 Analogni izlaz (D/A)
Vdd 16 Napon napajanja "+"

Slave adresa mikrokola je podešena kao što je prikazano na slici 3. Sadrži fiksni dio (bitovi 7...4) i varijabilni dio (bitovi 3...1). Bit 0, kao i uvijek, nosi atribut “R/W” (čitanje/pisanje).

Slika 3. Slave adresa čipa

Drugi bajt nakon slave adrese naziva se bajt za nadzor i kontrolu. Ovaj bajt konfigurira čip za zadatke korisnika. Prvo, može se koristiti za omogućavanje ili onemogućavanje analognog izlaza. Drugo, moguće je konfigurirati analogni ulazi kako u direktnoj tako i u diferencijalnoj vezi. Treće, moguće je podesiti (u dva bita) broj A/D kanala u kojem će se izvršiti konverzija. Ako je postavljena oznaka za automatsko povećanje, nakon svake A/D konverzije broj ulaznog kanala će se povećati za jedan. Najracionalnije je koristiti način automatskog povećanja u kombinaciji s unutarnjim generatorom, jer će u ovom režimu raditi kontinuirano. Kako je navedeno u dokumentaciji, kašnjenje u pokretanju generatora pri prebacivanju kanala dovodi do grešaka u konverziji podataka. Također se preporučuje da isključite analogni izlaz (stavite ga u Z-stanje) ako se ne koristi. Ova mjera će smanjiti potrošnju struje mikrokola. Na sl. Slika 4 prikazuje moguća stanja bajta za praćenje i kontrolu.

Slika 4. Stanja kontrolnih i upravljačkih bajtova

D/A konverzija

Treći bajt koji PCF8591 mora primiti je bajt podataka za digitalno-analogni pretvarač. Naravno, u ovom slučaju analogni izlaz mora biti aktiviran u bajtu za nadzor i kontrolu (slika 4).

Fizički, D/A pretvarač se sastoji od matrice otpornika, prikazane na Sl. 5. Priključne tačke otpornika formiraju grane, koje se preko prekidača spajaju na izlaznu liniju. Krug je kontroliran dekoderom grana. Izlazni napon (L)AC out) se zatim dovodi u pojačalo sa automatskim nuliranjem jediničnog pojačanja. Ovo pojačalo se može ili uključiti (preko bajta za praćenje i kontrolu) ili staviti u izlazno stanje visoke impedancije (2).

Slika 5. D/A pretvarač

Važno je napomenuti da se D/A pretvarač takođe koristi u postupku A/D konverzije koristeći metodu uzastopne aproksimacije. Ova metoda detaljno opisano u literaturi i nema smisla vraćati se na to u okviru ove knjige.

Slika 6. Postupak D/A konverzije

Postupak D/A konverzije prikazan je na Sl. 6. Bilo koja tačka na grafu u rasponu 00h...FFh može se odrediti formulom:

Gdje VA0UT - izlazni napon D/A pretvarač; VREF- referentni napon; VAGND- analogni potencijal zemlje; D- odgovarajući bit bajta podataka.

Takođe obratite pažnju na sl. 7. Moguće je raditi sa mikrokolo prenošenjem lanca bajtova podataka, koji slijede jedan za drugim. Nivo napona koji odgovara navedenom se pojavljuje na izlazu u trenutku kada se izda ACK signal. U trenutku kada se izda ACK signal, koji potvrđuje prijem bajta za praćenje i kontrolu (slika 4) na izlazu mikrokola, pojavljuju se podaci sadržani u DAC registru sa kraja prethodnog ciklusa rada mikrokola .

Slika 7.

Da biste izvršili A/D konverziju, prvo morate prenijeti nadzorni i kontrolni bajt sa predznakom R/W = 0. Zatim očitati podatke prema sl. 8.

Slika 10. Način diferencijalnog mjerenja

Da bi se osigurala stabilnost A/D i D/A konverzije, potreban je poseban izvor referentnog napona, spojen na Vref i AGND pinove mikrokola. Ugrađeni oscilator je neophodan da obezbedi ciklus A/D konverzije i da prilagodi bafer pojačalo sa automatskim podešavanjem nule.

Da bi se omogućio interni oscilator, pin EXT mora biti kratko spojen na Vss. Tada će se na OSC pinu pojaviti signal frekvencije konverzije, koji se može pratiti. Ako je EXT pin spojen na VDD, interni oscilator će preći u stanje visoke impedancije i OSC pin se može napajati signalom iz vanjskog oscilatora.

književnost:
B. Yu. Semenov, “I2C BUS U RADIO-TEHNIČKIM DIZAJNIMA”

Ovaj članak razmatra glavna pitanja vezana za princip rada ADC-a. razne vrste. Istovremeno, neki važni teorijski proračuni u vezi s matematičkim opisom analogno-digitalne konverzije ostali su izvan okvira članka, ali su date veze na kojima zainteresirani čitatelj može pronaći detaljnije razmatranje teorijski aspekti ADC rad. Stoga je članak više o razumijevanju opšti principi funkcionisanje ADC-a nego teorijska analiza njihovog rada.

Uvod

Kao početnu tačku, definirajmo analogno-digitalnu konverziju. Analogno-digitalna konverzija je proces pretvaranja ulazne fizičke veličine u njen numerički prikaz. Analogno-digitalni pretvarač– uređaj koji vrši takvu konverziju. Formalno, ulazna vrijednost ADC-a može biti bilo koja fizička veličina - napon, struja, otpor, kapacitivnost, brzina ponavljanja impulsa, ugao rotacije osovine itd. Međutim, radi određenosti, u nastavku ćemo pod ADC-om podrazumijevati isključivo pretvarače napon-kod.


Koncept analogno-digitalne konverzije usko je povezan s konceptom mjerenja. Pod mjerenjem podrazumijevamo proces poređenja izmjerene vrijednosti sa nekim standardom; kod analogno-digitalne konverzije, ulazna vrijednost se upoređuje s nekom referentnom vrijednošću (obično referentnim naponom). Dakle, analogno-digitalna konverzija se može smatrati mjerenjem vrijednosti ulaznog signala i na nju se primjenjuju svi pojmovi mjeriteljstva, kao što su greške mjerenja.

Glavne karakteristike ADC-a

ADC ima mnogo karakteristika, a glavne su frekvencija konverzije i dubina bita. Frekvencija konverzije se obično izražava u uzorcima u sekundi (SPS), a dubina bita je u bitovima. Moderni ADC mogu imati širinu bita do 24 bita i brzinu konverzije do GSPS jedinica (naravno, ne u isto vrijeme). Što je veća brzina i kapacitet bita, teže je dobiti tražene karakteristike, skuplji je i složeniji pretvarač. Brzina konverzije i dubina bita su međusobno povezane na određeni način, a efektivnu dubinu bita konverzije možemo povećati žrtvovanjem brzine.

Vrste ADC-a

Postoji mnogo vrsta ADC-a, ali za potrebe ovog članka ograničit ćemo se na razmatranje samo sljedećih tipova:

  • ADC paralelna konverzija (direktna konverzija, flash ADC)
  • Sukcesivna aproksimacija ADC (SAR ADC)
  • delta-sigma ADC (uravnoteženi ADC)
Postoje i drugi tipovi ADC-a, uključujući cevovodne i kombinovane tipove, koji se sastoje od nekoliko ADC-ova sa (u opšti slučaj) sa različitim arhitekturama. Međutim, gore navedene ADC arhitekture su najreprezentativnije zbog činjenice da svaka arhitektura zauzima specifičnu nišu u ukupnom rasponu bitova brzine.

ADC direktne (paralelne) konverzije imaju najveću brzinu i najmanju dubinu bita. Na primjer, paralelni ADC TLC5540 iz Texas Instruments ima brzinu od 40MSPS sa samo 8 bita. ADC ovog tipa može imati brzine konverzije do 1 GSPS. Ovdje se može primijetiti da cjevovodni ADC-i imaju još veću brzinu, ali su kombinacija nekoliko ADC-a sa manjom brzinom i njihovo razmatranje je izvan okvira ovog članka.

Srednju nišu u seriji brzina prijenosa zauzimaju ADC-ovi sukcesivnih aproksimacija. Tipične vrijednosti su 12-18 bita sa frekvencijom konverzije od 100KSPS-1MSPS.

Najveću preciznost postižu sigma-delta ADC sa širinom bita do uključujući 24 bita i brzinom od SPS jedinica do KSPS jedinica.

Drugi tip ADC-a koji je pronašao upotrebu u nedavnoj prošlosti je integrirajući ADC. Integrirajući ADC-ovi su sada gotovo u potpunosti zamijenjeni drugim tipovima ADC-a, ali se mogu naći u starijim merni instrumenti.

Direktna konverzija ADC

ADC s direktnom konverzijom postali su široko rasprostranjeni 1960-1970-ih i počeli su se proizvoditi u obliku integrisana kola 1980-ih godina. Često se koriste kao dio “cevovodnih” ADC-a (o čemu se ne govori u ovom članku), a imaju kapacitet od 6-8 bita pri brzini do 1 GSPS.

Arhitektura ADC direktne konverzije prikazana je na Sl. 1

Rice. 1. Strukturna shema Direktna konverzija ADC

Princip rada ADC-a je krajnje jednostavan: ulazni signal se dovodi istovremeno na sve "pozitivne" ulaze komparatora, a niz napona se dovodi na "negativne" koji se dobijaju od referentnog napona tako što se dijele otpornicima. R. Za kolo na sl. 1 ovaj red će biti ovako: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, gdje je Uref referentni napon ADC-a.

Neka se na ADC ulaz dovede napon jednak 1/2 Uref. Tada će prva 4 komparatora raditi (ako računate odozdo), a logički će se pojaviti na njihovim izlazima. Prioritetni enkoder će formirati “kolona” jedinica binarni kod, koji je zahvaćen izlaznim registrom.

Sada postaju jasne prednosti i nedostaci takvog pretvarača. Svi komparatori rade paralelno, vrijeme kašnjenja kola je jednako vremenu kašnjenja u jednom komparatoru plus vremenu kašnjenja u enkoderu. Komparator i enkoder se mogu napraviti vrlo brzo, kao rezultat toga cijeli sklop ima vrlo visoke performanse.

Ali da bi se dobilo N bitova, potrebno je 2^N komparatora (a složenost enkodera takođe raste sa 2^N). Šema na sl. 1. sadrži 8 komparatora i ima 3 bita, za dobijanje 8 bita potrebno je 256 komparatora, za 10 bita - 1024 komparatora, za 24-bitni ADC bi im trebalo preko 16 miliona. Međutim, tehnologija još nije dostigla takve visine.

uzastopna aproksimacija ADC

Analogno-digitalni pretvarač uzastopnog aproksimacijskog registra (SAR) mjeri veličinu ulaznog signala izvodeći niz uzastopnih "pondera", odnosno poređenja vrijednosti ulaznog napona sa nizom vrijednosti generiranih na sljedeći način:

1. u prvom koraku se izlaz ugrađenog digitalno-analognog pretvarača postavlja na vrijednost jednaku 1/2Uref (u daljem tekstu pretpostavljamo da je signal u intervalu (0 – Uref).

2. ako je signal veći od ove vrijednosti, onda se upoređuje sa naponom koji leži u sredini preostalog intervala, tj. u ovom slučaju, 3/4Uref. Ako je signal manji utvrđeni nivo, onda će se sljedeće poređenje napraviti sa manje od polovine preostalog intervala (tj. sa nivoom od 1/4Uref).

3. Korak 2 se ponavlja N puta. Dakle, N poređenja („ponderisanja“) proizvode N bitova rezultata.

Rice. 2. Blok dijagram uzastopnog aproksimacionog ADC-a.

Dakle, uzastopna aproksimacija ADC se sastoji od sljedećih čvorova:

1. Komparator. On upoređuje ulaznu vrijednost i trenutnu vrijednost napona “ponderiranja” (na slici 2, označena trouglom).

2. Digitalno-analogni pretvarač(Digitalno-analogni pretvarač, DAC). On generiše naponsku "težinu" na osnovu digitalnog koda primljenog na ulaz.

3. Registar sukcesivnih aproksimacija (SAR). On implementira uzastopni algoritam aproksimacije, generirajući trenutnu vrijednost koda koji se šalje na DAC ulaz. Svi su nazvani po njemu ovu arhitekturu ADC.

4. Šema uzorkovanja/držanja (Sample/Hold, S/H). Za rad ovog ADC-a, fundamentalno je važno da ulazni napon ostane konstantan tokom ciklusa konverzije. Međutim, “pravi” signali imaju tendenciju da se mijenjaju tokom vremena. Krug uzorkovanja i zadržavanja "pamti" trenutnu vrijednost analognog signala i održava je nepromijenjenom tokom cijelog radnog ciklusa uređaja.

Prednost uređaja je relativno velika brzina konverzija: Vrijeme konverzije N-bitnog ADC-a je N ciklusa takta. Preciznost konverzije je ograničena preciznošću internog DAC-a i može biti 16-18 bita (24-bitni SAR ADC-ovi su se sada počeli pojavljivati, na primjer, AD7766 i AD7767).

Delta-Sigma ADC

Konačno, najzanimljiviji tip ADC-a je sigma-delta ADC, koji se u literaturi ponekad naziva i balansirani ADC. Blok dijagram sigma-delta ADC-a prikazan je na Sl. 3.

Fig.3. Blok dijagram sigma-delta ADC-a.

Princip rada ovog ADC-a je nešto složeniji nego kod drugih tipova ADC-a. Njegova suština je da se ulazni napon upoređuje sa vrijednošću napona koju akumulira integrator. Impulsi pozitivnog ili negativnog polariteta se dovode na ulaz integratora, ovisno o rezultatu poređenja. Dakle, ovaj ADC je jednostavan sistem za praćenje: napon na izlazu integratora „prati“ ulazni napon (slika 4). Rezultat ovog kola je tok nula i jedinica na izlazu komparatora, koji se zatim propušta kroz digitalni niskopropusni filter, što rezultira N-bitnim rezultatom. LPF na sl. 3. U kombinaciji sa „decimatorom“, uređajem koji smanjuje učestalost očitavanja tako što ih „decimatira“.

Rice. 4. Sigma-delta ADC kao sistem za praćenje

Radi strogosti prezentacije, mora se reći da na Sl. Slika 3 prikazuje blok dijagram sigma-delta ADC prvog reda. Sigma-delta ADC drugog reda ima dva integratora i dvije petlje povratne informacije, ali se ovdje neće razmatrati. Zainteresovani za ovu temu mogu se obratiti.

Na sl. Slika 5 prikazuje signale u ADC-u na nultom ulaznom nivou (gore) i na Vref/2 nivou (dole).

Rice. 5. Signali u ADC-u na različitim nivoima ulazni signal.

Sada, bez da budete previše komplikovani matematička analiza, pokušajmo razumjeti zašto sigma-delta ADC-i imaju vrlo nizak nivo vlastitu buku.

Razmotrimo blok dijagram sigma-delta modulatora prikazanog na Sl. 3, i predstavite ga u ovom obliku (slika 6):

Rice. 6. Blok dijagram sigma-delta modulatora

Ovdje je komparator predstavljen kao sabirač koji dodaje kontinuirani traženi signal i šum kvantizacije.

Neka integrator ima prijenosnu funkciju 1/s. Zatim, predstavljajući korisni signal kao X(s), izlaz sigma-delta modulatora kao Y(s), a šum kvantizacije kao E(s), dobijamo ADC prijenosnu funkciju:

Y(s) = X(s)/(s+1) + E(s)s/(s+1)

To jest, u stvari, sigma-delta modulator je filter niske frekvencije(1/(s+1)) za korisni signal i filter visoke frekvencije(s/(s+1)) za šum, a oba filtera imaju istu frekvenciju cut. Šum koncentrisan u visokofrekventnom području spektra lako se uklanja digitalnim niskopropusnim filterom, koji se nalazi iza modulatora.

Rice. 7. Fenomen “premještanja” šuma u visokofrekventni dio spektra

Međutim, treba shvatiti da je ovo krajnje pojednostavljeno objašnjenje fenomena oblikovanja šuma u sigma-delta ADC-u.

Dakle, glavna prednost sigma-delta ADC-a je visoka tačnost, zbog izuzetno niskog nivoa vlastite buke. Međutim, da bi se postigla visoka tačnost potrebno je da granična frekvencija digitalni filter bila što je moguće niža, mnogo puta manja od radne frekvencije sigma-delta modulatora. Stoga, sigma-delta ADC-ovi imaju mala brzina transformacije.

Mogu se koristiti u audio inženjerstvu, ali njihova glavna upotreba je u industrijskoj automatizaciji za pretvaranje senzorskih signala, u mjernim instrumentima i u drugim aplikacijama gdje je potrebna visoka preciznost. ali velika brzina nije potrebna.

Malo istorije

Najstarije spominjanje ADC-a u istoriji je vjerovatno patent Paula M. Raineyja, "Faksimilni telegrafski sistem", U.S. Patent 1,608,527, zaveden 20. jula 1921., izdat 30. novembra 1926. Uređaj prikazan u patentu je zapravo 5-bitni ADC s direktnom konverzijom.

Rice. 8. Prvi patent za ADC

Rice. 9. ADC s direktnom konverzijom (1975.)

Uređaj prikazan na slici je ADC s direktnom konverzijom MOD-4100 proizvođača Computer Labs, proizveden 1975. godine, sastavljen pomoću diskretnih komparatora. Postoji 16 komparatora (locirani su u polukrugu kako bi se izjednačilo kašnjenje širenja signala svakom komparatoru), stoga ADC ima širinu od samo 4 bita. Brzina konverzije 100 MSPS, potrošnja energije 14 vati.

Sljedeća slika prikazuje naprednu verziju ADC-a za direktnu konverziju.

Rice. 10. ADC s direktnom konverzijom (1970)

VHS-630 iz 1970. godine, proizveden od strane Computer Labs, sadržavao je 64 komparatora, bio je 6-bitni, 30 MSPS i trošio je 100 vati (verzija iz 1975. VHS-675 je imala 75 MSPS i trošila 130 vati).

Književnost

W. Kester. ADC Architectures I: Flash Converter. Analogni uređaji, MT-020 Tutorial.

ADC - Analogno-digitalni pretvarač. Iz imena možete pretpostaviti da je unos analogni signal, koji se pretvara u broj.

Prva stvar koju treba reći je da ADC mikrokontrolera može mjeriti samo napon. Da bi se izmjerile druge fizičke veličine, one se prvo moraju pretvoriti u napon. Signal se uvijek mjeri u odnosu na tačku koja se zove referentni napon, ta ista tačka je maksimum koji se može izmjeriti. Preporučljivo je odabrati visoko stabilan izvor napona kao referentni izvor napona (VS), inače će sva mjerenja plesati zajedno s referentnim.

Jedan od najvažnije karakteristike je rezolucija, koja utiče na tačnost merenja. Cijeli mjerni opseg je podijeljen na dijelove. Minimalna nula, maksimalni napon ION. Za 8-bitni ADC to je 2^8=256 vrijednosti, za 10-bitni ADC je 2^10=1024 vrijednosti. Dakle, što je veća dubina bita, to se signal može preciznije izmjeriti.

Recimo da mjerite signal od 0 do 10V. Mikrokontroler koji koristimo je Atmega8, sa 10-bitnim ADC-om. To znači da će raspon od 10V biti podijeljen na 1024 vrijednosti. 10V/1024=0.0097V - ovim korakom možemo mjeriti napon. Ali imajte na umu da će mikrokontroler vrijednosti 0,0097, 0,0098, 0,0099... smatrati istim.

Ipak, korak od 0,01 je prilično dobar. Međutim, postoji nekoliko preporuka bez kojih ova tačnost neće biti zadovoljena, na primjer, za mjerenja s točnošću od 10 bita, frekvencija na kojoj ADC radi trebala bi biti 50-200 kHz. Prva transformacija traje 25 ciklusa i 13 ciklusa nakon toga. Tako na frekvenciji od 200 kHz možemo istisnuti maksimum
200.000/13 = 15.384 mjerenja.

Kao referentni izvor napona može se koristiti interni ili eksterni izvor. voltaža interni izvor(2,3-2,7V) se ne preporučuje za upotrebu zbog niske stabilnosti. Eksterni izvor povezuje se na AVCC ili Aref nogu, ovisno o postavkama programa.

Kada koristite ADC, AVCC pin mora biti povezan. AVCC napon se ne bi trebao razlikovati od napona napajanja mikrokontrolera za više od 0,3V. Kao što je rečeno, maksimalni izmjereni napon je jednak referentnom naponu (Vref), nalazi se u opsegu 2V-AVCC. Dakle, mikrokontroler ne može mjeriti više od 5V.

Da biste proširili opseg mjerenja, trebate mjeriti signal kroz djelitelj napona. Na primjer, maksimalni izmjereni napon je 10V, referentni napon je 5V. Da biste proširili opseg mjerenja, potrebno je smanjiti mjeren signal za 2 puta.

Formula za izračunavanje djelitelja izgleda ovako:

U out = U in R 2 /(R 1 + R 2)

Zamijenimo naše vrijednosti u formulu:

5 = 10*R2/(R1+R2)

one. možete uzeti bilo koja dva identična otpornika i spojiti ih prema dijagramu

Stoga, kada mjerimo napon kroz razdjelnik, moramo rezultujuću vrijednost ADC-a pomnožiti sa koeficijentom = Uout/Uin.

Kompletna formula za izračunavanje izmjerenog napona izgledat će ovako:
U=(referentni napon*ADC vrijednost*koeficijent razdjelnika)/broj ADC bitova

Primjer: referentni 5V, izmjerena vrijednost ADC = 512, faktor razdjelnika =2, ADC 10-bit.

(5*512*2)/1024=5V - stvarna izmjerena vrijednost napona.

Neki programeri pišu program tako da mikrokontroler automatski izračunava koeficijent djelitelja; za to se standardnim uređajem mjeri izlazni signal i ta vrijednost se unosi u program. Sam mikrokontroler korelira pravi napon sa svakom vrijednošću ADC-a; sam proces je jednokratan i naziva se kalibracija.

Idemo dalje implementacija softvera. Izrađujemo projekat sa specificirani parametri. Također ćemo povezati ekran na port D za prikaz informacija.

Mjerenje će se obaviti u automatski način rada, obrada koda u prekidu, referentni napon je povezan na AVCC pin. U suštini, samo trebamo obraditi primljene podatke. Izmjereni podaci se pohranjuju u varijablu adc_data. Ako trebate skenirati nekoliko kanala, odaberite koje kanale želite skenirati, a podaci će biti za pin 0 u adc_data, za pin 1 u adc_data, itd.

U glavnoj petlji dodajte linije:

rezultat=((5.00*adc_data)/1024.00); //pretvoriti ADC vrijednost u volte
sprintf(lcd_buffer,"U=%.2fV",rezultat); // stavljamo rezultat u privremenu varijablu
lcd_puts(lcd_buffer); //display

Mala napomena: da biste koristili brojeve s pomičnim zarezom, morate promijeniti (s)printf Karakteristike: int, širina na plutajući, širina, preciznost u postavkama projekta. Ako se to ne uradi, nećemo vidjeti desetinke i stotinke.

Dakle, samo smo pretvorili ADC vrijednost u volte i prikazali je na displeju. Rezultat u Proteusu izgleda ovako:

Otpornik se može koristiti za promjenu napona; izmjereni napon se prikazuje na displeju. Kada sastavljate na pravi hardver, potrebno je da povežete kondenzator od 0,1 µF na Aref nogu. Ispostavilo se da je lekcija malo teška, ali mislim da će vam se svidjeti.

Proteus fajl i firmver:

Ažuriranje:
Mjerenje struje:

Najbolji članci na ovu temu