Sari la conținut
ELFORUM - Forumul electronistilor

Arduino-multivoltmetru


Postări Recomandate

As dori putin ajutor din partea celor cu experienta.
Vreau sa monitorizez tensiunea pe un banc de 12 acumulatori 2V folositi la un sistem fotovoltaic.
Am un Arduino Mega si afisaj 4x16.
Am scriptul pentru voltmetru, problema este urmatoarea:
La A1 conectez +2V(prima baterie), la A2 +4V(a doua baterie) samd.
Cum faca ca sa imi afiseze tensiunile pe fiecare baterie, adica sa scada din valoarea citita pe A2 valoarea de pe A1?
Fiindca altfel as avea ceva de genul:(presupunanad ca fiecare element are 2V, desi tensiunile difera la a doua zecimala)

2  10   18
4  12   20
6  14   22
8  16   24

Stiu ca ar exista varianta mai simpla cu voltmetre pe fiecare baterie, dar vreau sa fac cu Arduino (asa, ca distractie pe  timp de carantina)
Multumesc.

Link spre comentariu
Acum 6 ore, rinaldoparaipan a spus:

 

Ai nevoie de un convertor de nivel cu operaţionale începând cu a doua celulă. Cam ca în desen. În felul ăsta o să ai Tensiunea celulei respective pe fiecare ieşire. Poţi folosi chiar şi multiplexor analogic dacă ai multe celule, că viteza de citire nu e critică în aplicaţia de faţă. Rezistenţele sunt toate de aceeaşi valoare, orientativ 100k ar merge foarte bine.

Ai grijă doar la tensiunea maximă de alimentare a operaţionalelor, să nu fie depăşită valoarea de catalog. LM324 suportă parcă 40V.

 

DSC_0057.JPG

Editat de mihaicozac
schema gresita
Link spre comentariu

Masori tensiunea pe fiecare intrare analogica si le stochezi in variabile ( valoarea efectiv citita 0 - 1023 pe 10 biti). Dupa care incepi sa calulezi scazand valorile precedente:

 

(V = valoarea finala, A = valoarea citita anterior cu analogRead())

V1 = A1;

V2 = A2 - A1;

V3 = A3 - A2 - A1;

etc...

 

Astfel obtii valoarea ADC pentru fiecare celula in parte dupa care le transformi in tensiune in functie de raporul divizorului de tensiune folosit pentru fiecare celula in parte (incepand cu celula 3 unde tensiunea este deja peste alimentarea lui Mega).

Link spre comentariu
  • 4 săptămâni mai târziu...

 

 o varianta cu multiplexor analogic ar fi o solutie mai profesionala. dar pentru ca suntem dornici in general de cat mai putine piese merge si varianta propusa de Bandi. O sugestie in plus ar fi sa calibrezi foarte bine valorile citite de ADC-uri in parte inainte sa aplici formula explicata. Pentru ca divizoarele rezistive folosite, chiar daca o sa fie de 1% tot trebuie masurat/calibrat. O alta recomandare ar fi sa folosesti neaparat o sursa de referinta externa. De exemplu MCP1525

Link spre comentariu

Necazul e că la ultimele celule rezoluţia ADC-ului scade rău de tot în varianta cu divizare de tensiune. La ultima baterie trebuie divizor 1:12, iar la rezoluţia de cca. 5mV a ADC-ului din ATMega va avea paşi de 60mV ceea ce la o tensiune de 2V a celulei este inacceptabil. Poate dacă s-ar folosi referinţa internă de 1,1V să se apropie de 10mV rezoluţie, ceea ce ar fi deja mai OK. Varianta cu translator de nivel analogic păstrează rezoluţia mare la fel pe toate celulele. 

Link spre comentariu
  • 2 săptămâni mai târziu...
La 29.04.2020 la 18:44, Thunderer a spus:

De ce nu se folosesc ADC-uri fiecare cu un izolator digital pe partea I2C / SPI? Se va profita din plin de rezolutie.

Probabil din motive de costuri.

 

 

Un material poate util: https://www.engineersgarage.com/knowledge_share/series-combination-of-batteries-voltage-monitor/

https://simple-ee.com/tag/bms/

https://circuitdigest.com/microcontroller-projects/multi-cell-voltage-monitoring-for-lithium-battery-pack-in-electric-vehicles

 

In fisierul atasat (nu mai stiu de unde l-am descarcat) gasiti o solutie destul de buna. 

Balance Charger.pdf

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