Pages: [1] 2 3   Go Down
Author Topic: Domanda per esperti: Cosa può causare il reset automatico di Arduino Mega ?  (Read 1768 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 197
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti, ho un problema:
uso un Arduino Mega (la vecchia versione) per comandare l'impianto elettrico di casa mia; uso dei pulsanti come ingressi, dei relè e dei mosfet per le uscite e un po' di altra roba di contorno (dimmer comandati in seriale, un ATMega che mi fa il controllo carichi, un altro ATMega che fa da ricevitore infrarossi ecc...).
Il problema è questo:
Ho due uscite che mi comandano una ventola e una stufetta elettrica che ho temporizzato, cioè se sono accese per più di tot tempo si spengono da sole; il problema è che A VOLTE non si spegne solo quell'uscita ma si spengono tutte le luci in casa, come se io resettassi l'Arduino.
Ho pensato che fosse colpa dell'uso della funzione millis() così ho aggiunto un RTC ma il problema è rimasto !

Così mi chiedevo cosa può causare il reset forzato dell'Arduino ?!? Forse un overflow di una variabile ? Mi sembra strano perchè come variabili uso delle unsigned long e memorizzo il numero di secondi trascorsi dall'accensione, quindi non dovrebbe essere un numero molto grosso visto che al max le uscite stanno alte per 10 min.

Secondo voi da cosa può dipendere ? So che è difficile dirlo senza vedere il codice ma ora non ce l'ho sotto mano e comunque dovrei eliminare un po' di parti perchè sarebbe troppo lungo e poco comprensibile !
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 236
Posts: 20273
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
Secondo voi da cosa può dipendere ? So che è difficile dirlo senza vedere il codice ma ora non ce l'ho sotto mano e comunque dovrei eliminare un po' di parti perchè sarebbe troppo lungo e poco comprensibile !
Non é che é difficile a dirlo; é impossibile.
Se veramente vuoi un coniglio devi darci tutto il codice cosí come lo usi e non ripulito. Potresti ripulire anche la causa del problema.
Puoi mandarcelo come file allegato (se clicchi su "Additional Options" in basso).

una domanda: Quando succede quello che hai descritto i pulsanti funzionano e le luci ecc si possono accendere / spegnere?

Ciao Uwe
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sarei più propenso verso l'hardware, quando dici "a volte" non puoi addebitarlo ad un firmware che opera in loop, altrimenti, a mio modesto parere, dovrebbe farlo regolarmente.
Sarebbe molto più utile avere lo schema elettrico di quanto hai realizzato, o almeno capire come alimenti Arduino e lo stand-alone, i consumi a riposo ed a pieno carico, gli spunti di assorbimento.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 236
Posts: 20273
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Menniti non per litigare. smiley-wink

Secondo me il problema puó essere SW, ma anche HW come dici Tu, non escluderei nessuna delle due. Solo il problema SW per noi altri é piú semplice individuarlo che un problema HW che non abbiamo in manio.
Se il problema é che viene sovrascritto una variabile puó essere la cosa condizionata con un if che avviene solo in certi momenti perché diverse condizioni - livelli su entrate/uscite devono essere vere.

Ciao Uwe
Logged

Guidonia
Offline Offline
Full Member
***
Karma: 0
Posts: 214
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quanto tempo passa tra un presunto reset ed un'altro? 50 giorni circa?
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

quanto tempo passa tra un presunto reset ed un'altro? 50 giorni circa?

ha detto che il millis l'ha abolito usando l'RTC hardware.

@ Uwe: figurati se penso che vuoi "litigare" smiley-lol Semplicemente mi pare di capire che questo sistema funzioni in modalità ciclica, quindi penso che il problema si debba verificare non "ogni tanto" ma più sovente; se poi invece il funzionamento è random allora concordo con te che il verificarsi di una data condizione o combinazione possa causare il crash. Poi, volendo frnire un aiuto, e non ritenendomi affatto un esperto software ovviamente cerco le info su cui posso dire qualcosa. smiley-wink
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 236
Posts: 20273
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

serve che Ambrogio dia informazioni.
Ciao Uwe
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

piu che altro un coniglio !!! ahahahhaa scusate non ce l'ho fatta smiley
« Last Edit: January 26, 2012, 04:45:48 pm by pablos » Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ho due uscite che mi comandano una ventola e una stufetta elettrica che ho temporizzato, cioè se sono accese per più di tot tempo si spengono da sole; il problema è che A VOLTE non si spegne solo quell'uscita ma si spengono tutte le luci in casa,
Analisi logica della frase,
Quote
cioè se sono accese per più di tot tempo si spengono da sole;
quindi le ha già viste accese insieme e funzionano. Il problema lo ha quando avviene uno spegnimento.
secondo me è un problema software
« Last Edit: January 26, 2012, 05:15:16 pm by pablos » Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21646
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sì ma dice anche:
Quote
l problema è che A VOLTE non si spegne solo quell'uscita ma si spengono tutte le luci in casa,
Sembra quindi un corto che fa saltare il contatore
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ci sono, forse il coniglio vuole metterlo sulle stufe accese per arrostirlo? smiley-lol
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se veramente vuoi un coniglio devi darci tutto il codice Ciao Uwe
smiley-lol smiley-lol ORA ho finalmente visto e capito, mi era sfuggito proprio smiley-mr-green
Comunque hai ragione tu, ora elimino tutti i miei post OT, altrimenti torna e trova sto casino inutile.
Ciao. smiley
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

0
Offline Offline
Full Member
***
Karma: 0
Posts: 197
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok ragazzi, allora se dovete litigare significa che la prossima volta chiederò un coniglio invece di un conSiglio !!! smiley-lol

Scherzi a parte, ora non sono a casa e quindi non posso posare il codice, comunque pensavo anch'io ad un problema SW perchè succede allo spegnimento e non all'accensione. Dovrebbe essere strutturata così la cosa:

Ogni volta che RTC.second cambia, incremento "secondi attuali"
Se premo pulsante 1 ---> inverto uscita 1
Se premo pulsante 2 ---> inverto uscita 2 e memorizzo "secondi dall'accensione 2"
Se premo pulsante 3 ---> inverto uscita 3 e memorizzo "secondi dall'accensione 3"
Se premo pulsante 4 ---> inverto uscita 4
Se uscita 2 alta e "secondi attuali" >= "secondi dall'accensione 2" ---> inverto uscita 2
Se uscita 3 alta e "secondi attuali" >= "secondi dall'accensione 3" ---> inverto uscita 3
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 415
Posts: 11993
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No, si scherza sempre, io ora ho eliminato i miei OT.
Un punto oscuro della tua spiegazione, che fa pensare all'hardware, è il fatto che tu dici che si spengono le luci di casa. Ma le luci di casa sono comandate sempre da Arduino oppure ti salta il differenziale o un magnetotermico sulla 220?
« Last Edit: January 26, 2012, 05:34:20 pm by menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2757
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Un punto oscuro della tua spiegazione, che fa pensare all'hardware, è il fatto che tu dici che sispengono le luci di casa. Ma le luci di cas sono comandate sempre da Arduino oppure ti salta il differenziale o un magnetotermico sulla 220?

questa domanda è fondamentale, se dice si salta il differenziale vengo a Lamezia e mi inchino ai tuoi piedi!!!

 smiley-grin smiley-grin smiley-grin
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Pages: [1] 2 3   Go Up
Jump to: