alimentazione arduino

ciao ragazzi. dovrei montare arduino sulla macchina e vorrei che arduino rimanesse acceso ogni volta che io giro la chiave della macchina. fin qui tutto ok se non che durante l' accensione della macchina arduino rimane senza corrente e quindi si resetta e deve rifare tutto da capo. questo è derivato perche fino a quando nella macchina si gira il quadro arduino viene alimentato normalmente però una volta che si fà girare anche il motorino d' accensione la macchina scollega la presa accendisigari dove arduino prende la corrente ( in modo che abbia più potenza la batteria) per poi ridare corrente appena si molla il blochetto di accensione perche la macchina in moto. ecco io vorrei trovare qualche possibilità in modo che arduino non si resetti ogni volta che viene messo in moto.
quindi il problema è questo: arduino si accende, incomincia a lavorare e dopo circa 20 secondi si spegne senza alimentazione e poi si riaccende, io vorrei evitare che si resetti questa seconda volta...secondo voi un condensatore riesce a tenere la tensione (intanto si parla massimo di 5 secondi il tempo per far mettere in moto la macchina) o se no cosa potrei aggiungere al circuito di alimentazione in modo che ogni volta non si resetti arduino?

Se l'assorbimento di Arduino e dei suoi periferici è contenuto, con un grosso condensatore elettrolitico (diciamo 4700 uF) ed un diodo 1N4007 dovresti risolvere il problema. Altrimenti, una piccola batteria Pb da 12V 1Ah.

perche il diodo? in modo che la corrente non torni all' inverso? comunque collegato ad arduino c' è solo il display... quindi penso che sia poco il carico che assorbe... il fatto è che con una batteria poi anche quando spengo la macchina mi ritroverei arduino acceso fino a quando non si scarica completamente la batteria...

Il diodo dovrebbe appunto evitare un ritorno (e quindi lo scaricamento del C) verso il quadro. Ma quando il quadro si stacca il C non scarica da nessuna parte se non nell'Arduino; c'è però da dire che se i 12-15V del quadro sono applicati direttamente al jack japan una riduzione di 0,7V non gli farebbe certo male al regolatore interno di Arduino... quindi alla fine dovresti mettere il diodo in serie al filo di alimentazione proveniente dal quadro ed il C in parallelo all'alimentazione a valle del diodo. La capacità indicata da Cyb dovrebbe garantire all'Arduino l'autonomia necessaria per il passaggio su OFF del quadro.

no, ad arduino arriverebbe corrente da un regolatore di tensione lm 7805 in modo da avere 5 volt puliti e dopo questo mettere il condensatore... la mia paura che arduino rimarebbe acceso sarebbe con la batteria da 12 volt 1 ampere che mi hanno consigliato precedentemente, con quella rimarebbe acceso per lungo tempo... quindi il condensatore c' è la fa a farmi rimanere acceso arduino e il display?

marcobiondo13:
no, ad arduino arriverebbe corrente da un regolatore di tensione lm 7805 in modo da avere 5 volt puliti

Da dove entri? Dal pin 5V? Uhm, non è salutare. Secondo me è meglio passare dal circuito di alimentazione dell'Arduino, per diversi motivi.

filtrare il segnale, per evitare inversioni di polarità e per proteggere anche e dopo questo mettere il condensatore... la mia paura che arduino rimarebbe acceso sarebbe con la batteria da 12 volt 1 ampere che mi hanno consigliato precedentemente, con quella rimarebbe acceso per lungo tempo... quindi il condensatore c' è la fa a farmi rimanere acceso arduino e il display?

Il condensatore non è una batteria, serve come serbatoio di emergenza per aiutare l'alimentazione principale nei picchi di assorbimento.

Concordo sull'inutilità di usare un 7805 esterno, semmai conviene un 7808 o 7809 per far lavorare tranquillamente il regolatore di Arduino interno. Il C da 4700 sull'ingresso, un C da 1000µF sull'uscita, due C da 100nF tra i due pin IN/OUT e GND.

@ Leo: se ricordi abbiamo usato questa tecnica del condensatore "tampone" sul micrologio: l'innesto dell'alimentazione esterna, provocando la commutazione del relé per il distacco delle batterie, interrompeva l'alimentazione del micro quel tanto che lo faceva resettare. Risolvemmo la cosa con un doppio condensatore da 100µF, uno sul contatto del relé e l'altro sui pin del micro; il tempo di scarica, superiore al tempo di commutazione, garantisce l'alimentazione del micro ed il superamento della fase critica. Così ho dato risposta anche al nostro amico.

non ho capito come mettere tutti questi condensatori e a cosa servono..
comunque uso un 7805 cos' posso direttamente usare l' entrata arduino 5 volt e non faccio scaldare nessun componente di arduino... :slight_smile:

