Как правильно включать и отключать драйвер шагового двигателя с контактов + ENA и -ENA?

Я хочу обесточить шаговый двигатель с контактов + ENA и -ENA на шаговом драйвере. Я хотел знать, как это сделать правильно? Я соединяю два контакта включения с двумя цифровыми контактами микроконтроллера.

Я попытался использовать приведенный ниже код, но, похоже, степпер работал во всех случаях. Где я ошибаюсь?

#include "mbed.h"

#include "stepperMotor.h"

Serial pc(USBTX,USBRX);

sMotor Radial_Stepper(PA_3, PC_0, PC_3, PF_3);   // 24V NEMA23
DigitalOut Radial_Stepper_Enable(PE_8);          // To enable Radial Stepper
DigitalOut Radial_Stepper_Disable(PG_1);

int main()
{
    int ch;

    while (true) 
    {
        pc.printf("\nChoice: ");
        pc.scanf("%d",&ch);

        switch(ch)
    {
        case 1: Radial_Stepper_Enable = 1;
                Radial_Stepper.step(200,0,400); 
                Radial_Stepper_Disable = 1;
        break;

        case 2: Radial_Stepper_Enable = 0;
                Radial_Stepper.step(200,0,400); 
                Radial_Stepper_Disable = 1;
        break;

        case 3: Radial_Stepper_Disable = 1;
                Radial_Stepper.step(200,0,400);
                Radial_Stepper_Enable = 0;
        break;
    }
    }
}

Я ожидал, что шаговый двигатель не будет вращаться в случаях 2 и 3, потому что радиальный шаговый двигатель не был включен.


person Anshul Sood    schedule 12.04.2019    source источник
comment
Я бы посоветовал посмотреть документацию на драйвер, возможно, есть дополнительные условия, которые должны быть выполнены помимо этих контактов.   -  person Jorge Juan Torres Quiroga    schedule 12.04.2019


Ответы (1)


Запустите драйвер шагового двигателя отдельно, чтобы проверить, работают ли эти контакты включения должным образом. Затем внесите соответствующие изменения в программу.

person Muhammad Ahsan    schedule 25.04.2019