Motori stepper

Tesina

Stepper

Darlington

Visual C++

C Builder

Assembler

Alim. Switching

La Robotica

Il prototipo su cingoli è azionato da due propulsori elettrici di tipo stepper bipolare

Il motore passo-passo (stepper motor) è un attuatore che, pilotato da segnali elettrici digitali, ruota di un angolo fisso, chiamato passo, ad ogni commutazione dei segnali di comando. Nel suo ciclo operativo può trovarsi in tre condizioni diverse: disattivato, attivato ma fermo o in rotazione. Esso è estremamente versatile e preciso. Un altro vantaggio rispetto al motore c.c. consiste nella maggior robustezza, non avendo parti soggette ad  usura come le spazzole. Gli svantaggi sono costituiti dalla maggior complessità dei circuiti di azionamento e da un rapporto potenza/volume più sfavorevole. I motori passo-passo sono molto usati nelle periferiche  degli elaboratori (unità disco, stampanti, plotter, tavole X-Y) e nell' azionamento dei robot. Costruttivamente si suddividono in motori a magnete permanente(PM), a riluttanza variabile(VR) e ibridi(HY).

Stepper

Caratteristiche

Sequenze

Pilotaggio

Velocità

Circuito Dual Stepper

Glossario

Oscilloscopio

Fotografie

Top

Caratteristiche e parametri

image004 - Uno stepper apertoIl tipo di motore più usato è quello a magnete permanente. L' ibrido, che generalmente viene preferito a quello di riluttanza variabile, viene usato quando si richiedono elevate prestazioni. I valori più comuni del passo di rotazione sono 1,8° 3,6° 7,5° 9° 15°. La frequenza dei passi normalmente di qualche centinaio di passi/s può raggiungere valori elevati, anche oltre gli 800 passi/s.

 

Top

Sequenze di stazionamento:

Viene attivato un avvolgimento o fase alla volta secondo la sequenza illustrata in figura.

Azionamento unipolare

Inizialmente viene attivata la fase AB con polarità positiva su A; la fase CD rimane disattivata. Si crea allora un campo magnetico diretto verticalmente  nel disegno, con il nord nella parte di B ed il sud dalla parte di A.Il rotore per l' effetto del campo di statore, si posiziona anch' esso verticalmente, come illustrato in figura.
Successivamente viene attivata la fase CD, con la polarità positiva su C.
Il campo magnetico generato risulta ora diretto orizzontalmente,con il nord dalla parte di D ed il sud dalla parte di C; il rotore compie allora una rotazione di 90° in senso orario, allineandosi al campo magnetico di statore.
La sequenza completa prevede le altre due attivazioni indicate in figura.

Il passo di rotazione nell' esempio riportato è di 90°. Lo svantaggio rispetto al motore bipolare consiste nel fatto che  la corrente, e quindi la coppia generata è più bassa a causa della minor sezione dei fili negli avvolgimenti. Il vantaggio è costituito per contro da una maggior semplicità  del circuito di pilotaggio. Oggi tuttavia esistono sul mercato circuiti integrati espressamente progettati per pilotare motori bipolari, che pertanto sono diventati i motori passo-passo più usati.

 
Top

Il pilotaggio dei motori bipolari

I motori bipolari sono caratterizzati dall'avere solo quattro fili di connessione. Una categoria particolare è costituita dai motori unipolari a sei fili: è infatti sufficiente in questi motori non collegare la coppia di fili comuni tra due fasi per ottenere un motore bipolare, anche se in genere con caratteristiche peggiori di quelli che nascono bipolari. Per questi motori il pilotaggio è più complesso che per quelli unipolari: infatti la corrente deve attraversare gli avvolgimenti nei due versi e questo rende piuttosto complesso il circuito di pilotaggio. Il vantaggio deriva dal fatto che, essendo le fasi due anziché quattro, a parità di potenza del motore, il peso e la dimensione sono minori in quanto è necessario usare una minor quantità di rame. Inoltre, usando appositi schemi, è possibile ottenere circuiti di pilotaggio più efficienti in termini di consumo energetico e velocità di rotazione ottenibile. Infine si rende possibile introdurre nuove modalità di pilotaggio senza appesantire in modo sostanziale le difficoltà di progettazione dell'elettronica di potenza. Anche nel pilotaggio bipolare sono possibili diverse modalità:

