Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Alimentare arduino con batteria e monitorarla

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Alimentare arduino con batteria e monitorarla

Messaggioda Foto Utenteteletommy » 11 mar 2016, 23:15

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
Avatar utente
Foto Utenteteletommy
955 1 1 7
New entry
New entry
 
Messaggi: 65
Iscritto il: 1 mag 2012, 16:29

0
voti

[2] Re: Alimentare arduino con batteria e monitorarla

Messaggioda Foto UtenteTardoFreak » 12 mar 2016, 0:20

Che tensione di riferimento usi per l'ADC? In buona sostanza: come hai inizializzato l'ADC?
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[3] Re: Alimentare arduino con batteria e monitorarla

Messaggioda Foto Utenteteletommy » 12 mar 2016, 8:27

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);
Avatar utente
Foto Utenteteletommy
955 1 1 7
New entry
New entry
 
Messaggi: 65
Iscritto il: 1 mag 2012, 16:29

1
voti

[4] Re: Alimentare arduino con batteria e monitorarla

Messaggioda Foto Utenteedgar » 12 mar 2016, 11:08

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 ... :roll:
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[5] Re: Alimentare arduino con batteria e monitorarla

Messaggioda Foto Utentepaofanello » 12 mar 2016, 14:31

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? ?%
Piuttosto che chiedere qualcosa a me, chiedila a Mara Maionchi. E' più competente.
Avatar utente
Foto Utentepaofanello
2.280 8 13
Expert
Expert
 
Messaggi: 532
Iscritto il: 7 lug 2015, 21:01


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti