|
Â
Come funzionano, come pilotarli e come utilizzarli.
Come funziona un motore stepper?
Un motore stepper, in italiano Passo-Passo, è un particolare tipo di motore. Per capire i motori stepper più complessi dobbiamo rifarci ad un caso semplice.
Supponiamo di avere uno stepper come quello in figura con soltanto 4 bobine:
All'interno dello stepper ci sono sempre un numero pari di bobine avvolte attorno allo statore, mentre l'asse del motore è solidale ad un magnete (rotore). La corrente che scorre all'interno delle bobine genera un campo elettromagnetico che fa orientare il rotore in una definita posizione. Le bobine vengono chiamate fasi, in questo caso abbiamo solo 2 fasi. I passi di questo stepper saranno di 90°, ma della realtà si trovano stepper molto più sensibili che hanno 4 fasi e un passo di 3.6 gradi, quindi 100 passi per rotazione.
Esempio di un 4 fasi:
Osservate adesso l'interno di uno stepper reale:
Il rotore di questo stepper ha 2 magneti permanenti, uno magnetizzato come Nord e l'altro come Sud, le due ruote dentate hanno in genere 50 dentini e sono sfasate l'una dall'altra di mezzo passo. Lo statore ha invece 4 fasi e i denti rivolti verso il centro si chiamano coppette. Quando viene alimentata una fase, quindi una coppia di bobine, lo stepper compierà un passettino. Il passo degli stepper varia a seconda del numero dei denti e delle fasi
Successivamente vedremo con quanti fili si alimentano gli stepper, con quali integrati e che sequenze inviare da Arduino o da un'altro qualsiasi dispositivo digitale in grado di generare bit.
Caratteristiche di uno Stepper
Le caratteristiche più importanti di uno stepper sono:
- Numero di passi: in commercio si trovano da 16, 20, 40, 100 e 200 passi.
- Coppia: espressa in Nm.
- Corrente di alimentazione.
- Numero di fili
- Tipo: Bipolare o unipolare
Differenza tra Bipolare o Unipolare
Il numero di fili identifica il tipo di stepper:
- Unipolare: Ha 4 fasi disposte in antiparallelo, ha quindi 6 fili o 5 se CA e CB sono collegate. Lo schema elettrico lo vedete sotto:

questo tipo di motore si pilota come un bipolare, basterà individuare il CA e il CB e pilotarlo sugli altri ingressi.
- Bipolare: Ha 2 fasi disposte su più assi.

