Управление шаговым двигателем

Добрый день. Подскажите, есть простенький модуль управления шаговым двигателем. Есть простенька прога для управления, скатанная с форумов. Но возникает проблема с тем, что после 7 тысяч оборотов двигатель начинает гудеть и спотыкаться, всё это усиливается уже ближе к 8 тысячам. Может кто подскажет, как оптимизировать прогу-работу двигателя? чего не хватает?(что мозгов не хватает и так знаю, кроме этого) Заранее спасибо.

#define GS_NO_ACCEL

//#define SMOOTH_ALGORITHM
//#define GS_FAST_PROFILE

//#include <FIFO.h>
//#include <GStypes.h>
//#include <GyverPlanner.h>
//#include <GyverPlanner2.h>
//#include <GyverStepper.h>
#include <GyverStepper2.h>
#include <StepperCore.h>

GStepper2< STEPPER2WIRE> stepper(2000, 10, 11);
#define pot A0

void setup()

{ 
  pinMode(2, OUTPUT);
  digitalWrite(2, 1);
  stepper.setMaxSpeed(5500);

  //stepper.setAcceleration(300);

}
void loop()
{
  digitalWrite(2, ((map(analogRead(pot), 0, 1023, 0, 4500)) < 100));
  int val = analogRead(pot);
  int val_1 = (int)(3.2*val);
  //int Move_1 = (int)(0.22*val) + 25; // ~ диапазон от 25 до 250 шагов за 1 тик loop() программы
  //stepper.setTarget(300);
  stepper.setSpeed(val_1);
  stepper.tick(); //while
  
}  
  
  1. Где тут 7000 оборотов?
  2. Покажи расчеты по которым ты определил, что мотор может выдать 7000 оборотов.

“7000 оборотов” скорее всего в минуту… но все равно много

ТС, сколько шагов на оборот у вашего мотора?

Почаще вот такое используйте и мотор не только загудит, но и затрясётся.

А вообще - спотыкание (падение момента) характерно для высоких скоростей.
https://www.orientalmotor.com/stepper-motors/technology/speed-torque-curves-for-stepper-motors.html

о, я и не заметил
@noob , если вы пишете код с использованием библиотек Гайвера - то на его форуме и надо спрашивать. Там, хотя бы, вас никто с ходу в лес не пошлет за это.
А если спрашиваете тут - то первый совет выкинуть все библиотеки Гайвера, без этого вряд ли кто-то будет серьезно рассматривать ваш код

5500 шагов в секунду на простеньким шаговом двигателе ?
Удачи

ЗЫ: тут в общем то без либы сантехника, затея дурная.

Приветствую! Спасибо за ответ. Подскажите, где можно найти эту либу? Необходимо чтобы было управление 0-5В по AI. Используем MicrostepDriver DM556.

Приветствую! Спасибо за ответ, какой библиотекой лучше воспользоваться, если не гайвером? Необходимо чтобы было управление 0-5В по AI. Используем MicrostepDriver DM556.

Что такое AI в DM556? Прям интересно стало.

Analog input 0 -5 в.

Нет у DM этого никакого AI.

По ходу дела вам нужна зависимость скорости от напряжения на входе Arduino.

Возьмите стандартный Accelstepper для начала. Гувер все равно с него передирал, думаю ))

в качестве аналогового входа используем ардуино на вход 0-5в на выходе получаем количество импульсов для драйвера DM.