Alimentare arduino con batteria lipo e contemporaneamente misurarne il valore

Salve a tutti, chiedo umilmente che qualcuno mi dia una risposta perché proprio IO NON CI RIESCO. Premetto che sono alle prime armi con arduino quindi spero di capire e superare anche questa difficoltà. Ho realizzato una board utilizzando una scheda arduino nano che necessariamente deve essere alimentata con una piccola batteria lipo a una cella con tensione 3,7 volts. Quando la batteria è carica la sua tensione è di circa 4 volts. Ho fatto dei test strumentali con un alimentatore e ho notato che la scheda arduino alimentandola esternamente al punto vin funziona senza problemi fino ad una tensione minima di 3,6 volt; Visto che il mio circuito assorbe pochi milliampere questo piccolo range di tensione mi basta per avere un’autonomia di decine e decine di ore. Dopo un po’ di utilizzo del mio apparecchio con grande soddisfazione, cercando di migliorarlo ulteriormente ho pensato di monitorare la batteria con dei led di segnalazione tensione; ho fatto i dovuti calcoli per i range numerici che aduino trasforma in base alla lettura analogica sui pin A0…A5 e ho modificato il firmware con degli IF e ho attivato il serial monitor…e qui è arrivato il problema. Se collego un alimentatore esterno al pin analogico e vario la tensione applicata simulando una batteria collegata esternamente, funziona tutto correttamente ovvero per la tensione che arduino riceve viene riportata in numero corretto sul monitor seriale e il firmware fa quello che deve fare accendendo i led correttamente; se invece collego la batteria lipo sia al pin vin che al pin A0 (quello adoperato per la lettura analogica) il sistema va in crisi dandomi dei valori assolutamente sballati. Misurando la tensione con un multimetro sul pin A0 di 3,7Volts corrispondente alla tensione esatta della batteria, anziché rendermi sul monitor seriale il valore di circa 757, il monitor seriale mi rende un valore di 860…inspiegabile! Si invece ricollego l’alimentatore e lo metto al valore di 3,7 volts esatti il valore sul monitor seriale torna esatto. Deduco che non è possibile alimentare arduino con una batteria esterna e contemporaneamente controllare il suo valore di carica. Aiutatemi per favore più che altro per farmi capire il perché visto che non riesco a trovare il bandolo della matassa. Grazie infinite a tutti

Non puoi farlo senza creare un riferimento INDIPENDENTE dalla carica della batteria …
… il convertitore ti da un valore tra 0 e 1023 che rappresenta Vcc/1024 … ma se Vcc cala cambia anche il riferimento e ti darà sempre, più o meno, lo stesso valore.

In compenso … c’è una piccola funzionalità “segreta” … prova a leggere QUI :wink:

Guglielmo

Che bello sapere che sbagliavo io. Grazie infinite!! sono felice di avere appreso una cosa in più. :slight_smile: :slight_smile: :slight_smile: