NEMA17 и DRV8825 200 шагов дают только половину оборота
У меня есть этот код:
#include <stdint.h>
# define STEP 14
void setup()
{
pinMode(STEP, OUTPUT);
}
long steps = 0;
void loop()
{
if (steps < 200)
{
digitalWrite(STEP, digitalRead(STEP) ^ 1);
delay(10);
steps++;
}
}
Простая реализация, и у меня есть двигатель nema17 с 1,8 градусами на шаг, который должен давать 200 шагов на оборот, но у меня есть только пол-оборота на 200 шагов, я попытался подключить все контакты MODEx к VCC, и это должно дать мне 6400 шагов на оборот но 6400 шагов тоже дает ми пол оборота. Может проблема в проводке двигателя? Почему я не получаю полный оборот? Под полным оборотом я подразумеваю, что вал двигателя должен совершить полный оборот, но только половину.
@dfilkovi, 👍0
1 ответ
Лучший ответ:
См. стр. 33 технического описания DRV8825 https://www.ti.com/lit/ds/ символическая ссылка/drv8825.pdf.
DRV8255 перемещает шаговый двигатель по переднему фронту сигнала.
Для этого требуется, чтобы сигнал стал низким, а затем высоким.
Это два цикла вашей программы.
Добавьте две строки в свой код, чтобы он был низкий уровень вывода, задержка 10, высокий уровень вывода, задержка 10
- Accelstepper запустить степпер назад
- Как заставить шаговый двигатель вращаться по часовой стрелке и против часовой стрелки
- Управление направлением шагового двигателя с помощью кнопок.
- Разгон шагового двигателя
- Использование кнопки для поворота шагового двигателя на 90 градусов.
- Изменение ШИМ на Arduino Mega, контакты 9 и 10 на 20–25 кГц
- Установить низкий уровень мощности или включить контакт драйвера шагового двигателя, чтобы шаговый двигатель не нагревался.
- Шаговый двигатель не работает с платой A4988