- Ардуино и шаговый двигатель: основы, схемы, подключение и управление
- Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003
- Шаговый двигатель – принцип работы
- Где купить шаговый двигатель
- Драйвер для управления шаговым двигателем
- Драйвер шагового двигателя на базе L298N
- Драйвер шагового двигателя ULN2003
- Другие драйвера
- Подключение шагового двигателя к Ардуино
- Обзор основных моделей шаговых двигателей для ардуино
- Описание библиотеки для работы с шаговым двигателем
- Пример скетча для управления
- Заключение
Ардуино и шаговый двигатель: основы, схемы, подключение и управление
Шаговые двигатели используют для управления положением чего-либо, или для вращения рабочего узла с заданной скорости и на заданный угол. Такие особенности сделали возможным его применение в робототехнике, станках с числовым программным управлением (ЧПУ), и других системах автоматизации. В этой статье мы рассмотрим ряд вопросов связанных с устройством шаговых двигателей и способами их управления с помощью микроконтроллера Arduino.
Шаговый двигатель отличия от обычного
Все используемые на практике электродвигатели работают за счет электродинамических явлений и процессов происходящих в магнитных полях роторов и статоров. Как мы уже упомянули, любой двигатель состоит как минимум из двух частей – подвижной (ротор) и неподвижной (статор). Для его вращения нужно чтобы и магнитное поле тоже вращалось. Поле ротора вращается вслед за полем статора.
В принципе, таких базовых сведений достаточно для понимания общей картины работы электрических двигателей. Однако на самом деле промышленность производит различные варианты электродвигателя, среди которых:
1. Асинхронный двигатель с короткозамкнутым или с фазным ротором.
2. Синхронный двигатель с обмотками возбуждения или с постоянными магнитами.
3. Двигатель постоянного тока.
4. Универсальный коллекторный двигатель (работает и на постоянном токе и на переменном, ведь обмотки ротора сами подключаются и отключаются от контактов источника питания за счет конструкции ламелей и якоря).
5. Бесщеточные двигатели постоянного тока (BLDC).
7. Шаговые двигатели.
Последние два вида несут особую ценность, благодаря возможности их, в определенной степени, точного позиционирования в пространстве. Давайте подробнее рассмотрим конструкцию шагового двигателя.
Определение
Шаговым двигателем называется бесщеточный электродвигатель синхронного типа. На статоре расположено определенное число обмоток, подключение которых вызывает поворот ротора на определенный угол, зависящий от числа шагов. Другими словами ток в обмотке статора вызывает поворот вала на дискретный угол.
При равномерной и последовательной смене полярностей напряжения на обмотках и переключении запитанных обмоток происходит вращение шагового двигателя, подобно обычному электродвигателю, хотя на самом деле просто происходит регулярный поворот на фиксированный угол.
Шаговый двигатель иногда называют двигателем с конечным количеством положений ротора. Звучит не совсем понятно, давайте разберемся. Представим обычный двигатель – положение его ротора никак не фиксируется, то есть он просто вращается пока подключено питание, а когда оно отключается, то останавливается через какое-то время, зависящее от его инерции. Положений ротора может быть сколько угодно много, а отличаться они могут на мельчайшие доли градуса.
В шаговом двигателе подключение обмотки или нескольких обмоток вызывает «примагничивание» ротора по отношению к этим обмоткам. Внешне это выглядит именно как поворот вала на определенный угол (шаг). Так как количество шагов является одной из важных характеристик этого типа электропривода, то и количество положений ротора равно количеству шагов. Новичкам сложно понять, как это может быть, и как он в таком случае вращается – на самом деле все достаточно просто, мы это покажем на иллюстрациях и описаниях ниже.
Конструкция
На статоре электродвигателя закреплены обмотки возбуждения. Его ротор выполняется из магнитомягких или магнитотвердых материалов. От материала ротора зависит крутящий момент и фиксация вала при обесточенных обмотках. Эти параметры могут быть критичными.
Поэтому выделяют магнитотвердые роторы (они же на постоянных магнитах) и магнитомягкие (реактивные) роторы, кроме них есть и гибридные роторы.
Гибридный ротор делают зубчатым, количество зубцов соответствует количеству шагов. Зубцы расположены вдоль оси ротора. При этом такой ротор разделен на две части поперек. Между ними установлен постоянный магнит, таким образом, каждая из половин ротора является полюсом магнита. Также следует сказать, о том, что половины ротора повернуты на половину шага зубцов друг относительно друга.
Как уже было сказано, такой двигатель является синхронным, так и процесс его вращения заключается в создании вращающего поля ротора, за которым стремится магнитный ротор, а это реализовывается за счет переключения контроллером обмоток поочередно.
Виды шаговых двигателей ШД по конструкции обмоток делят на три основных группы по схеме подключения обмоток:
3. С четырьмя обмотками.
Биполярные электродвигателя в большинстве своем имеют 4 контакта – это выводы с двух обмоток. Внутри двигателя они по большому счету никак не соединены между собой. Основной проблемой является то, что нужно обеспечить переключение полярности питания, это значит, что драйвер и сам процесс управления усложнится.
Униполярные напоминают соединение обмоток по схеме звезды. Другими словами, у вас есть 5 выводов – 4 из них это концы обмоток, а 1 – точка соединения всех обмоток.
Для управления таким двигателем нужно просто подавать поочередно питание на каждый из концов обмотки (или их пару, в зависимости от выбранного режима вращения), таким образом будет запитываться каждый раз половинка обмотки. Может работать в биполярном режиме, если запитывать полностью всю обмотку минуя отвод от её середины.
Двигатели с 4 обмотками имеют преимущество в том, что вы можете подключить обмотки любым удобным для вас образом и получить как биполярный, так и униполярный двигатель.
Режимы управления
Различают 4 основных режима управления шаговым двигателем:
1. Волновое управление.
Волновым управлением называют управление одной обмоткой. Т.е. одновременно ток течет через одну из обмоток, отсюда две отличительных черты – низкое энергопотребление (это хорошо) и низкий крутящий момент (это плохо).
В данном случае этот двигатель делает 4 шага за один оборот. Реальные же двигатели делают десятки шагов за один оборот, это достигается бОльшим количеством чередований магнитных полюсов.
Полношаговое управление является наиболее часто используемым. Здесь напряжение подается не на одну обмотку, а на две сразу. Если обмотки соединены параллельно – то ток удваивается, а если последовательно, то удваивается напряжение питания соответственно. С одной стороны в таком методе управления двигатель потребляет больше энергии, с другой – крутящий момент 100%, в отличие от предыдущего.
Полушаговое управление интересно тем, что становится возможным более точное позиционирование вала двигателя, благодаря к тому, что к целым шагам добавляются еще и половинки это достигается совмещение предыдущих двух режимов работы, а обмотки чередуются, то включаясь попарно, то по одной.
Стоит учесть, что момент на валу плавает от 50 до 100% в зависимости от того 1 или 2 две обмотки задействованы в данный момент.
Еще более точным является микрошаговый. Он похож на предыдущий, но отличается тем, что питание на обмотки подаётся не полной величины, а постепенно изменяющейся. Таким образом, изменяется степень воздействия на ротор каждой из обмоток и плавно изменяется угол поворота вала в промежуточных шагам положениях.
Где взять шаговый двигатель
Купить шаговый двигатель вы успеете всегда, но настоящие радиолюбители, самодельщики и электронщики славятся тем, что могут из мусора сделать что-то полезное. Наверняка, у вас дома найдется хотя бы один шаговый двигатель. Давайте разберемся, где нужно искать, чтобы найти такой двигатель.
1. Принтера. Шаговые двигатели могут стоять на вращении вала подачи бумаги (но может быть и двигатель постоянного тока с датчиком перемещения).
2. Сканеры и МФУ. В сканерах часто устанавливают шаговый двигатель и механическую часть, направляющую вдоль которой ходит каретка, эти детали также могут стать полезны при разработке самодельного ЧПУ станка.
3. CD и DVD приводы. В них также можно достать и штанги и винтовые валы для самоделок и различных ЧПУ.
4. Floppy-дисководы. В дискетниках также есть шаговые двигатели, особо ценятся флопики формата 5.25”.
Драйвер для шагового двигателя
Для управления шаговыми двигателями используют специализированные микросхемы-драйвера. В большинстве своем это H-мост из транзисторов. Благодаря такому включению появляется возможность включать на обмотку напряжение нужной полярности. Эти микросхемы подходят и для управления двигателями постоянного тока с поддержкой изменения направления вращения.
В принципе очень маленькие двигателя можно запустить и прямо от пинов микроконтроллера, но обычно они выдают до 20-40 мА, чего в большинстве случае недостаточно. Поэтому приведем несколько примеров драйверов для шаговых двигателей:
1. Платы на базе L293D. Их множество, одна из таких продается под отечественной маркой «Амперка» под название Troyka Stepper, пример его использования в реальном проекте приведен на видео ниже. Преимущество конкретно этой платы в том, что на ней расположены микросхемы логики которые позволяют сократить количество используемых для управления пинов.
Сама по себе микросхема работает под напряжение 4.5-36В и выдает ток до 600мА-1А в зависимости от корпуса ИМС.
2. Драйвер на базе A4988. Питается напряжением до 35В, выдерживает ток до 1А без радиатора, а с радиатором до 2А. Может управлять двигателем, как целыми шагами, так и частями – от 1/16 шага до 1 шага, всего 5 вариантов. Содержит два H-моста. С помощью подстроечного резистора (видно на правом фото) можно задавать выходной ток.
Размер шага задается сигналами на входах MS1, MS2, MS3.
Вот схема его подключения, каждый импульс на входе STEP задает поворот двигателя на 1 шаг или на микрошаг.
3. Драйвер на базе ULN2003 работает с двигателями на 5 и на 12В и выдаёт ток до 500 мА. На большинстве плат расположены 4 светодиода индицирующих работу каждого из каналов.
Также на плате вы можете видеть клеммную колодку для подключения двигателей, кстати, многие из них продаются именно с таким разъёмом. Примером такого двигателя является 5В модель – 28BYJ-48.
И это не все варианты драйверов для шаговых двигателей, на самом деле их еще больше.
Подключение к Arduino драйвера и шагового двигателя
В большинстве случаев нужно использовать микроконтроллер в паре с драйвером для шагового двигателя. Давайте рассмотрим схему подключения и примеры программного кода. Рассмотрим подключение на базе последнего приведенного драйвера – ULN2003 к плате Arduino. И так у него есть 4 входа, они подписаны, как IN1, IN2 и т.д. Их нужно соединить с цифровыми пинам платы ардуино, а к драйверу подсоединить моторчик как показано на рисунке ниже.
Далее в зависимости от способа управления вы должны подавать на входы 1 или 0 с этих пинов включая 1 или 2 обмотки в нужно последовательности. Код программы полношагового управления выглядит примерно так:
Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003
В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.
Шаговый двигатель – принцип работы
Шаговый двигатель – это мотор, перемещающий свой вал в зависимости от заданных в программе микроконтроллера шагов и направления. Подобные устройства чаще всего используются в робототехнике, принтерах, манипуляторах, различных станках и прочих электронных приборах. Большим преимуществом шаговых двигателей над двигателями постоянного вращения является обеспечение точного углового позиционирования ротора. Также в шаговых двигателях имеется возможность быстрого старта, остановки, реверса.
Шаговый двигатель обеспечивает вращения ротора на заданный угол при соответствующем управляющем сигнале. Благодаря этому можно контролировать положение узлов механизмов и выходить в заданную позицию. Работа двигателя осуществляется следующим образом – в центральном вале имеется ряд магнитов и несколько катушек. При подаче питания создается магнитное поле, которое воздействует на магниты и заставляет вал вращаться. Такие параметры как угол поворота (шаги), направление движения задаются в программе для микроконтроллера.
Упрощенные анимированные схемы работы шагового двигателя
Основные виды шаговых моторов:
- Двигатели с переменными магнитами (применяются довольно редко);
- Двигатели с постоянными магнитами;
- Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).
Где купить шаговый двигатель
Самые простые двигатели Варианты на сайте 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 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.
Подключение шагового двигателя к Ардуино
Еще один вариант схемы с использованием L298:
Подключение шагового двигателя к Ардуино на базе L298
Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.
Подключение шагового двигателя к Ардуино
Принципиальная схема подключения.
Принципиальная схема подключения шагового двигателя
Еще одна схема подключения биполярного шагового двигателя Nema17 через драйвер L298 выглядит следующим образом.
Обзор основных моделей шаговых двигателей для ардуино
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 ℃).
Описание библиотеки для работы с шаговым двигателем
В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:
- Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
- Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
- Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.
Пример скетча для управления
В наборе примеров библиотеки Stepper.h существует программа stepper_oneRevolution, в которой задаются все параметры для шагового двигателя – количество шагов, скорость, поворот.
Заключение
В этой статье мы с вами узнали, что такое шаговый двигатель, как можно его подключить к ардуино, что такое драйвер шагового двигателя. Мы также рассмотрели пример написания скетча, использующего встроенную библиотеку Stepper. Как видим, ничего особенно сложного в работе с шаговыми моторами нет и мы рекомендуем вам обязательно поэкспериментировать самостоятельно и попробовать включить его в своих проектах Arduino.