Problema dopo un mese di corretto funzionamento

Ciao a tutti!! Ho uno strano problema. Ho realizzato un progetto con la scheda “arduino pro mini” della sparkfun e funziona perfettamente. Lo stesso proggetto, stesso programma e stessa circuiteria l’ho realizzato con “arduino mini” e dopo un mese di corretto funzionamento ha iniziato a visualizzare delle cose a caso sull’LCD, (utilizzato nel progetto per visuallizare alcune informazioni), spento e riacceso, dopo poco ha ridato lo stesso problema. Una prima mia idea era, visto che ho usato delle variabili temporali, che queste avessero saturato, avendo usato delle unsigned long questo non è possibile.
Qualcuna potrebbe aiutarmi?
grazie mille!

Senza vedere il codice e uno schema dei collegamenti è piuttosto difficile. Ci possono essere delle differenza tra gli Arduino. Il Mini monta un 328P a 5V e 16Mhz., il Mini Pro può montare il 328P o il 168, essere a 3V3 o a 5V con frequenza tra gli 8Mhz e i 20Mhz. Per evitare il problema dell'overflow dei millis segui la guida di Leo --> http://www.leonardomiliani.com/2012/come-gestire-loverflow-di-millis/comment-page-1/

Molto interessante la soluzione di Leo. Provo a implementarla e vedo se si risolve il problema!! Grazie Mille

NIKI90:
l’ho realizzato con “arduino mini” e dopo un mese di corretto funzionamento ha iniziato a visualizzare delle cose a caso sull’LCD […] spento e riacceso, dopo poco ha ridato lo stesso problema.

Lui ha spento e riacceso, quindi millis si è resettato partendo nuovamente da 0.
Se fosse stato un problema di mal gestione della variabile temporale ti avrebbe dovuto dare errore dopo un mese e non nell’immediato…

Niente da fare, anche perchè mi sono accorto che avevo già usato le istruzioni come spiegate nella soluzione di Leo! Altre idee??

Se ci dai un po' più di informazione ... :roll_eyes:

A che tensione lo alimenti ? Come lo alimenti ? A che velocità usi la MCU ? Usi accesso a porte o registri diretto ? Ecc. ecc.

Guglielmo

Scusate, provo ad aggiungere qualche informazione. Per quanto riguarda l'alimentazione uso 5V ottenuti con un alimentatore e con un regolatore di tensione, per quanto riguarda la frequenza di lavoro non ho impostato nulla quindi è quella di default. Idem per gli altri parametri. Se può essere di aiuto posso allegare il codice e lo schema elettrico. Grazie.

NIKI90: Se può essere di aiuto posso allegare il codice e lo schema elettrico.

Mmm ... direi che, a questo punto, è l'unica cosa che puoi fare ... XD

Guglielmo

Ho allegato sia il codice che lo schematico.
Grazie mille per la pazienza!!

termostato_10_NTC___commenti.ino (5.34 KB)

Termostato differenziale Mini Arduino NTC.fzz (45.2 KB)

Non vedo nulla di particolare :(

Con l'alimentazione sei sicuro di stare a posto vero ? Non assorbi più di quanto l'alimentatore o il regolatore possa dare, giusto ?

Ho anche compilato il codice e vedo che usi solo 6100 bytes per il codice e 206 bytes di SRAM ... né mi sembra di aver visto nel codice allocazioni dinamiche della memoria che potrebbero esaurirla ...

Veramente strano ... :roll_eyes: :roll_eyes: :roll_eyes:

Guglielmo

... mmm ... nella sezione di alimentazione però ... non vedo i condensatori che, per regolatori tipo LM7805 sono OBBLIGATORI ... pena casini sull'alimentazione ...

Qualche cosa tipo :

Guglielmo

Grazie mille!! Provvedo a inserire i condensatori. L'ultima cosa a cui si può pensare è un problema nell' MCU, provo a cambiare scheda e vedo come si comporta!! Se qualcuno ha altre idee soni ben accette!!! Grazie

C'è un post di Michele Menniti che spiega molto bene come calcolare la capacità dei condensatori da mettere a monte e a valle dello stabilizzatore. [quote author=Michele Menniti link=topic=214095.msg1567911#msg1567911 date=1391019878] ma hai detto tutto giusto, ripeto per scrupolo ok? :grin: :grin: Allora i condensatori elettrolitici dipendono dalla quantità di corrente assorbita dal circuito, quindi bisogna capire cosa userai oltre l'ATmega328P-PU (ti segno la sigla precisa così non fai l'errore di prendere la versione "noP" 328-PU che è una cosa diversa.... Diciamo che si usa mettere 100µF per ogni 100mA di carico, per quanto riguarda l'ingresso del 7805, inoltre aggiungi un ceramico o poliestere da 100nF proprio sui pin Vin e GND del 7805, stessa cosa tra i pin Vout e GND del 7805, mentre qui l'elettrolitico in genere è pari a 1/10 di quello messo sull'ingresso; quindi supponendo un consumo del circuito di circa 70-80mA fai così: 100µF-100nF-7805-100nF-10µF Un altro 100nF va tra AVCC+VCC (li metti assieme se non usi gli ingressi analogici) e GND del micro, sempre molto vicini ai pin. Il quarzo da 16MHz va tra i pin 9 e 10 e tra ognuno di questi due pin e GND va un ceramico da 22pF, quarzi e C sempre vicini ai pin. Una R da 10 kohm tra il pin 1 (RESET) del micro e VCC (pull-up :grin:), il pulsante tra il pin 1 e GND lo metti solo se pensi di dover resettare manualmente il micro, altrimenti te lo risparmi. nel caso invece tu dovessi usare anche gli ingressi analogici ci sarebbero da adottare alcuni accorgimenti, come il disaccoppiamento tra VCC e AVCC: l'alimentazione va diretta al VCC mentre raggiunge l'AVCC tramite un'impedenza da 10µH; resta il C da 100nF tra VCC e GND, ne aggiungi un altro tra AVCC e GND e un terzo tra ARef e GND.

@ Paolo: memorizza e metti in archivio per i posteri (nel senso di post futuri) XD [/quote]

Il resto del post parla di Arduino Stand Alone quindi non dovrebbe interessarti.

A che distanza hai messo LCD da arduino ?

La settimana scorsa a me ha dato problemi lcd perchè si erano un po' scaricate le batterie e quindi mi alimentava a 4.7 anzichè 5V...purtroppo gli altri sensori sono tutti da 3.3 quindi me ne sono accorto dopo due ore di smadonammenti quando per la disperazione ho provato a mettere il tester in ogni pezzo di rame che trovavo...

Il mio consiglio quindi è di guardare molto attentamente l'alimentazione, la seconda cosa è ricontrollare bene tutti i cavi di collegamento dell'lcd...magari uno fa un contatto un po' "difettoso" e se lo muovi impazzisce...Gli lcd sono una delle cose che più mi ha fatto pensare con Arduino, neanche inserire il filtro per l'AHRS è stato così complesso come risolvere i problemi degli schermi 8)

La butto li, non è che fai un sacco di scritture sulla EEPROM?

La distanza è qualche centimetro. Adesso provo a verificare. Grazie mille.

Allora va bene