Stampa 3D: driver per motori passo-passo Trinamic TMC2130
Regolare la corrente di fase, aumentare il microstepping e dimenticarsene: questo è ciò che la maggior parte delle persone desidera da un circuito integrato per driver di motori passo-passo. Anche se alimentano la maggior parte delle nostre macchine CNC e delle nostre stampanti 3D, come soluzioni monolitiche per “farle girare”, spesso non prestiamo loro molta attenzione.
In questo articolo, esaminerò il driver del motore passo-passo Trinamic TMC2130, uno che viene fornito con più campanelli e fischietti di quanto potresti mai aver bisogno. Da un lato, questo driver può essere configurato tramite la sua interfaccia SPI per adattarsi praticamente a qualsiasi applicazione che utilizzi un motore passo-passo. D'altro canto è anche possibile scrivere direttamente nei registri della corrente della bobina ed espandere il campo di applicazione ben oltre i motori.
Il mese scorso abbiamo esaminato più da vicino il microstepping sui comuni circuiti integrati dei driver stepper, ma abbiamo tralasciato quelli che vogliamo effettivamente utilizzare: quelli intelligenti. Trinamic fornisce alcuni dei driver per motori passo-passo più intelligenti sul mercato e, da quando il negozio di hacker tedesco Watterott ha rilasciato le sue schede breakout SilentStepStick per TMC2100 e TMC2130, sta anche stabilendo un nuovo standard per stampanti 3D fai da te, frese e pick-and-place robot. Recentemente ne ho acquistati un set entrambi per la mia stampante 3D Prusa i3 e il TMC2130 con la sua interfaccia di configurazione SPI ha davvero attirato la mia attenzione.
Il SilentStepStick TMC2130 non deve essere confuso con la variante TMC2100, molto più popolare. Come suggerisce il nome, si presenta come una breakout board compatibile con StepStick e, proprio come il suo famoso fratello, presenta un IC Trinamic sul lato inferiore del piccolo PCB. Numerosi passaggi e fuoriuscite di rame conducono il calore lontano dal pad centrale del circuito integrato, consentendo a un dissipatore di calore sul lato superiore di raffreddare efficacemente il driver.
Tuttavia, a differenza del TMC2100, questo non farà girare subito i motori. Hai due opzioni: collegarlo via cavo in modalità standalone, che praticamente lo trasforma in un TMC2100, oppure collegarlo alla sua interfaccia SPI e collegarsi se vuoi che il tuo motore passo-passo venga scosso o agitato. In effetti, gli abbondanti registri di configurazione rendono il TMC2130 un chip estremamente hackerabile, quindi non sto nemmeno pensando di collegare quel ponticello di saldatura sul lato inferiore del SilentStepStick che attiva la modalità standalone.
Come detto, prima che il driver faccia qualsiasi cosa, vuole essere configurato, e vale la pena ricordare che tutti i registri di configurazione sono naturalmente volatili, quindi se voglio usarli nella mia stampante 3D, devo configurarli come parte dell'avvio della stampante routine.
RAMPS 1.4 sulla mia stampante 3D suddivide l'interfaccia SPI hardware dell'Arduino sottostante attraverso il suo connettore pin AUX3, insieme a due pin digitali aggiuntivi (D53 e D49), che ho utilizzato per i segnali di selezione del cavo. Dopo aver crimpato un cavo per collegare due TMC2130 al connettore AUX3, ho potuto iniziare a scavare nella parte software.
Watterott fornisce uno schizzo di esempio, che scrive una configurazione di base nei registri del driver e fa girare un motore passo-passo collegato. Ottime cose, ma la scheda tecnica descrive 23 registri di configurazione in attesa di essere messi a punto e altri 8 da cui leggere i dati di diagnosi e stato. Ho quindi scritto una piccola libreria Arduino che rendesse disponibili i numerosi parametri di configurazione in modo più pratico. Da lì, potrei semplicemente includere la mia libreria nel firmware della stampante 3D Marlin-RC7 che sto utilizzando. Fortunatamente, l'attuale release candidate Marlin dispone già del supporto per i driver TMC26X, quindi ho potuto riutilizzare parte del suo codice per mettere insieme un fork Marlin che includa 59 parametri del TMC2130 nei suoi file di configurazione basati sulla definizione. E poi, potrei portare fuori i piccoli amici a fare un giro.
Con l'hardware configurato e il software funzionante come previsto, ho eseguito alcuni test di integrità: attivando e disattivando i parametri e controllando come cambia il comportamento del driver durante la stampa. Poiché il TMC2130 ti consente di mettere a punto quasi tutto ciò che sta facendo, questo è un buon primo passo che aiuta a eliminare alcune variabili e a sceglierne altre che meritano uno sguardo più approfondito. La maggior parte delle impostazioni possono essere modificate al volo e durante la stampa, tuttavia, non tutti i parametri possono essere modificati in modo sicuro mentre i motori sono in funzione.