Шаговые двигатели с редуктором для ардуино

Видео:ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]Скачать

ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]

Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003

В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.

Видео:Как подключить шаговый двигатель к ArduinoСкачать

Как подключить шаговый двигатель к Arduino

Шаговый двигатель – принцип работы

Шаговый двигатель – это мотор, перемещающий свой вал в зависимости от заданных в программе микроконтроллера шагов и направления. Подобные устройства чаще всего используются в робототехнике, принтерах, манипуляторах, различных станках и прочих электронных приборах. Большим преимуществом шаговых двигателей над двигателями постоянного вращения является обеспечение точного углового позиционирования ротора. Также в шаговых двигателях имеется возможность быстрого старта, остановки, реверса.

Шаговый двигатель обеспечивает вращения ротора на заданный угол при соответствующем управляющем сигнале. Благодаря этому можно контролировать положение узлов механизмов и выходить в заданную позицию. Работа двигателя осуществляется следующим образом – в центральном вале имеется ряд магнитов и несколько катушек. При подаче питания создается магнитное поле, которое воздействует на магниты и заставляет вал вращаться. Такие параметры как угол поворота (шаги), направление движения задаются в программе для микроконтроллера.

Упрощенные анимированные схемы работы шагового двигателя

Основные виды шаговых моторов:

  • Двигатели с переменными магнитами (применяются довольно редко);
  • Двигатели с постоянными магнитами;
  • Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).

Видео:Управление моторами с ArduinoСкачать

Управление моторами с Arduino

Где купить шаговый двигатель

Самые простые двигатели Варианты на сайте AliExpress:

Видео:Шаговый мотор с червячным редуктромСкачать

Шаговый мотор с червячным редуктром

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

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

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

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

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

Драйвер шагового двигателя на базе L298N

Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.

Шаговые двигатели с редуктором для ардуино

Драйвер двигателя L298N

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

Шаговые двигателями с модулями драйверов на базе ULN2003 – частые гости в мастерских Ардуино благодаря своей дешевизне и доступности. Как правило, за это приходится платить не очень высокой надежностью и точностью.

Другие драйвера

Существует другой вид драйверов – STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:

  • Они позволяют стабилизировать фазные токи;
  • Возможность установки микрошагового режима;
  • Обеспечение защиты ключа от замыкания;
  • Защита от перегрева;
  • Оптоизоляция сигнала управления, высокая защищенность от помех.

В STEP/DIR драйверах используется 3 сигнала:

  • STEP – импульс, который инициирует поворот на шаг/часть шага в зависимости от режима. От частоты следования импульсов будет определяться скорость вращения двигателя.
  • DIR – сигнал, который задает направление вращения. Обычно при подаче высокого сигнала производится вращение по часовой стрелке. Этот тип сигнала формируется перед импульсом STEP.
  • ENABLE – разрешение/запрет работы драйвера. С помощью этого сигнала можно остановить работу двигателя в режиме без тока удержания.

Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.

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

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

Подключение шагового двигателя к Ардуино

Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.

Читайте также: Ду400 ру25 broen с редуктором

Шаговые двигатели с редуктором для ардуино

Подключение шагового двигателя к Ардуино

Еще один вариант схемы с использованием L298:

Шаговые двигатели с редуктором для ардуино

Подключение шагового двигателя к Ардуино на базе L298

Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.

Шаговые двигатели с редуктором для ардуино

Подключение шагового двигателя к Ардуино

Принципиальная схема подключения.

Шаговые двигатели с редуктором для ардуино

Принципиальная схема подключения шагового двигателя

Еще одна схема подключения биполярного шагового двигателя Nema17 через драйвер L298 выглядит следующим образом.

Шаговые двигатели с редуктором для ардуино

Видео:Шаговый двигатель 28BYJ-48, обзорСкачать

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

Обзор основных моделей шаговых двигателей для ардуино

Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.

Шаговые двигатели с редуктором для ардуино

Основные характеристики двигателя:

  • Угловой шаг 1,8°, то есть на 1 оборот приходится 200 шагов;
  • Двигатель – двухфазный;
  • Рабочие температуры от -20С до 85С;
  • Номинальный ток 1,7А;
  • Момент удержания 2,8 кг х см;
  • Оснащен фланцем 42 мм для легкого и качественного монтажа;
  • Высокий крутящий момент – 5,5 кг х см.