Â
Modalità di pilotaggio dei motori stepper
Uno stepper si presenta sempre con almeno 4 fili, nel caso ce ne fossero più di 4 utilizzeremo soltanto quelli collegati alle fasi. Per capire quali fili appartengono ad una stessa fase basterà collegare una batteria da 9v con il + su un filo e provare con gli altri fili a toccare il meno fin quando non vedremo una scintilla. Una volta individuate le 2 fasi collegheremo il nostro stepper ad un circuito di pilotaggio e le sequenze di bit che invieremo sulle fasi saranno diversi a seconda della modalità con cui vorremo pilotarlo.
- Wavemode
Â
| FASE | AVVOLGIMENTO | |||
| 1 | 1 | |||
| 2 | 1 | |||
| 3 | 1 | |||
| 4 | 1 | |||
La modalità wave è la più semplice, consiste nell'iviare una sequenza di bit alti sulle fasi le quali si attiveranno e faranno ruotare il rotore. Un 1 sulla tabella indica che la fase è alimentata alla tensione nominale.
- Two-phase on
| FASE | AVVOLGIMENTO | |||
| 1 | 1 | 1 | ||
| 2 | 1 | 1 | ||
| 3 | 1 | 1 | ||
| 4 | 1 | 1 | ||
Nella modalità Two-phase vengono alimentate 2 fasi perpendicolari contemporaneamente, questo ci darà una coppia maggiore di quella nominale del 40%. Il rotore si posizionerà nelle zone intermedie rispetto a quando pilotiamo in wave-mode. Il consumo di corrente e di conseguenza il riscaldamento dello stepper raddoppiano.
- Half-Step
| FASE | AVVOLGIMENTO | |||
| 1 | 1 | |||
| 2 | 1 | 1 | ||
| 3 | 1 | |||
| 4 | 1 | 1 | ||
| 5 | 1 | |||
| 6 | 1 | 1 | ||
| 7 | 1 | |||
| 8 | 1 | 1 | ||
Questa tecnica consiste nel utilizzare le due tecniche precedenti per aumentare il numero degli step possibili. Il problema è che quando pilotiamo in wavemode avremo coppia 1 mentre quando piloteremo in halfstep avremo coppia 1.4. Per avere una coppia omogenea dovremo diminuire il valore di corrente durante il Two-phase on circolante sui 2 avvolgimenti.
Se durante la fase di Two-phase forniamo una diversa alimentazione agli avvolgimenti, potremo far fare al rotore ulteriori passi.
VelocitÃ
Il problema maggiore degli stepper è la velocità massima, ci sono vari espedienti per aumentare questo valore ma quello più usato è il pwm con un valore di tensione maggiore di quello nominale. Facendo in questo modo la corrente all'interno della bobina salirà più velocemente e quindi il ritardo introdotto dalla bobina diminuirà .
Circuiti per pilotare uno stepper
Gli integrati che si usano più frequentemente per pilotare uno stepper sono dei doppi ponti H come ad sempio: SN754410, L293, L298 ecc ecc.
In figura un esempio di ponte H
Il ponte H serve ad alimentare una fase dello stepper, quindi per poter pilotare questo motore correttamente ne serviranno due. Chiudendo i due interruttori 1 e 4 e lasciando aperti 3 e 2, la corrente percorrerà l'avvolgimento in un verso, mentre chiudendo gli interruttori 3 e 2 e lasciando aperti 1 e 4, la corrente percorrerà l'avvolgimento nell'altro verso. Naturalmente queste coppie di interruttori vengono pilotate contemporaneamente quindi da questo ponte H usciranno 2 fili.
Gli integrati che ho elencato sopra sono diversi l'uno dall'altro perchè ad esempio L293 e L298 sono senza diodi interni di protezione quindi andranno messi esterni, mentre SN754410 ha i diodi integrati all'interno.
In foto un esempio di come collegare arduino all'SN754410 e allo stepper
In questo caso potrete usare la libreria stepper per farlo muovere. Come vedete dal disegno SN754410 ha bisogno di un alimentatore esterno, oppure potrete alimentare arduino con un alimentatore esterno e collegare il pin VIN di arduino al pin 8 dell'sn754410.
Provate questo sketch:
#include
//definisce il numero di step dello stepper
#define STEPS 100
//crea un istanza della libreria stepper e
//definisce lo stepper con il numero di step e a quali pin
// è collegato.
Stepper stepper(STEPS, 12, 11, 10,9);
void setup()
{
// setta la velocità a 30 RPMs
stepper.setSpeed(30);
}
void loop()
{
//lo stepper farà 100 step in un senso
stepper.step(100);
delay(100);
//lo stepper farà 100 step nell'altro senso
stepper.step(-100);
delay(100);
}
E' possibile, sempre con la stessa libreria, pilotare uno stepper con 2 fili, ma il circuito cambierà un po'. Avrete bisogno di due transistor npn (bc337 o 2n222) e di 4 resistenze. Seguite lo schema seguente:
Dovrete semplicemente cambiare un'istruzione nello sketch precedente, alla linea 8. invece di definire lo stepper Stepper stepper(STEPS, 12, 11, 10,9); definitelo come Stepper stepper(STEPS, 12, 11, 10,9); ed il gioco è fatto.
Buon divertimento.
Conclusioni
I motivi per cui usare uno stepper sono:
- Non introduce nessun rumore dovuto a contatti striscianti sulle altre linee .
- Facile da raffreddare
- Robustezza
- corrente e coppia lineari
- sincrono
Vi allego alcuni video che ho fatto quando movimentavo alcuni stepper.
Questo stepper si muove grazie al secondo circuito, mentre questo si muove grazie al primo.
Bibliografia
[1] http://www.cyberhs.it/
[2] wikipedia
![]()