Sari la conținut
ELFORUM - Forumul electronistilor

Modificare plaja tensiune


BazsoDombiAndras

Postări Recomandate

Buna ziua, prieteni!

 

Am o intrebare cat se poate de simpla, de incepator...

 

Doresc sa monitorizez tensiunea unei baterii de 24V (2*12V in serie) cu un microcontroller care pe intrarea ADC-ului accepta tensiuni intre 0 si 3.3V. Tensiunea bateriei poate varia (teoretic) intre 21-30V si trebuie sa "transform" aceasta tensiune in 0-3.3V. Cum se poate face acest lucru cat mai eficient?

 

M-am gandit sa fac un divizor de tensiune. Daca as aplica, sa zicem, niste rezistente care ar rezulta intr-un factor de divizie de 10, atunci din 21-30V as obtine 2.1-3.0V. Asta nu prea imi place fiindca pierd mult din rezolutie, in loc sa folosesc plaja de masurare de 0-3.3V, folosesc doar 2.1-3.0V.

 

Asadar cum se poate ajunge in mod simplu si eficient de la 21-30V la 0-3.3V fara sa pierd din rezolutie?

 

Mulumesc!

Editat de BazsoDombiAndras
Link spre comentariu

Mie mi se pare că o rezoluție de 33mV este suficientă când măsori o baterie .

Dacă totuși dorești mai mult , pui un amplificator diferențial - preferabil de precizie , căci dacă ești exigent la rezoluție trebuie să fii și la precizie . Evident că o să ai nevoie și de o referință de tensiune . Acesta va face transformarea dorită  cu formula Uout = A(Uin-Uref) apoi , după conversie , faci în soft ajustarea inversă.

Link spre comentariu

Poti pune in paralel pe baterii o dioda Zenner de 21V inseriata cu o rezistenta de 1 KOhm (rezistenta spre minus) Pe rezistenta vei avea o tensiune intre 0 si 9V cand tensiunea bateriilor variaza intre 21 si 30V. Pe urma fa un divizor astfel incat sa obtii intre 0 si 3,3V.

Link spre comentariu

Multumesc!

 

UDAR, trebuie sa admit ca n-am inteles nimic din ce-ai spus :) Dupa cum ziceam, sunt incepator la acest capitol... Dar nu sunt de acord ca o plaja de tensiune de masurare intre 2.1 si 3V, adica 0.9V in total proiectata pe 4096 valori (ADC-ul este pe 12 biti) e suficient.

 

Relav, solutia ta pare buna. Trebuie sa caut dioda de 21V... sper sa gasesc...

 

Consumul circuitului este un factor important, nu doresc sa risipesc deloc energia din baterie iar acest circuit va fi conectat la baterie tot timpul. Divizorul il voi face cu rezistente de valoare mare, astfel incat consumul circuitului sa fie total neglijabil. Dar pe dioda cum pot caclula consumul?

Editat de BazsoDombiAndras
Link spre comentariu

Sigur, decizia îți aparține . Nu știu ce n-ai înțeles concret din ce-am spus . Am spus că folosind ADC-ul așa cum este ( cu divizor în față evident ) obții o rezoluție de 33mV ( credeam că ADC este de 10biți , la 12biți avem vreo 8mV) . 33mV la 24V ( valoarea nominală a bateriei ) înseamnă 0.14% . Fii convins că erorile de neliniaritate ale ADC sunt mai mari .

Soluția lui @Relav e bună ... la prima vedere . Tensiunea pe diodă depinde însă de curentul prin ea . Nu foarte mult , dar depinde . Mai ales în exemplul nostru unde curentul prin diodă variază între practic zero ( când avem Ubat = 21V ) și maxim, 9mA,  când avem 30V. Estimez diferența la sute de mV deci eroarea va fi mai mare decât la măsurarea directă. În fond eroarea absolută contează nu rezoluția . 

 

În ce privește dioda de 21V va trebui s-o sortezi dintre diode de 20V sau de 22V.

 

