Alimentare Arduino Mega2560 con due sistemi di batterie

Ciao a tutti,

il problema come da titolo è il seguente,
Vorrei alimentare con due sistemi di batterie l'Arduino, uno ricaricabile e uno di riserva non ricaricabile.

Il problema principale sta nel fatto che alimenterò l'Arduino in stand by consumando l'energia nella batteria ricaricabile, se il sistema meccanico esterno (che ricarica le batterie) non viene utilizzato per troppo tempo in circa un mese la consumo tutta.
Vorrei quindi che nel caso in cui la batteria ricaricabile si scarichi sia la batteria di riserva ad alimentare il tutto.

Secondo voi collegando le batterie ricaricabili al pin Vin o al Jack e la riserva all'USB ottengo quello che chiedo.

Grazie a tutti
Davide

Ps: Sono nuovo del forum sperò di aver fatto le cose a modo 8)

non ho capito benissimo, ma in pratica per controllare il livello di carica di una batteria basta misurarne il voltaggio sotto carico. Anche il voltaggio a vuoto può essere usato, ma è ingannevole.

Quindi, quando la batteria ricaricabile, che è sotto carico (l'arduino) scende al di sotto di un certo voltaggio (e qui occhio ad usare la tensione di riferimento giusta e non direttamente quella della batteria), disattivi il circuito della batteria ricaricabile e attivi quella non ricarivcabile (non in quest'ordine :)).

Si esatto, quando la batteria ricaricabile non riesce piú ad alimentare il carico dovrebbe staccarsi e automaticamente partire quella non ricaricabile, non appena il sistema meccanico mi ricarica la batterie si dovrebbe effettuare il passaggio inverso.

Mettiamo il caso io alimenti l'arduino attraverso il jack con un pacco batterie ricaricabili e attraverso l'usb con una di quelle batterie che servono ad alimentare il telefonino in viaggio, otterei quello che voglio?

Ps: in quest'ultimo caso sarebbero entrambe ricaricabili, ma quello che mi serve é la preferenza di alimentazione in questo verso.

sì ma no.

ti spiego.

il primo sistema, se pasas dal jack e quindi dal regolatore, ritorna 5V spaccati a causa di quest'ultimo. Quindi puoi usare l'analogread (che di default usa come riferimento i 5V) per misurare la tensione del pacco batteria PRIMA del regolatore (quindi serve un partitore di tensione).

il problema è che quando passi al pacco USB, i 5v sono presi direttamente dal pacco, che probabilmente NON è regolato. Quindi il suo voltaggio cambia nel tempo e ti cambia il riferimento, e quindi ti sballa capire quando il pacco ricaricabile è carico.

puoi usare il riferimento interno a 3,3v, ma perdi precisione sulla stima della carica della batteria.. ma potrebbe essere una buona soluzione comunque

Ma il cambio non dovrebbe farlo automaticamente senza che controllo nulla?

Ho letto su altri topic che se alimento l'Arduino sia tramite USB che tramite Jack automaticamente lui preferisce l'alimentazione tramite Jack.

Quindi non appena la batteria collegata al jack é scarica, l'arduino non viene piu' alimentato da questa fonte e passa all'USB.
Appena si ricarica passa al contrario.

Forse é una cosa troppo semplificata, vorrei sfruttare direttamente le preferenze di default dell'arduino.

sì, ma la batteria non è che se è scarica non ha più voltaggio... ma uno più basso, quindi l'arduino continua a preferire il jack, sempre.. tu devi simulare lo STACCO del jack.

Ecco é questa la risposta che non volevo sentire XD

Ma fino a che tensione in ingresso mi continua a funzionare tramite il Jack?

Damidu:
Ecco é questa la risposta che non volevo sentire XD

Ma fino a che tensione in ingresso mi continua a funzionare tramite il Jack?

Se scendi sotto a 7V in ingresso poi non è garantito che in uscita tu abbia ancora i 5V.

Se scendi sotto a 7V in ingresso poi non è garantito che in uscita tu abbia ancora i 5V.

E quindi passa al USB? O prova ancora ad alimentarsi tramite questo?

Passa all'USB solo se la tensione sul jack scende sotto un certo livello, dato che il mosfet che seleziona l'alimentazione è pilotato dall'uscita di un op-amp usato come comparatore tra la metà della tensione presente sul jack ed i 3V3 generati dal regolatore interno. Diciamo che sotto ai 6,5V dovrebbe commutare su USB.

Diciamo che sotto ai 6,5V dovrebbe commutare su USB.

Quindi supponendo che questo avvenga, l'unico problema che rimane è che tra 7 e 6,5 volt la scheda rimane un po instabile.
Pero dato che deve solo tenere sotto controllo un rilevatore IR forse non dovrei avere problemi.

ma se la tua batteria scende sotto quel livello hai già superato il limite di dropout del regolatore e quindi l'arduino è giù probabilmnete impazzito, oltre che la tua batteria ricarcabile scaricata oltre il limite e quindi "deceduta"

insomma non è un sistema fattibile con i valori attuali

edit: e poi usa uno stand-alone se devi risprmiare tanti ampere, con un regolatore switching e non lineare

Forse fino a 6V "resta in vita". Considera che il regolatore su scheda genera i 5V dalla tensione di ingresso e che i 3V3 sono generati a partire da questi 5V. Quindi se da quel regolatore escono meno di 5V, anche da quello dei 3V3 usciranno meno volt di quelli nominali. Difatti il team dice che il valore minimo in ingresso è 6V

Grazie ragazzi delle risposte, sono sparito perchè ho fatto vacanze nel fine settimana :stuck_out_tongue:

Ho cambiato idea riguardo a tutta l'architettura elettrica del sistema, l'arduino lo alimento apparte e tramite un relè aziono un motore alimentato dalle batterie ricaricabili xD.

Ma per risparmiare energia mi conviene utilizzare uno stand-alone?
Se si, cosa è uno stand-alone?

dovresti sapere che il cuore di arduino è in realtà il chip atmega328p.
Arduino non è stato fatto per essere efficiente, ma per essere una buiona scheda di sviluppo.

Quando il progetto funziona, di solito si toglie l'atmega328 dall'arduino e si crea un circuito ridotto all'osso proprio per evitare sprechi.

un atmega nuovo (con bootloader, per comodità) cosa intorno ai 5€.. quindi è anche un modo per fare molti progetti senzqa spendere un capitale :slight_smile:

Grazie Lesto appena finisco il progetto vedrò di realizzarlo in stand-alone.

Ora ho bisogno di altro aiuto ma apro un altro topic dato che non c'entra piu' niente :smiley: