Режимы управления
Теперь рассмотрим различные способы подачи тока на обмотки и увидим, как в результате вращается вал мотора.
Волновое управление или полношаговое управление одной обмоткой
Этот способ описан выше и называется волновым управлением одной обмоткой. Это означает, что только через одну обмотку протекает электрический ток. Этот способ используется редко. В основном, к нему прибегают в целях снижения энергопотребления. Такой метод позволяет получить менее половины вращающего момента мотора, следовательно, нагрузка мотора не может быть значительной.
У такого мотора будет 4 шага на оборот, что является номинальным числом шагов.
Полношаговый режим управления
Вторым, и наиболее часто используемым методом, является полношаговый метод. Для реализации этого способа, напряжение на обмотки подается попарно. В зависимости от способа подключения обмоток (последовательно или параллельно), мотору потребуется двойное напряжение или двойной ток для работы по отношению к необходимым при возбуждении одной обмотки. В этом случае мотор будет выдавать 100% номинального вращающего момента.
Такой мотор имеет 4 шага на полный оборот, что и является номинальным числом шагов для него.
Полушаговый режим
Это очень интересный способ получить удвоенную точность системы позиционирования, не меняя при этом ничего в «железе»! Для реализации этого метода, все пары обмоток могут запитываться одновременно, в результате чего, ротор повернется на половину своего нормального шага. Этот метод может быть также реализован с использованием одной или двух обмоток. Ниже показано, как это работает.
Однообмоточный режим
Двухобмоточный режим
Используя этот метод, тот же самый мотор сможет дать удвоенное число шагов на оборот, что означает двойную точность для системы позиционирования. Например, этот мотор даст 8 шагов на оборот!
Режим микрошага
Микрошаговый режим наиболее часто применяемый способ управления шаговыми двигателями на сегодняшний день. Идея микрошага состоит в подаче на обмотки мотора питания не импульсами, а сигнала, по своей форме, напоминающего синусоиду. Такой способ изменения положения при переходе от одного шага к другому позволяет получить более гладкое перемещение, делая шаговые моторы широко используемыми в таких приложениях как системы позиционирования в станках с ЧПУ. Кроме этого, рывки различных деталей, подключенных к мотору, также как и толчки самого мотора значительно снижаются. В режиме микрошага, шаговый мотор может вращаться также плавно как и обычные двигатели постоянного тока.
Форма тока, протекающего через обмотку похожа на синусоиду. Также могут использоваться формы цифровых сигналов. Вот некоторые примеры:
Метод микрошага является в действительности способом питания мотора, а не методом управления обмотками. Следовательно, микрошаг можно использовать и при волновом управлении и в полношаговом режиме управления. Ниже продемонстрирована работа этого метода:
Хотя кажется, что в режиме микрошага шаги становятся больше, но, на самом деле, этого не происходит. Для повышения точности часто используются трапецевидные шестерни. Этот метод используется для обеспечения плавного движения.
Как выбрать шаговый двигатель для ЧПУ: критерии
- Индуктивность. Следует вычислить квадратный корень из индуктивности обмотки и умножить его на 32. Полученное значение нужно сравнить с напряжением источника питания для драйвера. Различия между этими числами не должны сильно отличаться. Если напряжение питания на 30% и более превышает полученное значение, то мотор будет греться и шуметь. Если меньше, то крутящий момент будет слишком быстро убывать со скоростью. Большая индуктивность потенциально обеспечит возможность для большего крутящего момента. Однако для этого потребуется драйвер с большим напряжением питания.
- График зависимости крутящего момента от скорости. Позволяет определить, удовлетворяет ли выбранный двигатель условиям в техническом задании.
- Геометрические параметры. Имеет значение длина двигателя, фланец и диаметр вала.
Тип двигателя
Важный критерий – тип шагового двигателя для ЧПУ станка. Широко распространены биполярные, униполярные и трехфазные модели. Каждая из них имеет свои особенности:
- биполярные чаще всего используют для ЧПУ благодаря простому подбору нового драйвера при выходе старого из строя, высокому удельному сопротивлению на малых оборотах;
- трехфазные отличаются большей скоростью, чем биполярные аналогичного размера. Подходят для случаев, когда требуется высокая скорость вращения;
- униполярные представляют собой несколько видов биполярных двигателей в зависимости от подключения обмоток.
Что такое драйвер шагового двигателя?
Драйвер шагового двигателя — электронное устройство, которое заставляет шаговый двигатель «шагать» по сигналам управления. Стандартом де-факто в области управления ШД являются сигналы STEP/DIR/ENABLE. STEP это сигнал шага, DIR это сигнал направления вращения, ENABLE это сигнал включения драйвера.
Более научное определение — драйвер шагового двигателя это электронное силовое устройство, которое на основании цифровых сигналов управления управляет сильноточными/высоковольтными обмотками шагового двигателя и позволяет шаговому двигателю делать шаги (вращаться).
Управлять ШД намного сложнее чем обычным коллекторным двигателем — нужно в определенной последовательности переключать напряжения в обмотках с одновременным контролем тока. Поэтому для управления ШД разработаны специальные устройства — драйверы ШД. Драйвер ШД позволяет управлять вращением ротора ШД в соответствии с сигналами управления и электронным образом делить физический шаг ШД на более мелкие дискреты.
К драйверу ШД подключается источник питания, сам ШД (его обмотки) и сигналы управления. Стандартом по сигналам управления является управление сигналами STEP/DIR или CW/CCW и сигнал ENABLE.
Протокол STEP/DIR:
Сигнал STEP — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т.д.). Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал DIR — Потенциальный сигнал, сигнал направления. Логическая единица — ШД вращается по часовой стрелке, ноль — ШД вращается против часовой стрелки, или наоборот. Инвертировать сигнал DIR обычно можно либо из программы управления или поменять местами подключение фаз ШД в разъеме подключения в драйвере.
Протокол CW/CCW:
Сигнал CW — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т. д.) по часовой стрелке. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал CW — Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере — 1:1, 1:8, 1:16 и т. д.) против часовой стрелки. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.
Сигнал ENABLE — Потенциальный сигнал, сигнал включения/выключения драйвера. Обычно логика работы такая: логическая единица (подано 5В на вход) — драйвер ШД выключен и обмотки ШД обесточены, ноль (ничего не подано или 0В на вход) — драйвер ШД включен и обмотки ШД запитаны.
Драйверы ШД могут иметь дополнительные функции:
• Контроль перегрузок по току.
• Контроль превышения напряжения питания, защита от эффекта обратной ЭДС от ШД. При замедлении вращения, ШД вырабатывает напряжение, которое складывается с напряжением питания и кратковременно увеличивает его. При более быстром замедлении, напряжение обратной ЭДС больше и больше скачок напряжения питания. Этот скачок напряжения питания может привести к выходу из строя драйвера, поэтому драйвер имеет защиту от скачков питающего напряжения. При превышении порогового значения напряжения питания драйвер отключается.
• Контроль переполюсовки при подключении сигналов управления и питающих напряжений.
• Режим автоматического снижения тока обмотки при простое (отсутствии сигнала STEP) для снижения нагрева ШД и потребляемого тока (режим AUTO-SLEEP).
• Автоматический компенсатор среднечастотного резонанса ШД. Резонанс обычно проявляется в диапазоне 6-12 об/сек, ШД начинает гудеть и ротор останавливается. Начало и сила резонанса сильно зависит от параметров ШД и его механической нагрузки. Автоматический компенсатор среднечастотного резонанса позволяет полностью исключить резонирование ШД и сделать его вращение равномерным и устойчивым во всем диапазоне частот.
• Схему изменения формы фазовых токов с увеличением частоты (морфинг, переход из режима микрошага в режим шага при увеличении частоты). ШД способен отдать заявленный в ТХ момент только в режиме полного шага, поэтому в обычном драйвере ШД без морфинга при использовании микрошага ШД работает на 70% от максимальной мощности. Драйвер ШД с морфингом позволяет получить от ШД максимальную отдачу по моменту во всем диапазоне частот.
• Встроенный генератор частоты STEP – удобная функция для пробного запуска драйвера без подключения к ПК или другому внешнему генератору частоты STEP. Также генератор будет полезен для построения простых систем перемещения без применения ПК.
Схема шагового двигателя
Его схема обмоток выглядит примерно так:

Очень похоже на схему обычного асинхронного двигателя. Для запуска понадобится:
- Конденсатор емкостью 470-3300 мкФ.
- Источник переменного тока 12 В.
Замыкаем обмотки последовательно.

Середину проводов скручиваем и запаиваем.

Подключаем конденсатор одним выводом к середине обмоток, а вторым выводом в источнику питания на любой выход. Фактически конденсатор будет параллелен одной из обмоток.

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

Если перекинуть вывод конденсатора с одного выхода питания на другой, то вал двигателя начнет вращаться в другую сторону.

Все предельно просто. А принцип работы этого всего очень прост: конденсатор формирует сдвиг фаз на одной из обмоток, в результате обмотки работают почти попеременно и шаговый двигатель крутится. Очень жалко то, что обороты двигателя невозможно регулировать. Увеличение или уменьшение питающего напряжения ни к чему не приведет, так как обороты задаются частой сети. Хотелось бы добавить, что в данном примере используется конденсатор постоянного тока, что является не совсем правильным вариантом. И если вы решитесь использовать такую схему включения, берите конденсатор переменного тока. Его так же можно сделать самому, включив два конденсатора постоянного тока встречно-последовательно.
Обзор основных моделей шаговых двигателей для ардуино
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 ℃).
Где купить шаговый двигатель
Самые простые двигатели Варианты на сайте AliExpress:
| Шаговый двигатель Nema17 42BYGH 1.7A (17HS4401-S) для 3D принтера | Набор из 5 шаговых двигателей ULN2003 28BYJ-48 с платам драйверов для Ардуино | Шаговый двигатель с модулем драйвера 5V Stepper Motor 28BYJ-48 + ULN2003 |
| Еще один вариант шагового двигателя для Arduino 28BYJ-48 5V 4 Phase DC Motor + ULN2003 Drive Test Board | Набор из трех шаговых двигателей Nema17 Stepper Motor 42BYGH 1.7A (17HS4401) для 3D приентера | AliExpress.com Product – 3D Printer Parts StepStick A4988 DRV8825 Stepper Motor Driver With Heat sink Carrier Reprap RAMPS 1.4 1.5 1.6 MKS GEN V1.4 board |
Пример скетча для управления
В наборе примеров библиотеки Stepper.h существует программа stepper_oneRevolution, в которой задаются все параметры для шагового двигателя – количество шагов, скорость, поворот.
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8,9,10,11); //подключение к пинам 8…11 на Ардуино
void setup() {
myStepper.setSpeed(60); //установка скорости вращения ротора
Serial.begin(9600);
}
void loop() {
//Функция ожидает, пока поступит команда, преобразовывает текст и подает сигнал на двигатель для его вращения на указанное число шагов.
Serial.println("Move right"); //по часовой стрелке
myStepper.step(stepsPerRevolution);
delay(1000);
Serial.println("Move left"); //против часовой стрелки
myStepper.step(-stepsPerRevolution);
delay(1000);
}
Типы и конструктивные особенности
Сегодня применяется несколько видов ШД, отличающихся по конструкции, типу обмоток, особенностям управления и иным параметрам. Рассмотрим каждую классификацию более подробно.
По конструкции ротора
Многие характеристики двигателя, касающиеся скорости вращения и режима работы, зависят от ротора.
С этой позиции выделяется три вида устройства.
Реактивный (синхронный). Особенность — отсутствие роторного магнита. Конструктивно изготавливается из специальных сплавов, позволяющих снизить индуктивные потери. Устройство имеет вид шестеренки с зубцами, а на полюсах статора подается напряжение со второй пары. Как результат, создается магнитная сила для перемещения ротора. По принципу действия реактивный шаговый агрегат имеет много общего с синхронным мотором, где поля ротора и статора вращаются в одном направлении.
- Двигатель с магнитами. В отличие от прошлого устройства подвижный элемент комплектуется постоянным магнитом с двумя и более полюсами. Ротор крутится, благодаря притягиванию и отталкиванию полюсов с помощью электрического поля в момент подачи разницы потенциалов на определенные обмотки.
- Смешанные. В гибридных устройствах совмещаются лучшие качества магнитных и реактивных моторов. В отличие от прошлых моделей угол и шаг здесь меньше. Конструктивно ротор оборудован постоянным магнитом, имеющим цилиндрическую форму. Внешне он имеет вид двух полюсов с круглым сечением, на поверхности которых находятся роторные зубцы. Такая особенность гарантирует хороший момент вращения и удерживания. Главные плюсы — максимальная плавность, точность и скорость перемещения.
По типу обмоток
Плавность функционирования шагового двигателя находится в прямой зависимости от числа обмоток, поэтому на этот фактор важно обращать особое внимание
Многие ошибочно считают, что количество обмоток зависит от числа фаз. Это не так, ведь даже 2-фазный мотор может иметь четыре и более обмотки.
Шаговые двигатели бывают:
- Униполярными. Особенность — наличие отпайки из средней точки, что позволяет с легкостью менять полюса. Минус состоит в применении части витков, поэтому уменьшается момент вращения. Для повышения мощности средний вывод подключать не рекомендуется. Конструктивно униполярные устройства содержат пять и шесть выводов.
- Биполярный. К этой группе относится шаговый двигатель, подключаемый к контроллеру через четыре отпайки. Обмотки могут объединятся в параллель или последовательно. Для изменения направления тока применяются так называемые чипы, обеспечивающие ручное управление. Достижение такого эффекта доступно с помощью Н-моста. Если сравнивать с униполярным видом, биполярный тип гарантирует тот же момент, но при меньших размерах.
По типу управления
Для расширения функционала и удобства применения предусмотрена система управления.
Она бывает следующих типов.
Волновая: возбуждение только одной обмотки. Недостатком является минимально доступный момент.
Полношаговая: одновременное включение обмоток.
Полушаговая: делание геометрии шагового мотора пополам. Обеспечивается увеличенное разрешение при позиционировании вала агрегата.
По типу
При выборе шаговых двигателей нужно понимать, что они бывают нескольких типов.
Кратко рассмотрим их особенности:
- Биполярные двигатели — двухфазные с угловым перемещением в 0,9 или 1,8 градуса. Разработчики гарантируют высокую точность шага без нагрузки величиной до 5%.
- С энкодером (часто называются гибридными серводвигателями). Особенность состоит в наличии инкрементального энкодера. Моторы объединяют лучшие качества серво- и шаговых электрических моторов, а цена таких устройств меньше в сравнении с сервосистемой. Применяются в комплексе с контроллером.
- Линейные (актуаторы). Принцип действия построен на преобразовании вращательного движения в линейное. Иными словами, в них сочетается винтовая передача и ШД, объединенные в общем блоке.
- Шаговые двигатели с редуктором. Применяются в ситуации, когда необходимо получить максимальное усилие на валу электрического привода с минимальной скоростью вращения. В роли редуктора используется планетарный тип, оборудованный прямозубыми шестеренками с небольшим люфтом передачи.
На рынке представлен большой выбор устройств, имеющих индивидуальные характеристики и подходящих для определенных сфер деятельности. Эти моменты необходимо учитывать при выборе модели.
Чем отличается синхронный двигатель от асинхронного для чайников кратко, простыми словами, сравнение по конструкции и принципу действия
Общие принципы работы шаговых двигателей
Внешний вид шагового двигателя 28-BYJ48 (купить на AliExpress) представлен на следующем рисунке:

Первый вопрос, который напрашивается при взгляде на этот рисунок – почему в отличие от обычного двигателя из этого шагового двигателя выходят 5 проводов различных цветов? Чтобы понять это давайте сначала разберемся с принципами работы шагового двигателя.
Начнем с того, что шаговые двигатели не вращаются, а “шагают”, поэтому они и называются шаговыми двигателями. То есть в один момент времени они будут передвигаться только на один шаг. Чтобы добиться этого в устройстве шаговых двигателей присутствует несколько катушек и на эти катушки нужно подавать питание в определенной последовательности чтобы двигатель вращался (шагал). При подаче питания на каждую катушку двигатель делает один шаг, при последовательной подаче питания на катушки двигатель будет совершать непрерывные шаги, то есть вращаться. Давайте более подробно рассмотрим катушки, присутствующие внутри шагового двигателя.

Как можно видеть из рисунка, двигатель имеет однополярную катушку с 5 выводами. Но фактически это 4 катушки, на которые нужно подавать питание в определенной последовательности. На красные провода необходимо подать +5V, на остальные 4 провода необходимо подать землю чтобы запустить в работу соответствующую катушку. Мы будем использовать плату Arduino чтобы подавать питание на эти катушки в определенной последовательности и тем самым заставлять двигатель вращаться. Более подробно ознакомиться с принципами работы шаговых двигателей можно в статье про подключение шагового двигателя к микроконтроллеру AVR.
Так почему же этот двигатель называется 28-BYJ48? Честно говоря, мы не знаем точного ответа на этот вопрос. Некоторые наиболее важные технические характеристики этого шагового двигателя приведены на следующем рисунке.

