usare come riferimento alimentazione esterna

ciao ragazzi vi spiego un pò il mio problema: dovrei inserire arduino in un circuito che una parte alimenta arduino (9 volt) e l' altra alimenta i vari sesnori e lcd (5 volt). siccome i sensori funzionano a 5 volt e l' alimentazione non è sempre stabile cioè i 5 volt di arduino possono differire dai 5 volt dell' alimentazione dei sensori e questo mi fà sballare le letture sei sensori. quindi mi chiedevo: c' è qualche modo per risolvere questo problema? in modo che arduino prenda cone valore di riferimento un voltaggio esterno?

Si, puoi fornire la tensione di riferimento al pin AREF rispettando naturalmente il limite massimo di tensione del micro.
Dovrai aggiungere nel setup() l’istruzione analogreferance(EXTERNAL);
http://arduino.cc/en/Reference/AnalogReference

quindi mi basta inserire quella tensione e collegare il pin aerf di arduino alla seconda alimentazione e dovrebbe andare bene?

Devi anche collegare il GND (negativo) del secondo alimentatore al GND di Arduino. Massima attenzione a non scambiare i cavi altrimenti friggi tutto.

PaoloP: Massima attenzione a non scambiare i cavi altrimenti friggi tutto.

Il video è un mezzo fake, è un ATMEGA32 invece del 328 però rende bene l'idea di quello che può succedere :D

http://www.youtube.com/watch?v=mZ7pUADoo58

Se serve un riferimento un po piu preciso del normale 5V, si puo usare il pin 3V3 connesso all'AREF (riferimento a 3.3V, quindi anche massima tensione misurabile) ... oppure un riferimento esterno fatto con un secondo regolatore tipo 78L05, o con un TL431, o simili ...

allora vi spiego un pochino il mio collegamento elettrico. arduino verrà installato in macchina quindi 12 volt a motore spento. da questi con un lm 7809 alimento arduindo e un altro lm7805 a cui sono collegati i sensori e il display lcd. quindi secondo voi quale sarebbe la miglior configurazione che posso adottare?

Se vuoi fare una connessione del genere, a parte il consigliarti di abbondare con protezioni e filtraggi ;) , ti consiglierei anche di fare una cosa ... dal 7805 con cui alimenti i sensori, esci attraverso un diodo schottky da 3 o 4 A, con un secondo stadio di filtraggio dopo il diodo ... in questo modo questa alimentazione sara' sempre di almeno 0.4V piu bassa di quella di Arduino ... 0.4V in meno non causano, di solito, problemi di funzionamento a sensori e display, ed allo stesso tempo assicurano che sia il riferimento di tensione per l'ADC che le tensioni spedite ad Arduino siano sempre al di sotto della sua tensione di alimentazione ... inoltre fai tutti i collegamenti dei segnali attraverso resistenze, tipo 220 ohm ad esempio, il che limitera' le correnti in caso di corti sui fili, senza interferire con le letture degli ingressi analogici, la cui impedenza interna e' molto piu alta ...

Etemenanki: Se serve un riferimento un po piu preciso del normale 5V, si puo usare il pin 3V3 connesso all'AREF (riferimento a 3.3V, quindi anche massima tensione misurabile) .

Oppure il riferimento interno a 1.1V che offre l'ATmega328, attenzione che questa tensione è si stabile e pulita, però ha una sensibile tolleranza produttiva, +/- 10%, pertanto è indispensabile misurarne il reale valore sul pin Aref (quando attivo il riferimento interno la sua tensione è disponibile su questo pin) tramite un multimetro in modo da poter effettuare delle conversioni corrette nel proprio software.

Dipende però se il range del sensore è sotto 1.1V, altrimenti dovrà inserire un partitore.