Da come poneva la domanda mi pareva che volesse un'alimentazione un pochino duratura, non un tampone energetico d'emergenza. Probabilmente ho frainteso io ed hai intepretato tu in maniera corretta.

marcobiondo13:
non ho capito come mettere tutti questi condensatori e a cosa servono..
comunque uso un 7805 cos' posso direttamente usare l' entrata arduino 5 volt e non faccio scaldare nessun componente di arduino... :slight_smile:

il fatto che non ti sia chiaro perché servono non significa che tu non li debba usare, se ti fai un giretto sulla rete vedrai che quello che ti ho dettato è lo schema applicativo tipico di quei regolatori; anche sul Forum ne abbiamo parlato spesso. Ti stiamo sconsigliando di usare l'ingresso diretto dei 5V perché sei troppo poco protetto. Se consideri che la tensione in ingresso al 7805 esterno può arrivare tranquillamente a 16V, hai un drop-out di ben 11V, con soli 250mA di assorbimento totale ti trovi a dover dissipare una potenza di: (16-5)0,25 = 110.25 =2,75W, che non è uno scherzo; oltre a dover alettare adeguatamente l'integrato resta sempre il rischio che possa saltare, ed in genere questi integrati, quando si rompono, tendono a creare un corto tra ingresso ed uscita, il resto lo comprendi da solo.

@ Leo: io ho capito che lui deve coprire l'istante in cui gira la chiave del quadro, in quanto c'è un punto in cui viene meno l'alimentazione, così ha capito anche Cyberhs, che ha dato per primo il suggerimento; chiaro che se questo tempo dura tanto non c'è condensatore che tenga, se non facendo cose assurde; a quel punto, se lui decide di fare come gli stiamo consigliando, potrebbe portare le due alimentazioni (quadro e batteria tampone) all'ingresso jack, mediante due diodi, in quel caso la batteria lavorerebbe solo il tempo di commutazione, a motivo della differenza di potenziale tra le due sorgenti.

allora a me serve che nel frattempo che io giro la chiave il tampone mi dia corrente e questo dura pocchissimo, massimo ma proprio massimo 8 secondi ma in genere saranno 3 i secondi... io ho sempre avuto paura del regolatore di tensione di arduino perche quando montavo lo shield ethernet scaldava un bel po e quindi preferivo usarne uno esterno che alla fine dovrebbe essere la stessa cosa... la mia sui condensatori era una curiosità perche quando faccio i circuiti elettrici mi piace sapere cosa sto facendo... :slight_smile:
il fatto che poi un 7805 lo dovrei lo stesso usare perche alcuni sensori sono alimentati 5 volt e quindi prendere direttamente da arduino non mi piace.,..

3 secondi sono un'eternità, allora dubito che con un condensatore si risolva il problema, a maggior ragione se hai altro da alimentare con lo stesso regolatore. I consigli te li abbiamo dati, vedo che preferisci restare sulla tua idea iniziale, speriamo che vada tutto bene. :slight_smile:

