Шаговый двигатель 28BYJ-48: различия между версиями
(ещё буду править.) |
мНет описания правки |
||
Строка 53: | Строка 53: | ||
== Программа для шагового двигателя 28BYJ-48. == | == Программа для шагового двигателя 28BYJ-48. == | ||
Программа, которая вращает мотор в одну сторону и, когда пройдено определённое число шагов изменяющий направление движения. | Программа, которая вращает мотор в одну сторону и, когда пройдено определённое число шагов изменяющий направление движения. | ||
<syntaxhighlight lang="c"> | |||
// подключение библиотеки | |||
#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(); | |||
} | |||
</syntaxhighlight> |
Версия от 20:19, 26 июня 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 оранжевый проводок;
- yellow – Фаза A жёлтый проводок;
- C-pink – Фаза A розовый проводок;
- D-blue – Фаза A голубой проводок;
Режимы работы шагового двигателя 28BYJ-48
Для управления шаговым двигателем 28BYJ 48 используют один из двух режимов подключения.
1)полношаговый режим – 4 ступени импульсов на 1 шаг;
2)полушаговый режим – 8 ступеней импульсов на 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(); }