Как подключить шаговый двигатель к Ардуино

подключить шаговый двигатель Программирование

Шаговый двигатель является функциональным и популярным устройством, оно осуществляет точное позиционирование или перемещение объектов в соответствии с установленным количеством шагов. И для управления можно использовать платформу Arduino, для это потребуется драйвер и библиотеки stepper.h или accelstepper.h. Но вот чтобы все нормально работало и производило требуемые функции необходимо провести подключение. Ниже можно изучить процесс подсоединения шагового мотора к Arduino Uno / Nano, а также можно рассмотреть скетч для управления устройством.

1 5

Как работает

В соответствии с видом прибора на данный момент используются три варианта шаговых мотора – с постоянным магнитным элементом, с переменными магнитами и устройства гибридного вида.

У устройств с постоянными магнитными компонентами число шагов в течение одного оборота вала может быть в пределах 48, а именно один шаг может соответствовать повороту вала на 7,5°. А вот устройства гибридного вида способны в течение одного поворота производить не менее 400 шагов, а показатель угла шага составляет 0,9°.

При подсчете числа выполненных шагов можно установить показатель угла поворота роторного элемента. Их этого следует, что шаговые моторы в настоящее время являются отличными составляющими компонентами для 3D принтеров, также они могут применяться для оборудования ЧПУ и для другой аппаратуры.

4

И управление данным устройством может осуществляться при помощи платформы Ардуино. А вот как это можно сделать стоит рассмотреть подробнее.

Драйвер для управления шаговым двигателем

Драйвер применяется для связывания контролера и шагового мотора. Чтобы управлять рабочим процессом биполярного двигателя часто применяются драйверы двух видов – L298N и ULN2003. 

Функционирование двигателя в биполярном режиме имеет несколько преимуществ:

  • Повышение показателей крутящего момента на 40 % по сравнению с устройствами униполярного вида;
  • Имеется возможность использования двигателей с любой конфигурацией фазной обмотки.

Однако у биполярного режима имеется существенный недостаток – сложность драйвера. Драйвер для униполярного привода требует применения всего 4 транзисторных ключа, а вот для поддержания биполярных драйверов требуется более усложненная схема. С каждой обмоткой необходимо осуществлять определенные действия – подключение к источнику питания, отключение. Обычно для данной коммутации применяется схема-мост из четырех ключей.

Драйвер вида L298N

Данный драйвер может использоваться для управления двигателем с показателем тока до 2 А и питанием до 46 В. В основе модуля имеются следующие компоненты:

  • Микросхема L298N;
  • Система охлаждения;
  • Клеммные колодки;
  • Разъемы для подключения сигналов;
  • Стабилизаторы напряжения;
  • Защитные диоды.l2

Драйвер вида ULN2003

Для модулей платформы Arduino драйверы ULN2003 применяются достаточно часто. Это связано с их низкой ценой и доступностью. Но они имеют не очень высокую надежность и плохие показатели точности.

yu

Как подключить

Чтобы провести подсоединение шагового прибора к Arduino требуется подготовить:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • Драйвер, можно применять дешевый вариант ULN2003;
  • Шаговый двигатель 28BYJ-48;
  • Провода.

Процесс контролирования шаговых устройств через платформу Ардуино проводится за счет подачи импульсов на область обмоток мотора с соблюдением основных этапов.plan

Для облегчения процесса часто применяются библиотеки stepper.h и accelstepper.h. Но можно производить вращение вала без библиотек, в этом случае шаговое устройство подсоединяется к микроконтроллеру, а также проводится загрузка подходящего скетча.

Скетч для управления

Ниже указан код скетча, который подходит для подключения:

// порты для подключения модуля ULN2003 к Arduino

#define in1 8

#define in2 9

#define in3 10

#define in4 11

 

int dl = 5; // период задержвания задержки между импульсами

 

void setup() {

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

}

 

void loop() {

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

delay(dl);

 

digitalWrite(in1, HIGH);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

delay(dl);

 

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

delay(dl);

 

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, HIGH);

digitalWrite(in4, HIGH);

delay(dl);

}

Пояснительная информация:

  • Порты 8, 9, 10, 11 можно заменить на разные числовые порты;
  • Длительность задерживания выражается в миллисекундах int dl = 5;
  • Показатели продолжительности могут быть изменены.

Особенности управления

Контролирование шаговых устройств может проводиться с применением популярных библиотек – stepper.h и accelstepper.h (в ней имеется широкий функционал, больше возможностей). И чтобы все выполнить правильно нужно использовать команды и скетчи.

Скетч для stepper.h

Если для настройки применяется библиотека stepper.h, то можно применять скетч, который указан ниже:

#include <Stepper.h> // библиотека для шагового мотора

 

// число шагов в течение одного оборота, здесь можно изменить значение для вашего мотора

const int stepsPerRevolution = 200;

 

// устанавливаются порты для подсоединения драйвера

Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

 

void setup() {

  myStepper.setSpeed(60); // устанавливается показатель скорости 60 об/мин

}

 

void loop() {

  // ротор проворачивается по часовой стрелке

  myStepper.step(stepsPerRevolution);

  delay(500);

 

  // ротор проворачивается против часовой стрелки

  myStepper.step(-stepsPerRevolution);

  delay(500);

}

Но стоит учитывать, что библиотека stepper.h имеет небольшой набор функций. Ее рекомендуется использовать для проведения проверочных мероприятий.

Скетч для AccelStepper.h

Ниже указан скетч для данной библиотеки:

#include <AccelStepper.h> // библиотека для шаговых устройств 

Данная библиотека часто используется для контролирования и подсоединения шаговых приборов к Motor Shield L293D вместе с AFMotor.h. В ней также можно увеличивать скоростные показатели до предельных, а также ускорять и замедлять вал.

Оцените статью
Информация об Ардуино
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я принимаю политику конфиденциальности.