Buongiorno a tutti,
ho ripreso ultimamente un progetto che avevo accantonato un po' di tempo fa. Consisteva in un 328 standalone (slave) che attiva degli SSR leggendo i dati da un altro 328 standalone (master) tramite porta seriale (una HW e l'altro SoftwareSerial).
Il funzionamento è abbastanza semplice e non implementa protocolli di ricezione particolari, in pratica lo SLAVE riceve 5 byte ogni 100ms che possono essere 0 (spento) oppure 255 (acceso), ad ogni byte corrisponde uno stato di un pin del 328 al quale sono collegati gli SSR.
Avevo un problema di byte "null" in più che ho risolto grazie alle preziose intuizioni di Leo72.
Ieri insieme ad un amico abbiamo deciso di provarli con dei fari da 1KW ciascuno... E funziona.... Tuttavia dopo un paio d'ore di funzionamento in modalità "fissa", ho riattivato la seriale e si è ripresentato il problema dei byte "null" in più (ovvero invece di andare HIGH il pin 13 è andato HIGH il pin 11).
Ho notato che la cassetta con gli SSR (con all'interno il 328 che funge da slave) si è surriscaldata tanto a causa del carico.
Inoltre il cavo dati della seriale è costituito da un cavo elettrico 4 x 1,5mm (TX, RX, 5V, GND) non schermato e non intrecciato lungo circa 1 metro.
Penso che sia un problema di interferenza di campi magnetici o di surriscaldamento...
Voi che ne pensate? Ho deciso comunque di impiegare l'RS485 e di implementare un protocollo ad hoc con checksum e utilizzare un cavo schermato... ma prima di farlo volevo avere la certezza di risolvere il problema.
Grazie per l'attenzione!

BB