Salve, ho costruito un azionamento per motori stepper tramite un PIC16F628 e una coppia di LMD18245
Il PIC pilota i driver con un po' di linee di I/O, e riceve dei comandi tramite una comunicazione seriale fatta in casa: ad ogni fronte del segnale di clock si scatena un interrupt (tramite l'ingresso RB0), che poi va a leggere il valore del dato presente su RA4 e mette tutto dentro un registro. Il tutto funziona, ma non sempre: casualmente, senza nessuna precisa regola, il PIC sembra non ricevere bene il comando, oppure si impalla e smette di reagire e di pilotare i driver dello stepper.
PIC e LMD18245 sono piazzati sullo stesso PCB (circa 3x4cm), con aree di massa separate (anche se internamente l'LMD18245 tester alla mano introduce tra le masse digitali e di potenza una resistenza di circa 8 ohm) che si ricollegano in un unico punto sulla carcassa metallica del contenitore. I cavi che vanno al motore stepper sono schermati (schermo collegato alla massa di potenza sul PCB) e lo stesso per i cavi che portano l'alimentazione al driver. L'alimentazione ed i dati per il PIC arrivano con un flat cable a 10 fili non schermato lungo circa 5 cm.
Qualcuno ha qualche idea per mitigare il problema?
PS: Sto pensando di rifare tutto tenendo i driver separati su di un PCB, e il microcontrollore su di un altro PCB, tenendo sempre le masse separate. Può aiutare?
A presto, Eugenio. mail: enavacchia@INVECE_CHE_LIBERO_PUNTO_IT_METTI_VIRGILIO_PUNTO_IT