Scheda comando
motore passo-passo

Programma in Qbasic
ultimo aggiornamento 4 febbraio 2008



 
CONTROLLO DEL MOTORE

Fare in modo che il calcolatore comunichi con il motore è forse la fase più semplice di questo progetto.
Osservando la tabella sotto, si può osservare che per ogni passo della sequenza di controllo devono variare le alimentazioni "logiche" delle bobine.

homotix

PCBA

OurPCB

Se si pensa a queste combinazioni come digit binari si può verificare che sono necessarie parole di 4 bit.
Tutto quello che si deve fare è inviare queste parole alla porta parallela dei computer ogni volta che si desidera far ruotare il motore di un passo.
Trasformando questa informazione da binario a decimale, si può notare che la sequenza necessaria per far avanzare il motore di quattro passi è 10-9-5-6; per mantenere il motore in rotazione continua è sufficiente perciò ripetere la stessa sequenza.
Realizzare questa operazione è molto facile; il sistema più semplice è quello di inviare questa informazione direttamente all'uscita della stampante tramite un'istruzione scritta in BASIC.
Si deve quindi caricare il BASIC e scrivere la seguente istruzione:

OUT 888,10 <RETURN>

Questo comando invia un valore decimale 10 (1010 in binario) alle prime quattro linee della porta parallela. I diodi LED corrispondenti alla prima sequenza di rotazione si illuminano e il motore si muove di un passo. Se ora si scrive l'istruzione:

OUT 888,9 <RETURN>

la sequenza di accensione dei diodi LED cambia, e il motore avanza sino alla posizione successiva. Per i successivi avanzamenti si devono scrivere le due istruzioni che seguono:

OUT 888,5 <RETURN>
OUT 888,6 <RETURN> 

Se si vuole ottenere un comportamento più ,professionale" dal circuito, si consiglia di scrivere un breve programma che controlli il movimento completo dei motore:

10 OUT 888,10 <RETURN>
20 OUT 888,9 <RETURN>
30 OUT 888,5 <RETURN>
40 OUT 888,6 <RETURN>
50 GOTO 10

Per fermare il ciclo continuo dei programma si devono premere contemporaneamente i tasti CTRL-BRK. In funzione della velocità dei calcolatore utilizzato si possono verificare due situazioni: il motore funziona correttamente, oppure rimane completamente fermo. la ragione di questo comportamento è dovuto al fatto che la velocità alla quale la sequenza dei dati di azionamento viene inviata al motore dipende dalla velocità stessa dei calcolatore.
Se questi ordini arrivano al motore passo-passo ad una velocità superiore a quella per cui è stato progettato non è in grado di sincronizzarsi con queste istruzioni. Ciò significa che viene persa l'integrità di passo di ciascuna istruzione. la cosa peggiore che si può verificare è che il motore si blocchi e cominci a emettere strani rumori. Se ci si trova in questa situazione il programma deve essere modificato introducendo una breve pausa tra ogni singola istruzione di movimento.

10 OUT 888, 10 <RETURN>
15 GOSUB 100
20 OUT 888,9 <RETURN> 
25 GOSUB 100
30 OUT 888,5 <RETURN> 
35 GOSUB 100
40 OUT 888,6 <RETUIRN> 
45 GOSUB 100
50 GOTO 10
100 FOR X=1 TO 10
110 NEXT X
120 RETURN 

Così facendo il programma tra una istruzione di movimento e quella successiva salta alla subroutine presente alla linea 100, che rappresenta un temporizzatore. Variando il valore utilizzato riportato in questa linea (ad esempio 20 invece di 10), si modifica il tempo di ritardo programmato tra ciascuna istruzione.
E' possibile migliorare questo programma inserendo all'inizio una richiesta di INPUT, in modo che venga richiesto il verso di rotazione desiderato; per una rotazione in senso orario si deve fornire la sequenza 10-9-5-6, mentre per ottenere una rotazione antioraria bisogna fornire la sequenza inversa, 65-910.
Con un minimo di fantasia si possono programmare diversi movimenti dei motore, simulando la gestione di un robot.
Con dieci movimenti diversi, ciascuno con la sua sequenza di controllo e relativo numero di impulsi, è possibile simulare il movimento di apparecchiature diverse, inserire delle pause per eseguire determinate operazioni e, se si desidera, pilotare un carico di una certa consistenza per sperimentare la tecnica "ramping"

 

Per eseguire il programma occorre il programma QBasic, che era allegato nelle versioni di MS-DOS 5.0 e superiori, incluso Microsoft Windows 95.
Il programma gira anche sotto XP

 

 

Programma QBasic

Programma.bas

 

Elenco revisioni:
04/2/2008 Emissione preliminare
Private Policy Cookie Policy