Нестандартная ситуация с 28BYJ-48

Нет ответов
amateur
Offline
Зарегистрирован: 19.11.2017

Здравствуйте форумчане! Возникла проблема с управлением данным шаговиком.При подключении всеми 4 контактами-двигатель не вращается,но стоит отключить ИН4,то двигател адекватно вращается и реагирует на смену скорости в скетче,но изменить направление вращения не удается.Что посоветуете сделать,гугл не помог?

#include <CustomStepper.h>            // Подключаем библиотеку CustomStepper
CustomStepper stepper(8, 9, 10, 11);  // Указываем пины, к которым подключен драйвер шагового двигателя
boolean rotate1 = false;              // Переменная для смены режимов
boolean rotatedeg = false;            // Переменная для смены режимов
boolean crotate = false;              // Переменная для смены режимов                

void setup()
{
  stepper.setRPM(2.2);                 // Устанавливаем количество оборотов в минуту
  stepper.setSPR(4075.7728395);       // Устанавливаем колочество шагов на полный оборот. Максимальное значение 4075.7728395
}

void loop()
{
  if (stepper.isDone() &&  rotate1 == false)  
  {
    stepper.setDirection(CW);        // Устанавливает направление вращения (по часовой)
    stepper.rotate(1);                // Устанавливает вращение на заданное количество оборотов
    rotate1 = true;
  }
  if (stepper.isDone() && rotate1 == true && rotatedeg == false)
  {
    stepper.setDirection(CW);         // Устанавливает направление вращения (против часовой)
    stepper.rotateDegrees(90);        // Поворачивает вал на заданное кол-во градусов
    rotatedeg = true;
  }
  if (stepper.isDone() && rotatedeg == true && crotate == false)
  {
    stepper.setDirection(CCW);        // Устанавливает направление вращения (по часовой)
    stepper.rotate();                 // Будет вращать пока не получит команду о смене направления или STOP
    crotate = true;
  }
  stepper.run();                      // Этот метод обязателен в блоке loop. Он инициирует работу двигателя, когда это необходимо
}