Шаговый двигатель 28BYJ-48
Шаговые двигатели применяют в механических системах точного позиционирования – ЧПУ станках, 3d-принтерах, принтерах, роботах-манипуляторах. Шаговые двигатели преобразуют электрические импульсы в перемещение вала на определенный угол. Минимально возможный угол перемещения шагового двигателя, называется шагом.
В любительской робототехнике очень часто используют бюджетный шаговый двигатель 28BYJ-48, в комплекте с которым продается драйвер двигателя на микросхеме ULN2003, необходимый для подключения шагового двигателя к плате Arduino.
Спецификация шагового двигателя 28BYJ-48
- Тип: униполярный шаговый двигатель;
- Напряжение питания – 5В или 12В;
- Подключение: 5-выводов;
- Число фаз – 4;
- Диаметр вала: 5 мм;
- Коэффициент редукции – 1/63.68395;
- Количество шагов ротора – 64;
- Угол шага: 5.625° × 1: 64;
- Номинальная скорость вращения – 15 оборот/мин;
- Крутящий момент – 450 г*см;
- Размеры (диаметр,высота) –25x18 мм;
- Вес – 40 грамм.
Распиновка шагового двигателя 28BYJ-48
Red – Это общий пин;
Остальные пины управляют фазами двигателя
- A-orange – Фаза A оранжевый проводок;
- B-yellow – Фаза A жёлтый проводок;
- C-pink – Фаза A розовый проводок;
- D-blue – Фаза A голубой проводок;
Режимы работы шагового двигателя 28BYJ-48
Для управления шаговым двигателем 28BYJ 48 используют один из двух режимов подключения.
1)полношаговый режим – 4 ступени импульсов на 1 шаг;
Пины | Такты | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
A-orange | 1 | 0 | 0 | 1 |
B-yellow | 0 | 1 | 1 | 0 |
C-pink | 1 | 1 | 0 | 0 |
D-blue | 0 | 0 | 1 | 1 |
2)полушаговый режим – 8 ступеней импульсов на 1 шаг.
Пины | Такты | |||||||
---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
A-orange | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
B-yellow | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
C-pink | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
D-blue | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Подключение шагового двигателя 28BYJ-48 к плате Arduino uno.
Драйвер двигателя состоит из 7 пар транзисторов Дарлингтона и является усилителем. Выводы IN1 – IN7 предназначены для подключения к микроконтроллеру, GND и VCC – для питания шагового двигателя. Схема подключения драйвера к плате Arduino показана на рисунке.
Программа для шагового двигателя 28BYJ-48.
Программа, которая вращает мотор в одну сторону и, когда пройдено определённое число шагов изменяющий направление движения.
// подключение библиотеки #include <AccelStepper.h> // создаем экземпляр AccelStepper #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 AccelStepper s28BYJ-48(8, IN1, IN3, IN2, IN4); void setup(){ s28BYJ-48.setMaxSpeed(900.0); s28BYJ-48.setAcceleration(100.0); s28BYJ-48.setSpeed(200); s28BYJ-48.moveTo(2000); } void loop(){ // Изменяем направление, если пройдено заданное число шагов if(s28BYJ-48.distanceToGo()==0) s28BYJ-48.moveTo(-stepper1.currentPosition()); s28BYJ-48.run(); }