Presentazione e domanda doppia alimentazione.

Ciao a tutti,
visto che è il mio primo post mi presento. Sono un informatico di 29 anni, ultimamente mi sono avvicinato ad arduino, dopo aver capito le sue enormi potenzialità, fino ad ora ho solo fatto qualche prova di programmazione e sperimentazione con i device (attuatori, sensori ecc) presenti in uno starter kit.
Il mio primo progetto "utile" vorrebbe essere quello di creare un dispenser automatico di croccantini per il mio gatto, ho visto progetti simili, ma mai esattamente quello che vorrei fare io.
Mi sono servito della Arduino Time library per programmare arduino perché attivi un servo motore ad una determinata ora del giorno.
Vorrei che il dispositivo avesse una doppia alimentazione (rete elettrica e pila 9V): poiché deve funzionare quando io non sono in casa anche per diversi giorni ( e solo a rete elettrica non è sicuro), ovviamente però quando è collegato alla rete non deve consumare la batteria.
Al momento ho provato in questo modo:

  • alimentato tramite usb, collegato ad un trasformatore da presa elettrica (con relativa uscita usb).
    contemporaneamente
  • alimentato tramite jack, collegato ad una normale pila a 9V.

Mi viene però il sospetto, anche leggendo un po’ nel forum, che in questo modo vada solo a batteria, mentre io vorrei l’opposto: che preferisca prima l’usb e, solo nel caso questa sia down, passi a batteria.
Confermate il mio dubbio? E nel caso sapreste suggerirmi un’alternativa?
Grazie mille :slight_smile:

Il tuo dubbio te lo straconfermo.

Trovare una soluzione richiede un po' di ingegno, ma è sicuramente fattibile.

Il fatto è che per come è fatto il "circuito di alimentazione" di arduino, non c'è molto scampo, quando usi il connettore per l'alimentazione esterna, andrà praticamente sempre a bypassare l'alimentazione della USB, perchè i 5v che escono dal regolatore sono belli precisi, mentre dalla usb arriva sempre meno di 5V. C'è un comparatore che usa questa logica per switchare.

Fai delle ricerche con delle keyword "arduino backup battery" o qualcosa del genere, c'è gente che lo ha già fatto.

YPKDANY tempo fa ha realizzato un eccellente sistema di alimentazione con backup e batteria ricaricabile da 9V; dovrebbe essrsi il link al progetto nel Playground, se non ricordo male.

Grazie mille delle risposte...cercherò di documentarmi.
Anche se stavo pensando che forse potrei semplicemente scambiare le alimentazioni collegare il jack alla rete elettrica con un trasformatore e la pila 9v alla usb con un adattatore casalingo...

Ps ultima curiosità: una pila da 9 v che alimenta da sola il dispenser di cui sopra, immagino non durerebbe molto vero?
Ad una prima occhiata la pila aziona un servo una volta al giorno, ma deve anche tenere alimentato il microprocessore di arduino che tiene conto del tempo e questo in termini di consumi è più o meno elevato?
Grazie ancora

Razzo82:
Grazie mille delle risposte...cercherò di documentarmi.
Anche se stavo pensando che forse potrei semplicemente scambiare le alimentazioni collegare il jack alla rete elettrica con un trasformatore e la pila 9v alla usb con un adattatore casalingo...

Naturalmente aggiungendo un regolatore stabilizzatore a 5V, altrimenti fai le scintille; valuta però i consumi di ciò che vai ad alimentare, in modo da calcolare quanto ti dura una batteria 9V non ricaricabile, altrimenti il gatto continuerà a mangiare ma tu ti ridurrai alla fame... :grin:

Devo correggermi:

se guardi lo schematico della uno: http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

Il confronto viene fatto tra la metà della tua alimentazione, che fornisci dal plug DC e 3.3V, se è superiore esclude l'alimentazione da USB.

Quindi ciò che vorresti fare va bene, manda +5V provenienti dalla batteria dentro il connettore USB, non dal pin 5V perchè quello bypassa il transitor che taglia la USB (avresti i 5V della batteria in parallelo).

La pila 9V ha ca 200mAh. percui un Arduino funziona qualcosa come 1-2 giorni. Puoi diminuire molto il consumo se usi un moduli RTC con usciat 1Hz oppure un uscita alarme e metti l'arduino in sleep (usando un Arduino mini e togliendo i led) svegliandolo 1 volta al secondo col RTC o col alarme del RTC. Devi scollegare anche il servo dal alimentazione perché pure quello consuma qualche mA anche da fermo.
Al posto del servo é meglio mettere un motorino e progettare la meccanica che questo debba girare solo in un verso. Cosí quando é fermo non consuma niente.
Cosí potrebbe funzionarti anche parecchie settimane con una pila da 9V
Ciao Uwe

