Шаговый двигатель 28BYJ-48: различия между версиями
м |
(чуть дополнил) |
||
| Строка 28: | Строка 28: | ||
Остальные пины управляют фазами двигателя | Остальные пины управляют фазами двигателя | ||
| − | * A-orange – Фаза A оранжевый проводок; | + | * '''A-orange''' – Фаза A оранжевый проводок; |
| − | * yellow – Фаза A жёлтый проводок; | + | * '''B-yellow''' – Фаза A жёлтый проводок; |
| − | * C-pink – Фаза A розовый проводок; | + | * '''C-pink''' – Фаза A розовый проводок; |
| − | * D-blue – Фаза A голубой проводок; | + | * '''D-blue''' – Фаза A голубой проводок; |
| Строка 41: | Строка 41: | ||
1)полношаговый режим – 4 ступени импульсов на 1 шаг; | 1)полношаговый режим – 4 ступени импульсов на 1 шаг; | ||
[[Файл:Полношаговый1.jpg|центр|мини|385x385пкс|фазы шагового двигателя в полношаговом режиме.]] | [[Файл:Полношаговый1.jpg|центр|мини|385x385пкс|фазы шагового двигателя в полношаговом режиме.]] | ||
| + | {| class="wikitable" | ||
| + | |+ | ||
| + | ! rowspan="2" |Пины | ||
| + | ! colspan="4" |Такты | ||
| + | |- | ||
| + | ! '''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 шаг. | 2)полушаговый режим – 8 ступеней импульсов на 1 шаг. | ||
[[Файл:Полушаговый1.jpg|центр|мини|639x639пкс|фазы шагового двигателя полушаговом режиме.]] | [[Файл:Полушаговый1.jpg|центр|мини|639x639пкс|фазы шагового двигателя полушаговом режиме.]] | ||
| + | {| class="wikitable" | ||
| + | ! rowspan="2" |Пины | ||
| + | ! colspan="8" |Такты | ||
| + | |- | ||
| + | ! '''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. == | == Подключение шагового двигателя 28BYJ-48 к плате Arduino uno. == | ||
Версия 11:33, 27 июня 2021
Шаговые двигатели применяют в механических системах точного позиционирования – ЧПУ станках, 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();
}