Sari la conținut
ELFORUM - Forumul electronistilor

Voltmetru cu PIC


Postări Recomandate

E OK pe R2 . Dacă apucam să citesc , așa sugeram și eu . În final e OK schema pentru ambele .

Sigur , un repetor după divizor ajută dar nu e , cred, necesar aici . Eventual mai micșorezi rezistențele . Deși Microcip zice maxim 10kΩ sau chiar mai mult dacă ai condensator , cum e cazul tău.

Link spre comentariu

Intrarea ADC nu e tocmai o rezistență. E mai corect să considerăm curentul de pierderi , tipic de +/- 0,1µA și curentul de încărcare a condensatorului de ”hold” . Al doilea nu ne afectează dacă avem o capacitate la intrare , evident mult mai mare decât cei circa 10pF ai lui . Rămâne 0,1µA care produce pe 10kΩ o eroare de 1mV.

Link spre comentariu

Dar ce zici, nu e mai bine asa cu mediere hardware ?

Ca sa nu mai stau sa fac oversampling... ca si asa am 4 canale de citit si de afisat. Si as vrea sa fac refresh-ul la afisaj de 200ms.

Dar nustiu de cat sa aleg perioada de integrare.... Acum am pus 10K+1u... si vad ca am timp de raspuns de 50ms. Adica atat ii ia sa creasca de la 0V la full-scale daca ii dau un semnal treapta.

Link spre comentariu

Acolo constanta de timp nu-i data de 1µF cu 10K ci de 1µF cu 56Ω (II10K), asa ca poti pune cam ce rezistenta doresti in loc de 10K dar in acelasi range si nu vei avea modificatri semnificative ale constantei de timp.

Pe de alta parte mi se pare foarte mica rezistenta aia de 56Ω.

 

Ps: sper ca m-am uitat pe schema care trebuie.

Editat de sesebe
Link spre comentariu

La schema din @209.

 

Pe partea negativa (cea cu opamp), timpul de integrare e dat de C1 cu R2, iar pe partea pozitiva de (R9+RV2)||(R7+R5) si C4 (adica tot un fel de 10k si 1u)

Rezistentele alea de 56R sint puse ca sa faca offsetul ADC-ului pozitiv (in caz ca e negativ) si sa-l pot corecta mai usor din soft.

Editat de Dudikoff
Link spre comentariu

@sesebe a fost desigur neatent dar postarea lui îmi atrage atenția că nici eu nu am fost suficient de atent . C3 paralel cu 56Ω e aproape sigur inutil.

Pentru rejecție 50/100Hz ( dacă ar fi cazul ) e prea mic iar pentru frecvențe mai mari, provenite din sursa flotantă în comutație , probabil că deja rejecția OpAmp e mai proastă .

Link spre comentariu

Constanta de timp de 10k x 1µF există , doar că nu e dată de C3 . E dată de C1 || R2 respectiv C4 || R7 .

 

Eu aș zice totuși că medierea soft ajută , ai semnale ( atât tensiunea cât și curentul ) afectate de riplu de 100Hz .

Îmi mențin propunerea mai veche dar decizia e a ta . Oricum , pe partea de PIC sunt și alții pe aici , mai buni decât mine .

 

PS Refresh la 200ms la un voltmetru de 3 cifre e exagerat . Scule performante au la 250-500ms .

Dar chiar și la 200ms poți media câte 40ms pentru fiecare canal - adică două alternanțe complete , ar trebui să fie suficient .

Nu știu ce mai muncește în plus PIC-ul tău ....

Dar și cu joburi suplimentare se pot găsi soluții soft - nu e musai să blochezi PIC-ul 40ms numai pe măsurare , poți face și alte chestii în timpul ăsta . E drept că softul încetează să fie trivial .

Editat de UDAR
Link spre comentariu

Am editat între timp , poate că nu ai observat . Nu , nu poți lungi integrarea hard prea mult . Răspunsul e OK doar după câteva constante de timp .

 

EDIT Un filtru analogic cu un R și un C este de ordinul I . Are o atenuare de -3dB la frecvența de trecere și din ce în ce mai mare/mică după cât ne îndepărtăm. Pentru a avea o eroare mai mică decât , să zicem 1% în aplicația ta , ar trebui teoretic 1s.

Un filtru digital poate fi , în principiu, de ordin infinit . Deciu integrezi 20 ms și ai semnal cu 0 % eroare absolută - relativ la componenta medie .

Editat de UDAR
Link spre comentariu

S-ar ocupa doar dacă constanta de timp a filtrului ar fi de câteva ori mai mare față de perioada riplului . Deci ai perioada de 10ms a riplului ( atenție, nu ai nici garanție că două semialternanțe succesive sunt identice , există și armonici pare și chiar subarmonici ) . Ar trebui să ai o constantă de câteva zeci de ms , cu efectele de mai sus . Sau un filtru de ordin mai mare ...

Poți să simulezi , să vezi cât atenuează .

Link spre comentariu

Pentru a avea o eroare mai mică decât, să zicem 1% în aplicația ta, ar trebui teoretic 1s.

 

Nu prea inteleg la ce eroare te referi. Asa cu 10k si 1uF cat e eroarea ? Sau cum calculezi ?

Eu nu inteleg de ce zici ca are eroare pentru ca mie in simulator imi da ca daca pornesc de la tensiune 0V si ii dau 100V, dupa 50ms am 4V la intrarea ADC-ului.

Link spre comentariu

Eu m-am referit la atenuarea riplului , nu la semnal treaptă , dar am greșit .

Din viteză am zis că la 10ms corespund 100Hz frecvență de trecere a filtrului dar de fapt corespund 100/2π adică 16Hz. Deci atenuarea riplului de 100Hz este de vreo 7,3 ori adică 17dB. Dacă riplul la bornele filtrului este de 10% să zicem vei avea 1.4% la intrarea PIC-ului deci mai mult decât rezoluția. Asta înseamnă că vei obține valori diferite după cum pică citirea pe restul de sinusoidă.

 

Nu rețin ce valori de condensatori de filtraj folosești dar la tensiuni mici și curenți de sarcină mari ai, sunt aproape sigur, mai mult de 10% riplu. Numărul de LSD diferență e același - 10 unități să zicem - dar raportat la o indicație mai mică . Deci , dacă la 90V va fluctua între 89.5 și 90.5 , la 10V va fluctua între 9.5 și 10.5 .

 

 

PS Această fluctuație nu va fi neapărat între două citiri consecutive , depinde cum se poziționează momentul achiziției pe curbă .

Editat de UDAR
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