Per ottenere un movimento fluido e preciso nei sistemi motorizzati, è fondamentale comprendere le tecnologie avanzate di controllo. L'automazione moderna richiede soluzioni che uniscano potenza, affidabilità e funzionalità senza compromessi, con un'enfasi sulla precisione della generazione degli impulsi e sulla gestione intelligente del movimento.
Controllo Avanzato del Movimento: Firmware e Precisione
La gestione degli impulsi è un aspetto cruciale per la precisione di un motore. Per scoprire di quale firmware si dispone basta usare l’HAL più recente, collegare il Master e contare i Pin. I firmware più recenti (4.0) aggiungono sei nuovi Pin al Master (che passa da 6 Pin a 12 Pin). Perciò, con ogni modulo Master, si possono controllare, da tre motori più sei pin generici fino a cinque motori più due pin generici. Gestione di macchine tipo RepRap fino a sei motori (x, y, z, secondo z in gantry e due estrusori).
Con assi coordinati in 2D o 3D, scrivere applicazioni di controllo diventa facile. Non è necessario calcolare accelerazioni e velocità. Si possono inviare semplici comandi di destinazione, in millimetri. Impulsi con larghezza automatica. Polarità automatica. Applicazioni semplici inviano solo la destinazione finale, ma applicazioni evolute possono specificare con precisione il percorso e la velocità di lavoro. Inviando destinazioni intermedie con frequenza sufficiente (almeno 100 per secondo) si ottiene un movimento fluido.
Precisione degli Impulsi e Jitter
Un fattore determinante per la qualità del movimento è la stabilità temporale degli impulsi. Il Theremino Master produce impulsi, con uno sbandamento di soli 20 nano secondi. Come confronto: Mach3 ha un Jitter 500 volte maggiore (da 2 a 15 uS a seconda del PC). In questo video si vede lo sbandamento nel tempo, del periodo tra un impulso e il successivo. La scala dei due video è la stessa, 100 nS per quadretto. Invece Mach3 supera continuamente i 2 micro secondi e negli istanti peggiori arriva a 10 micro secondi.
Misurazione della latenza e del jitter
Se si viaggia a 25 KHz, lo sbandamento del Theremino Master è solo lo 0.05%, mentre quello di Mach3 è pari al 25%. Quando si supera il 10% i motori stepper cominciano a risentirne e possono perdere passi. Nelle macchine lente il Jitter di Mach3 non crea problemi e usare i micro-steps migliora la situazione. In tutti i casi però, in presenza di Jitter, si deve diminuire la velocità massima.
Leggi anche: Funzionamento Vandy Vape Pulse
Confronto Jitter nella Generazione di Impulsi
| Sistema | Jitter tipico | Jitter a 25 KHz |
|---|---|---|
| Theremino Master | 20 nano secondi | 0.05% |
| Mach3 | 2 a 15 micro secondi | 25% |
Solitamente si deve specificare la larghezza degli impulsi (con Mach3 da 1 a 15 uS). Questo è un parametro poco comprensibile e molti utenti lo regolano in modo casuale. Usare impulsi larghi permette di interporre dispositivi elettronici lenti, come alcuni foto-accoppiatori (ad esempio gli economici 4N25, 4N26 e 4N27). Ma impulsi larghi limitano la massima velocità usabile. Theremino regola questo tempo a 50 uS (permettendo di usare elettronica lenta per macchine lente), ma lo riduce automaticamente se si usano alte velocità e alti valori di microstep.
Con altri generatori di impulsi (ad esempio Mach3) si deve specificare la polarità degli impulsi. Per impostarla si deve conoscere se il driver agisce sul fronte di salita o su quello di discesa. Questa informazione non sempre è disponibile e se si sbaglia possono avvenire sporadiche perdite di passi, molto difficili da individuare. Teoricamente usare il fronte sbagliato non dovrebbe causare problemi, perché ad ogni fronte di salita, segue necessariamente un fronte di discesa. Ma, se lo stato del segnale di direzione viene aggiornato nel momento sbagliato, possono verificarsi perdite di passi, o passi aggiuntivi. Il firmware del Theremino Master controlla il segnale di direzione con cura. Quindi il segnale può essere usato anche per pilotare drivers (una minoranza) che agiscono sul fronte di discesa.
Controllo ad Anello Chiuso e Feedback
Il software può leggere la distanza mancante, ogni millisecondo, per ogni singolo asse e con alta precisione (frazioni di millesimo di millimetro). Non è necessario usare queste informazioni, ma alcune applicazioni possono trovarle molto comode. Possono essere utili a scopo diagnostico, o per algoritmi che devono rispettare una tolleranza specificata. Disponendo di questa informazione il software può lavorare ad anello chiuso e sempre alla massima velocità. Se il PC si blocca per un certo tempo, il firmware rallenta gradualmente, senza perdere passi.
Le destinazioni intermedie vengono reimpostate, fino a 500-1000 volte al secondo. Il miglior percorso, viene continuamente ricalcolato. L’algoritmo di controllo tiene conto, delle effettive posizioni raggiunte da ogni motore e delle accelerazioni massime che può sopportare. Il valore che viene scritto nello slot, è la distanza dalla destinazione, in millimetri (e fino alle frazioni di millesimo di millimetro). Questa informazione può essere usata a scopo diagnostico, o per algoritmi che devono rispettare una tolleranza specificata.
Ogni motore stepper ha bisogno di due Pin fisici, uno per gli STEP e uno per la DIREZIONE. I Pin di tipo Stepper leggono dallo Slot un valore, che è semplicemente la destinazione in millimetri. Le applicazioni più semplici, possono specificare una destinazione lontana, e lasciar fare tutto al firmware. Applicazioni più esigenti, possono calcolare loro stesse il percorso e inviare frequenti destinazioni intermedie. Con questa tecnica, una applicazione può controllare la velocità di lavoro (feed), e stabilire con precisione il percorso, anche in più dimensioni.
Leggi anche: Consigli Deck Gladiatore Bestia
Parametri di Configurazione del Motore
Per assicurarsi di non perdere passi, è fondamentale calibrare correttamente il motore. Come principio base si deve evitare che i motori “sgranino” (si sente un “wiiii” e il motore si pianta). Se un motore sgrana il pezzo in lavorazione viene danneggiato. Non c’è modo di tornare indietro e si butta via il pezzo. Per assicurarsi di non perdere passi procedere così: aumentare ogni regolazione, una per volta, fino a che il motore sgrana e poi tornare indietro di un 30%, o anche del 50% per stare sul sicuro. Le regolazioni sono: velocità massima e accelerazione (nell’HAL).
- Max Speed - Questa è la massima velocità, in millimetri al minuto. Il firmware controlla continuamente le destinazioni inviate dal software. Se il software sta chiedendo troppo al motore, il firmware limita la sua velocità, per evitare che perda passi. Alzare questo valore fino a vedere che il motore perde passi (fa un rumore acuto e si ferma) e poi diminuirlo di un 20..50%, per tornare in una zona sicura.
- Max Acc - Questa è la massima accelerazione (e decelerazione), in millimetri al minuto. Il firmware controlla continuamente le destinazioni inviate dal software. Se il software sta chiedendo troppo al motore, il firmware limita la sua accelerazione, per evitare che perda passi. Alzare questo valore fino a vedere che il motore perde passi durante i cambi di direzione (fa un rumore acuto e si ferma) e poi diminuirlo di un 20..50%, per tornare in una zona sicura.
- Steps per mm - Qui si devono impostare gli step, che il motore fa in una rotazione, moltiplicati per i microstep, impostati nel controller, e divisi per i millimetri, prodotti da una rotazione del motore. Se ogni rotazione, produce un millimetro di spostamento, e il motore è da duecento passi per giro, e non si usano i microstep, allora si imposta il valore: 200 (passi per giro) x 1 (microstep) / 1 (mm per giro) = 200.
I dettagli del Pin mostrano l’accelerazione e la velocità massima in Hz (step per secondo). Questi valori sono utili per progettare l’elettronica, durante le prove e per stabilire quanti micro-step usare. Nella applicazione HAL, fare doppio click sulla linea del Pin (di tipo Stepper). Nella seconda finestra, in basso, si leggono i dettagli del Pin selezionato.
Driver per Motori: Selezione, Configurazione e Attenzione
Gli Stepper non possono essere alimentati direttamente come si fa con i Servo. Si deve necessariamente aggiungere un driver. Per ottenere le massime prestazioni si deve anche agire sulla corrente al motore (un trimmer sul modulo driver). Il piccolo trimmer va girato con un cacciavite adatto e con molta attenzione.
Regolazione della Corrente e Microstepping
Se il driver lo permette è sempre bene impostare i micro-steps almeno a 4. Se non si usano i micro-step il motore produce forti vibrazioni. Le risonanze meccaniche, innescate dalle vibrazioni, possono far perdere passi anche a velocità molto basse. Limitare gli attriti meccanici e aggiungere giunti elastici per evitare che il motore sforzi a causa degli inevitabili piccoli errori di fuori asse. Inoltre i giunti elastici disaccoppiano il motore dalle risonanze delle parti meccaniche della macchina.
Ridurre al minimo la corrente sul motore è importante. Non si deve impostare la corrente massima! La corrente specificata dal costruttore NON è la corrente che si deve usare. Ma si tratta della corrente massima, oltre la quale il motore scalderebbe così tanto da rovinarsi. Riducendo la corrente di lavoro, si minimizzano le vibrazioni e si aumenta la velocità massima. In presenza di forti attriti meccanici si è costretti ad aumentare la corrente. Ma questo aumento ha un benefico effetto, solo alle basse velocità. Alle alte velocità non si ottengono miglioramenti. Anzi il pericolo di perdere passi aumenta e si è costretti a limitare la velocità massima.
Leggi anche: Strategie Glorioso Soldato Nero
I driver non vanno regolati alla corrente massima sopportabile dal motore!!! Se i motori sono da 1 Ampere allora la corrente giusta è tra i 250 mA e i 500 mA. Si consiglia di alimentare, sia i 4988 che gli 8825, con tensione di 12 o di 24 Volt e non di più. Con 24 Volt la velocità massima è leggermente maggiore. Si consiglia di non usarli a corrente maggiore di 1 Ampere. Sul modulo A4988, prodotto a Pololu, il trimmer è da 10 Kohm ed è collegato al 5 Volt con un resistore da 20 Kohm. Per cui la tensione di riferimento, con il trimmer al massimo, è di 1.6 Volt. Questo riferimento viene diviso per otto internamente al chip e infine comparato con resistori da 0.05 ohm. Sul modulo DRV8825, prodotto da Pololu, il trimmer è da 10 Kohm ed è collegato al 3.3 Volt stabilizzato. Per cui la tensione di riferimento, con il trimmer al massimo, è di 3.3 Volt. Questo riferimento viene diviso per cinque internamente al chip e infine comparato con resistori da 0.1 ohm.
ATTENZIONE: Come si può vedere, chi ha progettato questi moduli ha completamente sbagliato il fondo scala. La massima corrente sopportabile (pur con il massimo di dissipatori e ventole) è di 2 Ampere per i 4988, e di 2.2 Ampere per gli 8825. Il fondo scala dei trimmer è quindi due o tre volte maggiore di quanto sarebbe ragionevole. Con un fondo scala così alto la regolazione dei trimmer diventa due o tre volte più difficile. Inoltre, tanto per rendere la regolazione ancora più difficile, alcuni trimmer non hanno il fondo corsa meccanico. SUPER ATTENZIONE: Esistono driver con il trimmer che agisce al contrario. Per cui prima di fidarsi dei propri drivers, è bene misurare la tensione sul trimmer. Regolando al minimo, in senso antiorario, la tensione dovrebbe essere ...
Modularità e Problemi dei Driver Integrati
Si consiglia di evitare i driver di vecchia progettazione contenenti gli integrati SA1042, SA1027, ULN2003, L297 e simili. Sono assolutamente da evitare i cnc-controller con i driver saldati su un unica piastra. Al primo difetto si deve buttare l’intero controller. I driver possono rompersi facilmente (basta un falso contatto momentaneo su un motore) e non è possibile sostituire i chip sulla piastra, quindi si butta via l’intero controller-driver, si perdono centinaia di Euro e si tiene ferma la macchina a lungo. Inoltre non è possibile saldare nuovi driver su una piastra, per cui se si parte, ad esempio, con tre driver, non si potrà aggiungerne un quarto e un quinto. I driver di ricambio costano pochissimo (circa 3 Euro) e si sostituiscono in trenta secondi.
Non fatevi ingannare dai venditori che non pubblicano gli schemi e “lasciano pensare” che i loro driver siano migliori. E fate anche attenzione ai controller saldati direttamente sul circuito stampato principale, senza ventola di raffreddamento e con chip senza dissipatore. I chip scalderanno moltissimo, aumentando la probabilità di guasti e di perdere l’intero controller. Non acquistate costosi cnc-controller con i chip direttamente saldati sulla piastra!
Nella immagine in alto si vede la piastra Theremino_StepperDriver (informazioni in questa pagina), mentre nelle due immagini seguenti si vedono la “Ramps” e la “CncShieldV3”. Consigliamo di mantenere la massima modularità, per permettere future modifiche, miglioramenti e sostituzioni. Piastre come la Ramps e la CncShieldV3, non sono costruite appositamente per il sistemaTheremino, per effettuare i collegamenti consultate gli schemi. Queste immagini sono valide solo per i driver DRV8825, attenzione che gli A4988 vanno inseriti con il trimmer dal lato opposto.
ATTENZIONE: Per abilitare i motori il segnale ENABLE deve essere collegato a GND. Quindi mettere sempre un ponticello su “EN / GND”. Nelle schede CncShield e nelle Ramps i ponticelli portano i segnali al positivo, quindi con tutti e tre i ponticelli rimossi si ottiene il “Full step”. Usare sempre 8, 16 o 32 microstep, quindi inserire i primi due ponticelli oppure l’ultimo, o anche tutti e tre. ATTENZIONE: Alcune schede (Ramps 1.4 di alcuni produttori), hanno i ponticelli di selezione dei microstep che non funzionano. Qualche genio malefico ha modificato il PCB per impostarle fisse a 16 microstep (perchè così servono nelle stampanti 3D). Basta controllare con un tester i pin dei ponticelli di selezione, se le coppie di pin sono in corto, allora si tratta di una di queste schede.
Interpolazione e Coordinamento degli Assi
Per applicazioni che richiedono movimenti complessi e coordinati, l'interpolazione degli assi è fondamentale. Abilitando questa casella, il motore viene collegato al precedente, e fa quindi parte di un pool, che esegue interpolazioni in 2D, 3D, 4D o 5D. Senza questa interpolazione, il motore che deve fare meno strada, arriverebbe in anticipo e quindi il percorso, sarebbe una linea spezzata, composta da due o più segmenti. Abilitando l’interpolazione, la velocità di tutti i motori viene coordinata, in modo che la traiettoria effettiva, sia una retta.
Strumenti per la Verifica del Funzionamento
Per la verifica e l'ottimizzazione del funzionamento dei motori è utile disporre di strumenti specifici. Questo goniometro da 200 passi (1.8 gradi per step), è utile per controllare il funzionamento, dei motori passo passo. Lo abbiamo cercato a lungo sul Web, e alla fine abbiamo dovuto farcelo. Le dimensioni di stampa attuali (75 x 75 mm) sono per i motori Nema 23. Con un programma per il disegno, o con le regolazioni della stampante, si possono adattare le dimensioni, a motori più piccoli, o più grandi. Abbiamo trasformato l’immagine del goniometro in GCode (con “Theremino ImgToGcode“).