Разгон шагового двигателя
Я в данный момент пытаюсь плавно передвигать шаговый двигатель. Проблема с шаговым двигателем заключается в том, что он издает высокий шум во время движения или иногда потрескивает от двигателя.
Поэтому я попробовал увеличить частоту шагового сигнала, что, похоже, немного помогло, но не идеально. Затем я попробовал микрошаг вместо полного шага, что тоже немного помогло, но шум все равно очень отчетливый.
Я использую двигатель PK244-01A И драйвер, к которому он подключен, — этот
Я совсем не уверен, что заданное мной линейное изменение слишком крутое или совершенно неправильное, но вот код, который управляет двигателем.
void stepper_motor::step_pwm()
{
digitalWrite(en_pin,HIGH);
delay(0.005);
digitalWrite(dir_pin,HIGH);
//LOW - Двигаемся к датчику
//ВЫСОКИЙ — отойти от датчика
delay(0.005);
int increment = 0;
int step_count = 0;
while(step_count <= max_step)
{
digitalWrite(step_pin,LOW);
delayMicroseconds(2000);
digitalWrite(step_pin,HIGH);
delayMicroseconds(2000-increment);
step_count++;
if(step_count >= 1)
{
increment++;
step_count = 0;
}
}
}
Что можно сделать, чтобы уменьшить шум двигателя?
@Carlton Banks, 👍0
0
Смотрите также:
- Accelstepper запустить степпер назад
- Как заставить шаговый двигатель вращаться по часовой стрелке и против часовой стрелки
- Управление направлением шагового двигателя с помощью кнопок.
- Использование кнопки для поворота шагового двигателя на 90 градусов.
- Изменение ШИМ на Arduino Mega, контакты 9 и 10 на 20–25 кГц
- Установить низкий уровень мощности или включить контакт драйвера шагового двигателя, чтобы шаговый двигатель не нагревался.
- Шаговый двигатель не работает с платой A4988
- Как запустить шаговый двигатель через последовательную связь