Sari la conținut
ELFORUM - Forumul electronistilor

Voltmetru


Vizitator BogdanMW

Postări Recomandate

Vizitator BogdanMW

Salut, Am de rezolvat o problema care suna in felul urmator: Folosind modulul ADC disponibil pe ATmega16, implementati un voltmetru in gama 0-3V. Specificati precizia acestuia iar informatia va fi afisata pe seriala in formatul v.vv(V).Orice sugestie, informatie.. este binevenita. Multumesc !

Link spre comentariu
  • Răspunsuri 20
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • 10vid

    5

  • francezu

    4

  • godFather89

    4

  • adynis

    1

Top autori în acest subiect

Pentru ca nu se specifica ca trebuie sa aiba precizia maxima in gama 0-3V, poti folosi ca referinta AVDD (5V) si ADC-ul intern pe 10 biti. Astfel obtii o precizie de @5mV (5/(2^10 - 1)). Dupa executarea unei conversii adc, tensiunea o obtii folosind o formula simpla u = ADC * 5.0 / 1023.0.

Link spre comentariu

Cand cineva incearca sa te ajute trebuie sa arati o minima recunostinta, chiar daca ti se pare ca spune ceva gresit. De unde vine 1023?! Gandeste-te la un registru fizic pe 10 biti. Ce valoare maxima in zecimal poate lua acel registru ? Exact 1023. Daca masori cu ADC-ul o tensiune egala cu cea de referinta atunci in registrul sau (10 biti ) vei avea valoarea 1023, de aceea trebuie sa te raportezi la acest maxim.

Link spre comentariu

De unde ai scos 1023-ul ala, tu nu stii ca orice putere a lui 2 e numar par? 2 la a 10-a = 1024.u = (ADC * 5v) / 1024

dar incepi cu 0, nu cu 1 ... Oricum, dupa cum a spus si godFather89, cel mai simplu e sa folosesti cei 5V de la alimentare; Tre-sa ai in vedere totusi ca daca alimentarea oscileaza, o sa ai o problema si in exactitatea masuratorii (dar cu foarte putin). In acelasi timp daca ai o sursa de 3V3 exacta, poti sa masori in raport cu valoarea aia si atunci cresti precizia
Link spre comentariu

De unde ai scos 1023-ul ala, tu nu stii ca orice putere a lui 2 e numar par? 2 la a 10-a = 1024.u = (ADC * 5v) / 1024

O sa-ti raspund cu acelasi ton: pune mana si mai citeste!
Link spre comentariu

Cand cineva incearca sa te ajute trebuie sa arati o minima recunostinta, chiar daca ti se pare ca spune ceva gresit. De unde vine 1023?! Gandeste-te la un registru fizic pe 10 biti. Ce valoare maxima in zecimal poate lua acel registru ? Exact 1023. Daca masori cu ADC-ul o tensiune egala cu cea de referinta atunci in registrul sau (10 biti ) vei avea valoarea 1023, de aceea trebuie sa te raportezi la acest maxim.

Foarte adevarat tot ce spui, cu mentiunea ca nu pe mine a vrut sa ma ajute, ci pe userul care a deschis acest topic, BogdanMW.Trebuie facuta insa distinctia intre valoarea maxima 210-1 si numarul de diviziuni 210 (numarul de valori) pe care le are registrul ADC-ului. In formula aia e vorba de numarul de diviziuni, adica se imparte in atatea parti egale...El a impartit cu valoarea maxima si asta mi-a sarit in ochi si atunci m-am dus si am luat datasheet-ul care bineinteles mi-a confirmat ca aveam dreptate. (pag. 216)
Link spre comentariu

ADC-ul pentru tensiunea maxima (5V in cazul de fata), va returna fix 1023. Adica valoarea maxima pe 10 biti. u = adc/1023*5. Daca imparti la 1024 nu o sa ai 5V niciodata.

Link spre comentariu

Chiar daca pui la intrare 5v, vei citi o valoare mai mica cu o "treapta" de cuantizare, asta pentru ca ADC-ul nu merge pana la Vref, ci pana la Vref * (1023/1024).

Din datasheet: "0x000 represents ground, and 0x3FF represents the selected reference voltage minus one LSB."

Deci vei citi max. 4.995v.

Link spre comentariu

dar parca initiatorul discutiei vorbea de 0-3V, atunci la ce sa ia ca tensiune de referinta 5V? nui este mai simplu sa ia o dioda (LM336D-2.5) 2.5V si sal foloseasca de referinta? oricum iese mult mai stabil decat tensiunea de alimentare.

Link spre comentariu

dar parca initiatorul discutiei vorbea de 0-3V, atunci la ce sa ia ca tensiune de referinta 5V? nui este mai simplu sa ia o dioda (LM336D-2.5) 2.5V si sal foloseasca de referinta?

Tensiunea de referinta de care se vorbeste aici e tensiunea maxima pe care o poate masura un ADC (referinta pozitiva a ADC-ului). Daca tensiunea asta e 2.5V, toate valorile cuprinse intre 2.5V si 3.0V vor da 2.5 *1023/1024 (vezi si discutia despre valoarea maxima).
Link spre comentariu
Vizitator BogdanMW

Multumesc celor care au raspuns topicului. Am inteles metoda spusa de godFather89, aceea cu tensiunea de referinta de 5V de pe pinul AVCC. E mai simplu asa, dar dupa cum il stiu pe prof, sigur o sa-mi spuna ca vrea tensiunea de referinta de 3V pe AREF ca sa am o precizie mai buna. Asta inseamna ca o sa ma folosesc de o sursa de tensiune independenta, cu ajutorul careia o sa-i furnizez ADC-ului acea tensiune de referinta de 3V, dar problema e ce anume fac cu GND-ul acestei surse, ca nu e acelasi cu cel de pe placa. Ce solutii ar fi?

Link spre comentariu

Asta inseamna ca o sa ma folosesc de o sursa de tensiune independenta, cu ajutorul careia o sa-i furnizez ADC-ului acea tensiune de referinta de 3V, dar problema e ce anume fac cu GND-ul acestei surse, ca nu e acelasi cu cel de pe placa. Ce solutii ar fi?

Legi gnd-ul sursei independente impreuna cu gnd-ul microcontroler-ului, sau folosesti o referinta programabila ( ex: TL431) alimentata din sursa uC-ului (5V).
Link spre comentariu

Cel mai simplu ar fi sa legi un potentiometru intre GND si 5v si sa culegi 3v pentru referinta. Un mic capacitor de 1uF legat intre cursor si GND pentru reducerea zgomotului. Potentiometrul de preferat sa fie multitura (cursa lunga pentru un reglaj foarte fin cu o surubelnita) in jur de 10Kohmi.Un "zener reglabil" gen LM 431 nu are acuratetea mai mare decat simplul divizor rezistiv cu care ii reglezi tensiunea de iesire. Singurul avantaj al lui e curentul mare debitat, dar de care nu e nevoie aici. Totusi, daca ai un zener de 3v (sau un regulator fix de ex. AAT1117 de 3.3V) foloseste-l pe ala.

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