некорректная работа шагового двигателя

AEN

✩✩✩✩✩✩✩
28 Авг 2021
1
0
Оформи код соответствующим тэгом
Добрый день.
Подскажите, в чем может быть проблема некорректной работы шагового двигателя
Есть:
  • шаговый двигатель 57HS56-3004A08-D21 (Nema 23), угловой шаг 1,8,
  • драйвер шагового двигателя TB4240, протокол Step-Dir-Enable, деление шага от 1 до 1/16, выставлен шаг 1/1
  • arduino uno
Проблема:
пытаюсь простым скетчем (ниже) задать скорость 60 об/мин
В результате двигатель дребезжит, нужной скорости вращения не выдает, иногда не вращается в нужную сторону. Опытным путем установлено, что стабильная работа начинается только если задать steps = 1100

#include <Stepper.h> // подключение стандартной библиотеки Stepper
const int steps = 200; // переменной с именем «steps» указываем количество шагов на оборот, это 200, т.к. 1,8 градуса за шаг.
Stepper ShVP(steps, 8, 9, 10, 11); // указываем к выводам подключен шаговый двигатель
// В void setup устанавливаем скорость шагового двигателя, вызывая функцию «setSpeed()»
void setup()
{
ShVP.setSpeed(60);
}

// В void loop вызываем функцию «step()», которая вращает двигатель на определенное количество шагов со скоростью, определяемой в функцией setSpeed().
void loop()
{
ShVP.step(2000); // (2000 шагов) по часовой стрелке
delay(1000);
ShVP.step(-2000); // (2000 шагов) против часовой стрелке
delay(1000);
}
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,799
579
44
Как обычно нужно начать с проверки правильности подключения обмоток. Может подключено по половине обмоток из-за чего не выдает нужный момент при шаге.