Passo Ph1 Ph2
1 I 0
2 0 I
3 -I 0
4 0 -I
WaveMode: una sola fase alla volta è attiva. Da notare che le condizioni di funzionamento per ciascuna fase sono tre: corrente in un verso, corrente nell'altro verso, assenza di corrente (situazioni indicate rispettivamente con I, -I e 0 nella tabella).
Passo Ph1 Ph2
1 I I
2 -I I
3 -I -I
4 I -I

Two phase-on: la corrente è sempre presente nelle due fasi ma cambia verso. Questa modalità ha degli effetti sulla coppia, che aumenta di 1.4 volte e sulla corrente assorbita, che raddoppia.

Passo Ph1 Ph2
1 I 0
2 I I
3 0 I
4 -I I
5 -I 0
6 -I -I
7 0 -I
8 I -I
Half-step senza controllo di coppia: è l'insieme dei due metodi precedenti, con l'effetto principale di ottenere il raddoppio del numero dei passi.
Passo Ph1 Ph2
1 I 0
2 0,707*I 0,707*I
3 0 I
4 -0,707*I 0,707*I
5 -I 0
6 -0,707*I 0,707*I
7 0 -I
8 0,707*I 0,707*I

Half-step con controllo di coppia: parlando della tecnica di pilotaggio a mezzo passo ho accennato al fatto che, quando la corrente scorre in due fasi contemporaneamente la coppia è maggiore di quando la fase energizzata è una sola. Il problema è risolvibile riducendo la corrente che passa nelle due fasi ad un valore tale che la coppia rimanga costante. Chi ha voglia di pensarci un po' su, scoprirà che tale corrente va ridotta a 0,707 volte quella nominale.

 

Per regolare la corrente serve una notevole dose di "intelligenza" all'elettronica di pilotaggio in quanto è necessario inviare invece di una semplice onda quadra un segnale sinusoidale variabile in fase e frequenza: in pratica applicazioni concrete possono essere fatte solo con un processore dedicato oppure, recentemente, con appositi circuiti integrati.

 

La logica di pilotaggio

Osservando le tabelle riportate si vede come, per far ruotare un motore passo-passo, sia necessario generare un'opportuna sequenza di segnali logici. Questo può essere ottenuto in vari modi:

  • Attraverso un circuito integrato specializzato: In genere è il sistema più utilizzato. Per il controllo sono in teoria necessari due soli segnali: uno per la direzione (indicato con le sigle CW e CCW, cioè orario ed antiorario, corrispondenti allo scorrimento della tabella dall'alto in basso o viceversa) ed un clock che, per ciascun impulso, fa ruotare il motore di un passo nella direzione voluta, cioè scorre una riga della tabella. In genere sono disponibili altri pin ausiliari: scelta del funzionamento wave-mode, dual-phase o half-step, spegnimento di tutte le fasi, varie uscite di controllo utili per verificare lo stato del motore (eccessiva temperatura, cortocircuito, bassa tensione di alimentazione...). Classici integrati di questo tipo, ancora ampiamente utilizzati anche se tecnicamente superati, sono SAA1027 per motori unipolari e L297 per motori bipolari.
  • Attraverso circuiti digitali generici: Una scelta raramente opportuna, a meno di avere necessità particolarmente semplici (ad esempio serve la rotazione in un solo verso) oppure di disporre di integrati digitali programmabili.
  • Attraverso il pilotaggio diretto da parte di un processore: Utile per risparmiare sul numero dei componenti, anche a scapito dell'efficienza computazionale.

Il diodo di ricircolo

Come ho detto più sopra i circuiti di pilotaggio che ho disegnato sono solo di principio: infatti quando si pilotano carichi induttivi è sempre necessario inserire il cosiddetto "diodo di ricircolo", pena la repentina distruzione del transistor di potenza a causa delle tensioni elevate generate da motore. Ciascun avvolgimento del motore passo-passo è sostanzialmente un induttore, cioè un oggetto che tende a mantenere costante la corrente che in esso scorre. Quando un transistor si apre, la corrente istantaneamente dovrebbe andare a zero; l'induttore tende però ad impedire questa repentina diminuzione e per fare questo tende a far salire la tensione sul collettore del transistor (immaginate il transistor che, improvvisamente, sia diventato una resistenza molto elevata in cui l'induttore tenta di far passare una corrente elevata: per la legge di Ohm, la tensione deve salire). La tensione arriva facilmente a centinaia di volt, danneggiando il transistor stesso. Tale tensione è spesso chiamata "di fly-back". Per evitare questo fenomeno distruttivo viene inserito in parallelo alla bobina del motore un diodo che fornisce alla corrente una via alternativa a quella del transistor nel momento in cui questo si apre.

