Шаговый двигатель 28BYJ-48: различия между версиями

Материал из MIK32 микроконтроллер
(ещё буду править.)
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 17: Строка 17:
* Номинальная скорость вращения – 15 оборот/мин;
* Номинальная скорость вращения – 15 оборот/мин;
* Крутящий момент – 450 г*см;
* Крутящий момент – 450 г*см;
* Размеры (диаметр,высота) –25x18 мм;  
* Размеры (диаметр, высота) –25x18 мм;
* Вес – 40 грамм.
*Вес – 40 грамм.


== Распиновка шагового двигателя 28BYJ-48 ==
==Распиновка шагового двигателя 28BYJ-48==
[[Файл:Stepper-motor-28BYJ-48-02.jpg|мини|301x301пкс|Принципиальная схема шагового двигателя 28BYJ-48.]]
[[Файл:Stepper-motor-28BYJ-48-02.jpg|мини|301x301пкс|Принципиальная схема шагового двигателя 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 голубой проводок;








== Режимы работы шагового двигателя 28BYJ-48 ==
==Режимы работы шагового двигателя 28BYJ-48==
Для управления шаговым двигателем 28BYJ 48 используют один из двух режимов подключения.
Для управления шаговым двигателем 28BYJ 48 используют один из двух режимов подключения.


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.==
Драйвер двигателя состоит из 7 пар транзисторов Дарлингтона и является усилителем.   Выводы IN1 – IN7 предназначены для подключения к микроконтроллеру, GND и VCC – для питания шагового двигателя. Схема подключения драйвера к плате Arduino показана на рисунке.
Драйвер двигателя состоит из 7 пар транзисторов Дарлингтона и является усилителем.   Выводы IN1 – IN7 предназначены для подключения к микроконтроллеру, GND и VCC – для питания шагового двигателя. Схема подключения драйвера к плате Arduino показана на рисунке.
[[Файл:Схема подключения двигателя к Arduino uno.jpg|центр|мини|463x463пкс|Схема подключения 28BYJ-48 к Arduino uno]]
[[Файл:Схема подключения двигателя к Arduino uno.jpg|центр|мини|463x463пкс|Схема подключения 28BYJ-48 к Arduino uno]]
[[Файл:Внешний вид макета шагового двигателя 28BYJ-48.jpg|центр|мини|379x379пкс|шагового двигателя 28BYJ-48]]
[[Файл:Внешний вид макета шагового двигателя 28BYJ-48.jpg|центр|мини|379x379пкс|шагового двигателя 28BYJ-48]]


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

Текущая версия от 21:32, 11 мая 2022

Внешний вид  шагового двигателя 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();
}