Найти в Дзене

Шаговый двигатель 28byj-48 с драйвером ULN2003. Подключение к Arduino

Всем привет! Сегодня я покажу вам как подключить шаговый двигатель к Arduino.
В этом уроке использованы:
1. Плата Arduino Uno
2. Компьютер с установленной Arduino IDE и драйверами для плат
Оглавление

Всем привет! Сегодня я покажу вам как подключить шаговый двигатель к Arduino.

В этом уроке использованы:

1. Плата Arduino Uno

2. Компьютер с установленной Arduino IDE и драйверами для плат

3. Соединительные провода

4. Шаговый двигатель 28byj-48 и драйвер ULN2003

Что такое шаговый двигатель

Само название шаговый двигатель говорит о том, что этот двигатель способен поворачиваться именно шагами, например, нам нужно чтобы он повернулся именно на 20 градусов, а не больше и не меньше. Шаговые двигатели применяются в принтерах, манипуляторах, робототехнике и в других устройствах, где нужна большая точность. Управляются шаговые двигатели с помощью драйвера. Для управления шаговым двигателем 28byj-48 был создан драйвер ULN2003. Также им можно управлять и с помощью драйвера L298N.

Управлять шаговым двигателем можно как с помощью библиотеки Stepper.h, которая уже идёт вместе с Arduino IDE, так и с помощью библиотеки AccelStepper.h. Я буду использовать библиотеку AccelStepper.h, так как она имеет больше возможностей.

Скачать библиотеку AccelStepper можно отсюда.

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

Схема подключения

Схема подключения
Схема подключения

IN1(ULN2003) - Pin2(плата Arduino)

IN2(ULN2003) - Pin3(плата Arduino)

IN3(ULN2003) - Pin4(плата Arduino)

IN4(ULN2003) - Pin5(плата Arduino)

+(ULN2003) - 5V(плата Arduino)

-(ULN2003) - Gnd(плата Arduino)

Внимание! При больших нагрузках на двигатель ни в коем случае не подавайте на драйвер питание от Arduino! Подключать его лучше к отдельному источнику питания!

Скетч

В этом примере мотор вращается сначала в одну сторону постепенно замедляясь, а затем останавливается и начинает вращаться в другую сторону.

#include <AccelStepper.h>

#define HALFSTEP 8

// Пины управления двигателем

int Pin1 = 2; // IN1 ULN2003

int Pin2 = 3; // IN2 ULN2003

int Pin3 = 4; // IN3 ULN2003

int Pin4 = 5; // IN4 ULN2003

// Инициализация двигателя

AccelStepper stepper_motor(HALFSTEP, Pin1, Pin3, Pin2, Pin4);

void setup(){

stepper_motor.setMaxSpeed(1000.0);

stepper_motor.setAcceleration(100.0);

stepper_motor.setSpeed(200);

stepper_motor.moveTo(20000);

}

void loop(){

// Изменение направления при достижении двигателем заданного положения

if(stepper_motor.distanceToGo()==0)

stepper_motor.moveTo(-stepper1.currentPosition());

stepper_motor.run();

}

Компилятор почему-то при копировании из Arduino-IDE ругался на строку #include <AccelStepper.h>. Чтобы от этого избавиться нужно написать её вручную.

Вывод

В этой статье вы научились подключать шаговый двигатель к Arduino и управлять им. А на этот раз всё, всем спасибо за внимание! Не забудьте оценить статью, для вас это не сложно, а для меня очень нужно. Пишите вопросы в комментариях, я постараюсь на них ответить.