Conversie uşoară

by donpedro

de Mark Pallones și Mike Gomez, Microchip Technology Inc.


Implementarea unei conversii analog/digitale într-un circuit este una dintre sarcinile cele mai des întâlnite de proiectanţi, una ce poate fi realizată pe mai multe căi. Dar pentru numeroase aplicaţii simple şi cu lăţime de bandă mică, precum cazul unui voltmetru de CC, scopul este de a păstra costul implementării redus, dar să se obţină o rezoluţie ridicată a conversiei analog/digitale.

Procedura de testare

MCA603_AN513_EA0416_fig-1

Figura 1: Schema circuitului de conversie analog/digital.

O schemă simplificată a unui astfel de circuit este prezentată în figura 1. Există două tensiuni de intrare conectate câte una la amplificatorul ope­raţional U1. Vref este tensiunea de referinţă fixă utilizată în calibrare, iar Vmeas este tensiunea necunoscută ce trebuie convertită.
Rezistenţa R1 şi condensatorul C1 formează un circuit de încărcare, utilizat pentru a converti tensiunea de intrare în timp.
Existenţa lui U1 în circuit îndepărtează caracteristica logaritmică care ar apărea dacă tensiunea de intrare ar fi aplicată direct pe R1 şi C1.
Acest circuit utilizează microcontrolerul PIC16F5X de la Microchip pentru a controla operarea U1 prin activarea/dezactivarea a patru switch-uri (S1 – S4). Suplimentar, microcontrolerul măsoară timpul şi calculează reprezentarea digitală a tensiunii de intrare necunoscute.

MCA603_AN513_EA0416_fig-2

Figura 2: Forma de undă a tensiunii de ieşire din amplificatorul operaţional.

Circuitul poate fi de asemenea utilizat ca şi convertor A/D de mod curent. În acest caz, tensiunea de intrare în convertorul de curent nu este necesară, iar curentul de referinţă şi curentul de intrare sunt transmise prin switch-urile analogice direct în condensator.
Convertorul necesită numai 5 componente externe şi este configurabil software şi hardware pentru rezoluţii ale conversiei de la 6 la 10 biţi, şi timpi de conversie de 250µs sau mai mari.
Metoda este utilizabilă atât pentru conversie de tensiune, cât şi de curent şi utilizează o tehnică de calibrare software ce compensează deriva în timp şi cu temperatura, precum şi erorile datorate componentelor. Pentru a vizualiza diferitele etape ale conversiei, priviţi forma de undă a tensiunii de ieşire Vo din U1, prezentată în figura 2. La t0-t1, S1 şi S3 sunt în stare on, S2 şi S4 sunt off, iar RA0 este la masă prin software. Acesta conduce la circuitul echivalent din figura 3.
Vo este egal cu Vref câtă vreme Vin este egal cu Vref şi S3 forţează o reacţie de câştig unitar. C1 se descarcă sau este iniţial descărcat după o stare de reiniţializare. În ambele cazuri, această etapă asigură că C1 este complet descărcat înainte de a trece la următoarea etapă.
La sfârşitul lui t1, S1 rămâne on, S2 rămâne off, S3 este off, S4 este on şi RA0 este configurat ca pin de intrare. Aceasta conduce la circuitul echivalent din figura 4.
Ca o funcţie de Vref, Vo începe să crească liniar ca rampă în vreme ce C1 se încarcă. Creşterea în rampă a Vo continuă până la atingerea tensiunii de intrare de prag Vth de la nivelul microcontrolerului. Acesta generează o valoare de calibrare software egală cu tref.

MCA603_AN513_EA0416_fig-3

Figura 3: Circuitul echivalent pe durata descărcării.

MCA603_AN513_EA0416_fig-4

Figura 4: Circuitul echivalent pe durata măsurării.

Valoarea de calibrare este măsurată şi utilizată pentru a calibra majoritatea erorilor de circuit, inclusiv impreciziile datorate rezistenţei şi condensatorului, schimbărilor în Vth şi variaţiei cu temperatura.
După măsurarea valorii de calibrare software la t2, S2 şi S3 sunt on, S1 şi S4 sunt off, iar RA0 este legat la masă din nou prin software. Aceasta conduce la acelaşi circuit echivalent din figura 3. Totuşi Vo este egal cu Vmeas câtă vreme Vin este egal cu Vmeas şi S3 forţează reacţia cu câştig unitar. C1 se descarcă de la t2 la t3. La sfârşitul lui t3, S2 rămâne on, S1 rămâne off, S3 este off, S4 este on şi RA0 este configurat ca pin de intrare. Aceasta conduce la acelaşi circuit echivalent din figura 4.
Ca funcţie de Vmeas, Vo începe să crească în rampă liniar câtă vreme C1 se încarcă.
Creşterea Vo continuă până când Vth de la nivelul microcontrolerului efectuează excursia. Acest lucru generează o valoare software Vmeas egală cu tmeas. Această valoare este comparată cu valoarea calibrată software pentru a determina reprezen­tarea digitală actuală a Vmeas.

