Gearotons M17: il servomotore NEMA-17 con driver ed encoder integrati

Il Gearotons M17 è un servomotore NEMA-17 che riunisce in un solo corpo motore, driver closed-loop, motion controller ed encoder magnetico. Niente scatole esterne, niente sporgenze: la faccia misura 42,2 x 42,2 mm e l’albero è da 5 mm, come un normale passo-passo. Il progetto è open source sotto licenza MIT e nasce da Tom Rodinger per Gearotons, marchio di Move the Needle Limited. I prezzi partono da 20 dollari, con spedizione in tutto il mondo da Shenzhen.

Il controllo closed-loop con encoder e anello PID gira a 32 kHz sul microcontrollore STM32G0. Quindi la correzione di posizione arriva molto più spesso di quanto serva a un asse normale. I motori si collegano in cascata su bus RS-485 a 230400 baud. Inoltre ogni motore ha un ID univoco a 64 bit e un alias di un byte, così si indirizza singolarmente ogni unità della catena.

Quattro servomotori NEMA-17 allineati, dal più lungo al più corto, con albero da 5 mm
Da sinistra: M17-60, M17-48, M17-40 e M17-34; tutti con faccia NEMA 17 da 42,2 × 42,2 mm e albero da 5 mm.

Le quattro taglie coprono esigenze diverse, tutte con la stessa elettronica dentro. Ecco i numeri dichiarati:

  • M17-34: lungo 33,5 mm, coppia di tenuta 0,28 N·m, peso 210 g, potenza nominale 24,0 W
  • M17-40: lungo 40,1 mm, coppia di tenuta 0,42 N·m, peso 285 g, potenza nominale 26,4 W
  • M17-48: lungo 48,7 mm, coppia di tenuta 0,55 N·m, peso 360 g, potenza nominale 26,4 W
  • M17-60: lungo 59,7 mm, coppia di tenuta 0,65 N·m, peso 470 g, potenza nominale 26,4 W

Tutte le taglie funzionano da 12 a 24 V, assorbono fino a circa 1,1 A e arrivano fino a 560 RPM. La protezione è IP20, quindi uso indoor. Il prezzo va da 20 a 35 dollari secondo la taglia, e l’adattatore USB-RS-485 è offerto a 10 dollari.

Librerie Python e Arduino senza timing STEP/DIR

Le librerie Python e Arduino convertono le unità scelte dall’utente in comandi per il motore. Quindi si scrivono gradi, rotazioni, radianti o conteggi encoder, e secondi o millisecondi per il tempo. Non serve gestire il timing STEP/DIR né configurare i microstep. La libreria Python si installa con pip install servomotor, quella Arduino si trova nell’Arduino Library Manager o nella cartella Arduino_library/ del progetto.

Il set di comandi è data-driven. Ogni comando firmware è definito una volta in motor_commands.json, e da lì vengono generati libreria Python, libreria Arduino e MCP server. Di conseguenza una modifica al firmware si propaga da sola a tutti gli strumenti di controllo, senza riscrivere a mano tre interfacce. Il firmware gira su STM32G0, con bootloader_STM32G030/ e bootloader_STM32G031/ per l’aggiornamento.

C’è anche un MCP server, servomotor-mcp, che si avvia con uvx –from servomotor-mcp servomotor-mcp. Un assistente AI come Claude Desktop, Claude Code o Cursor può così pilotare i motori reali in linguaggio naturale. La documentazione API è generata per Python e Arduino in Markdown e PDF, e il datasheet esiste in inglese, tedesco, spagnolo, francese, italiano e portoghese.

Cosa serve per rifare il banco di prova

Per muovere un M17 servono pochi pezzi: un motore Gearotons nella taglia scelta, un alimentatore da 12 a 24 V capace di circa 1,1 A per motore, e un adattatore USB-RS-485 per collegarsi al PC host. Due motori si mettono in cascata sullo stesso bus, come nella prova da banco. Il codice sorgente, il firmware e le librerie stanno nel repository di Tom Rodinger, dove si trovano anche i file JSON dei comandi e i bootloader.

Per collegare il PC alla catena di motori serve un adattatore USB-RS-485: a catalogo c’è un adattatore convertitore USB-RS485 con morsettiera A/B, che fa da ponte fra il computer e il bus. Diversamente da un normale passo-passo NEMA-17, qui driver ed encoder stanno già dentro il motore: è questa l’integrazione che distingue il Gearotons M17.

Il video di presentazione dura 50 secondi ed è stato registrato il 2026-09-09 su un M17 da banco. Il progetto è pensato per chi costruisce robot, tavole rotanti, assi CNC o qualunque movimento che richieda posizione precisa senza cablare un driver esterno. Grazie al bus RS-485, aggiungere un motore alla catena costa solo un cavo in più.


Fonte: https://github.com/tomrodinger/servomotor

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu