Avrei bisogno di una mano: come faccio a leggere il voltaggio di ogni singola cella di una batteria lipo 3S (11.1V) con Arduino?
Mi spiego meglio, come certamente saprete, ogni cella si aggira intorno ai 3,7V a piena carica. Tramite il connettore per la carica bilanciata posso misurare, armandomi di multimetro e buona volontà il voltaggio di ogni singola cella.
Ora mi chiedo: posso fare lo stesso lavoro infilando dei cavetti opportunamente nei pin di Arduino e usando, ad esempio, lo sketch read analog voltage? Quale sarebbe il collegamento corretto da effettuare?
se ricordo bene dovresti avere 4 fili, un negativo comune e i tre positivi; SE SEI SICURO che sia così puoi applicare i tre positivi ad altrettanti pin analogici di Arduino e il negativo comune al GND, poi devi lavorare un po' di software, in quanto dovresti buttare via la prima lettura di ogni pin e poi leggere una decina di volte lo stesso pin e fare la media, in tal modo ottieni dati abbastanza attendibili, poi ti puoi divertire a pilotare led di avviso a tuo piacimento, in base a cosa vuoi controllare.
gabry1609:
Mi spiego meglio, come certamente saprete, ogni cella si aggira intorno ai 3,7V a piena carica.
3.7 V è la tensione nominale delle celle, quella di fine carica è 4.2V pertanto un pacco 3S a piena carica ha una tensione di 12.6V.
Per leggere le tensioni delle singole celle devi usare tre ingressi ADC due dei quali, quelli per 2S e 3S, dotati di partitori scalati per 7V e 13V, la prima cella la leggi direttamente, per la seconda cella devi fare la sottrazione tra la lettura e la tensione della prima cella, per la terza devi sempre fare la sottrazione tra la lettura e la tensione letta sulla seconda cella (è la somma delle prime due).
Quando cambi canale ADC butta la prima lettura, non è attendibile, non serve fare la media di più letture successive in quanto la tensione di una batteria è una vera DC praticamente esente da rumore a meno che non in uso con un carico di natura induttiva, o comunque rapidamente variabile nel tempo, in questo caso è meglio prevedere in ingresso un semplice filtro RC passa basso.
Si dato che le celle sono collegate in serie le tensioni che leggi su i tre cavi del connettore di bilanciamento, il quarto è GND, sono rispettivamente la tensione della prima cella, quella delle prime due celle in serie e quella totale delle tre celle.
In pratica il primo e l'ultimo filo del connettore di bilanciamento corrispondono con il + e il - del pacco mentre i due intermedi sono collegati nei punti di giunzione, + con -, tra le celle.
Da tenere presente che per eseguire il bilanciamento di un pacco LiPo serve una precisione reale al centesimo di Volt, con l'ADC di Arduino è ottenibile, a stento, solo su una singola cella, Arduino non va bene per configurazioni a più celle, serve un ADC con maggiore risoluzione e nel caso della batteria non è applicabile l'oversampling con decimazione.