Motori passo passo : parte 1
Introduzione
I motori passo-passo trovano largo impiego in tutte quelle applicazioni laddove si desideri
posizionare l'albero di un motore in una ben precisa posizione. Infatti, pensare di poter
effettuare uno spostamento angolare preciso con un motore in corrente continua è quasi
impossibile. Con i motori passo-passo è possibile ottenere elevate precisioni nella risposta
al segnale di ingresso anche con configurazioni circuitali a catena aperta, cioè, senza anello
di retroazione che riporti in ingresso l'errore, o scostamento, dal valore di uscita che si
sarebbe voluto ottenere. Proprio per questo motivo sono diffusissimi, disk-drive, stampanti,
plotter, lettori cd e chi più ne ha più ne metta fanno uso di questo tipo di motori.
I motori passo-passo hanno la caratteristica di funzionare a "scatti" cioè per passi;
il passo è caratteristico per ogni tipo di motore. In questo modo è possibile fermare
l'albero del motore in posizioni ben determinate magari contando quanti passi fare per
ruotare di un certo angolo e comandando il motore affinchè compia quel preciso numero di passi.
Se smontiamo un vecchio floppy-drive da 5" e 1/4 al suo interno troveremo senz'altro un motore
passo-passo a 4 fasi cioè costituito da quattro bobine che eccitate in sequenza danno luogo
al funzionamento per passi di cui si parlava prima. E' buona norma non buttare mai
nell'immondizia un apparato, una scheda o un qualsiasi meccanismo che non funziona o
che è ormai obsoleto. Potrebbe non funzionare di per se ma potrebbe contenere al suo
interno tutta una serie di sottoapparati che in realtà funzionano benissimo e che ci
permettono di risparmiare un sacco di soldi per i nostri esperimenti.
Parametri caratteristici
| step angle | rotazione espressa in gradi dell'albero per passare da
un passo a quello immediatamente successivo, i valori più comuni sono 1.8°, 3.6°, 7.5°, 9°,
15° |
| numero di fasi | numero di avvolgimenti di cui è costituito il
motore |
passi per giro | valore legato allo step angle, indica il numero
di passi necessari per compiere un giro completo. Si calcola dividendo 360/step angle |
| tensione di fase | valore della tensione di alimentazione riferita
ad ogni singola fase |
| corrente di fase | valore della corrente richiesta per ogni fase
affinchè il motore lavori all'interno delle proprie caratteristiche elettrico-meccaniche |
| resistenza di fase | valore della resistenza misurata su ogni fase |
Coppia e frequenza
Un discorso accurato va fatto in relazione alla coppia applicabile al motore passo-passo
ed alla frequenza di funzionamento dello stesso cioè la velocità con cui vengono eccitate
e diseccitate le fasi una di seguito all'altra. Un motore passo-passo, per come è costruito,
ha un ben determinato rapporto coppia/frequenza. In generale la coppia è inversamente
proporzionale alla frequenza di funzionamento, più il motore gira veloce minore è la coppia
che io posso applicare all'albero. A riprova di quanto detto consiglio di effettuare alcune
semplici prove empiriche ma che comunque rendono bene l'idea : pilotando il motore con una
frequenza di fase via via maggiore provare a fermare l'albero con il pollice e l'indice della
mano. Si noterà che via via che la velocità aumenta sarà sempre più facile fermare l'albero
motore cioè, sarà sempre minore la coppia da applicare all'albero per riuscire a fermarlo.
In questo caso si dice che il motore perde il passo cioè non è più in grado di fornire una
certa coppia meccanica all'albero perché la velocità di rotazione dello stesso è troppo
elevata. Proprio perché noi non vogliamo che un motore perda il passo dovremo pilotarlo
con oculatezza, in modo tale che lavori sempre all'interno della sua curva di slew-range
(Figura 1).
Figura 1
Supponiamo infatti di dover pilotare un motore che si occupa di ruotare intorno all'asse y
un braccio meccanico di un robot. Il sistema braccio darà luogo, quando posto in movimento,
ad una certa coppia meccanica che sarà applicata all'albero del motore oppure se vogliamo il
motore per far girare il braccio dovrà essere in grado di applicarvi una coppia maggiore o
al limite uguale. Se iniziamo a far ruotare l'albero lentamente noteremo che esso esegue gli
spostamenti che noi comandiamo senza dar luogo a nessuno scostamento angolare dalla posizione
che ci prefiggiamo di raggiungere. Aumentando la velocità arriveremo sicuramente ad un punto
in cui l'albero non riuscirà a stare al passo, cioè, il sistema motore-albero non risponderà
più in maniera proporzionale agli impulsi che gli provengono dagli ingressi, l'albero inizierà
ad oscillare intorno al suo asse ed il braccio non compirà più nessuno spostamento o al limite
ruoterà solo di qualche grado. Ecco che è importante tenere contro delle caratteristiche del
motore. Anche a vuoto, cioè con l'albero libero da ogni vincolo meccanico, vale lo stesso
discorso. In questo caso la coppia applicata dall'esterno all'albero sarà nulla ma proprio
perché il motore non è una struttura ideale avrà anch'esso una sua coppia cioè l'albero e
tutte le strutture interne al motore stesso daranno luogo ad una ben precisa coppia meccanica.
Anche in questo caso si può provare a fare l'esperimento di prima, si noterà che ad un certo
punto il motore perderà il passo, sicuramente ad una velocità maggiore di prima ma lo perderà
ugualmente. In questo ultimo caso possiamo fare un altro esperimento che sicuramente chiarirà
le idee ancora meglio. A motore fermo, proviamo ad eccitare le fasi con una frequenza bassa e
preso atto del fatto che il motore non perde il passo annotiamo la frequenza su un foglio di
carta e fermiamo il motore. Facciamo nuovamente partire il motore con una frequenza un po' più
alta e ripetiamo le prove fino a che il motore perde il passo in partenza, cioè, quando da
fermo eccitato con una certa frequenza di fase l'albero oscilla subito intorno al proprio asse.
Ora invece eccitiamo il motore con una frequenza di fase che cresce linearmente, ad un certo
punto noteremo che arrivati alla frequenza alla quale il motore prima non partiva esso continua
a ruotare regolarmente e perde il passo solo dopo un ulteriore aumento della frequenza stessa.
Questo indica che il sistema motore che parte da fermo ha bisogno di una maggiore accortezza
nel pilotaggio perché partendo deve vincere degli attriti che in moto non ha. Supponiamo di
voler spostare la penna di un plotter da un punto ad un altro del foglio di carta su cui sta
disegnando. La maniera migliore per farlo è quella di far partire il motore piano e via via
aumentare la velocità sino a raggiungere quella di regime, in fase di fermata vale il discorso
inverso, fermare il motore diminuendo la velocità fino alla fermata (Figura 2). Il tutto
presuppone un calcolo della distanza da percorrere, il relativo numero di passi da effettuare,
quanti passi utilizzare per arrivare alla velocità di regime, quanti passi effettuare alla
velocità di regime e quanti passi effettuare per effettuare la fermata graduale. Il tutto
ovviamente in caso di sistemi meccanici applicati all'albero deve tenere conto delle coppie
in gioco. In questo tutorial si è scelto di trattare i motori passo-passo unipolari per il
fatto che sono i più diffusi.
Figura 2
Fili d'uscita
Un motore passo passo unipolare può essere schematizzato come una serie di bobine (di numero
uguali alle fasi del motore) che eccitate una di seguito all'altra danno luogo alla rotazione
del motore. Per i motori unipolari ci troveremo di fronte ad una serie di fili che escono dal
motore e che a seconda dei modelli potranno anche definire per numero. Non è detto che un
motore unipolare a 4 fasi abbia sempre lo stesso numero di cavi, quello prodotto dalla ditta
x potrebbe averne 5, quello prodotto dalla ditta y potrebbe averne 6 e quello prodotto dalla
ditta z potrebbe averne 8. Come riconoscere allora i fili ? E' abbastanza semplice, nel caso ci
si trovi di fronte ad un motore con 5 fili in uscita avremo sicuramente un filo per
l'eccitazione di ogni fase ed un filo comune per tutte le fasi al quale andrà collegata
la tensione di alimentazione di fase (+VL). Nel caso ci si trovi di fronte ad un motore
con 6 fili in uscita avremo sicuramente a che fare con una struttura che prevede 2 comuni
da collegare alla +VL, uno per ogni coppia di fasi. In questo caso avremo due coppie di
fasi che hanno il comune "in comune" ed ovviamente avremo un filo di uscita per il comando
di ogni fase. Nei motori con 8 fili infine avremo due fili per ogni fase, uno sarà la +VL e
l'altro sarà il filo di comando di fase.
Figura 3
Tipi di pilotaggio, diodi di ricircolo
Come abbiamo detto in precedenza per pilotare un motore passo passo occorre applicare
la corrente alle fasi del motore stesso secondo una ben determinata sequenza. Vi sono tre
tipi di pilotaggio : Wawemode oppure One phase drive, Two phase drive ed Half phase drive.
Essi differiscono per quello che riguarda la coppia ottenuta all'albero del motore e nel caso
del pilotaggio Half step drive è possibile fermare l'albero motore in una posizione
intermedia rispetto all'angolo di passo caratteristico del motore che stiamo pilotando.
Supponiamo ora di aver costruito un circuito come quello indicato nella figura sopra.
Questa serie di 4 darlington di potenza ci permette di pilotare dei carichi induttivi come
quelli formati dalle fasi di un motore passo passo utilizzando uscite Ttl compatibili da
collegare ai punti F1, F2, F3, F4. Questi quattro ingressi saranno i "piloti" delle fasi del
motore. Potremmo pensare di collegarli per esempio alla parallela di un personal computer,
magari ai pin 2,3,4 e 5 del connettore cannon a 25 pin presente sul retro del Pc. Questi 4 pin
corrispondono rispettivamente ai primi quattro bit della porta Dati della parallela; esi
vengono infatti denominati D0, D1, D2 e D3. Prima di procedere oltre vorrei spendere due parole
su questo tipo di utilizzo della parallela. Personalmente ritengo che utilizzarla per questi
esperimenti sia estremamente pratico e formativo, infatti, è utilissimo avere delle uscite e
degli ingressi che io posso gestire tramite un qualsiasi programma scritto in C per esempio.
In questa maniera io posso fare "tutto quello" che desidero che quei bit facciano. Occorre
però prestare particolare attenzione al fatto che siamo in presenza di una circuiteria esterna
ad un Pc che viene collegata ad una sua porta. Può sembrare banale ma basta una svista per
distruggere la pota parallela e per renderla inservibile. Se utilizziamo un bredboard per i
nostri esperimenti noteremo che è abbastanza "facile" commettere errori e quindi per esempio
invertire i famosi due fili che fanno saltare la parallela. Quindi un consiglio a tutti,
prima di alimentare il circuito ma soprattutto prima di collegarlo alla parallela controllate
e ricontrollate tutto ciò che avete fatto, come dicono alla NASA "Check and Double Check".
Il circuito disegnato sopra è unicamente un circuito teorico semplificato al massimo,
in realtà, il circuito andrebbe completato collegando in parallelo ad ogni fase un diodo
con l'anodo verso il collettore del darlington. Come sappiamo gli avvolgimenti del motore
passo passo non sono altro che bobine e quindi induttori. Un induttore è una specie di volano
elettrico, un elemento che per sua natura tende fare in modo che la corrente che vi circola
attraverso si mantenga costante. Quando il transistor è in conduzione non c'è nessun problema,
quando invece il transistor non è in conduzione la logica direbbe che la corrente che circola
attraverso l'induttore dovrebbe andare subito a zero. L'induttore però non vuole saperne
di abbattere istantaneamente la corrente che vi circola, come un volano al quale
improvvisamente viene a mancare la coppia che lo ha messo in movimento, di sicuro non
si fermerà istantaneamente ma dopo numerosi altri giri. Per fare in modo che la corrente
non scenda a zero l'induttore tende a far salire la tensione in maniera inversa rispetto a
quella alla quale era connesso quando era in conduzione. Ora il collettore del transistor
verso massa ha una resistenza praticamente infinita, l'induttore farà salire la tensione sul
collettore del transistor anche a valori molto alti. A questo punto dobbiamo trovare una
via di fuga per questa benedetta corrente che l'induttore non vuole proprio far scappare
(Figura 4).
Figura 4
In questa maniera offriremo alla corrente una via di fuga verso la Vcom del circuito.
I diodi da utilizzare devono essere diodi veloci e capaci di sopportare correnti anche
di alcuni ampere. Dobbiamo tenere contro del fatto che la tensione che si genera sulla
Vcom per effetto di questa corrente sarà una tensione che dall'esterno andremo ad applicare
alle uscite dell'alimentarore del nostro circuito. Per questo motivo occorre che la
circuiteria di alimentazione sia anch'essa ben dimensionata quando si ha la necessità di
alimentare carichi induttivi, in particolare, è sempre bene "abbondare" con il condensatore
di filtro posto dopo il ponte raddrizzatore utilizzandone uno che abbia una tensione di
utilizzo parecchie volte più elevata di quella che normalmente è in gioco. Diodi adatti
a questo lavoro son i BYV27 o al limite gli 1N400X, non gli 1N4148 !
Wawemode - One phase drive
Con questo tipo di pilotaggio le fasi del motore vengono eccitate una per volta dando
origine alla rotazione dell'albero del motore in oggetto. Ogni volta che la fase precedente
viene diseccitata e quella successiva eccitata ha luogo una rotazione dell'albero pari ad
uno step.
Guarda la tabella e la simulazione animata.
| Step | Fase1 | Fase2 |
Fase3 | Fase4 |
| 1 | on | off | off | off |
| 2 | off | on | off | off |
| 3 | off | off | on | off |
| 4 | off | off | off | on |
| 1 | on | off | off | off |
Two phase drive
In questo caso vengono eccitate due fasi alla volta di conseguenza l'albero motore andrà
ad occupare posizioni intermedie rispetto alle fasi che sono in quel momento eccitate.
Come nel caso precedente ogni volta che si cambia lo stato di eccitazione delle fasi l'albero
motore ruota di un angolo pari allo Step Angle. In questo caso avendo per ogni passo due fasi
attive avremo a disposizione una coppia maggiore del 40% rispetto al pilotaggio Wavemode.
Per questo motivo avremo un consumo di corrente doppio.
| Step | Fase1 | Fase2 |
Fase3 | Fase4 |
| 1 | on | on | off |
off |
| 2 | off | on | on |
off |
| 3 | off | off | on |
on |
| 4 | on | off | off |
on |
| 1 | on | on | off |
off |
Half Step Drive
In questo tipo di pilotaggio si utilizzano alternativamente i pilotaggi One Phase e Two
Phase. In questo modo l'albero motore può fermarsi in una posizione intermedia rispetto
alle posizioni che raggiungerebbe con uno dei due metodi di pilotaggio di cui sopra. Ciò
vuol dire che può fermarsi a metà fra un passo e l'altro e quindi il numero di passi per
compiere un certo angolo raddoppia. In questo caso avendo a che fare con un pilotaggio misto
avremo una coppia ed un consumo irregolari.
| Step | Fase1 | Fase2 |
Fase3 | Fase4 |
| 1 | on | off | off | off |
| 2 | on | on | off |
off |
| 3 | off | on | off | off |
| 4 | off | on | on |
off |
| 5 | off | off | on | off |
| 6 | off | off | on |
on |
| 7 | off | off | off | on |
| 8 | on | off | off |
on |
| 9 | on | off | off | off |
A questo punto non ci resta che scegliere il tipo di pilotaggio da utilizzare per far
avanzare l'albero del nostro motore. Supponiamo di avere a disposizione un motor che
presenta uno Step Angle di 1.8 gradi per passo. Supponiamo ora di voler far ruotare l'albero
di 45° rispetto alla posizione in cui esso si trova. Per fare ciò occorre per prima cosa
calcolare di quanti passi far ruotare l'albero :
45 / 1.8 = 25 passi. Questo calcolo è valido nel caso si utilizzi o il pilotaggio Wavemode
oppure Two Phase Drive, in questo modo non dovremo fare altro che azionare le fasi del motore
secondo la sequenza indicata in tabella per 25 volte. Nel caso si decida di utilizzare il
metodo Half Step invece il calcolo andrà fatto in questo modo: 45 / (1.8/2) = 45 / 0.9 = 50.
In questo caso dovremo eccitare le fasi del motore secondo la sequenza Half Step per 50 volte.
Diciamo che il pilotaggio Half Step viene utilizzato laddove sia richiesta una precisione
maggiore rispetto ai pilotaggi normali. L'eccitazione secondo la sequenza delle tabelle sopra
riportate genera una rotazione dell'albero in senso orario, eccitando invece le fasi in
maniera inversa otterremo una eccitazione in senso antiorario.
Mettere tutto in pratica
Siccome è praticamente impossibile capire a priori quali siano i fili giusti relativi alle
fasi giuste consiglio, allo scopo di individuarli, di effettuare alcune prove con un
multimetro e un alimentatore stabilizzato. Con il multimetro misureremo le resistenze fra un
cavo e l'altro e scriveremo i valori letti in una tabella. In questo modo sarà abbastanza
semplice capire come le fasi sono collegate ai fili che fuoriescono dal motore. Individuata
la conformazione circuitale tramite l'alimentatore andremo ad alimentare in sequenza tutti i
fili che fuoriescono dal motore a parte quello che abbiamo battezzato come comune che andrà
sempre collegato al + dell'alimentatore. Dopo aver connesso il - a tutti i fili d'uscita del
motore e dopo che ad ogni successiva connessione l'albero motore sarà avanzato di un passo in
senso orario saremo sicuri di aver individuato con esattezza la corrispondenza fra fili e
bobine o fasi.
Nella sezione
progetti trovate un driver per motori passo passo.