Ieri sera ho fatto un semplice alimentatore a pila 9V per la USB (http://www.instructables.com/id/9v-USB-charger/).
Stasera provo a trovare un alimentatore da 9V per l'entrata Jack e vedo come va...giusto per provare, sempre ieri, ho trovato un alimentatore con uscita usb (tipo 5V 1A) e l'ho collgato con un adattatore rudimentale all'entrata jack dell'arduino (non alla usb): probabilmente non era sufficiente poichè il servo compiva mezzi giri e senza precisione.
A quel punto vi ho collegato anche l'usb a pila ed evidentemente le due tensioni si sono sommate(o qualcosa del genere) poichè il servo girava molto più velocemente e con maggiore forza che solo con la usb a pila.

Se fai entrare una tensione dal jack, questa passa dal regolatore di tensione dell'Arduino, che introduce una caduta di tensione di circa 2V: difatti i dati dell'Arduino danno come tensione minima raccomandata un valore di 7V. Tu, fornendo 5V, avevi in uscita sui 3V: troppo pochi. Inserendo anche il cavetto USB, hai dato 5V stabili all'Arduino, che ha selezionato la presa USB come ingresso.

leo72:
Se fai entrare una tensione dal jack, questa passa dal regolatore di tensione dell'Arduino, che introduce una caduta di tensione di circa 2V: difatti i dati dell'Arduino danno come tensione minima raccomandata un valore di 7V. Tu, fornendo 5V, avevi in uscita sui 3V: troppo pochi. Inserendo anche il cavetto USB, hai dato 5V stabili all'Arduino, che ha selezionato la presa USB come ingresso.

Grazie Leo, avevo sospettato una cosa del genere...stasera riprovo con un alimentatore da 9V e vedo come va.

In casa ho trovato un vecchio alimentatore da 12V, 200mA .
Ho letto che la tensione di ingresso raccomandata e 7-12V , ma appena l'ho collegato, il servo compie solo mezzi movimenti ed arduino non risponde correttamente, immagino sia dovuto alla scarsa corrente di ingresso (200mA) ... inoltre appena ho collegato anche l'adattatore pila 9V(ridotta a 5V) ---> USB alla usb il servo è andato bene, quindi deve aver switchato sull'ingresso USB pur essendo teoricamente a tensione più bassa (5V).
Confermate che è il problema può essere causato dalla scarsa corrente?

200mA sono pochi, quindi è come pensi.
Lo switch NON avviene sulla base della tensione maggiore tra le due ma sulla base della presenza di tensione sulla presa USB: se c'è viene automaticamente switchata, se non c'è passa sulla presa esterna, ma mi pare che, in seconda battuta, questa cosa ti sia già stata detta.

Ecco qui il circuito:https://sites.google.com/site/circuitiarduino/home/batteria-tampone. Se 200mAh sono pochi puoi utilizzare un pacco da 9V di pile AA o altro, basta che adatti il caricatore per fornire più corrente alle batterie. Ciao

ypkdani:
Ecco qui il circuito:https://sites.google.com/site/circuitiarduino/home/batteria-tampone. Se 200mAh sono pochi puoi utilizzare un pacco da 9V di pile AA o altro, basta che adatti il caricatore per fornire più corrente alle batterie. Ciao

La faresti una cosa, a gentile richiesta? ]:smiley:
Apri un Topic, chiamalo tipo "Batteria tampone ricaricabile per Arduino", un bel post di spiegazione del circuito, possibilmente lo sketch in -code-, alleghi in immagine lo schema elettrico e un link al sito per chi proprio vuole saperne di più.
Visto che hai prodotto un bel lavoro ed anche funzionale e che ogni tanto qualcuno lo ricorda (io l'ho già citato 2-3 volte in altrettanti Topic), facilmente si cerca e si trova, senza dover aspettare che "passi da queste parti" ed impartisci la tua benedizione :grin: Che ne dici?
Ciao.

Si posso farlo comunque lo avevo postato anche qui sul playground per renderlo più visibile: Arduino Playground - HomePage (fondo pagina)

Ah, allora scusa, avevo detto all'inizio che doveva esserci, ma siccome nessuno ha dato riscontro pensavo non ci fosse.
Ciao. :grin:

Grazie ancora per l'aiuto che mi date.
Tuttavia credo ci siano state delle incomprensioni (probabilmente da parte mia):
nel mio primo post ho scritto:

Razzo82:
Al momento ho provato in questo modo:

  • alimentato tramite usb, collegato ad un trasformatore da presa elettrica (con relativa uscita usb).
    contemporaneamente
  • alimentato tramite jack, collegato ad una normale pila a 9V.

Mi viene però il sospetto, anche leggendo un po’ nel forum, che in questo modo vada solo a batteria, mentre io vorrei l’opposto: che preferisca prima l’usb e, solo nel caso questa sia down, passi a batteria.
Confermate il mio dubbio? E nel caso sapreste suggerirmi un’alternativa?

Il mio dubbio è stato confermato da Federico Vanzati, quindi fino a quel momento mi sono basato sul fatto che se collego la pila da 9V all'entrata jack dell'arduino, questa venga scelta come alimentazione principale anche se contemporaneamente è alimentato tramite usb collegata alla rete elettrica di casa.

A quel punto ho scritto:

Razzo82:
forse potrei semplicemente scambiare le alimentazioni collegare il jack alla rete elettrica con un trasformatore e la pila 9v alla usb con un adattatore casalingo...

cosa che ho fatto, ma senza trovare un alimentatore da rete prima con sufficiente tensione, poi con sufficiente corrente.
Avevo cercato lo schema di YPKDANY nel Playground, ma senza trovarlo (errore mio)...anche se la soluzione sopra riportata mi sembrava più semplice ed economica, anzichè costruire l'ottimo circuitino di ypkdany (probabilmente per mia pigrizia :grin:)

Ora però tu mi scrivi:

menniti:
200mA sono pochi, quindi è come pensi.
Lo switch NON avviene sulla base della tensione maggiore tra le due ma sulla base della presenza di tensione sulla presa USB: se c'è viene automaticamente switchata, se non c'è passa sulla presa esterna, ma mi pare che, in seconda battuta, questa cosa ti sia già stata detta.

che mi pare esattamente l'opposto di quanto appurato all'inizio...e qui mi si confondono le idee.
Help XD

Si, hai ragione, bisogna guiardare lo schema, ora viene il dubbio anche a me, ma tru hai scritto:

Ho letto che la tensione di ingresso raccomandata e 7-12V , ma appena l'ho collegato, il servo compie solo mezzi movimenti ed arduino non risponde correttamente, immagino sia dovuto alla scarsa corrente di ingresso (200mA) ... inoltre appena ho collegato anche l'adattatore pila 9V(ridotta a 5V) ---> USB alla usb il servo è andato bene, quindi deve aver switchato sull'ingresso USB pur essendo teoricamente a tensione più bassa (5V).

e a me è sfuggito quel "teoricamente", cioè tu NON hai misurato la tensione dell'alimentatore sotto carico, per vedere se dai 12V dichiarati non sia scesa a 4-5V, nel qual caso prenderebbe il sopravvento la VUsb; infatti Federico spiegato che una tensione di riferimento da 3,3V viene comparata con metà della Vext, il che significa che la commutazione sulla Vext avviene solo per tensioni >=7V, che in effetti è la tensione minima richiesta come Vext, quindi probabilmente è come dice lui ed a te è successo che l'alimentatore sotto carico sia sceso a meno di 7V facendo switchare l'alimentazione su VUsb.

Domanda banale, se dovessi prendere un alimentatore da presa elettrica, con tensione di uscita 9 - 12V (magari regolabile), quanti mA di corrente dovrebbe emettere per stare tranquilli? Sempre che centri qualcosa :slight_smile:

Prima di tutto devi prendere un alimentatore REALMENTE stabilizzato, non quelle schifezze da 5 euro fatte con 2-4 diodi ed un paio di condensatori ed il commutatore che lavora sul trasformatore :disappointed_relieved:
Ti conviene un 12V a tensione fissa, 1A di corrente; questo perché in tal modo puoi usarlo per alimentare, extra-Arduino, carichi a 12V, come relé, transistor di pilotaggio, ecc. Se non prevedi questo tipo di uso prendi un 9V 700mA, 500mA è il limite del regolatore interno di Arduino, qualcosa in più per non tenere l'alimentatore sotto sforzo quando sfrutti tutta la corrente.
Ma comunque le differenze sono di qualche euro, l'importante, ripeto, è prendere un prodotto serio.