movimiento del motor paso a paso

0

He encontrado el código para ejecutar un motor paso a paso ( enlace ), sin embargo, no estoy seguro de si es correcto:

void sMotor:anticlockwise() { //rotate the motor 1 step anticlockwise
    for(int i = 0; i < 8; i++) {
        switch (i) { // activate the ports A0, A2, A3, A3 in a binary sequence for steps
        case 0: {
            _A0=0;
            _A1=0;
            _A2=0;
            _A3=1;
        }
        break;
        case 1: {
            _A0=0;
            _A1=0;
            _A2=1;
            _A3=1;
        }
        break;
        case 2: {
            _A0=0;
            _A1=0;
            _A2=1;
            _A3=0;
        }
        break;
        case 3: {
            _A0=0;
            _A1=1;
            _A2=1;
            _A3=0;
        }
        break;
        case 4: {
            _A0=0;
            _A1=1;
            _A2=0;
            _A3=0;
        }
        break;
        case 5: {
            _A0=1;
            _A1=1;
            _A2=0;
            _A3=0;
        }
        break;
        case 6: {
            _A0=1;
            _A1=0;
            _A2=0;
            _A3=0;
        }
        break;
        case 7: {
            _A0=1;
            _A1=0;
            _A2=0;
            _A3=1;
        }
        break;
    }


    wait_us(motorSpeed); // wait time defines the speed 
    }
}

El resto de la clase trabaja con esta implementación, tengo razón al suponer que llamar a esta función moverá el motor 8 pasos, y no uno, o hay algo que no entiendo.

    
pregunta user1949350

1 respuesta

2

Hay muchas explicaciones en la web para este problema con todos los detalles.

Esta configuración de bobina doble de 4 cables utiliza corriente bipolar en 4 fases para 4 pasos u 8 pasos medios o 16 pasos trimestrales y más. La velocidad y el par son compensaciones para una mayor resolución con pasos de corriente fraccional.

Aquí puede convertir los cambios de estado en corriente a lógica binaria para indicar la corriente bipolar que se muestra aquí con 8 pasos a medias que pueden repetirse para el número de polos del rotor + estator por rev. x4.

Los pasos completos tienen el mayor torque.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas