Sari la conținut
ELFORUM - Forumul electronistilor

Corectarea offsetului la ADC-uri


Blacksmith

Postări Recomandate

Continuam OFFTOPIC-ul , spre să nu se supere Dudi prea tare !

 

Mă interesează deocamdată doar ADC din PIC . După testele mele , cu dithering și oversampling se poate obține lejer o rezoluție reală de 12 biți cu ADC-uri bune de 10biți din PIC . ( Eu am găsit a fi ”bune” cele din 16F88x dar , culmea , și din 12F675,683 . Mai sunt , desigur. )

Mă preocup acum să văd cât de complicată este ( și dacă merită ) corectarea erorilor de INL la aceste ADC-uri , astfel încât să obțin un convertor ”de încredere” de 12 biți cu un PIC . Nu îndrăznesc să sper mai sus de la PIC-uri .

Pentru performanțe superioare , testez alte ADC-uri : MCP3550, TC500A sau chiar ICL7135 .

Link spre comentariu

MCP3201 sunt ADC pe SPI. D-astea am cateva, caci a fost singura solutie ca sa scap de mizeriile pe circuitul de masa.

 

Nu stiu acum ce PIC-uri am cu 12b inclusi, dar intra pe Microchip la controllere de 8b si foloseste filtrul cand alegi din lista lui 18F.

 

PS: Scriu de pe telefon, din pat, rapus de gripa. D-aia nu iti pot da mai multe detalii.

 

MCP3550 22b... cablajul trebuie sa fie "criminal".

 

LE: corectat greseala. 4921 e DAC, 3201 e ADC.

Editat de thunderer
Link spre comentariu

Tot negativ.... daca negativ inseamna ca atunci cand ii dau 12mV imi arata cod 1.

 

Anyway... Am facut circuitul tau magic din postul #6, am reglat sa anulez acei 8mV si.... imi masoara foarte bine, ce indica multimetru aia indica si voltmetrul meu, in toata plaja ! :aplauze Mie nu mi se pare ca are nici o neliniaritate...

O mica problemuta ar mai fi, de unde sa iau acea tensiune cu care injectez curent in rezistenta aia de 10R ca sa anulez offsetul ? Ca ar trebui sa fie o tensiune foarte fixa. Cei 5V de pe alimentare mai variaza nitel in functie de sarcina. Ma gandeam daca o fi posibil sa iau tot din referinta.... 1.5mA x 4 module din astea... o face fata referinta ?

Editat de Dudikoff
Link spre comentariu

E OK din 5V . Dacă 5V provin dintr-un stabilizator decent , nu variază cu mai mult decât +/- 50mV în tot domeniul . Asta înseamnă o variație de +/- 0.1mV a tensiunii de corecție .

Link spre comentariu

Thunderer, cum se numesc acele ADC-uri de la Microchip pe 12biti (banuiesc ca sint ADC-uri dedicate) si cum se numesc cele integrate in PIC, tot pe 12 biti, de care vorbesti ?

O lista cu picuri cu rezolutie convertor AD mai mare de 10 biti:

 

 

PIC-16F cu convertor AD 12 biti:

PIC16F1782, PIC16F1783, PIC16F1784, PIC16F1786, PIC16F1787, PIC16F1788, PIC16F1789, PIC16F19155, PIC16F19156

PIC16F19175, PIC16F19176, PIC16F19185, PIC16F19186, PIC16F19195, PIC16F19196, PIC16F19197

 

PIC-18F cu convertor AD 12 biti:

PIC18F26J13, PIC18F26J5, PIC18F27J13, PIC18F27J53, PIC18F46J13, PIC18F46J53,PIC18F47J13, PIC18F47J53

PIC18F6393, PIC18F649, PIC18F65J94, PIC18F66J93, PIC18F66J94, PIC18F67J93, PIC18F67J94, PIC18F8393

PIC18F8493, PIC18F85J94, PIC18F26J13, PIC18F26J53, PIC18F27J13, PIC18F27J53, PIC18F46J13, PIC18F46J53

PIC18F47J13, PIC18F47J53, PIC18F6393, PIC18F6493, PIC18F65J94, PIC18F66J93, PIC18F66J94, PIC18F67J93

PIC18F67J94, PIC18F8393, PIC18F8493, PIC18F85J94

 

PIC-18F cu convertor AD 16 biti:

PIC18F86J72, PIC18F86J72

Editat de Elison
Link spre comentariu

PIC-urile recomandate mai sus au ADC-uri cu rezoluție de 12biți . Nu rezultă neapărat din specificații că au și precizie de 12 biți .

Dar poate că merită testate . Sau , poate că le-ai testat și ne spui și nouă.

Link spre comentariu

Radu, testele mele cu oversampling au revelat durate mari la frecvente de 4-8MHz. Am incercat intre 12 si 16b. In functie de # de biti varia de ls 0.25 la 1s ca sa afiseze rezultatul pe LCD.

 

Am trecut la 64MHz (PLLx4) si a fost alta viata.

Link spre comentariu

Sigur , există limite în toate .

Eu vorbeam doar de creșterea rezoluției de la 10 la 12 biți . Adică 16x oversampling . Asta se poate face fără probleme pe PIC-uri uzuale , chiar la 4Mhz.

Dar eu mă opresc aici cu offtopic-ul , să nu facem praf subiectul.

Link spre comentariu

ADC-urile de 10 biti de la microcontrolere sunt foarte bune si pot fi dezvoltate pentru rezolutie mai mare. Eu am folosit un singur 12F675 pentru achizitie de date pe trei canale cu cate 14 biti. Dezvoltarea se face prin interpolare liniara (se masoara de 16 ori o tensiune peste care se suprapune o rampa liniara). Precizia este cea a tensiunii de alimentare (stabilizata cu LM336Z5), ultimul bit este incert, iar offsetul este neglijabil.

Un exemplu de programare a microcontrolerului (in limbaj .asm) este prezentat mai jos.

Pentru alimentare si preluarea datelor am folosit interfata seriala a calculatoarelor (pe atunci toate aveau seriala), pentru care am scris un driver si diverse programe de aplicatie.

Ideea poate fi aplicata si la voltmetrele cu afisor cu patru cifre.

Voltmetru 3x14.doc

Link spre comentariu

Mulțumim ! Eu am făcut procedeul asemănător doar pentru 12 biți dar poate o să încerc și mai sus . Și eu am lucrat cu 12F675 dar datele gata formatate le-am trimis către un șir de 74HC164 și le-am afișat pe LED.

Dar înainte de a ”urca” numărul de biți vreau să fac testele de liniaritate de care vorbeam mai sus.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări