Подключение к биполярному драйверу, с другой стороны, требует использования одностороннего кабельного разъема и доступного основного выхода для обеспечения совместимости с любой обмоткой.
Как управлять шаговым двигателем через Arduino
В промышленных и бытовых условиях для автоматической работы оборудования часто требуется точное позиционирование инструмента или инструментов. Для этого можно использовать серводвигатели и шаговые двигатели. Эти два типа приводов существенно отличаются по конструкции, функциям и поведению при управлении. В этой статье мы расскажем об использовании шаговых двигателей с помощью Arduino и блока управления двигателем на базе ULN2003.
Прежде чем мы продолжим статью, следует уточнить, что эта статья не предназначена для профессионалов, а ее цель — научить любознательных технарей такому устройству, как шаговый двигатель, и основам работы с ним. Поэтому все умники и критики, желающие обсудить разнообразие управляемых и регулируемых электрических механизмов, должны заглянуть на тематические ресурсы, посвященные станкам с ЧПУ и 3D-принтерам.
Итак, давайте начнем с определения. Википедия пишет: «Шаговый двигатель — это современный бесщеточный электродвигатель с несколькими обмотками, в котором ток, подаваемый на одну из обмоток статора, стабилизирует ротор. Последовательное включение обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора».
Формулировка достаточно ясна, но последнее предложение может привести к недоразумениям. Поэтому я хотел бы провести небольшое сравнение.
Всем известно, что ротор «нормального» электродвигателя, будь то асинхронный, синхронный, коммутаторный или любой другой двигатель, будет продолжать вращаться до тех пор, пока на него подается питание, и что он будет продолжать вращаться некоторое время после отключения питания из-за инерции, если не используются средства для его замедления.
Ротор этого двигателя просто вращается на 360 градусов вокруг своего вала, без каких-либо ограничений, и останавливается в любой точке. Его положение может быть заблокировано только механически (с помощью тормоза). По этой причине невозможно точно позиционировать исполнительные механизмы, как это требуется в робототехнике, станках с ЧПУ и другом автоматизированном оборудовании.
Шаговые двигатели, однако, предназначены для приложений, где компоненты поворачиваются точно на нужный угол.
Приведенное выше определение гласит: «…вызывает дискретные угловые перемещения (шаги) ротора…». — что означает, что ротор шагового двигателя вращается не в обычном смысле, а на определенный, «дискретный» угол. Этот угол называется шагом, отсюда и название «шаговый двигатель». Мне нравится другое название этих устройств — «двигатель с конечным ротором».
Такой двигатель не может работать без системы управления, или, как ее еще называют, драйвера — он подает импульсы в нужные обмотки, чтобы повернуть ротор на нужный угол. Приведенная ниже анимация наглядно иллюстрирует это.
Кроме того, что вы можете повернуть двигатель на определенный угол и зафиксировать его в этом положении, все это работает без цепей обратной связи (датчиков положения и тому подобного).
В рамках данной статьи мы не будем углубляться в типы шаговых двигателей, а лишь кратко упомянем, что они собой представляют. По плану:
- Реактивный.
- С постоянными магнитами.
- Гибрид.
В зависимости от типа кормления:
- Монополярный (однополярный — ток течет по обмоткам только в одном направлении).
- Биполярный (ток течет в обоих направлениях через обмотки). Здесь драйвер должен подавать напряжение разной полярности, что несколько усложняет схему. При одинаковых размерах они развивают большую мощь, чем однополярные страны.
Перейдем к практике
Теория всегда сложна и запутана, и вы должны попробовать сами, чтобы понять, что к чему. Поэтому стоит перейти к практической стороне.
Итак, из набора, который я рассмотрел ранее, у меня есть:
- Arduino UNO,
- Модуль ULN2003,
- Шаговый двигатель 28BYJ-48 5 В постоянного тока,
- пара перемычек, печатная плата и источник питания для устройства.
Модуль ULN2003 предназначен для управления однополюсным шаговым двигателем. Схематически, это транзисторная сборка Дарлингтона с 7 каналами, которые можно использовать для управления практически чем угодно. Технические данные приведены ниже:
- Номинальный ток коллектора кнопочного коллектора составляет 0,5 А,
- Максимальное выходное напряжение до 50 В,
- защитные диоды на выходах,
- Вход адаптирован к различным типам логики,
- Возможность использования для управления реле.
Модуль содержит не только сам чип ULN2003, но и светодиоды для индикации выходного напряжения, клеммную колодку и перемычку для отключения питания.
Схема модуля ULN2003, в левом верхнем углу — схема канала (их 7).
Двигатель 28BYJ-48 5В постоянного тока подключается к стандартному разъему на белом блоке платы. Он имеет 5 проводов — один красный общий и 4 от обмоток.
28BYJ-48 Фазовая диаграмма двигателя постоянного тока 5 В.
Основные характеристики:
- 32 шага на один оборот ротора,
- Встроенный редуктор с передаточным числом 63,68395:1, поэтому вал делает один оборот за 2048 шагов в режиме полного шага и 4096 в режиме половинного шага,
- Скорость вращения: номинальная 15 об/мин, максимальная 25 об/мин,
- Напряжение питания 5 В,
- Ток одной обмотки 160 мА,
- общий ток: 4-шаговый режим 320 мА, быстрое вращение 200 мА.
- Коэффициент уменьшения: 1/63.68395
- Наклон ротора (без редуктора): с 4-ступенчатой последовательностью управления 11,25° (32 шага на оборот), с 8-ступенчатой последовательностью управления 5,625° (64 шага на оборот).
- Минимальный крутящий момент: 34,3 мНм (120 Гц),
- Тормозной момент: от 600 до 1200 гсм,
- Тяговое усилие: 300 гсм,
- вес: 33 г.
Итак, давайте рассмотрим простейшие примеры кинетического управления без использования библиотек. Как мы знаем, обмотки должны подавать импульсы в определенном порядке.
Поэтому давайте попробуем извлечь такие сигналы из Arduino. Для этого я подключаю ULN2003 следующим образом (контакт Arduino — контакт модуля).
Затем мы пишем код в Arudino IDE, который извлекает сигналы в соответствии с таблицей выше.
// Присвоение переменным номеров портов
int in1 = 13,
int in2 = 12,
int in3 = 11,
В зависимости от количества клемм конкретного степпера: 4, 6 или 8 клемм, возможность использования различной схемы подключения также варьируется:
Типы шаговых двигателей
Существует три основных типа шаговых двигателей: двигатели с переменной индукцией, двигатели с постоянными магнитами и гибридные двигатели.
Асинхронные двигатели с регулируемой скоростью используют только магнитное поле, создаваемое на центральном валу, которое заставляет электромагниты вращаться и адаптироваться к напряжению.
Двигатели с постоянными магнитами похожи, за исключением того, что центральный вал поляризован на северный и южный магнитные полюса, которые вращают их в зависимости от того, какие электромагниты находятся под напряжением.
Гибридный двигатель представляет собой комбинацию двух вышеупомянутых двигателей. Его намагниченный центральный вал имеет два ряда зубцов для двух магнитных полюсов, которые выровнены с зубцами вдоль электромагнитов. Благодаря двойной передаче на центральном валу, гибридный двигатель имеет наименьший шаг и поэтому является одним из самых популярных типов шаговых двигателей.
Униполярные и биполярные шаговые двигатели
Существует еще два типа шаговых двигателей: униполярный и биполярный, которые в принципе работают точно так же: Электромагниты соединены последовательно и заставляют вращаться центральный вал двигателя.
Однако униполярный шаговый двигатель работает только с положительным напряжением, в то время как биполярный шаговый двигатель имеет два полюса — положительный и отрицательный.
Реальная разница между этими двумя типами заключается в том, что монополь требует дополнительного провода в середине каждой катушки, чтобы позволить току течь к обоим концам катушки. Эти два противоположных направления создают две полярности магнитного поля, имитируя положительное и отрицательное напряжение.
Хотя оба имеют напряжение питания 5 В, биполярный шаговый двигатель имеет более высокий крутящий момент, поскольку ток проходит через всю катушку и создает более сильное магнитное поле. Монополярные шаговые двигатели, с другой стороны, используют только половину длины катушки из-за дополнительного провода в середине катушки, что означает меньший крутящий момент для удержания вала в нужном положении.
Подключение шаговых двигателей
Различные шаговые двигатели могут иметь разное количество проводов, обычно 4, 5, 6 или 8. 4-проводные схемы могут поддерживать только биполярные шаговые двигатели, поскольку у них нет центрального провода.
5- и 6-проводные схемы могут использоваться как для однополярных, так и для биполярных шаговых двигателей, в зависимости от того, используется ли центральный провод на каждой катушке или нет. Пятипроводное расположение означает, что центральные провода двух групп катушек соединены внутри.
Итак, давайте начнем с определения. Википедия пишет: «Шаговый двигатель — это современный бесщеточный электродвигатель с несколькими обмотками, в котором ток, подаваемый на одну из обмоток статора, стабилизирует ротор. Последовательное включение обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора».
Разновидности моторов
6-проводные шаговые двигатели, как и другие разновидности таких устройств, делятся на следующие категории:
- С постоянными магнитами. Они оснащены роторами, конструкция которых предполагает наличие постоянных магнитов. Эти компоненты взаимодействуют с электромагнитами статора для создания крутящего момента,
- Реактивный двигатель. Их часто называют шаговыми двигателями с переменными магнитами. Ротор не содержит постоянных магнитов, компонент изготовлен из мягкого магнитного материала, имеющего форму звезды,
- Гибрид. Конструкция этого 6-полюсного двигателя сочетает в себе технические особенности двух описанных выше версий. Ротор изготовлен из твердого магнитного материала, как и в первом случае, но имеет звездообразную форму. Количество шагов за один оборот напрямую определяется количеством постоянных магнитов в звездном роторе. Один оборот может включать до 400 шагов (т.е. 1 шаг соответствует примерно 0,9˚).
Подключение
Как подключить 6-полюсный шаговый двигатель, чтобы он полностью раскрыл свой потенциал? Это довольно просто, если вы знаете все детали процедуры и точно следуете требованиям и рекомендациям.
Сначала необходимо подать питание на обмотки с помощью полупроводникового устройства. Его основная задача — подача управляющих импульсов в определенной последовательности. Также нередко требуется установка драйверов — подробности мы рассмотрим позже. Они имеют определенное количество соединений, каждое из которых отвечает за определенный режим работы и определенный тип питания.
Подобно четырехполюсным моделям, 6-проводные двигатели имеют пару проводов для каждой отдельной обмотки. Оборудование включает центральный кабель для каждой отдельной катушки. Это позволяет подключить двигатель к обоим приложениям:
- Как однополярная силовая единица,
- как биполярная единица.
Перед началом подключения необходимо разделить электрические соединительные кабели на 3 категории и замкнуть их накоротко. Это проще и эффективнее всего сделать с помощью тестера. После отсоединения необходимо определить основные кабели. Все 6 кабелей должны использоваться одновременно, если электродвигатель должен быть подключен к униполярному драйверу.
Подключение к биполярному драйверу, с другой стороны, требует использования одностороннего кабельного разъема и доступного основного выхода для обеспечения совместимости с любой обмоткой.
Конструктивные особенности 6-выводных модулей в основном такие же, как и у пятивыводных моделей. Основным отличием является внутреннее закрытие центральных выходов и получаемое в результате 1-кабельное соединение. По этой причине двигатель может работать только с монопольным механизмом. Определение обмотки здесь почти интуитивно понятно; прежде всего, предпочтительнее определить главный провод, так как его значение сопротивления в два раза меньше, чем у других кабельных соединений.
Пример подключения
Давайте рассмотрим практическое подключение 6-полюсного двигателя к сети на примере существующей модели. Возьмем униполярный двигатель NEMA 23 57HM56-2006, модель имеет номинальный ток 2 ампера, поэтому стандартный драйвер непрактичен для этого типа шагового двигателя A4998. Вы можете заменить его на более функциональную версию TA 6600 с платой управления MKS CD 57/86 для более стабильного соединения.
Биполярный двигатель имеет обмотку на каждой фазе, которая меняет полярность во время работы через драйвер. Необходимо установить мостовой или полумостовой драйвер с двухполярным питанием.
При реализации биполярного двигателя у нас будет две обмотки и уже четыре провода. Если поставить рядом биполярный и монополярный двигатель, то у первого будет на порядок выше удельная мощность. При одинаковых размерах биполярные двигатели производят больший крутящий момент при работе. Вот пример двух изменений:
Униполярный двигатель может быть подключен к драйверу без использования средних проводов катушек — белого и желтого. Таким образом, достигается высокий крутящий момент.
Итак, вы установили/заменили новый шаговый двигатель NEMA или установили новую плату управления 3D-принтером. Скорее всего, сигналы от платы управления к двигателю теперь отличаются, т.е. шаговый двигатель не получает правильный или полный сигнал. Это приводит к тому, что шаговый двигатель «сходит с ума» — он дребезжит, шумит или дергается.
Это особенно полезно в диапазоне низких скоростей двигателя.
При таком типе подключения ток, подаваемый на обмотки двигателя, должен быть уменьшен в √2 раз. Например, если номинальный рабочий ток двигателя составляет 2А, то требуемый ток при последовательно соединенных обмотках составляет 1,4А, т.е. в 1,4 раза меньше.
Это можно легко понять из следующих соображений.
Номинальный рабочий ток, указанный в каталоге, основан на сопротивлении одной обмотки (R, значение которого указано в каталоге). Если обмотки соединены последовательно, сопротивление объединенной обмотки увеличивается в два раза (2R).
Потребляемая мощность при однополярном подключении составляет Iуниполярный. 2 * R
При последовательной обмотке потребляемая мощность становится равной Iпоследний. 2 * 2 * R
Потребляемая мощность не зависит от типа подключения, поэтому Iуниполярный. 2 * R = Iпоследний. 2 * 2* R, где
Поскольку крутящий момент двигателя прямо пропорционален величине магнитного поля, создаваемого обмотками статора, он увеличивается при увеличении числа витков обмотки и уменьшается при уменьшении тока через обмотку. Но поскольку ток уменьшился в √2 раз, а число витков в обмотке увеличилось в 2 раза, крутящий момент увеличивается в √2 раз.
Таким образом, характеристики мотор-редуктора следующие:
Параметр Значение IБиполярный.= 0.707 * Iуниполярный. биполярный RБиполярный.униполярный.униполярный. биполярный LБиполярный. = Lуниполярный. биполярный TБиполярный.униполярный.униполярный. Биполярное параллельное подключение
При таком типе подключения ток, подаваемый на обмотки двигателя, должен быть увеличен на √2. Например, если номинальный рабочий ток двигателя составляет 2А, то ток, необходимый для параллельного подключения, составляет 2,8А, что соответствует коэффициенту 1,4.
Это можно легко понять из следующих соображений.
Это можно легко понять из следующих соображений.
Потребляемая мощность в однополярном режиме составляет I
Потребляемая мощность при однополярном подключении составляет Iуниполярный. 2 * R
биполярный.Биполярный. 2 * R
Потребляемая мощность не зависит от типа подключения, поэтому Iуниполярный.биполярный.Биполярный.биполярный.униполярный.= Iуниполярный.Поскольку крутящий момент двигателя прямо пропорционален величине магнитного поля, создаваемого обмотками статора, он увеличивается при увеличении числа витков обмотки и уменьшается при уменьшении величины тока, протекающего через обмотки. Однако, поскольку ток увеличился в √2 раза, а число витков обмотки увеличилось в 2 раза, крутящий момент увеличивается в √2 раза.
Если двигатель будет вращаться на средних скоростях (вне рабочего диапазона скоростей), лучше использовать только две из четырех обмоток.
Для подачи питания на обмотки необходимо устройство, которое может подавать управляющий импульс или серию импульсов в определенной последовательности. Эти устройства представляют собой полупроводниковые приборы для подключения шагового двигателя и драйверов микропроцессоров. Они имеют ряд выходных клемм, каждая из которых определяет тип питания и режим работы.
Подключение шагового двигателя
В зависимости от схемы подключения необходимо использовать одну или другую выходную клемму шагового двигателя. Различные способы подключения этих клемм к выходному сигналу постоянного тока приводят к определенной скорости вращения, шагу или микрошагу линейного перемещения в плоскости. Поскольку для одних применений требуется низкая частота, а для других — высокая, один и тот же двигатель может быть адаптирован за счет драйвера.
В зависимости от количества клемм конкретного шагового двигателя (4, 6 или 8 клемм), можно использовать ту или иную схему. На рисунках показаны типичные варианты подключения шагового двигателя:
Типичные схемы подключения ШД
В зависимости от количества клемм конкретного степпера: 4, 6 или 8 клемм, возможность использования различной схемы подключения также варьируется:
Поскольку главные полюса шагового двигателя питаются от одного и того же драйвера, по этим диаграммам можно определить следующие рабочие характеристики:
Функции шагового двигателя могут быть реализованы различными методами. Они отличаются способом сигнализации пар полюсов. Всего существует три способа активации обмотки.
Управление шаговым двигателем
Волна — в этом режиме активируется только одна обмотка, к которой притягиваются полюса ротора. В этом случае шаговый двигатель не может тянуть тяжелую нагрузку, так как он обеспечивает только половину крутящего момента.
Управление валом
Полный шаг — в этом режиме фазы меняются одновременно, т.е. на обе одновременно подается напряжение. Это приводит к максимальному крутящему моменту и, если обмотки соединены параллельно или последовательно, к максимальному напряжению или току.
Полный ступенчатый контроль
Полушаговое управление представляет собой комбинацию двух вышеупомянутых методов управления обмоткой. В этом методе шаговый двигатель сначала запитан на одну катушку, а затем на две катушки одновременно. Это обеспечивает лучшую остановку на максимальных скоростях и большее количество ступеней.
Полушаговое управление
Для более плавного управления и преодоления инерции ротора используется микрошаговое управление, при котором синусоидальный сигнал подается в виде микрошаговых импульсов. Это придает силам в магнитных цепях шагового двигателя более плавную кривую, заставляя ротор двигаться между полюсами. Это значительно уменьшает спазматическое поведение шагового двигателя.
Н-мостовая система используется для управления двигателями без коммутаторов. Он позволяет изменить полярность, чтобы изменить полярность шагового двигателя. Он может быть основан на транзисторах или микросхемах, которые образуют логическую схему для перемещения кнопок.
Без контроллера
Диаграмма моста H
Как вы видите, мост питается от источника питания V. Когда контакты S1 — S4 или S3 — S2 попарно замкнуты, через обмотки двигателя протекает ток. Это приводит к вращению в одном или другом направлении.
Конструкция контроллера позволяет управлять шаговым двигателем в различных режимах работы. Контроллер основан на электронном блоке, который генерирует группы сигналов и посылает их последовательность на катушки статора. Чтобы исключить возможность повреждения в случае короткого замыкания или другой аварийной ситуации в самом двигателе, каждый провод защищен диодом, который предотвращает обратный поток импульсов.
С контроллером
Подключение через однополярный контроллер шагового двигателя
Это один из самых беспроблемных методов работы. В этом случае прямой и обратный сигналы подключаются непосредственно к соответствующим полюсам. При таком типе подключения сигнальная линия должна быть экранирована. Отлично подходит для маломощных нагрузок.
Популярные схемы управления ШД
Для сборки схемы драйвера в домашних условиях могут пригодиться некоторые компоненты из старых принтеров, компьютеров и других устройств. Вам понадобятся транзисторы, диоды, резисторы (R) и микросхема (RG).
Простейший драйвер шагового двигателя своими руками
Схема простого драйвера
Программа построена по следующему принципу: Когда на одну из клемм D поступает логическая 1 (остальной сигнал равен нулю), транзистор открывается, и сигнал поступает на катушку двигателя. Таким образом, выполняется этап.
На основе схемы конструируется печатная плата, которую вы можете попробовать собрать сами или заказать. Затем на плату припаиваются соответствующие компоненты. Устройство способно управлять кардиостимулятором через домашний компьютер, подключенный к стандартному порту USB.