image011 - Il diodo di ricircolo

Il catodo va connesso alla tensione di alimentazione: in pratica la corrente va "in salita". Nello schema è rappresentata a sinistra la situazione in cui il transistor è in conduzione (la corrente attraversa l'avvolgimento del motore ed il transistor; nel diodo non passa corrente in quanto polarizzato inversamente). A destra invece l'andamento della corrente subito dopo l'apertura del transistor: la stessa corrente che prima attraversava il transistor ora passa nel diodo. Ovviamente quest'ultima situazione si esaurisce abbastanza rapidamente, mancando generatori in grado di mantenere nel tempo il passaggio di corrente. Una soluzione consiste nell'utilizzo di diodi zener tra collettore ed emettitore del transistor, con l'anodo connesso a massa: pur essendo migliore da molti punti di vista (maggiore velocità di intervento, migliore dissipazione di potenza), questa soluzione richiede dispositivi capaci di gestire elevate correnti alla tensione di alimentazione del motore.

Con un motore medio da 1A per fase e 12 V di alimentazione occorrono per esempio quattro zener da 15V ( > 12V) capaci di gestire picchi di potenza da 15W ( > 1 * 15).

Top

Il problema della massima velocità di rotazione

Come già accennato ciascun avvolgimento è sostanzialmente equivalente dal punto di vista elettrico ad un induttore in serie ad un resistore.

Il problema sorge dal fatto che in un motore passo-passo in rotazione la corrente deve passare continuamente da un valore zero al valore nominale; se il motore deve ruotare velocemente, queste commutazioni devono ovviamente essere rapide. Purtroppo la velocità di commutazione è limitata dalla costante di tempo (indicata dalla lettera greca Tau) del circuito R-L costituito dall'avvolgimento stesso.

Un induttore tende a mantenere costante la corrente che scorre in esso. Applicando una tensione a gradino ad un induttore la corrente aumenta secondo una curva esponenziale la cui durata dipende dalla costante di tempo Tau:

image014 - Tau = La / Ra

dove La è l'induttanza ed Ra la resistenza equivalente dell'avvolgimento. In genere non è possibile agire su La per diminuire tale tempo in quanto dipende da come il motore è costruito.

Un effetto è che quando la velocità di rotazione del motore aumenta l'assorbimento di corrente e la coppia meccanica disponibile diminuiscono. Ciò limita la massima velocità di rotazione a valori piuttosto piccoli, soprattutto nei motori ad elevato numero di passi/giro.

Aumentare la resistenza

Osservando la relazione sopra riportata si vede come, per diminuire la Tau, basti aumentare la Ra: la resistenza da utilizzare nella formula del tempo di carica è quella dell'avvolgimento sommata ad una eventuale resistenza esterna da porre in serie all'avvolgimento stesso.

image016 - R in serie

Si considerino infatti i due schemi di pilotaggio riportati nella figura (la differenza è l'inserimento della resistenza Rext, esterna al motore), confrontando i diagrammi temporali qualitativi delle relative correnti qui sotto riportati.

image018 carica e scarica

Nella prima delle due situazioni rappresentate è presente solo l'induttanza La e la resistenza Ra equivalenti dell'avvolgimento, parametri non modificabili senza costruire un nuovo motore. Il tempo necessario perché la corrente arrivi al suo massimo dipende dalla già citata formula:

Nella figura il tempo necessario è qualitativamente rappresentato in verde; la linea nera rappresenta l'andamento "ideale", cioè il caso in cui, appena il transistor va in conduzione, subito la corrente sale al suo valore massimo. Da notare che la perdita di coppia è legata alla differenza dell'area compresa tra le due curve.

Nel caso in cui venga aggiunta in serie all'avvolgimento una resistenza esterna, il tempo di carica dipende da:

image022 - Tau = La / (Ra + Rext)

tempo evidentemente minore. Nella figura è rappresentato in rosso l'andamento della corrente nel caso in cui Ra=Rext: si noti il dimezzamento del tempo necessario per far aumentare la corrente.

Esiste un difetto di questo metodo: per ottenere la stessa corrente sia nel caso di assenza che di presenza della resistenza esterna, devo avere tensioni di alimentazione diverse. Per esempio, se intendo usare una Rext pari alla Ra, devo raddoppiare la tensione di alimentazione, raddoppiando quindi la potenza elettrica da fornire. La potenza in eccesso viene dissipata come calore dai resistori esterni che devono quindi essere opportunamente dimensionati.

 
Top

Foto del circuito DualStep con annessi motori passo passo:

 

Schema elettrico del circuito  
Fotografia laterale del prototipo leggermente ritoccata. E' ben visibile il motore di destra con il pignone che tiene in tiro il cingolo.

Nel caso del nostro prototipo i motori stepper sono pilotati da un software installato su un PC, che accende i pin della porta parallela con delle sequenze prestabilite in base al movimento che si vuole far fare al mezzo. Gli spostamenti direzionali possibili sono:

Avanzamento su linea retta.


Avanti - - - Indietro

Avanzamento con un solo cingolo.

- - -
Indietro a SX - Indietro a DX - Avanti a SX - Avanti a DX

Rotazione su se stesso.


Rotazione a DX - Rotazione a SX

Per ottenere questa direzionalità, bisogna incastrare opportunamente le sequenze di stringhe da inviare al circuito attuatore. Bisogna quindi che io descriva come fa uno spinotto a 25 poli a far camminare un aggeggio con dei cingoli. Come ho descritto nella sezione della porta parallela, uso 9 fili (+ la massa) dei 16 che mi vengono dati a disposizione, di cui uno (il segnale di strobe o meglio il pin n°1) viene usato come clock dei flip-flop del circuito. I seguenti 8 (8 bit di dati D0,D1....D7 o meglio pin 2,3,4,5,6,7,8,9) vengono divisi tra i motori, ovvero 4 ad uno e 4 all'altro. Come è ben spiegato sopra, ad un motore passo-passo bipolare (il tipo utilizzato in questo progetto) servono 4 polarizzazioni diverse per completare una sequenza di movimento, quindi la tabella di verità di un motore sarà:

D0
D1
D2
D3
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1

Questa tabella descrive la rotazione di un motore in un senso. Essendo i motori montati contrapposti sulla scocca, le stringhe di rotazione sono a loro volta invertite, quindi per far procedere il robottino in avanti dovrò fare:

Motore 1
Motore 2
D0
D1
D2
D3
D4
D5
D6
D7
1
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0
1
0
1
1
0
1
0

Come si nota dalla tabella quello che cambia da mot.1 al mot.2 sono la seconda e la terza riga che sono scambiate; proprio per far ruotare il magnete verso la bobina opposta al motore adiacente.

 
Top
 

Glossario

Quest'ultimo paragrafo raccoglie alcuni termini spesso usati per descrivere i motori passo-passo.

  • Step angle (angolo di passo): distanza angolare tra due passi vicini. Valori normali sono 1.8° e 3.6°.
  • Step per revolution (passi per giro): il numero di passi necessari per una completa rivoluzione, valore ovviamente strettamente dipendente all'angolo di passo. Valori normali sono 100 passi/giro (equivalenti ad un angolo di 3.6°) e 200 passi/giro (1.8°). Questo valore è in genere stampigliato in chiaro sul motore (o in alternativa troverete l'angolo di passo). Nel caso non ci sia, potete provare a contare gli scatti che si sentono ruotando a mano il motore non alimentato. Da notare che tale valore si riferisce al pilotaggio a passo intero.
  • Corrente nominale: è la corrente che attraversa ciascuna fase nelle condizioni normali di funzionamento. In genere è stampigliata sul contenitore del motore, in alternativa alla tensione nominale. Occorre evitare correnti maggiori in quanto è facile arrivare alla saturazione dei materiali magnetici oppure al surriscaldamento degli avvolgimenti. Valori normali, relativi ai motori che normalmente si trovano nelle vecchie stampanti, vanno da 0.5A a 2A o poco più.
  • Tensione nominale: è la tensione che, collegata direttamente ad una delle fasi, produce la corrente nominale. Questa non è necessariamente la tensione di alimentazione in quanto dipende dal metodo di pilotaggio. Valori normali: da meno di 5V a 24V.
  • Resistenza della bobina: è il legame tra tensione e corrente, in situazioni stazionarie. A volte è stampata ma è comunque semplicemente misurabile con un multimetro.
  • Induttanza della bobina: raramente si conosce questo valore. Inoltre non è molto significativo in quanto dipende fortemente dalla posizione angolare del rotore. Per questo stesso motivo è pressoché inutile misurarla con elevata precisione usando un ponte RLC o tecniche analoghe.
  • Residual torque (coppia residua o anche detent torque): la coppia che si oppone alla rotazione dell'albero di un motore non alimentato. E' questa che permette di contare i passi ruotando a mano l'albero.
  • Holding torque (coppia di tenuta): la coppia che, con motore alimentato, si oppone alla rotazione. In genere è piuttosto elevata e, anche per motori di piccole dimensioni, è praticamente impossibile ruotare l'albero senza utilizzare una qualche leva. Da notare che la massima coppia di tenuta la si ottiene ruotando l'albero di 1/2 di passo: superato tale angolo, la posizione dell'albero scatta al passo successivo.
  • Pull-in torque: è la coppia massima che, applicata al motore, ne permette la partenza ad una data velocità.
  • Pull-out torque: è la coppia massima che, con il motore in moto ad una data velocità, può essere applicata senza far perdere il passo.
  • Pull-in rate (o anche pull-in speed): è la massima velocità a cui il motore può partire, applicando una data coppia.
  • Pull-out rate (o anche pull-out speed): è la massima velocità a cui il motore può arrivare data una certa coppia resistente. Tale velocità deve essere raggiunta con piccoli incrementi di velocità.
  • Overshot: è l'oscillazione meccanica che il motore compie intorno alla sua posizione di equilibrio subito dopo uno spostamento. Dipende dal motore, dal pilotaggio e dal carico. Qualche volta, se eccessivo, crea problemi alla meccanica, in particolare l'usura degli ingranaggi.
  • Positional accuracy: indica la precisione meccanica di posizionamento angolare, misurata in percentuale rispetto all'angolo di passo. Valori normali sono intorno al 5% (cioè 0.09° per un motore da 200 passi/giro). Tale errore non è cumulativo, cioè dopo un numero arbitrario di passi, rimane in valore assoluto invariato.
  • Frequenza di risonanza: è la velocità di rotazione, o meglio le velocità, dato che sono più di una, in cui il motore eroga una coppia molto bassa, arrivando addirittura a fermarsi spontaneamente.
 
Top

Quì lo schema semplificato del sistema di controllo del prototipo su cingoli

 
   
 
 
 
     
 
 

Oscilloscopio

In questa immagine dall'oscilloscopio si vedono in alto gli impulsi di clock (dal segnale di strobe della porta parallela) ed in basso il livello di un pin usato per controllare la polarità di un filo dello stepper.

 
 

 
Top

Alessandro del Gallo