28BYJ-48 – униполярный шаговый двигатель. Используется в небольших проектах роботов, сервоприводных устройствах, радиоуправляемых приборах.

  • Номинальное питание – 5В;
  • 4-х фазный двигатель, 5 проводов;
  • Число шагов: 64;
  • Угол шага 5,625°;
  • Скорость вращения: 15 оборотов в секунду
  • Крутящий момент 450 г/сантиметр;
  • Сопротивление постоянного тока 50Ω ± 7% (25 ℃).

Видео:Уроки Arduino. Управление моторами с библиотекой GyverMotorСкачать

Уроки Arduino. Управление моторами с библиотекой GyverMotor

Описание библиотеки для работы с шаговым двигателем

В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:

  • Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
  • Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
  • Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.

Видео:Тест ардуино мотор-редукторовСкачать

Тест ардуино мотор-редукторов

Пример скетча для управления

В наборе примеров библиотеки Stepper.h существует программа stepper_oneRevolution, в которой задаются все параметры для шагового двигателя – количество шагов, скорость, поворот.

Видео:Маленький, но мощный микромотор с линейной подвижкойСкачать

Маленький, но мощный микромотор с линейной подвижкой

Заключение

В этой статье мы с вами узнали, что такое шаговый двигатель, как можно его подключить к ардуино, что такое драйвер шагового двигателя. Мы также рассмотрели пример написания скетча, использующего встроенную библиотеку Stepper. Как видим, ничего особенно сложного в работе с шаговыми моторами нет и мы рекомендуем вам обязательно поэкспериментировать самостоятельно и попробовать включить его в своих проектах Arduino.

Видео:Управление шаговым двигателем. Драйвер A4988, подключение и настройкаСкачать

Управление шаговым двигателем. Драйвер A4988, подключение и настройка

Мотор с редуктором 1:48

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

Чтобы привести в движение шасси робота, разработчики, как правило, применяют моторы-редукторы. Они способны при небольших размерах обеспечивать достаточную силу тяги для реализации уверенного движения. Среди любительских легковесных роботов, фаворитом в этом направлении является мотор постоянного тока с редуктором 1:48, внешний вид которого показан на рисунке №1.

Шаговые двигатели с редуктором для ардуино

Рисунок №1 – мотор постоянного тока с редуктором 1:48

Читайте также: Как разобрать редуктор ваз 2110

Редуктор данного мотора содержит шестерни из прочного пластика. Тем не менее, для управления массивными конструкциями использовать его не рекомендуется. Силиконовый хомут не даёт двигателю выпасть из редукторного корпуса, но он может быть отстёгнут вручную. Такой подход позволяет легко заменить двигатель на аналогичный при выходе последнего из строя.

Данный класс моторов с редуктором выпускается 4-х типов, а именно:

Прямой одноосевой мотор-редуктор;

Прямой двухосевой мотор-редуктор;

Угловой одноосевой мотор-редуктор;

Угловой двухосевой мотор-редуктор.

Рисунок №2 наглядно демонстрирует разницу их конструктивного исполнения. Вне зависимости от внешнего вида, все моторы имеют одинаковые характеристики.

Шаговые двигатели с редуктором для ардуино

Рисунок №2 – разновидности моторов с редуктором

Видео:Маленький, дешёвый и БЕСПОЛЕЗНЫЙ. Обзор, тест и разборка микро шагового двигателяСкачать

Маленький, дешёвый и БЕСПОЛЕЗНЫЙ. Обзор, тест и разборка микро шагового двигателя

Технические характеристики

Применительно к данным моторам-редукторам, можно выделить следующие технические характеристики:

Диапазон напряжений питания: 3В – 8В;

Номинальный ток потребления при напряжении 3,6В: 240 мА;

Передаточное число редуктора: 1/48;

Скорость вращения при напряжении 3,6В без нагрузки: 170 об/мин.

Крутящий момент при напряжении 6В: 800 г/см;

Габариты (для прямой модификации): 64мм х 20мм х 20мм;

Видео:Обзор шаговых двигателей и серводвигателей для станковСкачать

Обзор шаговых двигателей и серводвигателей для станков

Подключение к плате Arduino

Как упоминалось в разделе технических характеристик, потребление данного мотора составляет 250 мА (при напряжении 3,6В). Это означает, что прямое управление с выводов Arduino здесь неуместно. А если учесть, что в большинстве проектов необходимо минимум два таких мотора, то задача становиться ещё интереснее. Первое что приходит в голову, это включение и отключение моторов с помощью полевого транзистора с логическим уровнем управления затвором, например IRL540N (рисунок №3).

Шаговые двигатели с редуктором для ардуино

Рисунок №3 – схема управления мотором при помощи полевого транзистора

