Alimentare arduino con batteria e monitorarla

Inviato:
11 mar 2016, 23:15
da teletommy
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 volt. Quando la batteria è carica la sua tensione è di circa 4 volt. 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 volt 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
Re: Alimentare arduino con batteria e monitorarla

Inviato:
12 mar 2016, 0:20
da TardoFreak
Che tensione di riferimento usi per l'ADC? In buona sostanza: come hai inizializzato l'ADC?
Re: Alimentare arduino con batteria e monitorarla

Inviato:
12 mar 2016, 8:27
da teletommy
Purtroppo utilizzo la stessa tensione di alimentazione. Immagino che non sia possibile alimentare la scheda e misurarne contemporaneamente il valore. Forse non ha più un riferimento costante?
la sintassi è quella classica (copio a seguire alcuni stralci del mio rudimentale programma con riferimento alla batteria ce ripeto, funziona benissimo tranne ovviamente la lettura della batteria. Grazie infinite.
int Vbatt=A1;
int VAL_BATTERIA = 0;
..............
.............
void setup(){
Serial.begin(9600);
pinMode(LED_SCARICA, OUTPUT);
}
void loop(){
VAL_BATTERIA = analogRead (Vbatt);
..............
...............
if(((voMeasured>=0) && (voMeasured<=100)) && ((VAL_BATTERIA>=0) && (VAL_BATTERIA<=758))) {staTement = 1; }
..........................
switch (staTement) {
case 1:
digitalWrite(LED_VERDE,HIGH);
digitalWrite(LED_SCARICA,HIGH);
delay(100);
digitalWrite(LED_VERDE,LOW);
delay(100);
break;
...........................................
Serial.print(" VAL_BATTERIA ");
Serial.print(VAL_BATTERIA);
Serial.println(" ");
delay(1000);
Re: Alimentare arduino con batteria e monitorarla

Inviato:
12 mar 2016, 11:08
da edgar
teletommy ha scritto:Deduco che non è possibile alimentare arduino con una batteria esterna e contemporaneamente controllare il suo valore di carica
No, è possibile.
Stai sicuramente usando VCC come tensione di riferimento. Devi inizializzare l'ADC con il riferimento di tensione interno. Questo ti da un fondoscala di 1.1V indipendente dalle variazioni di tensione di alimentazione. Dovrai poi scalare la tensione di batteria con un partitore per portarla a 1 V circa e darla poi in pasto all'ADC.
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
Rischi che i led consumino più del circuito ...

Re: Alimentare arduino con batteria e monitorarla

Inviato:
12 mar 2016, 14:31
da paofanello
teletommy ha scritto: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;
Scusate l'intromissione, ma come è possibile?