no, sto ascoltando i vostri consigli visto che adesso nel mio nuovo scema prevedo un lm 7809 che alimenti arduino e invece il 7805 alimenti sensori e display lcd... (ho paura però con questa configurazione di sballare un pò la lettura dei sesnori visto che i 5 volt di arduino potrebbero essere diversi di quelli del lm 7805 e quindi sfalsare ma questo lo vedrò con qualche prova empirica... quello che mi rompe di più è risolvere il problema dell arduino che perde l' alimentazione quando metto in moto...

A questo punto la cosa migliore sarebbe quella di disegnare uno schema elettrico, magari indicando arduino come "blocco", altrimenti ci perdiamo :sweat_smile:
Il problema delle differenze di tensione ai fini delle letture ADC si risolve comunque e molto rapidamente, ma questo è un elemento secondario.
Invece quello del tampone lo puoi risolvere ora solo con una batteria; in un post precedente ti ho spiegato il principio: in pratica al jack di Arduino tu applichi i 9V del 7809 mediante un diodo in serie (8,3V), applichi allo stesso jack una batteria con tensione inferiore, p.es. una LiPo da 7,4V, sempre con un diodo in serie (6,8V). IN queste condizioni Arduino viene alimentato sempre dal quadro tramite il 7809, solo quando questa tensione di 8,3V viene meno (quadro spento) interviene la batteria finché non torna la tensione del quadro. Ovviamente periodicamente dovrai ricaricare la LiPo, ma considerando una batteria completamente carica e un uso medio di due volte al giorno per 3-8 secondi, una batteria ti dura un sacco di tempo.

il problema principale della batteria è che poi una volta spento il quadro la batteria continua ad alimentare arduino fino a quando non si scarica del tutto e quindi questo oltre a non piacermi al successivo avvio mi fa trovare la batteria completamente scarica...

Sì, ma allora c'è qualcosa che non torna nel tuo ragionamento, o almeno che sfugge a me. Tu hai detto che non vuoi far mancare l'alimentazione durante l'apertura del quadro perché Arduino si resetta, ma comunque ogni volta che spegni il quadro, alla successiva riaccensione Arduino si resetterà, qual è allora la differenza tra le due condizioni e che problema ti crea il "secondo" reset di Arduino? Danni non gliene fa, questo è certo, e comunque non c'è condensatore, nei limiti della ragionevolezza, che ti possa garantire il superamento di quei secondi, a mio modesto parere. A questo punto l'unica è prendere l'alimentazione sull'ON del quadro, cioè dopo la fase di accensione dell'auto, in questo modo Arduino si accende SOLO dopo che la macchina è in moto e risolvi la cosa; un'alternativa sarebbe quella di collegarti al quadro fusibili, in un punto sempre alimentato dalla batteria, ma qui poi corri il rischio di scaricare la batteria dell'auto, se non la usi per un po' di tempo.

allora è un pò difficile il ragionamento comunque ho la possibilità di prendere la corrente anche da un punto dove c' è sempre ma non voglio che arduino rimanga sempre accesso: quello che voglio è che io giro il quadro e adruino rimanga acceso fino a quando non lo rispendo, o massimo un minuto dopo che si spegne la macchina si spegne anche lui:
allora il problema che ad arduino non arriva corrente quando avvio la macchina è il seguente: tu giri la chiave e accendi il quadro : arduino si accende e incomincia a eseguire il codice, dopo passati un paio di secondi che le centraline della macchina fanno il ceck tu giri ulteriolmente il quadro in modo da far girare il motorino d' accensione e quindi mettere in moto il motore... ecco qui arriva il problema, perche la macchina quando fai girare il motorino d' accensione stacca di nuovo la corrente per poi ridarla appena riposti il quadro su on perche il motore gira... è questo il tempo in cui mi serve una batteria o condensatore... perche altreimenti arduino si spegne e si accende 2 volte... quindi ricapitolando io accendo solo il quadro, lascio fare il ceck alle centraline della macchina e poi giro ulteriolmente la chiave per mettere in moto per poi appena il motore gira rilasciarla... eccon in questo momento mi serve un qualcosa che continui alimentare arduino...
il discorso della batteria per me non può funzionare perche una volta che giro il quadro su off questa continua a dare corrente ad arduino fino a poi scaricarsi e al successivo avvio della macchina non riesce a caricare in maniera sufficiente per continuare ad alimentare arduino... non so se mi sono spiegato bene... in caso cerco di rispiegarlo ancora meglio...

E' chiaro.
Quello che ti stiamo dicendo è che non succede niente se si accende due volte.
A meno che non ti serva proprio durante quei secondi di avviamento del motore. Senza sapere esattamente cosa vuoi fare, viene difficile dare i consigli adeguati.

il fatto che mi servirebbe anche durante quei momenti quando gli manca l' alimentazione anche perche se no dopo mi torna a fare i ceck control che fa all' avvio e lo farebbe così 2 volte... non c' è nessuna opzione quindi per quello che sto dicendo io?
arduino praticamente mi mostra il tempo di attività della vettura e di vari sensori, tutto qui... legge i sensori e mi mostra l' output nel display... a proposito per eliminare gli errori di lettura che si creano tra i 5 volt di arduino e quelli dell' lm 7805 ( e che quindi mi sballa un pò valori di lettura dei sensori) come posso procedere?

L'elettronica in auto andrebbe sempre fatta con un certo criterio, per evitare disturbi e bruciature varie (specie nel momento di messa in moto)

La cosa migliore sarebbe di usare entrambi i punti di alimentazione (continuo e sotto chiave) e realizzare un circuitino apposito che faccia due funzioni:

Prima funzione, quando giri la chiave, aspetta una decina di secondi (o un tempo a tua sclta) e dopo alimenta dal positivo diretto le tue utenze elettroniche (in questo caso arduino) in modo che goli dai alimentazione solo dopo che hai acceso il mezzo, e non rischi extratensioni e picchi vari.

Seconda funzione, dopo che hai spento la macchina (anche qui un tempo a tua scelta) scollega il positivo diretto da tutte le utenze, cosi non scarica nulla.

Il positivo diretto in questo caso sarebbe l'alimentazione, mentre il derivato (dopo la chiave) sarebbe solo il segnale di "comando" del rele.

Se i tempi di ritardo sono nell'ordine di una decina di secondi o poco piu, puoi fare tutto quanto con un transistor, qualche resistenza, un diodo ed un rele, piu un discreto condensatore elettrolitico.