ARDUINO
Stepper Driver per Motori Passo-Passo
- Conoscerli -
Motori Passo-Passo, cosa sono ?
Il motore passo-passo spesso chiamato anche stepper è un motore elettrico sincrono in corrente continua pulsata con gestione elettronica senza spazzole (brushless) che può suddividere la propria rotazione in un grande numero di passi (step).È considerato la scelta ideale per tutte quelle applicazioni che richiedono precisione nello spostamento angolare e nella velocità di rotazione, quali la robotica, CNC, stampanti 3D, le montature dei telescopi ed i servomeccanismi in generale.
A differenza di altri tipi di motore, come ad esempio il diffusissimo motore a corrente continua, il motore passo-passo non modifica la velocità di rotazione in funzione del carico, ma la mantiene costante. Se lo sforzo richiesto al motore supera la coppia massima erogabile il motore semplicemente si ferma.
Per ulteriori chiarimenti vi rimando alla guida MOTORI PASSO-PASSO
Gli stepper driver o pololu sono dei semplici encoder hardware in grado di controllare dettagliatamente i motori passo-passo, sia in ambito di assorbomento che di movimento.
Ovviamente devono essere controllati da una logica a monte, nel caso specifico mi riferirò ad Arduino data la sua semplicità e alla sua diffusione soprattutto in ambito hobbystico
Di stepper driver ne esistono parecchi anche perchè esistono diversi motori passo-passo.
In base all'assorbimento del motore si sceglierà il driver stepper più adatto.
Fatto restando che usando driver con carichi maggiori si potranno usare motori con basso assorbimento, è la scelta che prediligo anche perchè come vedremo i costi sono comunque ridicoli.
La calibrazione che andremo ad attuare sui driver di questi motori è la Vref, questo termine significa “Voltage reference” (tensione di riferimento) , ed è la quantità di energia che gli stessi permettono al motore di sprigionare.
Più preciso è questo valore e più sarà ottimizzato il movimento del motore, senza avere spreco di energia e surriscaldamento tipici di un valore troppo alto o perdita di passi tipica di un valore troppo basso.
Pololu o StepStick?
Il problema sorge ogni volta che si parla di questi driver: che differenza c’è tra i Pololu e Stepstick? beh la questione è semplice, Pololu è l’azienda storica che produce queste schedine e la sua ideatrice, mentre per Stepstick si intende un prodotto compatibile fabbricato prevalentemente in Cina. Perciò se volete un prodotto affidabile e di ottima qualità vi consiglio caldamente di acquistare schede originali Pololu, mentre se non siete schizzinosi e nel caso non vi spaventate di fronte ad una scheda difettosa potete lanciarvi sugli Stepstick che comunque si trovano di diverse fatture.
Passiamo ad elencare quelli più conosciuti :
Pololu o StepStick?
Il problema sorge ogni volta che si parla di questi driver: che differenza c’è tra i Pololu e Stepstick? beh la questione è semplice, Pololu è l’azienda storica che produce queste schedine e la sua ideatrice, mentre per Stepstick si intende un prodotto compatibile fabbricato prevalentemente in Cina. Perciò se volete un prodotto affidabile e di ottima qualità vi consiglio caldamente di acquistare schede originali Pololu, mentre se non siete schizzinosi e nel caso non vi spaventate di fronte ad una scheda difettosa potete lanciarvi sugli Stepstick che comunque si trovano di diverse fatture.
Passiamo ad elencare quelli più conosciuti :
- A4988
- DRV8825
- TMC2100 (se ne parlerà più avanti)
A4988
Il A4988 della Allegro è un Microstepping Bipolar Stepper Motor Driver (circuito integrato per il controllo di motori passo-passo); opera con una tensione operativa nel range 8V - 35V e fornisce fino a 2A per bobina se opportunamente dissipato.
Offrono un microstepping fino a 1/16 di passo.
E' il più usato oltre ad essere il più economico.
Chip A4988 |
Schema di collegamento Arduino / A4988 / Motor Stepper |
VREF = Corrente/2.5
Quindi , secondo questa formula, se ho un motore passo-passo con assorbimento 1.5A
VREF = 1.5/2.5 = 0,60v
La formula giusta è questa :
Vref = Imax x (8 x Res ) - 30%
Dove Amax è l'amperaggio del motore , 8 una costante, Res è il valore della resistenza del motore...guardate bene la foto qui sotto, controllate il valore della resistenza
Si toglie il 30% delal potenza per preservare il motore nel tempo, in modo tale che non sforzi eccessivamente..potete anche scendere ad un 20% se volete
Si toglie il 30% delal potenza per preservare il motore nel tempo, in modo tale che non sforzi eccessivamente..potete anche scendere ad un 20% se volete
Stepper Drivers A4988 (variante rossa) |
Resistenze SMD con stampato il valroe 100 |
Si evince che il valore di queste resistenze è 10 Ohm
Quindi, tornando alla nostra formula...
Vref = Imax x (8 x Res ) - 30%
Vref = 1.5 x (8 x 0,10) = 1.2 - 30% = 0.84v
Come potete vedere la differenza si nota eccome..un 0.60V potrebbe farvi perdere dei passi, con un valore di 0.84v / 0.90v siete sicuri che il motore funzionerà in modo corretto
VREF = 1.5/2.5 = 0,60v
drv8825
Il DRV8825 opera con una tensione operativa nel range 8.2V - 45V e fornisce fino a 2.2A per bobina se opportunamente dissipato 0 1.5A non dissipato (non consigliato)
Costa qualcosa in più, è necessario modificare il codice Arduino se prima avevate montati gli stepper A4988, inoltre va montato nel verso contrario.
Riscalda più del A4988, consiglio vivamente di dissipare sempre.
Riscalda più del A4988, consiglio vivamente di dissipare sempre.
Microstepper DRV8825 |
Nessun commento:
Posta un commento