Menu:

PPTEA ed i Motori Passo Passo - Step Motors


Questa è la discussione originale.
Questa è la continuazione del progetto specifico.

Apriamo questa discussione per occuparci del controllo dei motori passo passo mediante il PPTEA.
E' un percorso praticamente obbligato...controllando i motori passo passo...daremo braccia e gambe al PPTEA.
Faremo un poco di teoria e poi faremo qualche esempio. Chi non ha un motore passo-passo recuperato da qualche stampante?
Io ne ho un paio a 4 fili e inizieremo da questi.
Siete pronti? Se qualcuno vuole aiutarmi sulla descrizione della parte teorica ben venga, risparmierei tempo.

Questo è il codice eabasic che comunica con il SW che gira sul PC e subito sotto il video.

CODICE:

05 ' PPTEA:MOTORE PASSO PASSO
10 DIR=200
15 VEL=50
20 VAL=USBINP
25 if VAL>= 200 then 30
26 if !VAL then 35
27 VEL=VAL ' ACCELERA O DECELERA IL MOTORE
28 GOTO 35
30 IF !VAL THEN 35
32 DIR=VAL
35 IF DIR=200 THEN 50
36 IF DIR=201 THEN 190
40 goto 20

50 'MOTORE AVANTI
80 OUT=&H8000
90 waitms VEL
100 OUT=&H2000
110 waitms VEL
120 OUT=&H4000
130 waitms VEL
140 OUT=&H1000
150 waitms VEL
170 goto 20

190 'MOTORE INDIETRO
220 OUT=&H1000
230 waitms VEL
240 OUT=&H4000
250 waitms VEL
260 OUT=&H2000
270 waitms VEL
280 OUT=&H8000
290 waitms VEL
310 goto 20



Le note che seguono sono state prese dal sito di Capaso.

Tipi di motori Passo-Passo

Di motori PP ne esistono di diversi tipi.
Una prima classificazione è fatta in base a criteri costruttivi:
si possono trovare motori a magnete permanente, a riluttanza variabile o ibridi.
I più frequentemente utilizzati in apparecchiature di piccola potenza sono i motori a magnete permanente.
Questi ultimi si suddividono in motori unipolari e bipolari a seconda del tipo di avvolgimenti costruiti nello statore.
La differenza sostanziale è che nei primi la corrente negli avvolgimenti scorre in un solo verso, mentre nei bipolari la corrente fluisce in entrambi i sensi.
Per questo tipo di motori si può far riferimento allo schema seguente:



Fisicamente si distinguono o dai dati ti targa (quando leggibile) o, soprattutto, dal numero di conduttori che fuoriescono dal corpo del motore:
nei bipolari si contano 4 fili, mentre negli unipolari 5 o 6 fili, a seconda del tipo di collegamento dell' alimentazione.
Solitamente questi fili rispettano un codice colori, che personalmente non so quanto sia affidabile, ad ogni modo si conviene che:

Pilotaggio

L'asse di un motore PP può ruotare in un senso o nell' altro solo di quantità fisse, dette appunti passi (step).
La "risoluzione" non è la stessa per tutti i motori, ovvero: per compiere un giro completo dell'asse sono necessari un numero di step totali differenti, come ad esempio:






Nell'esempio del filmato utilizzo un motore passo passo a 4 fili e il circuito è esattamente quello a sinistra dello schema di sopra.
Ci sono 8 transistor che controllano le due bobine, è un semplice controllo di un ponte ad H che polarizza la bobine in modo sequenziale per far ruotare il motore.

Questa è la continuazione della discussione per un progetto specifico.

PPTEA - Come controllare i motori passo passo di tipo bipolare.



Questo è uno schema che utilizza due transistor darlington (TIP122) e può alimentare il motore con una tensione diversa da quella del processore.
Ad esempio si può utilizzare un motore da 12V sempre alimentando il processore con la +5V.
Per ogni motore ci saranno 4 controller che andranno posti su ogni bobina del motore passo passo, i motori passo passo bipolari sono a 4 fili, quindi non c'è possibilità di errore;
l'importante è mettere il controller 1 e il controller 2 su una stessa bobina e poi il controller 3 ed il controller 4 sull'altra.
Controllare con un tester per vedere quali siano i capi delle due bobine.
Per l'applicazione Orologio Astronomico occorrono 12 controller agganciati al PPTEA (12 output) e le uscite andranno ai relativi fili dei motori.

Questo è lo schema per collegare il primo motore passo passo al PPTEA utilizzando il controller (rappresentato come un rettangolo).


Ora vediamo cosa deve fare il software per far girare il motore passo passo.
Questa è la tavola degli stati:



Di fatto occorre che un bit scorra in una determinata sequenza che chiameremo passi;
eseguendo la sequenza Passo1, Passo2, Passo3, Passo4, Passo1, Passo2, Passo3, Passo4 etc.
il motore passo passo si muoverà in avanti.
Invertendo la sequenza, cioè Passo4, Passo3, Passo2, Passo1, Passo4, Passo3, Passo2, Passo1, Passo4, etc. il motore si muoverà in senso opposto.
Se otteniamo un movimento invertito occorre girare i capi delle bobine, cioè il pin 28 andrà al 27, il 27 al 28, il 26 al 24 e il 24 al 26.
Questo è il codice di due subroutine per far andare il motore in avanti o indietro.

CODICE:

50 :MOTORE_AVANTI
80 OUT=&H8000
90 waitms VEL
100 OUT=&H2000
110 waitms VEL
120 OUT=&H4000
130 waitms VEL
140 OUT=&H1000
150 waitms VEL
170 return

190 :MOTORE_INDIETRO
220 OUT=&H1000
230 waitms VEL
240 OUT=&H4000
250 waitms VEL
260 OUT=&H2000
270 waitms VEL
280 OUT=&H8000
290 waitms VEL
310 return


Vediamo come integrare un motore passo passo a 6 fili.

Questo è il controller:



Questo è lo schema:



Questa è la tavola per il movimento:



Questo è il codice:

CODICE:

50 :MOTORE_AVANTI
80 OUT=&HA000
90 waitms VEL
100 OUT=&H9000
110 waitms VEL
120 OUT=&H5000
130 waitms VEL
140 OUT=&H6000
150 waitms VEL
170 return

190 :MOTORE_INDIETRO
220 OUT=&H6000
230 waitms VEL
240 OUT=&H5000
250 waitms VEL
260 OUT=&H9000
270 waitms VEL
280 OUT=&HA000
290 waitms VEL
310 return


Continua....




Valid XHTML 1.0 Strict



[ Back to top ] [ Home ]