Ecuaţiile circuitului

Pe baza operaţiilor din circuit, microcontrolerul utilizează ecuaţiile pentru a calcula rezultatul conversiei. În figura 4, curentul prin R1 este egal cu curentul prin C1. Atunci când tensiunea de intrare Vin este egală cu Vref, relaţia dintre cei doi curenţi este reprezentată ca ecuaţia 1 din figura 5. Atunci când Vin este egală cu Vmeas, relaţia dintre cei doi curenţi este reprezentată ca ecuaţia 2 din figura 5.
Prin integrarea ecuaţiilor 1 şi 2 se obţin rezultatele din ecuaţiile 3 şi 4. Cât timp Vref şi Vmeas au intrări constante, ecuaţiile 3 şi 4 pot fi reduse la ecuaţiile 5 şi 6. La sfârşitul fiecărei măsurări, Vo din ecuaţiile 5 şi 6 sunt ambele egale cu Vth. Echivalând ambele ecuaţii se obţine ecuaţia 7. Aici R1 şi C1 pot fi elimi­nate şi poate fi calculată Vmeas, tensiunea de intrare necunoscută.
În ecuaţia 8, se observă că măsurarea este independentă de valorile elementelor de circuit R1 şi C1. Aceasta face conversia să fie insensibilă la erorile valorilor R1 şi C1, datorită impreciziei sau variaţiilor de temperatură. Cu toate acestea, acest lucru nu înseamnă ca valorile pentru R1 şi C1 sunt neimportante în proiectarea convertorului A/D. Valorile lui R1 şi C1 ar trebui să fie selectate pe baza numărului de biţi ce dă rezoluţia. Privind din nou la ecuaţia 6 şi rezolvând R1C1 se obţine ecuaţia 9 din figura 6.

Micrchip_EA0416_Articol_Ecuatii-1

Figura 5: Ecuaţiile conversiei analog/digitale.

Micrchip_EA0416_Articol_Ecuatii-2

Figura 6: Circuitul echivalent pe durata măsurării.

Valoarea actuală pentru R1C1 ar trebui să fie puţin mai mică decât cea calculată pentru a se asigura că microcontrolerul PIC16F5X nu supra-numără pe durata măsurării. Trebuie observat că va exista o diferenţă între valoarea R1C1 la implementarea în limbaj de Asamblare şi C datorită ciclurilor de instrucţiuni pe număr. La utilizarea C valoarea este mai mare.

Performanţe circuit

În aplicaţiile actuale, dacă precizia măsurării permite, poate fi avantajoasă utilizarea de biţi pentru rezoluţie joasă şi sursă de ceas mai mare. Programul matematic poate fi puternic redus printr-un program mai simplu şi mai scurt.
Valoarea de calibrare înlătură toate erorile de prin ordin (offset, amplificare, imprecizie R şi C, tensiunea sursei de alimentare şi temperatura) cu excepţia derivei tensiunii de referinţă.
Orice schimbare în tensiunea de referinţă, inclusiv zgomotul , pot conduce la erori de măsurare. Alte surse de erori pot fi pierderi în comutatoarele analogice, neliniarităţile rezistenţelor şi condensa­toarelor, incertitudinea pragului de intrare, incertitudinea timpului de măsurare (plus sau minus o instrucţiune pe timpul unui ciclu). Performanţele măsurate arată o precizie a convertorului de ±1% din întreaga scală.

Concluzie

Pentru o aplicaţie analogică simplă în lăţime mică de bandă, este necesar uzual un convertor A/D economic dar de rezoluţie ridicată. Prin utilizarea liniei de bază a familiei de microcontrolere PIC16F5X, acest articol prezintă cum se pot res­pecta aceste cerinţe. Convertorul A/D nu numai că utilizează mai puţine componente, dar are de asemenea capabilitatea de a calibra măsurarea pentru eliminarea celor mai multe erori de circuit.

 

Microchip Technology
www.microchip.com


Sigla-Microchip

S-ar putea să vă placă și