Ciao ragazzi,mi succede questa cosa e onestamente penso di aver provato un po' tutte lo cose possibili a livello software senza risolvere il problema,per cui inizio a pensare che sia di natura hardware.
Scenario:
modulini con Attiny85 e transceveir 485 collegati in modbus con la libreria SimpleModbusSlave tramite Softwareserial ad un Master...niente di nuovo,diciamo il "solito" setup master/slave...
Ogni Attiny viene calibrato con Tinytuner ed il valore OSCAL calcolato salvato nella locazione 0 dell'eeprom,mente l'indirizzo del nodo è nella locazione 1...in questo modo posso aggiornare ogni modulino senza dovermi preoccupare dell'indirizzo impostato...
Non sto a dilungarmi molto sullo sketch ed il resto perché non c'è nulla di che...specifico solo che nei fuse abilito il BOD a 4,7 volt e il watchdog(per sicurezza,visto che nessun ciclo è bloccate)è dettato a 4 secondi.
Ho realizzato circa una decina di modellini che stanno lavorando su una tavoletta di legno come prototipo.
Ok,adesso il problema:tutto funziona bene ed ininterrotamente per settimane,ma "casualmente"se simulo un distacco di corrente,come può accadere in un sistema demotico installato,qualche modulino si pianta...ovvero al riavvio non c'è modo di farlo ricomunicare...l'unica soluzione è ricaricare fuse e sketch e via,poi rifunziona senza problemi...specifico che ho controllato che quando si presenta il problema i valori presenti in eeprom non vengono persi,che era la prima cosa che ho pensato...ho controllato ed i valori sono li,tanto è vero che senza riscrivere l'eeprom,ma solo lo sketch,la mcu torna a funzionare senza problemi...onestamente non capisco cosa possa succedere...allego lo schema di un modulino,ma non è nulla di che....l'unico dubbio che mi sorge e che specifico è che in qualche modo possa influire l'alimentazione.
In particolare utilizzo su ogni modulo una schedina della Pololu:
http://www.robot-italy.com/it/2121-pololu-5v-step-up-step-down-voltage-regulator-s10v4f5.html
L'ho scelta per avere una buona efficienza e per le dimensioni contenute,simili a quelle di un classico 7805 ,così come viene indicata nello schematico allegato.
Non so,come se quando viene a mancare l'alimentazione la mcu entrasse in uno stato di sleep,dal quale non ne esce se non con una riscrittura della flasf e dei fuse....boh,onestamente mi fa abbastanza in***are perché tutto va bene,sono ad un buon livello di sviluppo del progetto,ma questa cosa rende il sistema non affidabile al 100%.
Se qualcuno ha un'idea,è il benvenuto...saluti
Motherboard.sch.zip (31.1 KB)