Такое подключение даёт возможность включать и отключать двигатель логическим уровнем. Кроме того, можно управлять скоростью его вращения, изменяя уровень ШИМ на выводе D9 Arduino. Резистор 220 Ом ограничивает ток затвора транзистора, а резистор 100 кОм разряжает затвор, когда на выводе D9 установлен низкий логический уровень. Если его не использовать, то существует вероятность, что двигатель продолжит работать при его отключении. Диод 1N4007 защищает управляющую цепь от выброса высоковольтных импульсов самоиндукции, которые может создавать двигатель во время своей работы. Ниже приведён листинг программы, которая демонстрирует плавный разгон и торможение двигателя согласно вышеприведенной схемы.

Использование транзистора – это хорошо, но в рабочих роботизированных платформах каждый двигатель должен крутиться как вперёд, так и назад независимо друг от друга, да ещё и с разной скоростью. Поэтому данный вариант подходит только для простых проектов. Чтобы управлять двигателем полноценно, необходим мостовой драйвер. На данный момент большой популярностью пользуется драйвер L298N, который может обеспечить полноценное управление сразу двумя двигателями постоянного тока с возможностью реверса и регулировки скорости. Для того, чтобы напрямую не связываться с микросхемой драйвера, удобнее всего использовать готовый модуль с необходимой обвязкой на борту. Выглядит он так, как показано на рисунке №4.

Шаговые двигатели с редуктором для ардуино

Рисунок №4 – модуль драйвера L298N

Ниже приведён перечень выводов модуля L298N с кратким описанием каждого из них:

IN1, IN2 – эти контакты предназначены для управления Мотором №1 (А). В зависимости от логических уровней, установленных на этих контактах, двигатель будет вращаться в ту или иную сторону. Для получения вращения, логические уровни на этих контактах должны быть противоположны друг другу. Например: IN1=1, IN2=0 → двигатель вращается по часовой стрелке; IN1=0, IN2=1 → двигатель вращается против часовой стрелки.

IN2, IN3 – функционал контактов аналогичен IN1 и IN2, но только для Мотора №2 (В).

ENA – логическая «1» на этом выводе разрешает вращение Мотора №1 (А). Также на этот контакт можно подавать ШИМ-сигнал, что позволит управлять скоростью вращения двигателя.

ENB – функционал контакта аналогичен ENA, но только для Мотора №2 (В).

OUT1, OUT2 – колодка для подключения Мотора №1 (А).

OUT3, OUT4 – колодка для подключения Мотора №2 (В).

На рисунке №5 приведена схема включение двух двигателей при использовании модуля L298N и Arduino Nano.

Шаговые двигатели с редуктором для ардуино

Рисунок №5 – подключение моторов к Arduino через драйвер L298N

Читайте также: Мясорубки с металлическими шестернями редуктора для дома

Согласно вышеприведенной схемы, драйвер L298N и Arduino Nano питаются от напряжения 7В. Этого будет достаточно, чтобы крутить два мотор-редуктора. Для возможности регулировки скорости, выводы ENA и ENB модуля L298N подключены к пинам Arduino, которые способны генерировать ШИМ-сигнал.

Ниже приведён тестовый скетч, который продемонстрирует все возможности драйвера, а именно: плавный разгон, торможение и реверс.

Видео:NEMA17 Управление шаговым двигателем - Stepper motor with ArduinoСкачать

NEMA17 Управление шаговым двигателем  - Stepper motor with Arduino

Пример использования

Опираясь на полученные в разделе №3 знания, можно собрать небольшой проект радиоуправляемой роботизированной платформы, которою будут приводить в движение два мотор-редуктора.

Так как управление платформой планируется вести по радиоканалу, необходимо иметь передатчик с пультом управления и приёмник, который будет интегрирован в робота. Наилучшим вариантом для осуществления задуманного будет использование пары радио-модулей NRF24L01. Условно, проект можно разделить на две части: создание пульта управления с передатчиком и создание шасси робота.

Создание пульта управления с передатчиком

Для передатчика актуальными командами будут следующие:

изменение скорости движения от 0 до 100%

Первые 4 пункта можно выполнить при помощи тактовых кнопок, а регулировку скорости осуществлять потенциометром. Исходя из вышеизложенного, получаем схему радиопульта, показанную на рисунке №6.

Шаговые двигатели с редуктором для ардуино

Рисунок №6 – схема радиопульта для роботизированной платформы

