Come programmare un microprocessore per controllare un motore passo-passo

Un motore passo passo è diverso dalla maggior parte dei motori in quanto è progettato per muoversi nei passaggi individuali (o "discreti"). Chip del controller specializzati o microprocessori generano accuratamente progettati sequenze di impulsi di tensione che determinano la velocità e direzione di rotazione del motore passo a passo. Motori passo-passo non sono destinati tipicamente per il funzionamento ad alta velocità, quindi la frequenza di impulso è bassa. Di conseguenza, quasi qualsiasi microprocessore può guidare un motore passo-passo senza processore significativo di caricamento.

Istruzioni

• Scegliere la velocità di rotazione desiderata del motore passo a passo e consultare la scheda tecnica del vostro motore per convertire questo al "passi al secondo."

• Determinare la sequenza di passi per il vostro motore. Queste informazioni sono anche disponibili nel foglio dati.

• Allocare il PIN della porta per guidare le linee di controllo di passo-passo. La maggior parte stepper hanno quattro linee di controllo, quindi probabilmente avrete bisogno di quattro perni. Ricordarsi di configurare questi pin come output.

• Dividere uno per la velocità desiderata del motore a passi al secondo. Questo ti dà il periodo di passaggio, in altre parole, la quantità di tempo tra i passaggi.

• Configurare un timer per generare un interrupt quando supera. Chiamare questo il timer di passaggio. Ogni volta che il timer di passaggio in overflow, il processore sarà vettore in una routine di servizio di interrupt. Questo è dove potrete aggiornare il pin di controllo passo-passo e caricare un nuovo valore di timeout del timer.

• Configurare il timer per un periodo di overflow molto più lungo rispetto al periodo di passaggio e avviare il timer. Sarà necessario accelerare (e, se possibile, decelerare) il motore, quindi deve diminuire gradualmente il periodo di overflow fino a raggiungere il periodo di passo desiderato. Per un funzionamento ottimale, è necessario implementare un profilo di accelerazione di velocità lineare come descritto nella nota applicativa da Silicon Laboratories.

• Aggiornare ogni pin di controllo secondo la sequenza di passi del motore ogni volta che i vettori di programma all'interrupt service routine.

• Incrementare un contatore nella vostra routine di servizio di interrupt, quindi il programma sarà sapere quando smettere di guidare il motore.