--->Pagina consigliata: Ricarica Batterie |
Per eseguire dei test si è reso necessario costruire un circuito in grado di testare e ricaricare le batterie alcaline che integra un data logger per registrare tutti i parametri salienti che intervengono nella ricarica. Registrando i dati si ha successivamente la possibilità di eseguire delle analisi sugli stessi e ricavare dei dati sulla ricarica che permettono di modificare e migliorare progressivamente sia il caricabatterie che il software di gestione dello stesso.
Schema elettrico del circuito di prova e carica delle batterie alcaline con la possibilità di memorizzare via seriale sul computer i dati di carica. Rispetto alla prima versione dello stesso circuito sono stati aggiunti i condensatori C5 e 2 condensatori che costituiscono il parallelo C4 che funge da serbatoio per generare le extracorrenti che attraverseranno la batteria. Queste modifiche hanno permesso di incrementare notevolmente i transitori di corrente. In definitiva la batteria alcalina in questo modo viene caricata con degli impulsi di corrente. |
Elenco dei componenti:
R1=560
R2=4,7K
R3=1
R4=R5=1,2K
R6=7,5
R7=1,2K
R8=560
R9=R10=22K
R11=23,5 (due resistenze da 47 Ω collegate in parallelo)
C1=C2=C3=22uF 25V
C4=Paralleo di 1000uF 35V + 2200uF 35V + 100 nF 100V (il condensatore da 100nF serve per i transienti veloci)
C5=100nF poliestere 100V (condensatore di speedup per aumentare la velocità di commutazione di TR1)
TR1=TR2=DBX53C (transistor darlington)
DL1=DL2=DL2=DL4=DL5=Led Blu.
Stabilizzatore 7805
B1=batteria da testare o ricaricare
Queste sono una parte delle batterie recuperate da un contenitore per lo smaltimento e sottoposte a test di ricarica e misura. Si tratta di batterie quasi del tutto scariche soprattutto per quello che riguarda il formato AAA delle quali è stato possibile in recupero solo in qualche raro caso. | Primo prototipo del circuito di test e ricarica per batterie alcaline. Il circuito è stato realizzato per praticità su una basetta millefori. |
Visione d'insieme del circuito con i portabatterie utilizzati per il test. Quello nella foto è in prototipo nella sua versione iniziale, leggermente diverso da quello definitivo. | Andamento della tensione di ricarica misurata sulla batteria. Si noti l'impulso sul fronte di salita della tensione che supera i 2V e denota una certa inerzia della batteria nell'assorbire transienti particolarmente veloci. |
Il circuito visibile sopra è abbastanza semplice, è composto da un generatore di corrente costante da circa 200 mA costituito dall'integrato 7805 e dalla resistenza R11. Questo circuito è una sorta di protezione hardware che non ci permette di superare la corrente media impostata evitando il rischio durante le prove di ricaricare la batteria con una corrente eccessiva. La corrente di ricarica impulsiva può essere invece molto più alta sfruttando la scarica del condensatore C4 e il controllo PWM di arduino.
Il transistor Tr1 pilotato in PWM dall'uscita D3 di arduino genera una corrente proporzionale alla tensione di D3, questa corrente attraversa la resistenza R3 che funge da shunt amperometrico per misurare la corrente che scorre sulla batteria e poi ricarica la batteria. La resistenza R10 elimina l'errore di misura dovuto alla corrente di fuga di Tr1 in fase di interdizione.
Il gruppo R4-DL2-C1 costituisce un circuito integratore della tensione presente sulla batteria e alimenta A1 che è un ingresso analogico di arduino. Il diodo led funge da zener entrando in conduzione a 2,4V (led blu) ed evitando di mandare una tensione pericolosa all'ingresso A1 che ricordiamo funziona il un range da 0 a 5V. In pratica si tratta di un zener che si illumina quando interviene.
Il gruppo R5-DL3-C2 serve per misurare la tensione prima della resistenza R3 per determinare per differenza la tensione su R3 e misurare la corrente che la attraversa.
Il transistor TR2 attraverso R6 serve per scaricare la batteria, il gruppo R7-DL5-C3 serve per rilevare la tensione media sul collettore di TR2 e determinarne la tensione di saturazione e per differenza la tensione sulla resistenza R6 per ricavare la corrente che la attraversa che è quindi la corrente di scarica. TR2 è controllato dal pin D4 di arduino. Il limite risiede nel fatto di non poter scaricare una batteria che ha una tensione uguale o inferiore alla tensione Vce del transistor TR2. Tuttavia essendo la Vce di circa 0,7V se la batteria ha una tensione inferiore è sicuramente compromessa. Batterie con una tensione sotto carico (e quindi in scarica) vicina alla tensione Vce di saturazione di Tr2 saranno affette da un errore della misura della resistenza interna molto alto.
Tutto il funzionamento viene gestito via software. Il software lo potere vedere di seguito. Per il progetto abbiamo utilizzato, per motivi di spazio arduino nano. Tutti i dati ricavati verranno pubblicati e discussi a parte per motivi di spazio.
E' interessante notare che il transistor che gestisce la ricarica, TR1 è comandato in PWM quindi avremo una onda quadra asimmetrica di controllo che assumerà un valore "1" per un tempo decisamente inferiore a quello in cui assumerà valore "0". All'atto della commutazione la corrente sarà molto alta rispetto a quella media letta da arduino tramite il circuito integratore grazie anche al condensatore C4 di grossa capacità costituito dal parallelo di 2 condensatori elettrolitici (1000uF e 2200uF) e da un terzo condensatore poliestere da 100nF. Quindi possiamo facilmente calcolare che se la misura indica 200mA come corrente di ricarica, questa sarà la corrente media, la corrente di picco di ricarica sarà data dal rapporto fra il tempo off e quello on dell'uscita PWM, quindi supponendo che la corrente sia stata rilevata all'ultimo step di ricarica (vedi programma sotto) che corrisponde al 60 la corrente di picco sarà di (255/60)*200=850mA. Lo stesso ragionamento si può in altri termini applicare alla tensione di picco ai capi della batteria alcalina in ricarica. Per avere una visione corretta occorre impiegare un oscilloscopio in grado di visualizzare la forma d'onda di ricarica per eseguire delle misure reali.
Questo programma ricarica le batterie e scrive un log utilizzando la seriale. Lato computer occorre installare un programma di logging della seriale in modo da salvare i dati restituiti dal circuito su file per una analisi. Il seguente programma è un prototipo già perfettamente funzionante.
La batteria viene scaricata per un secondo.
Viene atteso un certo tempo per permettere la stabilizzazione della tensione ai capi della batteria e la stabilizzazione della tensione sul circuito integratore che fornisce la tensione all'ADC di arduino.
Viene eseguita la misura della tensione.
Viene abilitata la scarica
Viene letta la tensione di scarica
Viene disabilitata la scarica
Se la tensione a vuoto è troppo alta imposta un delay di 30" poi torna al punto 1
Viene abilitata la carica con una rampa di corrente incrementale (si incrementa l'uscita PWM variando il duty cycle di uno step al secondo partendo da un rapporto 1/255 per arrivare a 255/255 fra Ton e Toff) fino a che la corrente o la tensione di carica non arrivano al valore massimo consentito oppure che il ciclo è terminato (30 secondi). Nel caso non sia stata raggiunta la tensione o la corrente massima il ciclo continua aggiustando il duty cycle per mantenere la batteria all'interno del range di tensione/corrente di carica.
Il ciclo ricomincia dal punto 1.
Essendo un circuito sperimentale nel software non è stata introdotta nessuna condizione di fine carica, nella prossima versione analizzando i dati verrà ad un certo punto fermata la carica in funzione di parametri che andremo a definire.
I dati sono separati fra loro in corformità con la formattazione di un file .csv da punto e virgola. Il fine record è un carattere di ritorno a capo "\n", ovvero new line. Di seguito un esempio di record.
1.679;1.684;0.731;1.638;0.046;0.121;0.381;1.753;0.170;44.019;3.000;1;0;11
Il primo valore e il secondo (in Volt) sono la tensione di batteria a vuoto ricavata da A0 e A1.
il terzo valore è la tensione Vce del transistor Tr2 (in Volt) quando è posto in conduzione per abilitare la scarica della batteria.
il quarto valore è la tensione A1 (in Volt) quando la batteria è in scarica
il quinto valore è la differenza di tensione ai capi della batteria fra la tensione a vuoto e la tensione in scarica (in Volt)
il sesto valore è la corrente di scarica della batteria (in Ampere)
il settimo valore è la resistenza interna della batteria (in Ω)
l'ottavo valore è la tensione di carica massima della batteria (in Volt)
il nono valore è la corrente massima di carica della batteria in relazione al punto 8 (in Ampere)
il nono valore è lo step di carica a cui sono stati letti i due precedenti valori (da 0 a 60)
il decimo valore è il tempo di scarica della batteria fra una carica e l'altra (valore statico espresso in secondi)
l'undicesimo valore varia da 0 a 1 ed è l'intervento della protezione per sovratensione in fase di carica (0 o 1)
il dodicesimo valore varia da 0 a 1 ed è l'intervento della protezione per sovracorrente in fase di carica (0 o 1)
il tredicesimo valore rappresenta il tempo trascorso in minuti dall'avvio del ciclo di carica (in secondi)
Come potete vedere abbiamo registrato più cose di quelle che effettivamente servono, questo allo scopo di individuare possibili anomalie di funzionamento del circuito di ricarica. Alcuni valori sono calcolati da altri, come ad esempio la resistenza interna della batteria. Con questi valori è possibile utilizzando un foglio di calcolo costruire dei grafici che rendono più chiaro il comportamento della batteria il fase di carica per migliorare il programma e lo stesso circuito di carica. Se il computer dove gira office è settato per la lingua italiana occorre trasformare tutte le virgole in punti per i valori rilevati con decimali. Il funzionamento del circuito e dell'hardware ha un certo grado di complessità ma ci permette di estrapolare dati molto interessanti.
Nella interpretazione dei valori misurati occorre tenere in considerazione che gli ADC di arduino hanno una precisione di 0,0044V (5/210), quindi l'errore di misura è circa 5 mV. L'errore si propaga aumentando in tutti i dati ricavati con un calcolo in cui sono coinvolte una o più misure eseguite con l'ADC.
A titolo di esempio, nel grafico a lato:
|
Come abbiamo potuto rilevare tentando di eseguire la ricarica di un numero considerevole di batterie e analizzando i log di carica, il parametro più importante, quello che definisce la ricaricabilità di una batteria è la resistenza interna. Se la batteria è compromessa da una scarica troppo profonda, oppure è troppo vecchia, la resistenza interna sarà alta, purtroppo questo valore è irreversibile (o meglio, con questi esperimenti non abbiamo trovato nessun modo per farlo), anche caricandola la resistenza interna si manterrà alta e la batteria sarà da smaltire.
Allo scopo, per individuare prontamente le batterie che si possono ricaricare abbiamo analizzato delle batterie nuove e abbiamo rilevato la resistenza interna. Se la batteria da ricaricare ha una resistenza interna simile allora il processo di ricarica andrà a buon fine, altrimenti ci conviene buttarla subito senza perdere tempo.
Formato | Resistenza Interna |
AA | 0,2-0,5 |
AAA | 0.38-0,5 |
Il valore è stato rilevato con lo schema precedentemente illustrato. Come vedete la resistenza interna per entrambi i formati deve essere inferiore a 0,5 Ω. Vi è una certa variabilità in questo valore, in definitiva dipende dalla qualità della batteria, le migliori hanno una resistenza interna minore. Noi volutamente abbiamo preso come riferimento delle batterie di bassa qualità, quelle vendute nei supermercati per pochi euro per intenderci.
Nel circuito definitivo verranno fatte le seguenti modifiche per renderlo più adatto ad un uso da parte di chiunque: