@Lexluter20

Не работает шаговый двигатель, в чём пролема?

Здравствуйте, подключил шаговый двигатель nema23hd 1000y-30B 3А к arduino через драйвер tb6600. на вход к драйверу идёт 30 вольт.

Подключение через общий минус EN- PUL- DIR- идут на минус питания 5v,
EN + DIR+ PUL+ подключены к ардуино.
Обмотки прозвонил подключил по схеме на драйвере.
простой скетч для этого
int step = 2; 
int direction = 4;
int enable = 5;

//переменная задержки между шагами
int wait;

void setup()//Эта функция работает только один раз при запуске ардуино
{
//подключаемся ардуиной к компьютеру, чтобы выводить информацию в монитор порта
Serial.begin(9600);

//Устанавливаем пины ардуины в режим "выход".
pinMode(step, OUTPUT);
pinMode(direction, OUTPUT);
pinMode(enable, OUTPUT);
}

void loop()                  //Эта функция работает циклически
{

wait=100;                     //Устанавливаем задержку между шагами, так как задержка включается 2 раза за шаг, "шагать" движек будет каждые 32мс.


Serial.println("Устанавливаем целый шаг и делаем 200 шагов в одну сторону"); //выводим строку в монитор порта
  ////
digitalWrite(enable, LOW);
digitalWrite(direction, HIGH);      // устанавливаем начальное направление вращения
delay(wait);
for(int i=0; i<100; i++){    // Запускаем цикл, который выполнит действия 200 раз
digitalWrite(step, LOW);    // Подаем логическую 1 на вывод STEP драйвера, чтобы двигатель сделал шаг.
delay(wait);                 // Задержка времени
digitalWrite(step, HIGH);     // Подаем логический 0 на вывод STEP драйвера, после этого драйвер будет ожидать новую 1, чтобы сделать еще 1 шаг.
delay(wait);
}

digitalWrite(direction, LOW);  // устанавливаем начальное направление вращения
delay(wait);
for(int i=0; i<100; i++){    // Запускаем цикл, который выполнит действия 200 раз
digitalWrite(step, LOW);    // Подаем логическую 1 на вывод STEP драйвера, чтобы двигатель сделал шаг.
delay(wait);                 // Задержка времени
digitalWrite(step, HIGH);     // Подаем логический 0 на вывод STEP драйвера, после этого драйвер будет ожидать новую 1, чтобы сделать еще 1 шаг.
delay(wait);
}

}

проверял этот код через двигатель nema17 драйвер a4988 - всё работает.
Двигатель стучит как будто на него есть пульс но не поворачивает, также этот пульс не стабилен в временном промежутке. Менял провода обмоток местами, всё тоже самое. В чём проблема, подскажите, пожалуйста?
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы