Alimentare arduino con batteria e monitorarla
5 messaggi
• Pagina 1 di 1
0
voti
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
0
voti
Che tensione di riferimento usi per l'ADC? In buona sostanza: come hai inizializzato l'ADC?
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
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);
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);
1
voti
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 ...
0
voti
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.
-

paofanello
2.280 8 13 - Expert

- Messaggi: 532
- Iscritto il: 7 lug 2015, 21:01
5 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 7 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


