Шаговый Двигатель ведёт себя странно
- Войдите на сайт для отправки комментариев
Пт, 11/05/2018 - 00:29
Здравствуйте, имеется шаговый двигатель 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 для двигателя, в чём эти величины измеряются?
а вы уверены, что запись -stepsPerRevolution делает именно то, что вы хотите? попробуйте написать вместо этого
-1 * stepsPerRevolution
Я бы проверил правильность подключения обмоток и надежность контактов. Что-то мне такое помнится, что если подключена одна обмотка, то двигатель будет шагать только в одну сторону.
1. Повесьте 4 светодиода (с резисторами) на выходы ключей.
2. Снизьте частоту до 1-0.5 Герца.
3. Проверьте что светодиоды моргают в порядке 1234 и эти сигналы
подходят к 1234 обмоткам моторчика.
Если лень паять - используйте мультиметр.
Я бы проверил правильность подключения обмоток и надежность контактов. Что-то мне такое помнится, что если подключена одна обмотка, то двигатель будет шагать только в одну сторону.
Униполярник с одной фазой будет стоять.
С неправильными фазами
будет дёргаться на месте
А, ёпрст. Все время забываю, что 28BYJ - униполярный.
Получил, погонял, понял, что по выводам неэкономно выходит и овчинка выделки не стоит, да отложил в ящик.
Дык в чем проблема ? Переделать в биполярный - дело одной минуты.
Да у меня хватает биполярных. С принтеров вон мешок насымал. Этот так лежит, потестить что-нить или типа того.
На драйвере уже есть 4 светодиода, заметил, что один из них(четвёртый, или D), не включается вообще во время работы этого скетча, это нормально?
один из них(четвёртый, или D), не включается вообще во время работы этого скетча, это нормально?
А ваше мнение какое? Только честно.
Ну понятно, что это не совсем нормально, но не может же двигатель не вращаться в обратную сторону только из-за одного выхода
Вероятно, Вы будете сильно удивлены, но двигатель может вращаться в обратную сторону даже при всех исправных выходах.
Вероятно, Вы будете сильно удивлены, но двигатель может вращаться в обратную сторону даже при всех исправных выходах.
Мой двигатель не вращается в обратную сторону только из-за одного неисправного выхода, так? Что мне делать в таком случае?
попробовал другую библиотеку, всё работает, не вибрирует, в другом напрпавлении крутится. Только вот диод всё равно не горит. Тема закрыта