[RISOLTO] domanda su undervolt

bunasera a tutti, avrei una domanda sul comportamento dell'arduino: quando la tensione di alimentazione va sotto il limite minimo operativo,cosa capita? l'arduino continua a eseguire codice anche se sballando esecuzione e memoria,o si autoresetta quando raggiuunge nuovamente condizioni operative? eventualmente c'è qualche istruzione/flag per fare l'autoreset?o bisogna giocare con analogread su un ponte resistivo con l'alimentazone,e inventarsi un modo per il reset software? grazie per il tempo :) :)

lo so,non devo maltrattare troppo sti poveri arduini..

L'Arduino imposta i fuse del microcontrollore per attivare il BOD (Brown-Out Detection) a 4,3V. Questo circuito monitora la tensione di alimentazione, se scende sotto ad una certa soglia (nel caso 4,3V), inizia a resettare il microcontrollore finché il valore non torna superiore alla soglia.

Nel caso di microcontrollori standalone senza brown-out, essi possono funzionare anche a tensioni minori, ma tutto dipende anche dal clock a cui operano. Sul datasheet trovi i grafici per vedere il clock massimo in base alla tensione.

a meno che non lo fai apposta ad andare giu piano piano di tensione nella realta di solito la tensione va via e si spegne tutto e quando sei sotto la soglia limite ( che probalilmente non è 4.99 volt) iniziano i malfunzionamenti

un micro che funziona male è identico a un micro spento o rotto tutti e 3 non fanno quello che dovrebbero fare

Ci sono alcuni valori sul quale si puó impostare il BOD. Per cambiare bisogna avere un programmatore ISP.

Il controller funziona da 5V fino a 1,8V ma con clock ridotto. Il problema di tensione di alimentazione troppo bassa non é il Controller, ma gli altri integrati che sono sulla scheda oppure che Tu aggiungi.

Devi anche pensare che sulle entrate possono essere applicate tensioni che sono poco piú alte della tensione di alimentazione. Se hai tensioni che vengono da fuori e che non dipendono dalla alimentazione con un abbassamento della alimentazione puoi avere la condizione di tensioni troppo alte e percui pericolose per le entrate.

Ciao Uwe

quindi di default si resetta quando risale dai 4.3volt? grazie..

m_ri: quindi di default si resetta quando risale dai 4.3volt? grazie..

No, si resetta FINCHE' non risale sopra ai 4,3V Il circuito BOD compara la tensione di alimentazione con quella di soglia: se la prima è inferiore alla seconda il circuito resetta il microcontrollore e tiene il segnale di reset a livello basso finché la tensione non torna sopra. Il BOD sui 328 ha 3 livelli, come ha detto Uwe: 4,3 - 2,7 - 1,8 volt. Come detto, però, non tutti i clock sono disponibili in tutti gli intervalli di tensione. Il 328P, secondo il datasheet, ha questi intervalli:

Speed Grade: – 0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @ 4.5 - 5.5V

m_ri: quindi di default si resetta quando risale dai 4.3volt? grazie..

In realtà viene tenuto in reset, cioè fermo e tutti i pin in alta impedenza, fino a che la tensione è minore di 4.3 Volt, questo per evitare malfunzionamenti imprevedibili, solo quando torna oltre questa soglia viene rilasciato il reset e il micro riparte dalla condizione reset effettuato.

ok grazie mille a tutti 8)