0
Offline
Full Member
Karma: 0
Posts: 195
Arduino rocks
|
 |
« on: January 26, 2012, 01:42:29 pm » |
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
Brattain Member
Karma: 162
Posts: 15760
+39 349 2158303
|
 |
« Reply #1 on: January 26, 2012, 01:51:26 pm » |
... 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
Shannon Member
Karma: 387
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #2 on: January 26, 2012, 01:52:06 pm » |
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
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15760
+39 349 2158303
|
 |
« Reply #3 on: January 26, 2012, 02:01:13 pm » |
Menniti non per litigare.  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
Full Member
Karma: 0
Posts: 214
|
 |
« Reply #4 on: January 26, 2012, 02:07:32 pm » |
quanto tempo passa tra un presunto reset ed un'altro? 50 giorni circa?
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 387
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #5 on: January 26, 2012, 03:09:15 pm » |
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"  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. 
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15760
+39 349 2158303
|
 |
« Reply #6 on: January 26, 2012, 04:23:11 pm » |
serve che Ambrogio dia informazioni. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 14
Posts: 2451
|
 |
« Reply #7 on: January 26, 2012, 04:43:45 pm » |
piu che altro un coniglio !!! ahahahhaa scusate non ce l'ho fatta 
|
|
|
|
« 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
Edison Member
Karma: 14
Posts: 2451
|
 |
« Reply #8 on: January 26, 2012, 05:07:59 pm » |
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, 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]
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16547
Don't know what I do
|
 |
« Reply #9 on: January 26, 2012, 05:11:29 pm » |
Sì ma dice anche: 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
Shannon Member
Karma: 387
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #10 on: January 26, 2012, 05:13:39 pm » |
Ci sono, forse il coniglio vuole metterlo sulle stufe accese per arrostirlo? 
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 387
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #11 on: January 26, 2012, 05:24:14 pm » |
Se veramente vuoi un coniglio devi darci tutto il codice Ciao Uwe
 ORA ho finalmente visto e capito, mi era sfuggito proprio  Comunque hai ragione tu, ora elimino tutti i miei post OT, altrimenti torna e trova sto casino inutile. Ciao.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Full Member
Karma: 0
Posts: 195
Arduino rocks
|
 |
« Reply #12 on: January 26, 2012, 05:26:28 pm » |
Ok ragazzi, allora se dovete litigare significa che la prossima volta chiederò un coniglio invece di un conSiglio !!!  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
Shannon Member
Karma: 387
Posts: 10288
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #13 on: January 26, 2012, 05:30:11 pm » |
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
|
|
|
|
|
Genova
Offline
Edison Member
Karma: 14
Posts: 2451
|
 |
« Reply #14 on: January 26, 2012, 05:32:33 pm » |
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!!! 
|
|
|
|
|
Logged
|
Meglio imparare dalle cose inutili piuttosto che non imparare niente. [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]
|
|
|
|
|