Etemenanki: Se vuoi fare una connessione del genere, a parte il consigliarti di abbondare con protezioni e filtraggi ;) , ti consiglierei anche di fare una cosa ... dal 7805 con cui alimenti i sensori, esci attraverso un diodo schottky da 3 o 4 A, con un secondo stadio di filtraggio dopo il diodo ... in questo modo questa alimentazione sara' sempre di almeno 0.4V piu bassa di quella di Arduino ... 0.4V in meno non causano, di solito, problemi di funzionamento a sensori e display, ed allo stesso tempo assicurano che sia il riferimento di tensione per l'ADC che le tensioni spedite ad Arduino siano sempre al di sotto della sua tensione di alimentazione ... inoltre fai tutti i collegamenti dei segnali attraverso resistenze, tipo 220 ohm ad esempio, il che limitera' le correnti in caso di corti sui fili, senza interferire con le letture degli ingressi analogici, la cui impedenza interna e' molto piu alta ...

ma arduino comunque non è gia protetto dal suo regolatore di tensione interno e quindi potrebbe essere già alimentato dai 14 volt della batteria e quindi quello del 7909 puà essere considerato solo un modo gia abbastanza efficace di proteggere arduino che in caso arrivi una tensione maggiore è comunque in grado di gestirla senza provocare danni?

Leggendo il datasheet del microcontroller montato su arduino troverai delle specifiche di tensione e corrente massime tollerate. Ora non ricordo con precisione tutti i dati ma ad esempio se l'alimentazione su vcc è di 5V e un pin in ingresso riceve 6V ti ritrovi a far lavorare il micro fuori specifiche con possibili guasti.

Per questo motivo ti è stato suggerito di inserire il diodo.

Ciao.

Si infatti il 7809 non serve a nulla se oltre ad arduino prelevi altri 30mA max con una alimentazione di 14V

scusate la mia ignoranza ma ci sto capendo sempre di meno... :( il diodo non è quel dispositivo che fa in modo che la corrente circoli solo in un verso? e lo utilizzano anche per abbassare la tensione di circa 0,7 volt? quindi nel mio circuito quale sarebbe il mio compito? inoltre nel mio circuito l' alimentazione dovrebbe comunque essere stabile sui 5 volt e solo un malfunzionamento del lm7805 potrebbe fare danni o ci sono anche altri fattori che non ho considerato?

Il commento di Ete riguardo al diodo è relativo ad avere una tensione sui sensori di 4.6V che è inferiore ai 5V,

ora dovresti dire che tipo di sensori usi e che tipo di display usi , in modo da essere sicuri che utilizzi sensori con uscita analogica e che l'assorbimento di tutta la roba che metti all'esterno arduino superi i 50mA perchè ho uno strano presentimento..........

allora l' lcd che uso è un normale lcd 20 x 4 compatibile con standard 44780 lcd i sensori invece sono dei lm 35 "dz" se non sbaglio. allora i collegamenti sono i seguenti: 12 volt della macchina che arrivano al lm 7809. da qui parte un connetore che alimenta arduino direttamente sul jack e poi parte un altro connettore su un 7805. questo lm alimenta l' cd (chip più retroilluminazione) e i sensori. i sensori poi vengono collegati alle porte di analog read di arduino. poi ci sono altri 3 led che sono collegati ad arduino : uno blu, rosso e verde che comanda direttamente arduino ( c' è la dovrebbe fare anche perche al massimo si accenderebbero 2 led contemporaneamente). sono stato chiaro (non sono molto bravo in queste spiegazioni) ;) quindi mi spiegate un pò come procedere?

se aggiungi una resistenza da 100 ohm in serie al led della retroilluminazione porti l'assorbimento del lcd al massimo a 15-20mA , se usi led ad alta efficienza li puoi accendere con soli 2mA , le sonde consuma poco quindi in totale io direi che siamo sui 30mA in totale, quindi ci stiamo dentro: Puoi alimentare arduino UNO direttamente a 14V e alimentare i sensori e lcd con i 5V di arduino, quindi non ti serve nè lm7805, nè filtri diodi etc.... La lunghezza dei fili del display non devono superare i 30cm mentre i fili dei sensori lm35 1 metro, se sono più lunghi bisogna fare una modifica..

si si... come resistenze ho messo 2 in parallelo da 470 per i led... quindi per tutto l' altro andrebbe bene?