PS Amplificatorul diferențial de care vorbeam făcea același lucru , dar cu precizie ridicată . Sigur , era mai complex și mai scump. 

PS2 Dacă tot vreo să folosești metoda cu dioda , poți să-i ridici caracteristica tensiune-curent , să salvezi câteva puncte în EEPROM-ul µC și să faci corecțiile din soft . Este însă , cred, mult prea complicat pentru scopul propus.

Link spre comentariu

Multumesc, UDAR.

 

Uite ce-am inteles eu:

Tensiunea bateriei variaza teroetic intre 21-30V (practic cam intre 24-27.5V). Hai sa lucram cu plaja de variatia practica de 3.5V, care printr-un divizor cu factor de 10 va fi tradus intre valorile 2.4V - 2.75V.

ADC-ul pe 12 biti mapeaza 0-3.3V la 4096 valori diferite, de unde rezulta ca o valoare digitala corspunde la 3.3/4096 = 0.0008V. Impartind plaja de variatia practica de 2.4-2.75V, adica 0.35V la 0.0008 obtinem 434 valori digitale diferite care vor aparea pe iesirea ADC-ului. Asta inseamna ca plaja de 24-27.5V va fi mapata la 434 valori digitale diferite, deci o diferenta minima de tensiune detectata va fi de 3.5/434 = 0.008V.

 

Hmm, este cat-de-cat acceptabil... ma surprinde putin... eu am lucrat pana cum cu ADC-uri de 10 biti si acolo ar fi fost mult mai grava pierderea de rezolutie (de 4 ori mai grava). Oricum ar fi de preferat sa fie un pic mai precis, dar depinde de ce inseamna asta din punct de vedere al complicatiilor.

 

Nu prea stiu ce este un amplificator diferential.

Editat de BazsoDombiAndras
Link spre comentariu

Trebuie stabilit ce te interesează - rezoluția este importantă dacă vrei să urmărești variațiile de tensiune . Dacă vrei să stabilești valorile la care să pornești/oprești încărcarea precizia absolută e mai importantă. Repet, erorile de neliniaritate ale ADC-ului sunt oricum mult mai mari . ( Nu știu ce µC folosești dar cu siguranță nu are un ADC superperformant )

 

Un amplificator diferențial implementează fizic formula pe care am scris-o câteva posturi mai sus. Are două intrări notate generic cu U+ și U- și o ieșire . Tensiunea de ieșire este proporțională ( printru-un factor A care este amplificarea ) cu diferența dintre cele două tensiuni de intrare . Deci , în cazul tău aplicam pe intrarea U+ tensiunea bateriei ( scalată cu un divizor ) și pe intrarea U- o referință de 21V scalată cu același factor . Ieșirea este proporțională cu diferența . Facem același lucru ca și cu dioda , dar mai precis și mai elastic în reglare. 

 

Acum , în legătură cu domeniul de variație al bateriei . Nu știu în ce regim va fi folosită dar , în general , o baterie cu plumb de 24V se descarcă până la 21,6V și se încarcă până la ( cel puțin ) 28,8V . În fine , tu știi mai bine la ce-o folosești.

Link spre comentariu

Bateria mea este mai speciala. La 24V este complet descarcata si tensiunea de incarcare maxima este limitata de regulatorul de incracare la 27.5V deocamdata (dar teoretic ar putea urca pana la 28.8V, chiar 30V). Oricum vreau sa fac un sistem care poate functiona si cu alt tip de baterie, de accea spun ca teoretic tensiunea ar putea varia intre 21-30V.

 

Folosesc un uC numit Particle Photon. Este un fel de Arduino mai special, cu conectivitate WiFi incorporata.

 

Nu doresc sa fac acest circuit pentru a automatiza cuplarea/decuplarea bateriei, de asta se ocupa alte device-uri. Doresc sa monitorizez productia panourilor solare si descarcarea bateriilor. Deci tot timpul as masura tensiunea si curentul periodic si as calcula puterea si energia produsa/descarcata in timp. Asadar pana la urma ceea ce ma intereseaza este precizia masuratorii.

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