Quiero usar un microcontrolador para controlar un motor paso a paso. ¿Cómo generar pulsos paso a paso? ¿Podrías darme algunos programas en C?
Es muy sencillo utilizar el método de la tabla de búsqueda.
code uchar Tab[] = {0x02, ....}; // Diferentes motores tienen diferentes tablas y diferentes métodos de control tienen diferentes tablas.
Motor vacío (modo de ejecución de uchar){
paso de uchar estático = 0;
P0 = Tab[paso];
interruptor( runmode){
caso 0: //Rotación hacia adelante
paso = (paso + 1) % 8;
descanso;
caso 1: //Paso inverso
= (paso + 7) % 8;
descanso;
caso 2: //Definido
romper;
caso 3: //Detener
paso = 8; //Tab[8] = 0x00;
romper;
}
}
// Simplemente llame a esta función en la interrupción del temporizador.