Vai al contenuto
PLC Forum


SIBILLA check-up batterie x cellulari con ARDUINO


Luigi Marchi

Messaggi consigliati

Sono un appassionato di elettronica e di informatica, con Arduino ho fatto Bingo. Il progetto SIBILLA evidenzia tutte le qualità di questo microprocessore:

1) semplifica la parte hardware, cioè utilizza pochi componenti aggiuntivi;

2) è trasparente e evidenzia le informazioni su un display, utili tanto per l'utente che per il progettista;

3) consente di modificare i parametri software con facilità, dando flessibilità ai progetti.

Per questo progetto OPEN SOURCE serve quanto segue: Arduino, alimentatore 9 volt stabilizzato, display 2x16, 1 Mosfet IRF530N, 7 resistenze da 1.000 ohm, 2 resistenze da 10 ohm 1 watt, una basettina con 10x15 fori.

Il software è semplice, ma ci sono diverse soluzioni originali, utili in altri progetti. Allego: schema elettrico e software. Da subito è utile visionare il video su YouTube "SIBILLA check-up batterie x cellulari con ARDUINO". A dopo le spiegazioni.

 

 

Link al commento
Condividi su altri siti


I video YouTube sono 2, con poche modifiche dell'uno rispetto all'altro. Preferisco il più recente, che mostra le informazioni a video ogni 15 minuti di carica. Dimostra bene le caratteristiche delle batterie Li-Ion che usiamo nei nostri cellulari e che sinora avevamo studiato solo raccogliendo informazioni su Internet.

Link al commento
Condividi su altri siti

Perchè l'alimentatore a 9 volt stabilizzato ? Perchè Arduino misura le tensioni, con gli ingressi analogici, solo fino a 5 volt. Occorre pertanto utilizzare dei divisori di tensione. In questo caso si è utilizzato un divisore 50-50 che arriva a misurare "solo" fino a 10 volt. Per misurare esattamente la tensione della batteria sotto carica occorre misurare esattamente anche la tensione in ingresso. Infatti la tensione della batteria è null'altro che la differenza di tensione tra quella in ingresso e quella a monte di resistenze di shunt e Mosfet. 

Link al commento
Condividi su altri siti

Quote

Per misurare esattamente la tensione della batteria sotto carica occorre misurare esattamente anche la tensione in ingresso. Infatti la tensione della batteria è non altro che la differenza di tensione tra quella in ingresso e quella a monte di resistenze di shunt e Mosfet.

 

Scusa la pignoleria, ma se misuri la cdt sul resistore (o sulla rdson di un mos) non fai altro che misurare la corrente di carica. E' questo il tuo scopo? 

Link al commento
Condividi su altri siti

La resistenza di shunt (2 da 10 ohm 1 watt, in parallelo) serve a misurare l'intensità della corrente di carica. Viene misurato il differenziale di tensione ai suoi capi. La misura, in milliamper, è molto precisa. Va ricordato che Arduino divide in 1024 segmenti la tensione che va a misurare. L'unico inconveniente, al riguardo, concerne la precisione della tensione di lavoro di Arduino che deve essere di 5 volt esatti per dare indicazioni esatte. Altra variabile critica sono le resistenze del divisore di tensione che non debbono avere tolleranze significative (fare la misura prima dell'utilizzo e accoppiarle uguali).

Link al commento
Condividi su altri siti

Il Mosfet utilizzato è un "banale" IRF530N, ma vanno bene praticamente tutti. E' il cuore dell'hardware, perchè consente, con la gestione PWM, di controllare: 1) la corrente di carica; 2) la tensione massima e minima di carica; 3) la durata della carica. Con corrente di carica di 300 milliamper non scalda, ma è bene utilizzare un piccolo dissipatore (una rondella costa nulla e va bene). I 5 volt di Arduino in questo caso sono più che sufficienti per gestire il Gate.

Link al commento
Condividi su altri siti

Riassumendo: ad Arduino arrivano le tensioni presenti in 3 punti del circuito elettrico, le elabora, le visualizza, le utilizza per gestire l'uscita PWM che autoregola la carica. Il software utilizza gli ingressi analogici A0, A1 e A2. Lascia liberi gli ingressi A4 e A5 per la versione con display seriale. L'uscita per il PWM è il pin digitale D9. Vengono lasciati liberi i pin D2,D3,D4,D5,D11 e D12 per il più classico dei display.

Link al commento
Condividi su altri siti

Quote

concerne la precisione della tensione di lavoro di Arduino che deve essere di 5 volt esatti per dare indicazioni esatte

 

Se alimentato con tensione compresa tra 7V e 12V il regolatore sulla scheda di arduin fa il suo dovere. I 5V saranno 5V con la stabilità e precisione dipendenti dalla caratteristiche del regolatore, che sono soddisfacienti per la maggioranza degli impieghi.

Volendo avere una maggiore precisione e/o stabilità, si può usare un regolatore di riferimento (per esempio TI e MAXIM ne hanno parecchi in catalogo) per applicare una tensione di riferimento >0 e <=5V al pin AREF, poi si devono programmare i convertitore A/D per usare un riferimento esterno.

Questa è la pagina ufficiale di arduinio che da le specifiche di questo dispsoitivo

Link al commento
Condividi su altri siti