На первый взгляд от такого количества характеристик может закружиться голова, но давайте попробуем выделить из них самые важные, те, которые нам понадобятся для дальнейшей работы. Во-первых, мы знаем, что это шаговый двигатель 5V, поэтому необходимо подавать на красный провод 5V. Также мы знаем что это четырехфазный шаговый двигатель поскольку в нем четыре катушки. Передаточное число этого двигателя — 1: 64. Это означает, что вал, который вы видите снаружи, сделает одно полное вращение в том случае, когда двигатель внутри сделает 64 оборота. Это происходит благодаря шестерням, которые включены между двигателем и выходным валом. Эти шестерни помогают в увеличении крутящего момента.
Еще одним важным показателем, который нам следует знать, является угол шага: 5.625°/64. Это значит что когда двигатель сделает последовательность в 8 шагов он будет поворачиваться на 5.625° при каждом шаге и за один полный оборот он сделает 64 шага (5.625*64=360).
Расчет шагов на оборот для шагового двигателя
Важно знать, как рассчитать количество шагов за один оборот для вашего шагового двигателя, потому что только тогда вы можете эффективно его запрограммировать. В Arduino для управления двигателем мы будем использовать 4-шаговую последовательность, поэтому угол шага будет составлять 11.25°
Поскольку изначально он равен 5.625°(приведен в даташите), то для 8 шаговой последовательности получим 11.25° (5.625*2=11.25)
В Arduino для управления двигателем мы будем использовать 4-шаговую последовательность, поэтому угол шага будет составлять 11.25°. Поскольку изначально он равен 5.625°(приведен в даташите), то для 8 шаговой последовательности получим 11.25° (5.625*2=11.25).
Справедлива следующая формула:
Количество шагов за оборот = 360 / угол шага.
В нашем случае 360/11.25 = 32 шага за оборот.
Зачем нужен драйвер мотора для управления шаговым двигателем
Большинство шаговых двигателей будут работать только с помощью модуля драйвера мотора. Это связано с тем, что микроконтроллер (в нашем случае плата Arduino) не может обеспечить достаточный ток на своих контактах ввода/вывода для работы двигателя. Поэтому мы будем использовать внешний драйвер мотора для управления нашим шаговым двигателем — модуль ULN2003 (купить на AliExpress). В сети интернет можно найти рейтинги эффективности различных драйверов мотора, но эти рейтинги будут меняться в зависимости от типа используемого шагового двигателя. Основной принцип, которого следует придерживаться при выборе драйвера мотора – он должен обеспечивать достаточный ток для управления шаговым двигателем.
Принцип работы шагового электродвигателя
- На клеммы подается напряжение, благодаря которому специальные щетки начинают вращаться.
- Под воздействием входящих импульсов ротор устанавливается в начальное положение, а затем перемещается под одним и тем же углом.
- Микроконтроллер (в большинстве случаев, хотя возможна и другая внешняя цепь управления) приводит в действие зубчатые электромагниты. Тот из них, к которому прикладывают энергию, притягивает шестерню, обеспечивая тем самым поворот вала.
- Остальные магниты по умолчанию выровнены относительно ведущего, поэтому они сдвигаются вместе с ним по направлению к очередной детали.
- Шестеренка вращается за счет переключения электромагнитов по порядку – от главного к следующему и так далее. При этом она выравнивается относительно предыдущего колеса, что завершает цикл.
Шаг шагового двигателя – это описанный выше алгоритм, и он повторяется необходимое для выполнения технологической операции количество раз.
Представление о внешнем виде и характере функционирования дополнит следующий рисунок:

Из него ясно, что к статору относятся четыре обмотки, расположенные крестообразно, то есть под углом в 90 0 друг к другу. Отсюда понятно, что и дискретное движение будет осуществляться на такую же величину градусов. Если напряжение подавать поочередно – U1, U2, U3 и так далее – ротор сделает полный оборот, а затем пойдет на второй круг, то есть начнет вращаться – до тех пор, пока его не потребуется остановить. Ну а, чтобы изменить направление его движения, достаточно задействовать витки в обратном порядке.
Описание библиотеки для работы с шаговым двигателем
В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:
- Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
- Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
- Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.





































