News:

[emoji295] [emoji295] PUBBLCITA' MOSTRATA SOLO AI VISITATORI, REGISTRATI PER NON VEDERLA [emoji295] [emoji295] [emoji295]

Menu principale

Misura dei reali mAh di una batteria

Aperto da davj2500, 12 Novembre 2019, 17:57:47

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

davj2500

Ciao a tutti.

L'altro thread sulle batterie mi ha suggerito di trattare anche un argomento complementare alla carica, cioè la misura della reale capacità di una batteria.
Tale misura avviene scaricando la batteria a corrente costante e registrando, al variare del tempo, la sua tensione. Quando la batteria raggiunge una soglia di tensione minima predefinita, il test va interrotto per non danneggiarla e viene considerato terminato.

Per queste misure esistono anche oggetti su ebay a basso costo, ma io ho preferito progettarlo e costruirlo da solo. Come tutti i miei progetti (ma penso quelli di qualunque radioamaotre) è un "work in progress" costante e ogni tanto, quando arriva la voglia e l'ispirazione, esce dal cassetto per qualche miglioria.

Il circuito è basato su un LM317T che fornisce la scarica a corrente costante. A gestire il tutto c'è un Arduino Nano che misura tensione, corrente e controlla un relé con il quale la batteria viene esclusa al raggiungimento della soglia minima.
Tutti i dati vengono registrati su una scheda SD e il controllo del sistema si fa collegando un PC con terminale seriale alla porta USB dell'Arduino.

Questo è lo schema del sistema di scarica realizzato con LTSpice, utile per verificare in anticipo se i vari valori scelti sono corretti così come per validare la potenza dissipata dai vari componenti.



Arduino Nano dispone della possibilità di campionare a 10 bit (cioè con passi da 0 a 1023) tensioni che variano da 0 a 1.1V il cui riferimento è fornito dal'ATMega328 in maniera molto stabile.

La tensione viene misurata tramite il partitore R6/R7 che fa in modo che a 1.1V corrispondano circa 20V di batteria, che quindi è la massima tensione misurabile. Con 1024 passi e 20V fondo scala abbiamo una risoluzione di circa 0.02V che è adeguata all'uso che dobbiamo farne.

Per misurare la corrente, si misura la differenza di potenziale ai capi di una resistenza di shunt che nel mio caso è R2 da 0.33 ohm. Avendo una corrente di scarica di 0.1A, la tensione ai capi della resistenza sarà di 0.1*0.33=0.033V che è un valore molto piccolo rispetto agli 1.1V massimi che può leggere il convertitore analogico digitale. Per questo ho predisposto un amplificatore di tensione basato su un amplificatore operazionale LM358 che amplifica in maniera lineare la tensione in modo che 1.1V corrispondano a circa 500mA.

In ogni caso i valori letti vanno calibrati misurando corrente e tensione con uno strumento esterno e, collegandosi all'interfaccia di controllo, segnalando la lettura effettiva: il software calcolerà e memorizzerà in flash il fattore di correzione rispetto alla sua lettura.



Riguardo all'LM317T, ho calcolato che nella peggiore delle ipotesi avrebbe dissipato un paio di watt e ciò avrebbe richiesto l'uso di un dissipatore.
I dissipatori si caratterizzano per la loro resistenza termica fornita in °C/W, cioè gradi Celsius per watt: in pratica un dissipatore da 1°C/W per ogni watt che dissipa, si stabilizza ad una temperatura di 1°C superiore alla temperatura ambiente.
Avendo trovato un dissipatore ignoto dentro il solito cassetto, non conoscendone la resistenza termica, ho provato a caricare l'LM317T alle massime prestazioni da me attese e ho verificato a che temperature si stabilizzasse:



Il tutto si è stabilizzato sotto i 40° (con temperatura ambiente 20°) provando di essere ben dimensionato.

Come al solito si è posto il problema di rendere l'oggetto "usabile": infatti, questi progetti basati su Arduino sono composti da un mix di componenti discreti e schedine accessorie che cascano da tutte le parti e non si sa mai come fissare.
Io ho risolto progettando una scatola 3D apposita:



