Драйвер шагового двигателя модуль ULN2003 подключение Arduino

ULN2003 150 Драйвер шагового двигателя модуль ULN2003

 

 

 

 

 

Драйвер шагового двигателя ULN20

Микросхема ULN2003A datasheet скачать >>>

 

ULN2003 shema

 

ULN2003 shema2

Назначение разъема  X1
 IN1 . . . IN7: Вход 1 … 7 Назначение X2
 1 — GND: «-» питание модуля
 2 — Vcc: «+» питание модуля (5В или 12В)
 3 — Vcc: «+» питание модуля (перемычка, только при 5В)
 4 — Vcc: «+» питание модуля (перемычка, только при 5В)

Назначение разъема  X3
 A . . . G: Выход 1 … 7

Назначение разъема X3
 1 — Питание
 2 — A
 3 — B
 4 — C
 5 — D

 

Схема подключения шагового двигателя 28BYJ-48-5V с драйвером ULN2003 к Arduino

Схема подключения шагового двигателя 28BYJ-48-5V с драйвером ULN2003 к Arduino

Подключение к Arduino драйвера шагового двигателя модуль ULN2003  

ULN2003 podklyuchenie

 

Используется библиотека "CustomStepper". Данная библиотека не входит в стандартную среду разработки Arduino IDE

Нужно скачать и установить библиотеку CustomStepper.zip 

 

Скетч для управления шаговым двигателем через модуль ULN2003 

 

*********************************************************

#include <CustomStepper.h> // Подключаем библиотеку CustomStepper
CustomStepper stepper(8, 9, 10, 11); // Пины, к которым подключен драйвер шагового двигателя
boolean rotate1 = false; // Переменная для смены режимов
boolean rotatedeg = false; // Переменная для смены режимов
boolean crotate = false; // Переменная для смены режимов

void setup()
{
  stepper.setRPM(12); // Устанавливаем количество оборотов в минуту
  stepper.setSPR(4075.7728395); // Устанавливаем количество шагов на полный оборот. Максимальное значение 4075.7728395
}
 
void loop()
{
 
if (stepper.isDone() && rotate1 == false)
  {
    stepper.setDirection(CCW); // Устанавливает направление вращения (по часовой)
    stepper.rotate(2); // Устанавливает вращение на заданное количество оборотов
    rotate1 = true;
  }
 
if (stepper.isDone() && rotate1 == true && rotatedeg == false)
  {
    stepper.setDirection(CW); // Устанавливает направление вращения (против часовой)
    stepper.rotateDegrees(90); // Поворачивает вал на заданное кол-во градусов
    rotatedeg = true;
  }

if (stepper.isDone() && rotatedeg == true && crotate == false)
  {
    stepper.setDirection(CCW); // Устанавливает направление вращения (по часовой)
    stepper.rotate(); // Будет вращать пока не получит команду о смене направления или STOP
    crotate = true;
  }
 
stepper.run(); // Этот метод обязателен в блоке loop. Он инициирует работу двигателя, когда это необходимо
}

*********************************************************

 

 

You have no rights to post comments