Запуск ШД с a4988 + CNC Shield

Добрый день. Пытаюсь запустить ШД двигатель с драйвером a4988 + CNC Shield v3. При запуске происходит бесконтрольное дёрганье двигателя туда - сюда примерно 5-7 раз, по итогу он остаётся на той же самой позиции, а после остановки начинает издавать непрерывный сигнал на высоких частотах, при этом он ещё и сильно греется. Двигатель с 5 выводами, общий провод “вырубался” для получения четырёх выводов. Напряжение на драйвере калибровал - работает на 0.46В при 0.47В, указанных на сайте. А нужно, чтоб было управляемое равномерное движение.
Код:

#include <AccelStepper.h>

// for the Arduino Uno + CNC shield V3

#define MOTOR_A_ENABLE_PIN 8
#define MOTOR_A_STEP_PIN 2
#define MOTOR_A_DIR_PIN 5


AccelStepper motorA(1, MOTOR_A_STEP_PIN, MOTOR_A_DIR_PIN); 
 

void setup()
{
  motorA.setEnablePin(MOTOR_A_ENABLE_PIN);
  motorA.setPinsInverted(false, false, true);
 
  motorA.setMaxSpeed(1000);
  pinMode(MOTOR_A_ENABLE_PIN, OUTPUT);
  motorA.setAcceleration(100);  
  motorA.moveTo(1000);
  motorA.setSpeed(100);
  digitalWrite(8,LOW);
  motorA.enableOutputs();

}

void loop()
{

 motorA.run();
 //if (motorA.currentPosition() != 0) {
   //motorA.moveTo(1000);
 //

}

Схему проверяй, все контакты.

Это что вообще значит?

На a4988 есть потенциометр, им можно регулировать напряжение на драйвере. Его можно посчитать через формулу - ей я получил 0.46В в качестве оптимального напряжения, которое должно быть на драйвере. Человек, у которого я брал движок, сказал, что в спецификации к драйверу указан 0.47В в качестве оптимального. Я написал это для того, чтоб исключить вариант с неправильно выставленным напряжением на драйвере.

Это новая формула переделки униполярного мотора в биполярный?

Им можно регулировать vref, а не напряжение на драйвере. Но для рассчета vref нужно еще знать сопротивление шунта, иначе все твои цифры не имеют никакого значения. И точные характеристики двигателя, а не “чел сказал”.

Мне кажется, я как раз и описал то действие, которое показано на схеме. Разве нет?

Да, вы правы, речь о Vref. Всё, что написано выше - относилось к Vref. Шунт учитывал при расчёте по формуле.

Для начала попробуй значительно уменьшить макс.скорость и ускорение. Раз в 10. Крутит?

У меня такое было на разъёме мотора типа дюпонт. Контакт нестабильный, мотор туда-сюда через раз. Отхреначил дюпонт, приделал нормальные беленькие такие, с ключом. Зачем такие кабельки продают - ума не приложу.

И, да, согласен - у переделанного мотора неизвестно какие характеристики. Так что Vref нужно пересчитывать после обмера итогового изделия

Справедливости ради, многоконтактные дюпоны контакт держат вполне вменяемо

Нет, похоже по смыслу просто на отключение общей точки.

Крутит. Но всё так же - примерно 10 циклов “туда - обратно”, под конец начинает замедляться, потом останавливается вовсе.

Эт что-то на косяк в коде похоже. Тут без серъезной отладки вообще не понятно как диагностировать.

Как оказалось, просто были перепутаны два провода, их требовалось поменять местами.
Проблема нагрева была решена более точной калибровкой Vref.