Buono a sapersi. Io uso gli UNO cinesi da 4 soldi e ho notato che i 7805 utilizzati non sono il massimo della precisione e mi sballano un pò le misure. Nulla vieta naturalmente di modificare le misure via software. Lo preferisco a qualunque intervento hardware tipo potenziometro da 100 ohm tra le due resistenze da 1000 ohm.

Link al commento
Condividi su altri siti

Con le batterie Li-Ion la corretta misura della tensione non è un optional per maniaci. E' un dato critico. Prima di mettersi a smanettare su batterie "buone" è bene farlo con batterie vecchie e leggere la documentazione sulle batterie sotto check-up reperibile in Internet.

Quelle agli ioni di litio da 3,7 volt nominali, sopportano una tensione massima, sotto carica, di 4,20 volt, con variazione di centesimi. La tensione non deve scendere assolutamente sotto i 3 volt.

Link al commento
Condividi su altri siti

Questo è uno dei problemi dei cloni, risparmi qualche cosa ma non tutto è di qualità e, come scrivi, la tensione per le batterie al litio è un dato molto importante.

 

Colgo l'occasione per dirti che nei miei interventi non c'è nessun intento polemico, ma il solo intento è quello dellla miglior com prensione.

Il tuo lavoro è molto interessante , magari se pubblichi gli schemi e Sw nella sezione UP/DOWN load, come hai fatto, per Penelope si potrebbe capire meglio.

 

E' un pezzo che volevo fare un caricatore semi universale per le batterie al Litio perchè quelli in commercio non mi soddisfano molto.

Ma gari potrei partire dalla tua idea.

Link al commento
Condividi su altri siti

Ho già caricato schema elettrico e software. Debbo ringraziare Mattia Primo, coprogettista, che mi ha autorizzato a divulgare i nostri lavori.

Link al commento
Condividi su altri siti

Livio, il mio "pallino" e quello di Mattia Primo, che è genovese, è quello di ottenere il massimo con il minimo di spesa. Questa è la mia filosofia, da progettista Arduino, che è un prodotto popolare.

Link al commento
Condividi su altri siti

Debbo abbandonare la discussione, la famiglia mi reclama. Rimando la illustrazione del software. Ma intanto si può approfondire la parte hardware.

Link al commento
Condividi su altri siti

Descrizione software SIBILLA:

il ciclo prevede innanzitutto la verifica delle tensioni nei 3 punti di controllo. Vengono fatte 100 misure per avere una media efficace, stante che il ciclo PWM, con onda quadra, comporta alti e bassi di una certa durata. La media viene riportata a unità e ritarata in rapporto alla riduzione 2 a 1 realizzata con il partitore di tensione. I milliamper di carica vengono determinati sulla base del differenziale di tensione ai capi della resistenza di shunt (4,7 ohm oppure 5 ohm se si mettono 2 resistenze da 10 ohm in parallelo).

La gestione del PWM è assai semplice, si tratta di dare impulsi al Mosfet che funge da "rubinetto" che si apre o chiude di un tot ad ogni ciclo, in base ai parametri fissati, di tensione e/o di corrente.

E' quindi una gestione assai dinamica del processo di carica. Il duty cycle non può essere mai inferiore a zero e neppure maggiore di 254.

La visualizzazione delle informazioni salta qualche ciclo e ha una durata di circa 2 secondi per ciascuna videata.

Si inizia con, a sinistra del display 2x16, a visualizzare il cronometro che segna l'inizio della carica, in ore, minuti e secondi. Notare il modo in cui è stato realizzato, a partire dalla funzione millis() che è tarata con il quarzo di Arduino.

A destra viene visualizzata la tensione delle batterie, che era misurata con due decimali e che ora facilita la visualizzazione con tanto di virgola. Nella seconda videata viene visualizzata, a sinistra l'ammontare dei milliamperora caricati e a destra l'intensità della carica in milliamper.

Tutto ciò per il classico display 2x16 con allaccio ai pin D2,D3,D4,D5 e D11,D12. E' disponibile anche la versione per display seriale con allaccio ai soli pin A4 e A5, oltre a GND e positivo 5 volt.

Da ultimo, nel software, è previsto lo stop carica, quando si supera il limite orario fissato (ad evitare sovraccariche pericolose se si dimentica Sibilla in funzione). Rimane visualizzata l'ultima informazione relativa all'ammontare della carica.

 

 

Link al commento
Condividi su altri siti

SIBILLA non è "solo" un caricabatterie intelligente. SIBILLA, lo dice il nome, vaticina lo stato di salute e l'efficienza di una batteria, nuova o usata, di serie o di ricambio, da 3,7 volt o altro. Sondare la capacità di immagazzinare energia, partendo da una batteria quasi scarica (e il "quasi" è molto importante), è la cartina di tornasole della efficienza. Ma lo si può fare anche misurando la "scarica", con il progetto gemello di nome "DIANA".  

Il software Arduino è molto semplice, quanto la parte hardware. Mattia Primo ci ha messo una bella intuizione di marketing, io ci ho messo un distillato dell'esperienza maturata con il progetto ULISSE, molto più corposo e articolato, che gestisce l'accensione di faretti led, da batterie, caricate da fotovoltaico e/o da rete.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...