Ed ora un’altro interessante progettino.
Dopo aver visto vari progetti in rete, soprattutto basati sui microcontroller PIC, ho deciso di realizzare un caricabatterie per batterie NiMh gestito da un’Attiny85.
Per quale motivo, penserà qualcuno, serve un microcontrollore per gestire la carica di una batteria. La risposta è molto semplice… La maggior parte dei caricabatterie economici che ci sono in commercio, regolano la carica basandosi su un timer, cioè se devo caricare una batteria da 2500mAh, forniscono una corrente di carica ad esempio di 250mAh, continuando la carica per ad esempio 14 ore (una parte dell’energia se ne va a quel paese, 10 ore non sarebbero sufficienti).
Questo modo di caricare le batterie al Nichel (Mh o Cd), non è tanto funzionale. In primo luogo è un processo lento, e poi non garantisce la corretta carica precisa al 100% delle celle, oltre a presentare rischi di sovrraccarica.
I caricabatterie di tipo “smart” in commercio invece, caricano le batterie correttamente, ma oltre ad essere abbastanza costosi, hanno solitamente correnti di carica non elevatissime, con tempi quindi non sempre sopportabili.
Da qui, oltre che la curiosità e la voglia di creare qualcosa di mio, nasce questo progetto…
Ma andiamo con ordine, e cominciamo con il il video che mostra il progetto finito ed in funzione:
Cerchiamo ora di capire un’attimo il funzionamento.
Innanzitutto le batterie al Nichel necessitano di una corrente costante per essere caricate correttamente. In questo caso si è utilizzato un generatore di corrente costante basato su transistor, derivato da quello che abbiamo visto in un post precedente, e fin qui niente di particolare, ma come facciamo a capire quando la batteria è carica?
Dobbiamo leggere continuamente la tensione della batteria sotto carica, e quando questa presenterà dopo un picco massimo di tensione, una discesa repentina di circa 20mv, la batteria potrà considerarsi carica. Tale fenomeno (chiamato Negative Delta V) è legato alla chimica di questa tipologia di batteria, e permette di stabilire con precisione il momento corretto per terminare la carica.
Vediamo quindi lo schema del circuito:
Lo schema è abbastanza semplice. Il transistor dalington Q1 (TIP127), tramite il LED1 (che deve essere assolutamente ROSSO) e la resistenza R3 da 0,3Ω, crea una corrente costante che scorre in direzione della batteria a 6 celle (7.2V), mentre il diodo Schottky 1N5822 da 3A, serve per proteggere tutto il circuito nel caso che venga a mancare la tensione di ingresso con la batteria connessa. Il partitore di tensione R4-R5, serve per portare alla porta 7 dell’Attiny (A1) il voltaggio della batteria diminuito a circa 1/3, in maniera tale che possa funzionare con tensioni sino a 15V (l’ingresso analogico dell’Attiny non può superare i 5V). Il transistor Q2, pilotato dalla porta 5 dell’Attiny (D0), serve come interrutore per attivare o disattivare il LED1 e il transistor Q1.
E’ fondamentale che il LED sia ROSSO, e questo non per una questione di estetica, ma perchè la potenza uscita è data dal rapporto tra la tensione del LED (nei led rossi è di circa 1,8-2,2V) e la resistenza R3. Usando un LED verde, la tensione di riferimento si alza, e di conseguenza anche la corrente si alza (e non di poco).
Il circuito così fornito, può erogare circa 1,5-2,5A, dovete eventualmente fare un po’ di prove con vari tipi di LED rosso, oppure variare la resistenza, che deve essere da 2W. Nel caso non abbiate a disposizione o non riusciate a trovare resistenze di valori così bassi, potete utilizzare 3 o 4 resistenze da 1Ω in parallelo.
Altra cosa da tenere in conto, è la potenza dissipata dal TIP127, che può arrivare anche a 20Watt (dipende dalla corrente e dalla differenza di tensione tra l’ingresso e la batteria), quindi va montato un dissipatore adeguato. Nel mio caso ho usato il case di alluminio che risulta essere sufficiente.
Ultimo appunto è il voltaggio di ingresso, che non deve essere troppo alto altrimenti si rischia di far bruciare il transistor, ma non deve essere nemmeno troppo basso, perchè altrimenti il dropout indotto dai vari componenti fa scendere troppo la corrente di carica. Consiglio all’incirca una differenza di circa 5V tra la tensione di ingresso ed il valore nominale della batteria. Ad esempio con 6 celle, il voltaggio consigliato è di 12,2V (va bene anche 12). Ovviamente si possono caricare anche meno celle, regolando opportunamente la tensione in ingresso. Per una cella, dovremmo alimentare il tutto con una tensione di circa 1,2+5 = 6,2V (va bene anche 6 o 7).
Vediamo ora il circuito stampato:
Da notare le due chicche che non erano visibili nello schema. Il connettore ICSP (quindi la possibilità di aggiornare il firmware sull’Attiny (via programmatore ad esempio UsbTinyISP), e il connettore debug, da collegare ad un convertitore TTL per potere leggere il voltaggio della batteria durante la carica.
Il connettore J1 invece è un jumper che deve essere sempre chiuso, tranne quando aggiorniamo il firmware dell’Attiny85.
A proposito di firmware… Il codice sorgente del firmware è il seguente:
/* NiMh Charger 0.9 con AtTiny85 @ 1Mhz by Luca Soltoggio 10/03/2012 - 20/04/2012 Usa il -dT per determinare la fine carica. Funziona con batteerie NiMh e NiCd. I valori di default sono per pacchi da 6 celle e 2500mAh Necessita di qualche aggiustamento hardware/software per parametri differenti. Vedi https://arduinoelettronica.wordpress.com/ */ const int inputPin = A1; const int outputPin = 0; const int numReadings = 30; // numero di letture analogiche prima di fare il check della batteria const int multi = 1614; // coefficiente di moltiplica per ottenere il voltaggio corretto dall'analogread long interval = 1000; // intevallo del pulse charge - non modificare long interval2 = 250; // intervalle pulse off - modificabile. Utlizzare 100 per 2-4Ah, 500 per 1-2Ah long interval2b=interval2; long previousMillis,currentMillis,currentMillis2,trickleMillis = 0; unsigned int readingtemp; unsigned int total = 0; unsigned int average,medium,maxmedium = 0; boolean executed,endcharge,trickle=false; // variabili di controllo unsigned int myarray [7]; // arrray che memorizza le ultime 7 letture int index,i = 0; void setup() { Serial.begin(9600); pinMode(0,OUTPUT); // Alcune letture per un controllo iniziale for (i=0;i<10;i++) { readingtemp = analogRead(inputPin); total=total+readingtemp; } average = (((float)total / 1023.0) * (float)multi) / 10.0 + 0.5; if (average<=70) endcharge=true; // Se la batteria non è presente, termina la carica Serial.println(average); total=0; average=0; } void pusharray() { // push dell'array for (i=0;i<=5;++i) { myarray[i]=myarray[i+1]; } myarray[6]=average; } void voltread() { readingtemp = analogRead(inputPin); // legge l'input analogico total= total + readingtemp; index++; // se è stato raggiunto "numReadings" calcola la media if (index==numReadings) { index=0; average = (((float)total / 1023.0) * (float)multi) / numReadings + 0.5; if (average<=70) endcharge=true; // termina la carica se la batteria viene scollegata total=0; pusharray(); // inserisce la nuova media nell'array // calcola la media delle ultime 7 letture medium=(float)(myarray[6]+myarray[5]+myarray[4]+myarray[3]+myarray[2]+myarray[1]+myarray[0])/7.0+0.5; if (medium>maxmedium) maxmedium=medium; // salva il valore della media più alta in "maxmedium" Serial.print(medium); Serial.print(","); Serial.print(maxmedium); Serial.print(","); Serial.println(myarray[6]); // se la batteria è carica (la media dei voltaggi è scesa di 0.02v), ma non nei primi 11 minuti if ( ((medium+1) < maxmedium) && ((millis()/60000)>=11) ) { if (!trickle) trickleMillis=millis(); // parte il timer per la "trickle charge" finale trickle=true; // parte la "trickle charge" finale // se la batteria si è caricata nei primi 15 minuti, non utilizzare la "trickle charge" finale // (probabilmente la batteria era già carica) if ((millis()/60000)<=15) endcharge=true; } } } void loop() { currentMillis = millis(); // esegui ogni "interval" millis if(currentMillis - previousMillis > interval) { voltread(); // chiama la funzione di lettura e controllo digitalWrite(outputPin,LOW); // ferma temporaneamente la carica previousMillis = currentMillis; executed=false; // variabile per controlloare se è già stata riattivata la carica // nei primi 10 minuti e negli utlimi 15 minuti effettua una "trickle charge" // (modifica il tempo di OFF) if ( ( (trickle) && (((millis()-trickleMillis)/60000)<15) ) || ((millis()/60000)<10) ) { interval2=(interval-(interval-interval2b)/5); // dopo la carica iniziale ripristina il valore corretto di interval2 } else if ((millis()/60000)>=10) interval2=interval2b; // alla fine dell'ultima "trickle charge" termina la carica if ( (trickle) && (((millis()-trickleMillis)/60000)>=15) ) endcharge=true; } currentMillis2 = millis(); // esegui "interval2" millis dopo aver fermato la carica if ((currentMillis2 - previousMillis > interval2) && (!executed)) { executed=true; if (!endcharge) { digitalWrite(outputPin,HIGH); // se la batteria non è carica, riabilita la carica } } }
Il codice è abbastanza semplice ed autoesplicativo.
Per la versione con i commenti in inglese – For commented English version, take a loke at:
http://fritzing.org/projects/smart-nimh-battery-power-charger-with-attiny85/
Concludo con qualche foto del progetto finito:
Trovi il mio progetto anche su Fritzing:
http://fritzing.org/projects/smart-nimh-battery-power-charger-with-attiny85/
Alla prossima!
ehbbbravoilfratellino!
Ciao, bel progettino 🙂
Come programmi l’ATtiny85? Gli carichi il bootloader di arduino? Mi consigli qualche risorsa sul web?
Grazie 🙂
Oops, mi rispondo da solo: qui sul tuo blog!
E allora ti faccio i complimenti per il blog 😀
Grazie mille!!!
Ciao e a presto
Luca
Ciao trovo il tuo progetto molto interessante dato che devo realizzare un caricabatterie serio per le Ni-Mh da 2500mAh.
In particolare dovrei caricare pacchi da 4 batterie quindi sono 4.8V mi potresti indicare le modifiche da apportare?
Vorrei inoltre sapere se hai il circuito stampato già pronto da vendere, in caso contattami in privato.
Grazie
Andrea
Ciao Andrea,
e grazie per i complimenti.
Per caricare un pacco da 4.8V, potrebbe già andare bene così, se non che rischia di surriscaldare un po’ troppo il transistor, altrimenti come indicato nell’articolo, riduci il voltaggio in ingresso a 4,8V+5V = 9,8V (va bene 10V).
Il circuito non lo vendo, ne ho fatti stampare alcuni su fritzing fab.
Puoi eventualmente seguire il ling su fritizing alla fine del mio articolo, e da li comprarlo direttamente da loro.
A presto
Hi toggio, nice charger!
Please, this 0.3ohms resistor R3 can be a carbon resistor 0.24ohms 2W? I ask this because it seems to me by your photo that you are using a different resistor. Looks like a wirewound resistor. I want to charge 6 NiMh 2200mAh battery pack.
Thanks
Hi Bernardo,
sure you can use 0.24ohms, but be carefull that power will increase, so you will have to dissipate well the TIP127!!!
Greetings
Luca
Hai mai pensato di creare una per lo zinco nichel? ZN?
Molto difficile ahcar caricabatterie intelligente per questo tipo di chimica.
Ci scusiamo per il traduttore.
Ciao!
Ho l’esigenza di caricare 3 NiMH AAA, ed ho preso spunto dal tuo progetto. Per il generatore di corrente costante ho usato un LM317, ed ho fatto alcune prove utilizzando un atmega328 per leggere la tensione ai capi della serie di batterie, ma non ho ottenuto, o meglio, non ho visto, il calo di tensione! Ho usato batterie ‘quasi’ cariche, per velocizzare il tutto, ma dopo 4 ore a 125mA (le batt. sono da 700mAh) ho solo letto valori in costante aumento tra 3.95 e 4.24volts. Il sistema di lettura è simile al tuo, faccio la media di 20 letture (una ogni 5 secondi)…. leggo i millivolts, per cui un calo di anche solo di 10 mVolts dovrei vederlo bene…. le letture di tensione sono sempre o costanti o in aumento, ed ho visto pochissime diminuzioni, nell’ordine di 1mV….
Qualche suggerimento??
Grazie per aver reso pubblico il progetto!!
Caro Ivan,
grazie a te che segui questo blog.
La risposta al tuo quesito credo sia abbastanza semplice. Il problema dovrebbe essere legato al fatto che la corrente di carica è troppo bassa… dovrebbe essere almeno la metà del valore nominale delle batterie, o anche un po’ di più, altrimenti non si genera l’effetto di abbassamento del voltaggio o si genera in maniera troppo blanda. Ti consiglio una corrente di carica di 600-700ma con una pausa di 100ms ogni secondo… Inoltre per poter funzionare correttamente le batterie devono essere completamente scariche…
A presto.
azz… 700mA… mi sa che il LM317 non è sufficente!
Farò ulteriori prove!
Grazie mille delle preziose informazioni!
Ciao Ivan,
L’integrato LM317 supporta carichi fino a 1,5A, quindi non preoccuparti…
Fa attenzione anche al dropout… Il voltaggio in ingresso deve essere almeno 6volts in più rispetto al voltaggio delle batterie…
A presto
Rispondo qua, non ho l’opzione ‘risposta’….
Penso che costruirò un caricabatterie piu ‘malleabile’, anche per serie di AA, per cui mi avvicinerei troppo a 1.5A…. gia con 125mA scalda tanto (con su un dissipatore da ram video)…. credo opterò per un LM338, identiche caratteristiche del 317 ma corrente max 5A, e un case piu grande, piu adatto ad essere dissipato efficacemente rispetto al TO220.
Grazie ancora!
Ciao Toggio,
innanzitutto grazie mille per aver reso disponibile il tuo utilissimo progetto, era da tanto tempo che cercavo un sistema per caricare “intelligentemente” le mie NiMH, in quanto quelli in commercio a basso costo caricano male e i risultati sono quindi poco soddisfacenti, senzo contare la paura di accorciare la vita delle batterie ogni volta che le mettevo sotto carica 😀
Volevo chiederti come mai hai usato un darlington PNP e non invece un NPN come un TIP122?
Non ho sotto mano TIP127, secondo te è possibile sostituire il 127 con un 122 modificando la posizione del transistor “pilota” a monte del tip e correlati aggiustamenti? (se si, dammi una dritta su come potrei procedere :P) In quanto ho qualche “122 avanzato che aspetta solo di esser usato 🙂
Nel tuo articolo specifichi inoltre che il led deve essere obbligatoriamente rosso, in quanto è necessario al corretto funzionamento del dispositivo, e che se si andasse a modificare bisognerebbe ritarare la resistenza… intendi R1 o R3? e perchè? non ho afferrato il principio
Ringrazio ancora infinitamente per l’utilissimo progetto 🙂
Ciao Claudio,
scusa se ci ho messo un po’ a rispondere, ma sono stato un po’ impegnato…
Ti ringrazio molto per i tuoi complimenti: il motivo per cui anche io ho creato questo progetto, è che anche io non avevo trovato progetti soddifacenti in rete.
Ma venendo al dunque, ho usato un PNP perchè era l’unico modo che ho trovato per usarlo come switch in parallelo ad una tensione attiva come quella di una batteria… Per usare un NPN sarebbe stato estremamente più complicato…
Non è possibile quindi sostituire il circuito usando un NPN. Puoi comunque usare (li trovi a basso costo) qualsiasi PNP darligton di adeguata potenza, purchè si leggano le specifiche e si effettuino alcuni test.
Per quanta riguarda il LED rosso il discorso è questo: la corrente di carica è data dal rapporto tra la tensione di riferimento – data dal LED – e la resistenza R3.
Se vuoi variare la corrente in uscita (in questo caso siamo tra 1,5A e 2,5A), devi modificare la resistenza R3 (più il valore è alto, più la corrente diminuisce). Potresti usare anche un LED con un dropout diverso volendo (quelli bianchi arrivano fino a 3,5V contro 1,8-2V di quelli rossi), ma aumenteresti il dropout generale del circuito diminuendone l’efficienza.
In definitiva, ogni LED, ogni transistor ed ogni resisenza sono diverse: ti consiglio di fare dei test misurando gli Ampere generati dal circuito, prima di realizzare la versione definitiva.
Spero che il tutto sia abbastanza chiaro.
A presto
Luca
Ciao Luca,
grazie ancora per aver pubblicato il tuo lavoro, mi ha dato modo di conoscere e capire meglio il funzionamento delle batterie NiMH e NiCD, infatti dopo averlo letto ho iniziato a documentarmi incuriosito dai vari sistemi di carica e dei relativi pro e contro, e più o meno tutti sembrano concordi che il sistema del dV negativo a fine carica sembra il più funzionale, anche se promuovono il fatto che una carica lenta sarebbe meglio, ma difficile da controllare…
Tralasciando le mie divagazioni e tornando al punto xD, volevo utilizzare un modello modificato del tuo schema sempre tenendo intatto il tuo codice, ma nell’intestazione del codice specifichi che necessita di aggiustamenti “hardware/software”… aggiustamenti all’hardware ok li hai puù o meno illustrati nei precedenti post, ma riguardo il software? sarebbe possibile secondo te creare un codice “universale” che vada solo a rilevare il deltaV a prescindere dalla portata e tensione del pacco batterie? (sempre restando entro la tolleranza di lettura del controllore e considerando il partitore per la lettura) cioè che legga il solito numero di misure, e che ne faccia la differenza con quelle effettuate precedentemente, e che quando intercetta un risultato negativo interrompa la carica e/o vada in modalità “mantenimento” (opzionale, basta che stacchi la carica come prima priorità)?
Grazie ancora mille per le ottime idee divulgate 😉
Penso che continuerò ad usare i caricabatteria con PIC perchè questo non mi sembra un granchè. Naturalmente di caricabatterie seri con microcontrollori AVR c’è ne sono ma questo sicuramente NO!
Caro Gigi, ovviamente non ho mai preteso di realizzare il miglior caricabatterie al mondo… Tutto quanto presente in questo sito è realizzato in maniera hobbistica e senza grandi pretese. Tutti i commenti, anche negativi, sono accettati. Certamente sarebbe più costruttivo un commento che mi indicasse i motivi del perché secondo te non è un granché e magari qualche link di progetti migliori da cui prendere spunto.
A presto
Ciao volevo chiederti i metodi di pagamento di fritzing fab e anche il costo del circuito stampato. Grazie (:
Come spiegato dettagliatamente sul sito (http://fab.fritzing.org/fritzing-fab/pricing), il prezzo è di 0,70€ per centimetro quadro + 4€ di fisso per sketch + 6€ di spedizione.
Quindi per una board di 40mmx30mm, sono 8,4+4+6=18,4€ (+ 19% di iva su 8,4+4).
Il pagamento viene invece effettauto con paypal.
A presto
ok grazie mille,molto gentile 🙂
ciao,
innazitutto bel lavoro, non sono un grande esperto ma avrei bisogno di caricare un pacco batterie ni-mh da 20 celle cioè mi servirebbero 24 v in uscita. Volevo chiederti che modifiche fare al tuo circuito per renderlo utilizzabile per i 24 v.
Grazie ancora per il progetto.
Ciao Matteo,
il circuito così com’è supporterebbe già i 24v, in quanto i due transistor utilizzati lavorano tranquillamente fino a più di 60v.
La tensione in ingresso dovrebbe essere ovviamente intorno ai 29v, o anche qualcosina in più (diciamo 30v), l’importante è dotare il TIP127 di un bel dissipatore, altrimenti rischi di bruciarlo.
Per lo stadio in ingresso del microcontroller, l’integrato LM7805 supporta fino a 35v, ma è un po’ “tirato” e rischia di surriscaldarsi. Consiglio quindi anche qui un dissipatore… Il consumo basso del micro, non doverebbe creare però grossi problemi.
Spero di esserti stato utile.
A presto
Hello,
Very interesting project, congratulations. I will try to build one, following your design. I have kind of a robot powered from eight 2100 mAh NiMH batteries. The elements that draw current are, basically, an arduino, a motor bridge and an xbee RF transmitter. The robot has a charging station. My plan is to charge batteries when the robot comes to charging station. I bought a so called “smart” NiMH charger and wanted to use it to charge the robot in the charging station, but…. I think it is so “smart” (it uses pulses as in your design) that it somehow detects that energy is drawn from the batteries (the arduino and other stuff are working non stop) and it refuses to charge. If I disconnect the arduino and all the other consuming elements, the charger does its job.
So, I hope with your design I will be able to charge the batteries, even if energy is drawn whilst charging is taking place. Do you think it will be possible?
The other question I have is in regard to pulses: are they necessary? and if so, why? is it possible to charge continually, without pulses, as one does for example with Pb batteries?
Thanks a lot in advance,
Angel Valor from Madrid
Hola Angel,
muchas gracias por los cumplidos. Ahora escribo en Inglés, porque para hablar de la electrónica es más fácil.
Ok, so i think it’s not possibile to charge the NiMh batteries when in use, because that charging metod requires batteries volts to be so precise with an accuracy of 1-2mv. If not batteries will damages, or not charge at all. That’s because the only method to know if NiMh have reached charge (during fast charge), is to detect a negative peak in battery volts. That is really different from Pb batteries. Regarding pulses, they are not necessary, but it help to full charge the battery leaving it sit for some time during charge. If u want fast charge, pulses are necessary. If u want slow charge, you don’t need pulese neither smart charge, but i think your robot need to charge quickly… So i advise you to use Lithium batteries (like the ones in cell phones, notebooks and so)… Are more powerfull, lighter, and althugh they requires more precise battery charger, they chan be charged while in use. There is a sparkfun dedicated Lipo charger shield (https://www.sparkfun.com/products/10711).
Espero que esto ayude
Hasta pronto
muchas gracias Toggio por la rapida y util respuesta.
The thing is that budget in my case is a constraint (you know, we are in economical crisis 🙂 and I would like yet to explore a way to use the NiMh batteries in the project. I forgot to mention that in the robot there is still an ip wireless camera not very efficient, as it draws 2 amperes! thats why pb batteries is neither a good choice for me. NiMh is a good choice but i have this problem with charging.
i will have into account the lipo option, but still explore a solution with nimh.
something as for example switch power to the circuit from batteries to mains when the robot enters charging station. i.e. disconnect batteries from the circuit and charge batteries. when robot leaves charging station, do the opposite. I just have to find out how to implement this (i am relatively new to this fascinating world of electronics).
thanks a lot again. Angel Valor
Ciao, complimenti per il tuo semplice e bel carica batteria.
Ho solo una curiosità/lacuna………come mai la carica viene ogni tanto interrotta?
Questo attacca/stacca non influenza la tensione della batteria, quindi la lettura del micro?
Ciao Paolo e grazie per i complimenti…
Il fatto che la carica venga interrotta non è un errore, ma anzi è una cosa voluta ed è fondamentale per la corretta riuscita della carica…
Con la carica ad alto amperaggio, tale interruzzione fa si che la batteria non si surriscaldi, e che la chimica interna torni in uno stato di “riposo”…
Non influenza la lettura del micro, perchè tale lettura viene fatta sempre nello stesso momento preciso, e cioè quando la carica è attiva e non in off.
A presto
Ciao, bel progetto complimenti davvero!!
Si potrebbe secondo te implementare un circuito di scarica del pacco batterie?
Una batteria nimh si considera totalmente scarica quando la tensione va a 0,8V. Si potrebbe quindi mettere una resistenza in parallelo al carico e tramite uno switch tipo relè controllare la scarica.
Una volta arrivato a 0,8 per cella iniziare la ricarica.
Altra domanda (non sono esperto di batterie come te), se una batteria del pacco è difettosa, c’è un modo di controllarla?
Grazie e di nuovo complimenti.
Massimo.
Grazie mille,
sicuramente si può implementare un circuito di scarica, era una delle cose che mi ero promesso di fare.
Se una batteria del pacco è difettosa si può controllarla, ma per far ciò va smontato il pacco e misurata la tensione della singola cella.
A presto
Rieccomi qua, ho modificato un po’ il tuo circuito. Non sono pratico con gli Atmel quindi ho usato un pic per controllare la tensione delle batterie.
Inoltre ho provato a mettere anche il circuito di scarica tramite relè cmndato sempre dal PIC.
Nel fine settimana (tempo permettendo) provo ad assemblare il tutto.
Unico dubbio: a me serve un carica batteria per 8 celle. Quindi la tensione di alimentazione sarà 1.2×8+5 = circa 15 V.
Sul led L1 passa una corrente abbastanza alta..non è che si frigge?
Grazie dell’aiuto.
Massimo
Ciao Massimo,
sarebbe interessante se pubblicassi qui il tuo progetto così da poter essere uno spunto per altri.
Per quanto riguarda il led L1, non ci sono problemi, in quanto la corrente che passa è legata al voltaggio ed alla resistenza R1. Avendo 15V quindi è sufficente aumentare leggermente la resistenza R1 (diciamo da 560 o 680Ohm).
Mi raccomando dissipa bene il TIP127!!!
A presto
Luca
Ciao Luca, stavo dando un occhiata al tuo codice:
Se ho ben capito (ma correggimi se sbaglio) funziona a impulsi, cioè si carica per 1000 ms e poi si aspetta 250 ms. In tale tempo si fa la lettura della tensione della batteria stessa. Ma questo attacca e stacca non danneggia la batteria? Ho sbagliato qualcosa? (non sono esperto di atmel nè di carica batterie…)
Ciao Massimo,
è giusta l’analisi che hai fatto del codice, riguardo il funzionamento ad impulsi. Tale modalità però, non solo non danneggia la batteria, ma ne prolunga la vita. Quando si carica una Ni-Mh con correnti elevati (0,5C – 1,5C), questo è infatto l’unico modo per non danneggiare la batteria. Il momento di pausa, permetta alla chimica della batteria di assestarsi ed evità il surriscaldamento della batteria stessa.
Ulteriori informazioni le trovi qui: http://www.mpoweruk.com/chargers.htm
A presto
Ciao Luca, allora ho montato il tutto. Per ora ho provato solo la scarica della batteria ma…ho un problemino. Le mie batterie sono da 1,2 V, quindi collegate in serie ho 1,2×8=9,6V.
Se misuro la tensione col tester però leggo 10,8V. E ance il pic mi dice la stessa cosa….come è possibile? E’ una tolleranza della batteria?
E’ perchè sono già cariche…
La tensione di 1,2V è solo nominale.
Per la scarica, dipene dalla corrente di scarica…
Sconsiglio di scendere sotto lo 0,9V per cella…
Ciao e a presto!!!
Pe la scarica lascio attaccato il carico finchè sul pic non leggo 8*0,8 = 6,4 V ok?
Ciao Luca, il circuito di scarica funziona, per carico ho usato 6 resistenze in parallelo da 2W 470 ohm che avevo in casa. In questo modo la corrente massima di scarica è di circa 150 mA. Io ho delle batterie da 2300 mAh. Va bene secondo te?
Il pic controlla continuamente la tensione ai capi del paccobatterie e quando il valore scende sotto 0,9*8 stacca il carico e inizia la ricarica.
Mi chiedo: è giusto controllare la tensione a carico attaccato? O dovrei staccare il carico e controllare la tensione a carico staccato?
Grazie, appena finisco le prove ti mando un anteprima, ma hai una mail diretta?
Ciao Massimo,
io utilizzerei un circuito di scarica ad almeno 700mA (anche di più). Per fare una cosa fatta bene, l’ideale sarebbe 1200mA all’inizio e quando arrivi a circa 1,2V, passi a 300mA.
La tensione va misurata a carica attaccato e il voltaggio dipende dal carico applicato. Più è basso, più alto deve essere il voltaggio di fine scarica. (circa 0,9V per una scarica a 1C e 1,05V per una scarica a C/5)
Inoltre, anche per la scarica ti consiglio una pausa al secondo (900ms ON – 100ms OFF).
Per quanto riguarda l’email diretta scrivo alla tua dal mio account.
A presto
Ciao Luca, lo pubblicherò sicuramente ma prima vorrei provarlo…non vorrei pubblicare qualcosa che assomiglia a una stufa per il fumo che fa… ahahahah
Grazie a presto.
Massimo.
Thanks for your personal marvelous posting! I seriously enjoyed reading it, you
are a great author.I will be sure to bookmark your blog and will come back
someday. I want to encourage yourself to continue your great job, have a nice weekend!
The info has been so very much appreciated!
Ciao Luca,
ho realizzato il caricabatterie che hai pubblicato ma ho un comportamento strano.
Ho alimentato a 10V dovendo caricare un pacco da 4 batterie da 1500 mAh.
Ho collegato le batterie che erano completamente scariche.
La carica è continua, sempre con la stessa frequenza e il valore ai capi del pacco batterie è arrivato a 5,5V e non sembra fermarsi, come mai?
Se attacco le batterie che sono già cariche, il led rosso dovrebbe rimanere spento?
Grazie
Ciao,
se le batterie sono già cariche, fa comunque una carica minima (trickle charge) per qualche minuto, dopodichè si ferma.
Quando il led rosso è quasi sempre acceso, con un breve spegnimento al secondo allora sta caricando, mentre quando il led rosso è quaso sempre spento, con una breve accensione al secondo, allora sta facendo una trickle charge.
La carica di mantenimento viene eseguita per 10 minuti prima di iniziare la carica vera e propria e per 15 minuti dopo.
Per quanto riguarda il voltaggio che è arrivato 5,5v, è corretto: non usa il voltaggio per determinare se la batteria e carica, ma il deltaV negativo, quindi non preoccuparti.
A presto
Ciao è possibile con questo progetto caricare un pacco di 20 accumulatori stilo AA NiMh collegati in serie e in parallelo per un voltaggio totale di 12V?
Ciao Toggio, sono Sergio.
Ho valutato la tua preparazione inerente all’argomento del carica batterie, e naturalmente per il tipo di batterie, e devo dire che è buona. Una cosa però non mi è chiara, e questo vale per tutti i quesiti e tutte le risposte che ho avuto modo di leggere per il progetto in questione con l’Attiny85 ecc…
Io ti chiedo e quindi chiedo a tutti coloro che ti hanno risposto, soprattutto a chi lo ha anche costruito: come mai nessuno, compreso te, accenna al fatto che lo schema del circuito porta delle sigle completamente diverse (errore di stampa?) rispetto allo stampato? Nessuno se ne è accorto? Sono quasi tutte invertite!!
Visto che sono l’unico, mi vien da pensare che detto “errore” per tutti vien considerato un piccolissimo refuso del quale non vale neanche la pena ad un qualsiasi accenno!
Mi piacerebbe una tua risposta in merito. Grazie mille.
Per quanto riguarda invece l’uso dell’Attiny85: tanti (amici di Sergio) mi hanno detto che lo hanno acquistato ma non funziona: io ho semplicemente risposto che non dovevano fermarsi allo schema ma continuare a leggere la descrizione del progetto e avrebbero capito che detto chip è un microcontrollore programmabile (con una piattaforma Arduino UNO o altri equivalenti) e che non si può improvvisarsi programmatori. Puoi aggiungere qualcosa anche tu? Ti ringrazio molto e grazie anche di far parte di quella schiera che ha voglia di comunicare e divulgare.
Caro Sergio,
ero indeciso se approvare oppure no il tuo commento perché inizialmente pensavo fosse uno scherzo.
Ti consiglio di fare un ripassino delle più basilari nozioni di elettronica ed Arduino, detto questo provo comunque a risponderti.
Non capisco bene la prima domanda, ma immagino che intendi il fatto che sullo stampato non sono riportate le sigle dei componenti: nessun circuito stampato riporta le sigle dei componenti, ma semplicemente un riferimento (Q1, R3, ecc.) ai componenti indicati con la sigla nello schema. Invertite in che senso???
Per quanto riguarda l’Attiny85, è un MCU!!! Vuol dire che non è un componente tipo NE555 con ruolo predefinito, ma va programmato. Se non lo programmi, non fa assolutamente nulla!!!
Spero di essere stato utile.
A presto
Caro Toggio,
purtroppo non mi sei stato utile, ma proprio per niente (sigh!).
Rispondo al tuo piccolo commento sull’Attiny85: hai ripetuto né più né meno quello che avevo già scritto io, e cioè che è un controllore da programmare (messaggio di conferma da parte tua per i miei amici!) quindi lasciamo perdere.
Per la prima domanda sono io che non capisco e credimi: tutto tranne che prendere in giro te e chiunque altro: possibile che non ti renda conto? Hai visto bene lo schema elettrico? Per sigle intendo proprio i riferimenti: R1 R2 Q1 Q2 ecc… come fai a non accorgerti che sullo schema sono riportate delle sigle diverse (inversioni varie di sigle tra loro) rispetto alle sigle della foto dello stampato realizzato (penso da te) e alle sigle del disegno del circuito stampato con le doppie piste?! In conclusione: le sigle non corrispondono!! Ti faccio un esempio: se un tecnico vuole realizzare il tutto guardando ciò che ho guardato io (schema elettrico e stampato), prende una resistenza siglata R1 del valore di 470 ohm e la pone sullo stampato (copiato come da disegno) al posto della R5 del valore di 15 kohm e via così, con gli altri componenti invertiti (alla fine il circuito non può funzionare!). Penso che forse tu dai per scontato che tutto sia a posto e non puoi pensare che qualcuno abbia disegnato (o meglio scritto) queste inversioni: guarda bene i disegni e poi rispondimi pure. In caso di ulteriori dubbi, rispondimi per e-mail così ci sentiamo per telefono.
Risulta comunque chiaro che se il tecnico esegue un circuito su uno stampato suo o una mille fori, senza guardare il tuo stampato, il circuito sicuramente funzionerà.
Ciao e a presto.
Ora ho capito cosa intendevi…
Il circuito è solo per spiegare il funzionamento… Se scaricavi il file con il circuito stampato, c’è il circuito di friting collegato…
Saluti
Ciao Toggio,
non ho tue risposte all’ultima mia del 28/01 per cui suppongo tu ti sia accorto finalmente di ciò che asserivo e quindi devi essere un po’ attapirato soprattutto se gli errori non son tuoi personalmente.
Ti chiedo scusa se con ciò io ti abbia causato problemi ma mi è sembrato corretto così.
Non occorre comunque che tu mi risponda, a me va bene lo stesso. Ciao.
Ho risposto…
salve ,toggio,grande il carbatt.fatto cosi’.credo sia il massimo,e’effettivamente il non plus ulta.io sono nuovo e credo che ti rechero’disturbo insistente vista la tua conoscenza dell’argomento accumulatori
ricaricabili! dove posso aquistare in veneto,vicenza il componente magico?mi interessa molto questo,per me nuovo modo di interfacciare analogico col digitale.grandi!se non costa un botto realizzero’un prototipo che qui,con i radiomicrofoni e dispositivi vari ci vogliono pile sempre cariche!
saluto tutti gli interessati all’argomento e buona ricarica a tutti!a presto.
u
sara’meglio che frequenti un corso di dattilografia accellerato,scusate gli errori…
Ciao Toggio e complimenti davvero x il tuo progetto che sembra interessantissimo e che voglio realizzare. Avrei gentilmente bisogno di sapere la potenza da usare x le resistenze (esclusa quella da 2 watt) e la tensione dei 2 condensatori C1 e C2. Grazie e complimenti ancora
Per quanto riguarda i condensatori servono esclusivamente al regolatore di corrente, quindi i classici condensatori ceramici a disco sono più che sufficienti.
Per le reistenze, non gestendo grosse potenze (salvo quella da 2W), possono essere le classiche da 1/4 di Watt.
A presto
ciao a tutti,Luca solo qualche delucidazione:la r3 che vedo nelle foto del tuo prototipo NON è
di potenza come da te indicato nella spiegazione. Io monterò una da 5W,per stare sicuro. Poi
il partitore x far vedere ad attiny85 non più di 5V funziona anche x tensioni di batteria più alte,poniamo 12 V.? eventualmente il calcolo del partitore come si effettua? e cosa pensi se al posto
di r3 ci metto un pot. a filo di potenza e valore adeguato? resto in attesa ,grazie se vorrai rispondermi.Buon lavoro a tutti gli ATTINYSTI!!!
Ciao Eugenio,
la R3 di potenza (nel caso del prototipo 2W).
Per quanto riguarda il riparitore, bisogna verificare che il voltaggio tra R4 ed R5 non superi il voltaggio massimo in ingresso supportato dall’Attiny; per tensioni più alte vanno quindi modificati adeguatamente i valori della resistenza.
A presto
Grazie 1000 x le delucidazioni e complimenti ancora
P.S.: intendo il partitore con r4-r5,grazie.
Ciao Luca, purtroppo non ho potuto reperire alcuni componenti indicati nel tuo progetto:
la resistenza da 2k l’ho trovata da 2,2k
la resistenza da 5k l’ho trovata da 4,7k
inoltre come darlington ho trovato un tip126 (da 80v) invece del tip127 (da 100v)
secondo te potrebbero esserci dei problemi montando questi componenti?
grazie
No, non dovrebbero esserci problemi!
In alternativa al tip127 ho trovato un BDW94C, penso che dovrebbe andar bene. Ora il dubbio mi resta sul valore delle 2 resistenze, il loro valore è critico? o vanno bene quelle che ho trovato?
grazie e buona domenica
Hello Luke,
Thank you for sharing your knowledge.
Is it possible to explain how to charge two or three batteries of 7.2V (6 cells) simultaneously with independent control for each battery?
kind regards
I’m sorry but right now, is not possible to charge indipendently every single cell.
Bye
CIao Bel progettino che voglio realizzare.
Però voglio caricare delle batterie da 8,4Volt 200mAh (le classiche definite da 9volt)
Per poterlo fare devo alzare però il voltaggio a 13/14 volt.
Ci sono problemi se lo faccio?
Potresti vendermi due di questi…?
Ciao Luca, innanzitutto complimenti per il tuo lavoretto! Io sono un novellino del modellismo dinamico e mi ritrovo a che fare con una batteria nimh 3000mah da 8,4v da ricaricare. Appena collega la batteria segna 8,4v. Durante la ricarica è normale che la tensione salga dopo circa 30 min a 9,63v? Oppure dovrebbe rimanere a 8,4v? Oppure verso la fine dovrebbe scendere facendo capire che è carica? E nel caso a quanto potrebbe scendere? Scusa se chiedo qui ma altrove non ho ricevuto risposte e in rete non riesco a trovare risposte. Grazie
Ciao, per cortesia sai dirmi chi vende le scatoline in alluminio?
Dalle mie parti non si trovano più.
Grazie