Шаговый Двигатель ведёт себя странно

Marshma11ovv
Offline
Зарегистрирован: 23.03.2018

Здравствуйте, имеется шаговый двигатель 28BYJ-48 с драйвером uln2003. Подключаю их к UNO, запускаю пример из библиотеки Stepper: 

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(60);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);



  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Двигатель должен вращаться в разных направлениях, но в мемент, когда он должен поменять направление, он этого не делает, ждет 500 мс и продолжает вращаться в том же направлении. Ещё мне кажется, он как-то вяло крутится, вибрирует при этом и нагревается. Что я неправильно делаю? И объясните пожалуйста, что значит stepPerRevolution и Speed для двигателя, в чём эти величины измеряются?

b707
Offline
Зарегистрирован: 26.05.2017

а вы уверены, что запись -stepsPerRevolution делает именно то, что вы хотите? попробуйте написать вместо этого

-1 * stepsPerRevolution

sadman41
Offline
Зарегистрирован: 19.10.2016

Я бы проверил правильность подключения обмоток и надежность контактов. Что-то мне такое помнится, что если подключена одна обмотка, то двигатель будет шагать только в одну сторону.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Повесьте 4 светодиода (с резисторами) на выходы ключей.
2. Снизьте частоту до 1-0.5 Герца.
3. Проверьте что светодиоды моргают в порядке 1234 и эти сигналы
подходят к 1234 обмоткам моторчика.
Если лень паять - используйте мультиметр.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

sadman41 пишет:

Я бы проверил правильность подключения обмоток и надежность контактов. Что-то мне такое помнится, что если подключена одна обмотка, то двигатель будет шагать только в одну сторону.


Униполярник с одной фазой будет стоять.
С неправильными фазами
будет дёргаться на месте

sadman41
Offline
Зарегистрирован: 19.10.2016

А, ёпрст. Все время забываю, что 28BYJ - униполярный.

Получил, погонял, понял, что по выводам неэкономно выходит и овчинка выделки не стоит, да отложил в ящик.

Barny
Offline
Зарегистрирован: 23.01.2015

Дык в чем проблема ? Переделать в биполярный  - дело одной минуты.

sadman41
Offline
Зарегистрирован: 19.10.2016

Да у меня хватает биполярных. С принтеров вон мешок насымал. Этот так лежит, потестить что-нить или типа того.

Marshma11ovv
Offline
Зарегистрирован: 23.03.2018

На драйвере уже есть 4 светодиода, заметил, что один из них(четвёртый, или D), не включается вообще во время работы этого скетча, это нормально?

sadman41
Offline
Зарегистрирован: 19.10.2016

Marshma11ovv пишет:

один из них(четвёртый, или D), не включается вообще во время работы этого скетча, это нормально?

А ваше мнение какое? Только честно.

Marshma11ovv
Offline
Зарегистрирован: 23.03.2018

Ну понятно, что это не совсем нормально, но не может же двигатель не вращаться в обратную сторону только из-за одного выхода

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вероятно, Вы будете сильно удивлены, но двигатель может вращаться в обратную сторону даже при всех исправных выходах.

Marshma11ovv
Offline
Зарегистрирован: 23.03.2018

andriano пишет:

Вероятно, Вы будете сильно удивлены, но двигатель может вращаться в обратную сторону даже при всех исправных выходах.

Мой двигатель не вращается в обратную сторону только из-за одного неисправного выхода, так? Что мне делать в таком случае?

Marshma11ovv
Offline
Зарегистрирован: 23.03.2018

попробовал другую библиотеку, всё работает, не вибрирует, в другом напрпавлении крутится. Только вот диод всё равно не горит. Тема закрыта