Рывки шагового мотора

Sabonius

✩✩✩✩✩✩✩
7 Мар 2021
4
0
При плавном разгоне в области малых скоростей мотор дергается, и довольно сильно. И на разгоне и на торможении.
Проверено 2 мотора, 3 одинаковых драйвера drv8825. (tmc2208 вообще не крутит, проверено 4 шт).

C++:
#include "GyverStepper2.h"
GStepper2<STEPPER2WIRE> stepper(200, 2, 3);

void setup() {
  //stepper.enable();
  stepper.setMaxSpeed(1000);     // скорость движения к цели
  stepper.setAcceleration(150); // ускорение
  stepper.setTarget(10000);       // цель
}

bool dir = 1;
void loop() {
  stepper.tick();   // мотор асинхронно крутится тут
Также пробовал библиотеку GyverStepper и AccelStepper.

Пробовал также просто дергать step пин:

C++:
digitalWrite(step, HIGH);
  delayMicroseconds(X);
  digitalWrite(step, LOW);
  delayMicroseconds(Y);
Постепенно уменьшая Y для плавного разгона.
 

Sabonius

✩✩✩✩✩✩✩
7 Мар 2021
4
0
Моя первая цитата - пример кода из библиотеки GyverStepper. Другие примеры для других библиотек я тоже проверял.

Установил маховик - рывки исчезли.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
Рывки наверное были шагами. Это нормально если драйвер без микрошага.
 

Sabonius

✩✩✩✩✩✩✩
7 Мар 2021
4
0
Рывки были градусов на 30 в обратном направлении. Это шагами не объяснить.
Надо бы кино снять.

Проверяй проводку мотора и исправность всех катушек.
2 разных мотора. Рывки только на низких оборотах.
 
Изменено: