Странная работа ШД 28byj-48
- Войдите на сайт для отправки комментариев
Доброго времени суток.
Подскажите, в чем проблема?
Использую библиотеку Stepper.h и кручу верчу двигатель.
Если количество шагов положительное (по часовой стрелке) у него высокий крутящий момент и стабильная вибрация. Если количество шагов отрицательное (против часовой стрелки) то крутящий момент ОЧЕНЬ слабый и при этом вибрация не стабильная, а будто участилась в 2 раза. Покупал другие такие же ШД, думал может мои глючат - ан нет, на всех такая ситуация.
Использую стандартный L293D (Adafruit Motor shield не предлагать).
#include <Stepper.h>
#define STEPS 200
Stepper motor1(STEPS, 4, 5, 6, 7);
void setup()
{
motor1.setSpeed(50);
}
void loop()
{
motor1.step(500);
delay(1000);
motor1.step(-500);
delay(1000);
}
Использовал даже разное количество шагов: 48, 64, 200, 2048 - работает по разному, где то крутит, где то нет, но всегда если крутит в обратную сторону, то с подобной проблемой.
Помогите исправить ситуацию.
P.S. библиотеку AccelStepper Тоже не хотелось бы использовать, читал что много жалоб на неё.
Забыл сказать, что переделал его в биполярный, т.к. библиотека для этого и есть.
Но позже, запаял разорванный контакт обратно, но на схеме забыл подключить красный провод и.. как то заработало, однако, если в коде использовать большой шаг - крутящий момент такой высокий, что руками еле останавливается например:
но если использовать пошаговое движение, например:
int i = 0; while (i != 512) { motor1.step(4); i += 4; } while (i != 0) { motor1.step(-4); i -= 4; }то так же - в одну сторону высокий крутящий момент, в другую - легко останавливается руками.
В чем причина?
Добрый день. Разобрались с проблемой? я тоже столкнулся с такой же бедой...
Добрый день. Разобрались с проблемой? я тоже столкнулся с такой же бедой...
да, разобрался.
Выставил 2048 шагов + увеличил напряжение + проверил все контакты.
Кажется, так и решил. Через 2 недели домой прилечу, если это вам не поможет - напишите на enclouder@gmail.com - я вам отпишусь что я ТОЧНО сделал, а то далеко от дома, точно не помню.