Questo non è l'ennesimo post su Arduino che si resetta, ma sulla connessione USB che si interrompe in presenza di disturbi (il PC non vede più la periferica che ricompare dopo un po' con un altro nome, mentre il programma su Arduino continua a funzionare regolarmente).
Antefatto: una configurazione di test come quella in figura, con un circuito X e un circuito Y entrambi optoisolati e alimentati separatamente tramite un alimentatore ausiliario:

Fatto: basta accendere / spegnere l'alimentatore ausiliario tramite il suo interruttore per bloccare (resettare?) il modulino FTDI.
Su Linux basta chiudere il monitor seriale, scegliere nell'IDE il nuovo nome della porta assegnato dal sistema, riaprire il monitor seriale e tutto funziona come prima, Arduino non ha perso un colpo.
Ricerca: diverse prove per identificare "il colpevole" evidenziano che il problema si manifesta solo quando è collegato il circuito Y, anche con un solo filo lato alimentatore e un solo filo lato Arduino.
Il circuito Y è il solito modulino a quattro relé 5Vcc da pochi euro. Il circuito X invece è una millefori assemblata da me medesimo che non presenta alcun problema.
Visto che entrambi i "front-end" sono completamente optoisolati, che differenza c'è?
Nel mio circuito il lato 5V Arduino e il lato 10V, sono fisicamente separati in ogni punto da una distanza (creepage) di almeno 8mm, invece nel modulino relé commerciale le due sezioni sono embeddate una dentro l'altra (benché elettricamente isolate tra loro) con le relative piste a una frazione di mm di distanza.
Verifica: Ipotizzando, tra le altre cose, un accoppiamento capacitivo effettuo il seguente test:

Con la vicinanza delle masse di sole quattro strisce di contatti di una breadboard (6..30pF totali), il problema si manifesta nello stesso identico modo.
**Soluzione:**La vera soluzione sarebbe buttare a mare questi modulini e farsi le proprie schede come l'elettronica comanda. La soluzione intermedia è stata invece optoisolare anche il lato FTDI:
A questo punto anche provando a unire tutte le masse (e, orrore, collegando a terra per creare loop di terra) non si resetta più niente. Qualche altro raro caso di blocco FTDI si è avuto per accensioni/spegnimenti di apparecchi li vicino, blocchi che sono scomparsi aggiungendo un'ulteriore ferrite attorno al cavo USB in prossimità del convertitore FTDI.
Ci ho perso due serate, magari a qualcuno può servire.
That's all folks ![]()
