di un sistema in etherCAT con LinuxCNC, apprezzandone la grande flessibilità. È stata una bella sfida che mi ha consentito di arricchire la mia conoscenza.
Per un amico ho configurato un sistema con dei servomotori Delta direttamente in EtherCAT senza l'ausilio di una scheda di interfaccia. Non mi sono inventato niente è stato possibile riuscire nell'intento, grazie agli utenti di buona volontà della comunità di LinuxCNC, che mettono a disposizione il loro lavoro.
LinuxCNC ha integrate tutte le funzionalità necessarie, bisogna attivarle e renderle operative.
Ho proceduto nel seguente modo:
1_ Installazione dei pacchetti necessari per integrare la comunicazione EtherCAT nel OS Linux
2_ Installazione dei pacchetti del protocollo EtherCat
3_ Installazione in LinuxCNC dei driver per le periferiche EtherCat
4_ integrazione dei vari moduli slave EtherCAT (servo e I/O) in un file .XML, a cui linuxCNC fa riferimento per gestirli
Naturalmente non è ne semplice e ne così immediato ma, con pazienza un po' di buona volontà, ci si riesce.
Gli azionamenti che ho utilizzato sono dei Delta e hanno sei ingressi digitali esterni da poter utilizzare; nei driver Delta Ethercat per LinuxCNC (punto 3) questi non sono stati implementati, così con intraprendenza ho provato a modificarli, guardando i driver di altri servo, per i quali gli ingressi digitali erano stati implementati, sono così riuscito anche per i Delta a renderli disponibili per LinuxCNC, per cui ci sono disponibili ventiquattro ingressi digitali da poter utilizzare.
Dovendo poi azionare e gestire una pompa per il refrigerante (ON/OFF) e un inverter con 0/10V, si è reso necessario l'utilizzo di un paio di moduli Beckhoff (incredibilmente modulari), di cui uno con I/O digitali e uno con uscita analogica per lo 0/10V.
Il sistema, quindi, in totale ha 40 ingressi digitali di cui 8 not-in, 8 uscite digitali e quattro uscite analogiche.
Il tutto è stato montato e cablato su un banco prova per testarne in funzionamento
In definitiva il sistema ha: quattro servomotori XYZA con sensori induttivi sugli assi lineari per finecorsa positivo e negativo, sensore induttivo di home separato dai finecorsa, uscita 0/10V per inverter, uscita relè per attivazione elettro mandrino e pompa refrigerante, pulsante tool sensor sull'interfaccia di Axis, tool sensor (con micro switch) fisico per misurare altezza utensile, E-stop di emergenza e infine, il mio volantino custom in EtherCAT
Ovviamente una volta montato sulla macchina reale ci sarà da affinare le configurazione, un altro match, un passo alla volta...



LinuxCNC è anche questo!
Qui il video