Ethersweep: non facile
[Neumi] su Hackaday.IO voleva un modo semplice da usare per azionare i motori passo-passo, che potesse essere rapidamente implementato in un'ampia varietà di applicazioni ancora da determinare. La soluzione si chiama Ethersweep ed è un piccolo stack PCB posizionato sul retro del comune motore passo-passo in formato NEMA17. Le uniche connettività fisiche, oltre al motore, sono Ethernet e un'alimentazione tramite il connettore XT30 di facile utilizzo. Il sistema può essere ad anello chiuso, sia con un ingresso di fine corsa che con un encoder rotativo magnetico AMS AS5600 integrato (che rileva il campo magnetico rotante sul lato posteriore del gruppo motore – intelligente!) fornendo il feedback necessario. Sfruttando il driver del motore passo-passo Trinamic TMC2208, Ethersweep offre un controllo del motore fluido e silenzioso, il che potrebbe essere molto importante per alcune applicazioni. Un display OLED rivolto all'indietro mostra alcune utili informazioni di debug nonché l'indirizzo IP più importante assegnato all'unità.
Il controllo viene eseguito con l'onnipresente microcontroller ATMega328, con lo stack software Arduino distribuito, rendendo il caricamento del firmware un gioco da ragazzi. A tal fine, viene fornita anche una porta USB, collegata all'uC con l'economico chip bridge USB CP2102 come per la maggior parte dei progetti simili ad Arduino. La cosa che rende questa build un po' insolita è la porta Ethernet. Il lato hardware è curato dal chip ethernet Wiznet W5500, che implementa MAC e PHY in un unico dispositivo, necessitando solo di pochi passivi e di un magjack per funzionare. Il chip gestisce internamente anche l'intero stack TCP/IP, quindi necessita solo di un'interfaccia SPI esterna per comunicare con il dispositivo host.
Parlando un attimo del firmware, per facilitare l'implementazione, la configurazione della rete è gestita da DHCP, anche se per il futuro è promesso un certo controllo sull'assegnazione degli indirizzi MAC. Tutto il controllo avviene tramite UDP su Ethernet, e anche in questo caso le funzionalità di base sono presenti, ma alcune sottigliezze come la sincronizzazione del motore e l'interrogazione dello stato sono nuovamente soggette a ulteriori versioni. La progettazione hardware è implementata in KiCAD e FreeCAD, con Arduino che copre il firmware e il lato controllo host in Python. Puoi leggere tutto a riguardo sul progetto Ethersweep GitHub, cosa c'è che non va?
Se pensavi di aver già visto questa configurazione del driver montato su stepper, avresti ragione, ecco una partecipazione al Premio Hackaday 2017 per un driver controllato da CANBUS. L'abbiamo visto anche su Dummy: il braccio robotico oscenamente ben fatto di [Zhihui Jun], che se te lo sei perso, torna indietro e dai un'occhiata, non te ne pentirai!