Ниже приведён листинг программы с подробными комментариями, который будет обрабатывать команды пользователя, отсылая их в радиоэфир. В качестве дополнения, потребуется установить библиотеку RF24. Следует заметить, что данный пульт управления довольно универсален и может быть использован в других проектах.

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

Создание и программирование шасси робота

Для того, чтобы собрать роботизированную платформу нам понадобятся следующие компоненты:

Arduino Nano – как основной мозг робота;

Модуль NRF24L01 – как приёмник сигналов с пульта управления;

Два мотор-редуктора для приведения робота в движение;

Модуль L298N для полноценного управления моторами;

Держатель для аккумуляторов или батареек;

Ну и конечно-же основание, на котором всё это необходимо закрепить.

На рисунке №7 показана электрическая схема будущего робота.

Шаговые двигатели с редуктором для ардуино

При монтаже электросхемы следует смотреть за тем, чтобы все выводы GND были соединены между собой. Также вывод GND модуля L298N желательно пустить отдельным проводом прямо к источнику питания, чтобы не пропускать большие токи через плату Arduino. Вместо 4-х пальчиковых батареек можно использовать два Li-Ion аккумулятора, соединённых последовательно. Такое соединение обеспечит достаточное напряжение для уверенного вращения мотор-редукторов.

Электролитический конденсатор, ёмкостью 100 мкФ в цепи питания радиомодуля обязателен. Без него NRF24L01 будет нестабильно работать или вообще не инициализируется.

Так как моторы будут зеркально развернуты по отношению друг к другу, подключать их необходимо также зеркально. Это хорошо видно на вышеприведенном рисунке, если провести ассоциацию цветов проводов с соответствующими клеммами на двигателе.

Ниже приведён скетч управления роботом с подробными комментариями.

Когда готовы схемы и программное обеспечение, можно уделить время практической сборке узлов. Чтобы легче было ориентироваться, на рисунке №8 представлен один из вариантов крепления моторов и некоторых компонентов проекта. В реальности компонентов будет больше, но здесь важна сама идея, следуя которой можно создать своего уникального робота.

Шаговые двигатели с редуктором для ардуино

Рисунок №8 – один из вариантов крепления моторов

Часто задаваемые вопросы

Что делать, если моторы при работе дают помехи, которые сказываются на нормальной работе радиомодуля NRF24L01

В таком случае рекомендуется намотать на ферритовый сердечник провода, питающие мотор-редуктор. Сам ферритовый сердечник необходимо расположить как можно ближе к двигателю.

Какое сопротивление у обмотки мотор-редуктора?

В продаже могут попадаться двигатели с разным диапазоном сопротивлений в пределах 3-6 Ом.

Какое количество оборотов в минуту может развить мотор-редуктор?

Количество оборотов в минуту зависит от напряжения питания и от сопротивления обмотки двигателя. В таблице ниже приведены некоторые практические данные, полученные опытным путём:

  • Свежие записи
    • Чем отличается двухтактный мотор от четырехтактного
    • Сколько масла заливать в редуктор мотоблока
    • Какие моторы бывают у стиральных машин
    • Какие валы отсутствуют в двухвальной кпп
    • Как снять стопорную шайбу с вала


    📽️ Видео

    Шаговый двигатель + оптический энкодерСкачать

    Шаговый двигатель + оптический энкодер

    На что способен NEMA 17. Тест работы шаговых двигателейСкачать

    На что способен NEMA 17. Тест работы шаговых двигателей

    Как выбрать шаговый двигатель? Принцип работы, разновидности.Скачать

    Как выбрать шаговый двигатель? Принцип работы, разновидности.

    Как подобрать шаговый двигатель для станка ЧПУ. ШД из принтера, какой подойдет для ЧПУ?Скачать

    Как подобрать  шаговый двигатель для станка ЧПУ.  ШД из принтера, какой подойдет для ЧПУ?

    Мотор-редуктор для робота Ардуино . ВИДЕО ОБЗОР.Скачать

    Мотор-редуктор для робота Ардуино . ВИДЕО ОБЗОР.

    Простая схема подключения Nema 23. Шаговый двигатель nema и генератор импульсов.Скачать

    Простая схема подключения Nema 23. Шаговый двигатель nema и генератор импульсов.

    Как настроить ШАГОВЫЙ ДВИГАТЕЛЬ 28BYJ-48 Arduino?! ОбзорСкачать

    Как настроить ШАГОВЫЙ ДВИГАТЕЛЬ 28BYJ-48 Arduino?! Обзор
Поделиться или сохранить к себе:
Технарь знаток