Шаговый двигатель 28BYJ-48

Материал из MIK32 микроконтроллер
Внешний вид  шагового двигателя 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

Принципиальная схема шагового двигателя 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 к Arduino uno
шагового двигателя 28BYJ-48

Программа для шагового двигателя 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();
}