Rilevamento tensione applicata in ingresso, Arduino Bt

Salve a tutti, io ho comprato un arduino Bt e l'ho alimentato con 3 batterie da 1,5 messe in serie per un totale di 4,5 volt. Usando firmata e Vb.net vorrei avvertire l'utente quando la carica delle batterie scende sotto i 2 volt, come posso ottenere tutto questo? esiste un pin apposito per la Vin?

la tensione ad arduino deve essere la più stabile possibile.
Il problema è anche che cambiando la aref (ovvero la tensione di riferimento) non puoi effettuare una lettura analogica perchè la tensione al pin analogica sarebbe sempre == alla tensione aref e quindi restituirebbe sempre 1024 (il massimo)
credo che la stessa cosa valga anche per i pin digitali.
Il rimedio facile è usare almeno 7V di batteria, e farli passare dallo stabilizzatore; in più un cavo dalla batteria passa per un opportuno partitore di tensione

con un voltmetro misurando tra il più del'ingresso e gnd ottengo i volt presenti nella batteria , non è possibile effettuare un collegamento simile ( con due fili uno al + e uno a gnd), e mandare il risultato su un piedino analogico?

Ho notato che l'Arduino BT (per lo meno quello mostrato nella sezione "Hardware") ha un LED con la dicitura BATT-LOW. Forse vedendo come viene gestito quel LED, riesci ad estrapolare il modo.

Lo fa il MAX1676 con un partitore resistivo, però non mi pare ci sia un modo per usare quella linea.
Usa anche tu lo stesso metodo.

Ciao a Tutti

Il MAX1676 é un convertitore switching stepup che fa funzionare l'Arduino BT da 1,2V fino a 5,5V di tensione di alimentazione.
Percui Vref dovrebbe essere stabile fino a una tensione di batteria di 1,2V.
Basta collegare la tensione di batteria ( se é sotto 5V) a un entrata analogica. Se potrebbe essere piú grande é necessario mettere un partitore resistivo.

Un alternativa é usare i 1,1V di referenza interna al ATmega e portare la tensione della batteria con un partitore sotto 1,1V. ( che ovviamente serve anche per tutte le altre entrate analogiche che usi.

Ciao Uwe

leo72:
Lo fa il MAX1676 con un partitore resistivo, però non mi pare ci sia un modo per usare quella linea. Usa anche tu lo stesso metodo.

Basta collegare il piedino LBO del MAX1676 ad un entrata digitale. Il segnale é LOW quando riconosce una situazione LOW battery.
Il partitore per definire il limite (R15 e R14) é settato per un low battery sotto ca 1,3V.

È un po molto basso per 3 batterie stilo.
Ciao Uwe

uwefed:
Basta collegare la tensione di batteria ( se é sotto 5V) a un entrata analogica. Se potrebbe essere piú grande é necessario mettere un partitore resistivo.

se si collega solo il + della batteria non ottengo il valore presente perchè avrei bisogno della gnd anche..

ma la batteria non é quella con cui alimenti il ArduinoBT ?
Ciao Uwe

si esatto, se prendo il piu della batteria e lo metto in un ingresso dell'arduino ma non mi da il valore della batteria.. e non so come fare..

Ganz:
si esatto, se prendo il piu della batteria e lo metto in un ingresso dell'arduino ma non mi da il valore della batteria.. e non so come fare..

In che senso "non Ti da il valore"?
Cosa leggi?
Ciao Uwe

mi restituisce valori sempre diversi ogni volta che va a fare la lettura sul pin , non funziona se collego solo la + della batteria ho bisogno anche di un riferimento gnd.

Se é la stessa batteria che alimenta l'Arduino BT hai giá un collegamneto GND.
Di quanto varia il valore?
Ciao Uwe

questo è il risultato della lettura sul pin analogico..

Immagine.bmp (455 KB)

up

Mi sa che Ti manca la massa.
Ma se é la batteria che alimenta l' arduino la massa c'é.
Prova di mettere un condensatoree da 500- 1000µF in paralello alla batteria.
Cambia qualcosa?
Ciao Uwe

l'unica semi soluzione è collegare il più della batteria in un pin, il meno nell'altra e da codice fare più - meno, ottieni un range +- .. cioe varia da 0 a 700 ma va bene nel mio caso..