NEMA17 тремор двигателя на фазах разгона и торможения.

LyaNIka

✩✩✩✩✩✩✩
8 Июн 2025
1
0
Только недавно начал работать с шаговыми двигателями, в качестве двигателя использую Nema17 17he15-1504S 1,5А, 200 spr, 42N*cm. В качестве драйверов использовал несколько вариантов а4988, tb6600. Использую ИБП на 24В. Скетч до боли прост:

C++:
#include <AccelStepper.h>

AccelStepper stepper(AccelStepper::DRIVER, 27, 26);

int pos = 2000;

void setup()
{ 
  stepper.setMaxSpeed(1500);
  stepper.setAcceleration(150);
}

void loop()
{ 
  if (stepper.distanceToGo() == 0) {
    pos= -pos;
    stepper.moveTo(pos);
  }
  stepper.run();
}
Хронология следующая, первое время использовал a4988, выставил ток в пол, тк было все равно на момент, опробовал код, писал свою библиотеку для дальнейшей работы. Со временем начал проектировать кинематику, возник спрос на момент, начал настраивать а4988, выставил ток на 1 ампер, чтобы и драйвер пощадить и движки сильно не греть на время испытаний. Момент безусловно вырос, но возникла проблемы, начался сильный тремор двигателя, пытался и программно фиксить и уменьшал скорость и ускорения. Изменял ток на а4988, в общем Vref выставил на 0.25-0.28В и тремор пропал, НО значение момента не устроило. Заменил драйвера на tv6600, выставил switch на 1А без микрошага, ситуация лучше не стала, двигатель безусловно замечательно показывает себя на больших оборотах, движение с постоянной скоростью как и торможение отрабатывает на 100 из 100 (но мне необходимо плавный разгон и торможение). Программу запускал как с ESP32, так и с Arduino Nano. Грешил что 3.3В логику ESP32 не видят драйвера, но картина при 5В логики была идентична, код банален до нельзя (взят из example). Где-то в интернете натыкался, что высокое напряжение нет смысла юзать при небольших оборотах, счел что может быть проблема как раз в ибп, собрал лиионки на 12.7 В, включил в схему, лучше не стало. В общем решил обратиться к людям знающим, опытным. Тема очень актуальна, фидбэк буду давать в течении нескольких часов.