In generale ho adottato questa tecnica di fare due semigusci superiore ed inferiore con i pannelli frontale e posteriore che si infilano nelle guide.
E' molto pratico e consente di fare molte modifiche semplicemente ristampando i pannelli frontali.
Oltretutto, quando la scatola è aperta, togliendo i pannelli c'è molta "aria" ed è facile intervenire.


Qui vediamo la scatola realizzata. A sinistra si vedono le due reti di resistori in parallelo che consentono di selezionare correnti di scarica di 123mA o 364mA. Per evitare che diventino roventi, sono dimensionati per dissipare almeno il triplo dei watt che sono normalmente chiamati a dissipare.


Questo è il pannello frontale. I pin "BATT" sono in parallelo e consentono la connessione di una batteria ed un voltmetro esterno per calibrare la tensione. Ho in progetto di metterci in futuro dei connettori per batteria polarizzati e standardizzati.
I pin "CURR" sono anch'essi in parallelo e sono posti in serie alla batteria. Il jumper azzurro collega la batteria al circuito, ma negli altri pin è possibile inserire un amperometro esterno (utile per la calibrazione) che verrà utilizzato togliendo il jumper.
L'interruttore "PROG" serve a disabilitare il reset che avviene quando si collega la seriale. Infatti di default, quando si apre un collegamento seriale sull'USB l'Arduino si resetta per eseguire il bootloader e consentirne la programmazione. A me però serve potermi collegare anche per monitorare come sta andando senza reset: questo interruttore inserisce quindi un condensatore sul pin di reset che lo tiene alto ed impedisce alla seriale di resettare il sistema. Quando è necessario programmarlo, si mette in posizione "PROG" e si procede.
Infine vediamo la porta USB dell'Arduino e la scheda SD contenente i dati registrati.



Nella vista posteriore vediamo il dissipatore dell'LM317T, il commutatore a slitta per variare la corrente di scarica e il connettore coassiale per l'alimentazione esterna (che in alternativa può essere fornita sulla porta USB).

Infine veniamo alle misure. Nel grafico qui sotto vediamo un ciclo di scarica di una batteria al litio CL102050 presa su AliExpress che ha come dati di targa 3.7V, 1000mAh:



Vediamo che la batteria continua ad erogare regolarmente corrente finché raggiunge la tensione di 3.4V, alla quale le batterie al litio si considerano "morte". A quel punto, insistendo, la tensione cala velocemente e la batteria cessa di erogare corrente.
Alla fine la batteria ha mostrato una capacità effettiva di 837mAh (a 20° di temperatura) pari a 3.159 wattora, che per una batteria dei cinesi, abituati a spararle grosse sui dati di targa, non è male.

Naturalmente se qualcuno fosse interessato a qualunque informazione aggiuntiva per farsi il proprio misura-carica, chieda!

Ciaoo
Davide


zampro79

Lavoro notevole, grazie per la condivisione.

(la resistenza R1 scaldicchia...  [emoji12] )

73
IW2NNV / AC2WZ op. Andrea


davj2500

Citazione di: zampro79 il 12 Novembre 2019, 22:44:55
(la resistenza R1 scaldicchia...  [emoji12] )

Mah neanche tanto. Considera che un resistore del genere, da datasheet, può arrivare a 155°.

Questo è un resistore da 1/4W alimentato con 4.31V*0.058A=0.24998W, quindi alla sua potenza massima:



Come si vede, in condizioni di ottima dissipazione, cioè non saldato su un C.S., libero e lambito dall'aria su tutti i lati, in un ambiente a circa 18° arriva a 68°C. In condizioni di spazio più ristretto e con meno areazione, può raggiungere temperature ben superiori: l'importante è che non abbia nelle vicinanze niente che possa essere danneggiato dal calore.

Facile esercizio per chi avesse voglia: calcolare il valore della resistenza che ho usato in questo esperimento.

Ciaoo
Davide

Abusivo