Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

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

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

Система отработки угла выходного вала двигателя с использованием датчика обратной связи.

Если в качестве исполнительного двигателя использовать синхронный шаговый двигатель, то можно обойтись без датчика обратной связи (Дт) и упростить систему управления двигателем (СУ), так как отпадает необходимость использования в ней цифро-аналоговых (ЦАП) и аналого-цифровых (АЦП) преобразователей.
Шаговыми двигателями называются синхронные двигатели, преобразующие команду, заданную в виде импульсов, в фиксированный угол поворота двигателя или в фиксированное положение подвижной части двигателя без датчиков обратной связи.
Мощность шаговых двигателей лежит в диапазоне от единиц ватт до одного киловатта.
Шаговый двигатель имеет не менее двух положений устойчивого равновесия ротора в пределах одного оборота.

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

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

Различают два вида коммутации обмотки шагового двигателя: симметричная и несимметричная.

При симметричной системе коммутации на всех четырех тактах возбуждается одинаковое число обмоток управления

Симметричная система коммутации

При несимметричной системе коммутации четным и нечетным тактам соответствует различное число возбужденных обмоток управления

Несимметричная система коммутации

Ротор у шагового двигателя активного типа представляет собой постоянный магнит, при числе пар полюсов больше 1, выполненный в виде "звездочки" .

Число тактов КТ системы управления называют количеством состояний коммутатора на периоде его работы T. Как видно из рисунков для симметричной системы управления КТ =4, а для несимметричной КТ =8.

В общем случае число тактов КТ зависит от числа обмоток управления (фаз статора) mу и может быть посчитано по формуле:

KT=myn1n1,
где n1=1 при симметричной системе коммутации;

n1=2 при несимметричной системе коммутации;
n2=1 при однополярной коммутации;
n2=2 при двуполярной коммутации.

Схемы, иллюстрирующие положения ротора шагового двигателя с постоянными магнитами при подключении к источнику питания одной (а) и двух обмоток (б)

При однополярной коммутации ток в обмотках управления протекает в одном направлении; при двуполярной - в обеих.
Синхронизирующий (электромагнитный) момент машины является результатом взаимодействия потока ротора с дискретно вращающимся магнитным полем статора. Под действием этого момента ротор стремится занять такое положение в пространстве машины, при котором оси потоков ротора и статора совпадают.
Мы рассмотрели шаговые синхронные машины с одной парой полюсов (р=1). Реальные шаговые микродвигатели являются многополюсными (р>1).

Для примера приведем двуполюсный трехфазный шаговый двигатель.

Двигатель с р парами полюсов имеет зубчатый ротор в виде звездочки с равномерно расположенными вдоль окружности 2р постоянными магнитами. Для многополюсной машины величина углового шага ротора равна:

Чем меньше шаг машины, тем точнее (по абсолютной величине) будет отрабатываться угол. Увеличение числа пар полюсов связано с технологическими возможностями и увеличением потока рассеяния. Поэтому р= 4...6. Обычно величина шага ротора активных шаговых двигателей составляет десятки градусов.

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

Отличительной особенностью реактивного редукторного двигателя является расположение зубцов на полюсах статора

Принцип действия реактивного редукторного шагового двигателя: (а) - исходное положение устойчивого равновесия; (б) - положение устойчивого равновесия. cдвинутое на один шаг

Если зубцы ротора соосны с одной диаметрально расположенной парой полюсов статора, то они сдвинуты относительно каждой из оставшихся трех пар полюсов статора соответственно на ј, Ѕ и ѕ зубцового деления.
При большом числе зубцов ротора Zр его угол поворота значительно меньше угла поворота поля статора.
Величина углового шага редукторного реактивного шагового двигателя определится выражением:

В выражении для КТ величину n2 следует брать равной 1, т. к. изменение направления поля не влияет на положение ротора.
Электромагнитный синхронизирующий момент реактивного двигателя обусловлен, как и в случае обычного синхронного двигателя, разной величиной магнитных сопротивлений по продольной и поперечной осям двигателя.

Основным недостатком шагового реактивного двигателя является отсутствие синхронизирующего момента при обесточенных обмотках статора.
Повышение степени редукции шаговых двигателей, как активного типа, так и реактивного, можно достичь применением двух, трех и многопакетных конструкций. Зубцы статора каждого пакета сдвинуты относительно друг друга на часть зубцового деления. Если число пакетов два, то этот сдвиг равен 1/2 зубцового деления, если три, то - 1/3, и т.д. В то же время роторы-звездочки каждого из пакетов не имеют пространственного сдвига, т.е. оси их полюсов полностью совпадают.
Такая конструкция сложнее в изготовлении и дороже однопакетной, и, кроме того, требует сложного коммутатора.
Индукторные (гибридные) шаговые двигатели. Стремление совместить преимущества активного шагового двигателя (большой удельный синхронизирующий момент на единицу объема, наличие фиксирующего момента) и реактивного шагового двигателя (малая величина шага) привело к созданию гибридных индукторных шаговых двигателей.
В настоящее время имеется большое число различных конструкций индукторных двигателей, различающихся числом фаз, размещением обмоток, способом фиксации ротора при обесточенном статоре и т. д. Во всех конструкциях индукторных шаговых двигателей вращающий момент создается за счет взаимодействия магнитного поля, создаваемого обмотками статора и постоянного магнита в зубчатой структуре воздушного зазора. При этом синхронизирующий момент шагового индукторного двигателя по природе является реактивным и создается намагничивающей силой обмоток статора, а постоянный магнит, расположенный либо на статоре, либо на роторе, создает фиксирующий момент, удерживающий ротор двигателя в заданном положении при отсутствии тока в обмотках статора.
По сравнению с шаговым двигателем реактивного типа у индукторного шагового двигателя при одинаковой величине шага больше синхронизирующий момент, лучшие энергетические и динамические характеристики.
Линейные шаговые синхронные двигатели. При автоматизации производственных процессов весьма часто необходимо перемещать объекты в плоскости (например, в графопостроителях современных ЭВМ и т.д.). В этом случае приходится применять преобразователь вращательного движения в поступательное с помощью кинематического механизма.
Линейные шаговые двигатели преобразуют импульсную команду непосредственно в линейное перемещение. Это позволяет упростить кинематическую схему различных электроприводов

Схема, иллюстрирующая работу линейного шагового двигателя

Статор линейного шагового двигателя представляет собой плиту из магнитомягкого материала. Подмагничивание магнитопроводов производится постоянным магнитом.
Зубцовые деления статора и подвижной части двигателя равны. Зубцовые деления в пределах одного магнитопровода ротора сдвинуты на половину зубцового деления t/2. Зубцовые деления второго магнитопровода сдвинуты относительно зубцовых делений первого магнитопровода на четверть зубцового деления t/4.

Магнитное сопротивление потоку подмагничивания не зависит от положения подвижной части.
Принцип действия линейного шагового двигателя не отличается от принципа действия индукторного шагового двигателя. Разница лишь в том, что при взаимодействии потока обмоток управления с переменной составляющей потока подмагничивания создается не момент, а сила FС, которая перемещает подвижную часть таким образом, чтобы против зубцов данного магнитопровода находились зубцы статора, т.е. на четверть зубцового деления t/4.

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

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

Процесс отработки шагов шаговым двигателем

При этом возможны колебания углового вала двигателя относительно установившегося значения. Эти колебания обусловлены запасом кинетической энергии, которая была накоплена валом двигателя при отработке угла. Кинетическая энергия преобразуется в потери: механические, магнитные и электрические. Чем больше величина перечисленных потерь, тем быстрее заканчивается переходный процесс отработки единичного шага двигателем.
В процессе пуска ротор может отставать от потока статора на шаг и более; в результате может быть расхождение между числом шагов ротора и потока статора.
Основными характеристиками шагового двигателя являются: шаг, предельная механическая характеристика и приемистость.
Предельная механическая характеристика- это зависимость максимального синхронизирующего момента от частоты управляющих импульсов

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

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

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

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

Продолжение статьи (на англ. языке)

Система управления шаговым двигателем ZETLAB

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

Шаговый двигатель — это электромеханичское устройство, которое преобразует электрические импульсы в дискретные механические перемещения.

Преимущества применения шаговых двигателей

  • угол поворота ротора определяется числом импульсов, которые поданы на двигатель;
  • если обмотки запитаны, то двигатель в режиме остановки обеспечивает полный момент;
  • хорошие шаговые двигатели обеспечивают точность 3-5% от величины шага, при этом ошибка не накапливается от шага к шагу;
  • возможность быстрого старта/остановки/реверсирования;
  • высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников;
  • однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи;
  • возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора;
  • может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов.

Недостатки применения шаговых двигателей

  • шаговым двигателем присуще явление резонанса;
  • из-за работы без обратной связи возможна потеря контроля положения, поэтому рекомендуется дополнять системы управления шаговым двигателем энкодером;
  • потребление энергии не уменьшается даже без нагрузки;
  • затруднена работа на высоких скоростях;
  • невысокая удельная мощность;
  • относительно сложная схема управления.

Применение шаговых двигателей:

  • приводы осей координатных столов и манипуляторов;
  • системы линейного перемещения;
  • упаковочные и конвейерное оборудование;
  • оборудование для текстильного и пищевого производств;
  • полиграфическое оборудование;
  • устройство подачи, дозирования;
  • сварочные автоматы.

Принцип работы шагового двигателя

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

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

В данной работе описывается алгоритм управления шаговыми двигателями двухфазного (биполярного) и четырёхфазного (униполярного) типа с помощью модуля управления шаговым двигателем с интерфейсом CAN ZET 7160-S StepMotor-CAN или интерфейсом RS-485 ZET 7060-S StepMotor-485.

Биполярный (двухфазный) шаговый двигатель

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


Рис. 1 Внутренняя схема биполярного Ш.Д.

Рис. 2 Схема выводов биполярного Ш. Д.

Рис. 3 Схема подключения биполярного Ш.Д. к ZET7X60-S

Униполярный (четырёхфазный) шаговый двигатель

Четырёхфазный шаговый двигатель (униполярный шаговый двигатель) также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера. Драйвер должен иметь только 4 простых ключа. Таким образом, в униполярном двигателе используется другой способ изменения направления магнитного поля. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов.


Рис. 4 Внутренняя схема униполярного Ш.Д.

Рис. 5 Схема выводов униполярного Ш.Д.

Рис. 6 Схема подключения униполярного Ш.Д. к ZET7X60-S

Режимы работы шагового двигателя

Существует несколько способов управления фазами шагового двигателя. Наиболее распространёнными из них являются полношаговый и полушаговый режим. Существуют также режимы управления с 1/4, 1/8, 1/16 шага. Но эти режимы нужны только для узкого круга задач, и они требуют значительного усложнения схемы микроконтроллера и алгоритма управления. Ниже приводится последовательность генерируемых импульсов для различных режимов работы шагового двигателя, на примере униполярного двигателя.


Рис. 7 Полношаговый режим, с 1-ой активной обмоткой на каждом шаге


Рис. 8 Полношаговый режим, с 2-мя активными обмотками на каждом шаге


Рис. 9 Полушаговый режим

Разгон и торможение шагового двигателя

Такой параметр шагового двигателя, как зависимость момента от скорости является важнейшим при выборе типа двигателя, выборе метода управления фазами и выборе схемы драйвера. При конструировании высокоскоростных драйверов шаговых двигателей нужно учитывать, что обмотки двигателя представляют собой индуктивность. Эта индуктивность определяет время нарастания и спада тока. Поэтому если к обмотке приложено напряжение прямоугольной формы, форма тока не будет прямоугольной. При низких скоростях (рис. 10а) время нарастания и спада тока не способно сильно повлиять на момент, однако на высоких скоростях момент падает. Связано это с тем, что на высоких скоростях ток в обмотках двигателя не успевает достигнуть номинального значения (рис. 10б).


Рис. 10 Зависимость тока в обмотках Ш.Д. от частоты

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

Управление шаговым двигателем с помощью модуля ZET7X60-S StepMotor

Перед началом работы с шаговым двигателем необходимо выставить необходимые параметеры на вкладке «Настройки»:

  • Частота опроса — частота, с которой будет обновляться информация в канале о количестве проделанных шагов;
  • Тип двигателя — тип двигателя, подключенного к модулю ZET 7X60-S StepMotor.

После этого с помощью вкладки «Управление» можно начинать управление шаговым двигателем.

  • Старт/Стоп — начать /остановить движение шагового двигателя;
  • Направление вращения — задаём направление вращения шагового двигателя, по или против часовой стрелки;
  • Кол-во шагов до остановки — количество шагов, которое проделает шаговый двигатель после запуска;
  • Время одного шага — скорость вращения шагового двигателя.

Рис. 11 Вкладка «Настройки» в программе MODBUS-ZETLAB

Рис. 12 Вкладка «Управление» в программе MODBUS-ZETLAB

Во время выполнения команды, контроллер сообщает о количестве проделанных шагов на данный момент с частотой заданной в настройках (Настройки —> Частота опроса).


Рис. 13 Отображение количества проделанных шагов в программе ZETLAB «Многоканальный осциллограф»

Система управления шаговым двигателем с обратной связью

Система управления шаговым двигателем с обратной связью строится на базе модуля управления шаговым двигателем ZET 7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN) и интеллектуального энкодера ZET 7060-E Encoder-485 (ZET 7160-E Encoder-CAN). Для подключения к системе ZETLAB используется преобразователь интерфейса ZET 7070. Управление шаговым двигателем осуществляется подачей сигналов с модуля ZET7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN). Контроль состоянием шагового двигателя осуществляется энкодером, сигнал с которого обрабатывается модулем ZET 7060-E Encoder-485 (ZET 7160-E Encoder-CAN). Обработка сигналов с интеллектуального энкодера и программное управление модулем ZET7060-S StepMotor-485 (ZET 7160-S StepMotor-CAN) осуществляется с помощью программного обеспечения ZETLAB.


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

Состав системы управления шаговым двигателем с обратной связью

Описание
Управляющий модуль ZET 7060-S StepMotor-485 или ZET 7160-S StepMotor-CAN
Цифровой модуль управления шаговым двигателем с интерфейсом RS-485 или CAN.
Датчик углового перемещения
Преобразование углового перемещения в последовательность электрических сигналов, содержащих информацию о величине и направлении этого перемещения. Диаметр корпуса 50 мм. Разрешающая способность до 320000 дискрет на оборот.
Измерительный модуль ZET 7060-E Encoder-485 или ZET 7160-E Encoder-CAN
Преобразование сигнала с датчика в значения углового перемещения и передача этих данных по протоколу Modbus по интерфейсу RS-485 или CAN 2.0.
ZET 7070 RS-485↔USB или ZET 7174 CAN-USB
Модуль передачи данных с измерительных модулей на ПК
MODBUS OPC Сервер
Программа «Сервер данных интеллектуальных датчиков»
Кабели для подключения измерительных и управляющих модулей к ZET 7070 или ZET 7174
Программное обеспечение ZETLAB
Программы для отображения результатов измерений интеллектуальных датчиков в численном и графическом виде на плоскости и в объеме.
SCADA ZETVIEW
Графическая среда разработки приложений для автоматизации измерений

УПРАВЛЕНИЕ ШАГОВЫМ ДВИГАТЕЛЕМ

   Шаговые двигатели присутствуют в автомобилях, принтерах, компьютерах, стиральных машинах, электробритвах и многих других устройствах из повседневного быта. Однако многие радиолюбители до сих пор не знают, как заставить такой мотор работать и что он вообще из себя представляет. Итак, давайте узнаем, как использовать шаговый двигатель.

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

Типы шаговых двигателей

   Существуют три основных типа шаговых двигателей: переменной индуктивности, двигатели с постоянными магнитами, и гибридные двигатели.

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

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

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

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

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

   Но униполярный шаговый двигатель работает только с положительным напряжением, а биполярный шаговый двигатель имеет два полюса — положительный и отрицательный.

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

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

Подключение шаговых двигателей

   Разные шаговые двигатели могут иметь разное количество проводов, как правило, 4, 5, 6, или 8. 4-х проводные линии могут поддержать только биполярные шаговые двигатели, поскольку у них нет центрального провода.

   5-ти и 6-ти проводные механизмы могут быть использованы как для однополярного, так и биполярного шагового двигателя, в зависимости от того, используется центральный провод на каждой из катушек или нет. 5-ти проводная конфигурация подразумевает, что центральные провода на два комплекта катушек соединены внутри между собой.

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

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

   Полный шаг — такой привод всегда имеет два электромагнита. Для вращения вала, один из электромагнитов выключается и далее электромагнит включен, вызывая вращение вала на 1/4 зуба (по крайней мере для гибридных шаговых двигателей). Этот стиль имеет самый сильный момент вращения, но и самый большой размер шага.

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

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

Схема подключения шаговых двигателей

   Чтобы управлять шаговым двигателем необходим контроллер. Контроллер — схема, которая подает напряжение к любой из четырех катушек статора. Схемы управления достаточно сложны, по сравнению с обычными электромоторчиками, и имеют много особенностей. Подробно рассматривать тут мы их не будем, а просто приведём фрагмент популярного контроллера на ULN2003A.

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

Originally posted 2018-11-23 11:47:42. Republished by Blog Post Promoter

Управление фазами шагового двигателя

Диаграммы, диаграммы...

Существует несколько способов управления фазами шагового двигателя.

Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис 8а). Этот способ называют "one phase on" full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 50% обмоток, а для униполярного - только 25%. Это означает, что в таком режиме не может быть получен полный момент.

Рис. 8.  Различные способы управления фазами шагового двигателя.

Второй способ - управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют "two-phase-on" full step или просто full step mode. При этом способе управления ротор фиксируется в промежуточных позициях между полюсами статора (рис. 8б) и обеспечивается примерно на 40% больший момент, чем в случае одной включенной фазы. Этот способ управления обеспечивает такой же угол шага, как и первый способ, но положение точек равновесия ротора смещено на пол-шага.

Третий способ является комбинацией первых двух и называется полушаговым режимом, "one and two-phase-on" half step или просто half step mode, когда двигатель делает шаг в половину основного. Этот метод управления достаточно распространен, так как двигатель с меньшим шагом стоит дороже и очень заманчиво получить от 100-шагового двигателя 200 шагов на оборот. Каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две (рис. 8в). В результате угловое перемещение ротора составляет половину угла шага для первых двух способов управления. Кроме уменьшения размера шага этот способ управления позволяет частично избавиться от явления резонанса. Полушаговый режим обычно не позволяет получить полный момент, хотя наиболее совершенные драйверы реализуют модифицированный полушаговый режим, в котором двигатель обеспечивает практически полный момент, при этом рассеиваемая мощность не превышает номинальной.

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

Держи его!

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

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

Полушаговый режим

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

Для двигателя, у которого запитана одна обмотка, зависимость момента от угла поворота ротора относительно точки равновесия является приблизительно синусоидальной. Эта зависимость для двухобмоточного двигателя, который имеет N шагов на оборот (угол шага в радианах S = (2*pi)/N), показана на рис. 9.

Рис. 9.  Зависимость момента от угла поворота ротора для одной запитанной обмотки.

Реально характер зависимости может быть несколько другой, что объясняется неидеальностью геометрии ротора и статора. Пиковое значение момента называется моментом удержания. Формула, описывающая зависимость момента от угла поворота ротора, имеет следующий вид:

T = - Th*sin((pi/2)/S)*Ф),

где T - момент, Th - момент удержания,
S - угол шага,
Ф - угол поворота ротора.

Если к ротору приложить внешний момент, который превышает момент удержания, ротор провернется. Если внешний момент не превышает момента удержания, то ротор будет находится в равновесии в пределах угла шага. Нужно отметить, что у обесточенного двигателя момент удержания не равен нулю вследствие действия постоянных магнитов ротора. Этот момент обычно составляет около 10% максимального момента, обеспечиваемого двигателем.

Иногда используют термины "механический угол поворота ротора" и "электрический угол поворота ротора". Механический угол вычисляется исходя из того, что полный оборот ротора составляет 2*pi радиан. При вычислении электрического угла принимается, что один оборот соответствует одному периоду угловой зависимости момента. Для приведенных выше формул Ф является механическим углом поворота ротора, а электрический угол для двигателя, имеющего 4 шага на периоде кривой момента, равен ((pi/2)/S)*Ф или (N/4)*Ф, где N - число шагов на оборот. Электрический угол фактически определяет угол поворота магнитного поля статора и позволяет строить теорию независимо от числа шагов на оборот для конкретного двигателя.

Если запитать одновременно две обмотки двигателя, то момент будет равен сумме моментов, обеспечиваемых обмотками по отдельности (рис. 10).

Рис. 10. Зависимость момента от угла поворота ротора для двух запитанных обмоток.

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

Th2 = 2 0. 5*Th1,

где Th2 - момент удержания при двух запитанных обмотках,
Th1 - момент удержания при одной запитанной обмотке.

Именно этот момент обычно и указывается в характеристиках шагового двигателя.

Величина и направление магнитного поля показаны на векторной диаграмме (рис. 11).

Рис. 11. Величина и направление магнитного поля для разных режимов питания фаз.

Оси X и Y совпадают с направлением магнитного поля, создаваемого обмотками первой и второй фазы двигателя. Когда двигатель работает с одной включенной фазой, ротор может занимать положения 1, 3, 5, 7. Если включены две фазы, то ротор может занимать положения 2, 4, 6, 8. К тому же, в этом режиме больше момент, так как он пропорционален длине вектора на рисунке. Оба эти метода управления обеспечивают полный шаг, но положения равновесия ротора смещены на пол-шага. Если скомбинировать два этих метода и подать на обмотки соответствующие последовательности импульсов, то можно заставить ротор последовательно занимать положения 1, 2, 3, 4, 5, 6, 7, 8, что соответствует половинному шагу.

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

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

Способом устранения колебаний момента является поднятие момента в положениях с одной включенной фазой и обеспечение таким образом одинакового момента во всех положениях ротора. Это может быть достигнуто путем увеличения тока в этих положениях до уровня примерно 141% от номинального. Некоторые драйверы, такие как PBL 3717/2 и PBL 3770A фирмы Ericsson, имеют логические входы для изменения величины тока. Нужно отметить, что величина 141% является теоретической, поэтому в приложениях, требующих высокой точности поддержания момента эта величина должна быть подобрана экспериментально для конкретной скорости и конкретного двигателя. Поскольку ток поднимается только в те моменты, когда включена одна фаза, рассеиваемая мощность равна мощности в полношаговом режиме при токе 100% от номинального. Однако такое увеличение тока требует более высокого напряжения питания, что не всегда возможно. Есть и другой подход. Для устранения колебаний момента при работе двигателя в полушаговом режиме можно снижать ток в те моменты, когда включены две фазы. Для получения постоянного момента этот ток должен составлять 70.7% от номинального. Таким образом реализует полушаговый режим, например, микросхема драйвера A3955 фирмы Allegro.

Для полушагового режима очень важным является переход в состояние с одной выключенной фазой. Чтобы заставить ротор принять соответствующее положение, ток в отключенной фазе должен быть уменьшен до нуля как можно быстрее. Длительность спада тока зависит от напряжения на обмотке в то время, когда она теряет свою запасенную энергию. Замыкая в это время обмотку на источник питания, который представляет максимальное напряжение, имеющееся в системе, обеспечивается максимально быстрый спад тока. Для получения быстрого спада тока при питании обмоток двигателя H-мостом все транзисторы должны закрываться, при этом обмотка через диоды оказывается подключенной к источнику питания. Скорость спада тока значительно уменьшится, если один транзистор моста оставить открытым и закоротить обмотку на транзистор и диод. Для увеличения скорости спада тока при управлении униполярными двигателями подавление выбросов ЭДС самоиндукции предпочтительнее осуществлять не диодами, а варисторами или комбинацией диодов и стабилитрона, которые ограничат выброс на большем, но безопасном для транзисторов уровне.

Микрошаговый режим

Микрошаговый режим обеспечивается путем получения поля статора, вращающегося более плавно, чем в полно- или полушаговом режимах. В результате обеспечиваются меньшие вибрации и практически бесшумная работа вплоть до нулевой частоты. К тому же меньший угол шага способен обеспечить более точное позиционирование. Существует много различных микрошаговых режимов, с величиной шага от 1/3 полного шага до 1/32 и даже меньше. Шаговый двигатель является синхронным электродвигателем. Это значит, что положение равновесия неподвижного ротора совпадает с направлением магнитного поля статора. При повороте поля статора ротор тоже поворачивается, стремясь занять новое положение равновесия.

Рис. 12. Зависимость момента от угла поворота ротора в случае разных значений тока фаз.

Чтобы получить нужное направление магнитного поля, необходимо выбрать не только правильное направление токов в катушках, но и правильное соотношение этих токов.

Если одновременно запитаны две обмотки двигателя, но токи в этих обмотках не равны (рис. 12), то результирующий момент будет

Th = ( a2 + b2 )0.5,

а точка равновесия ротора сместится в точку

x = ( S / (pi/2) ) arctan( b / a ),

где a и b - момент, создаваемый первой и второй фазой соответственно,
Th - результирующий момент удержания,
x - положение равновесия ротора в радианах,
S - угол шага в радианах.

Смещение точки равновесия ротора говорит о том, что ротор можно зафиксировать в любой произвольной позиции. Для этого нужно лишь правильно установить отношение токов в фазах. Именно этот факт используется при реализации микрошагового режима.
Ещё раз нужно отметить, что приведенные выше формулы верны только в том случае, если зависимость момента от угла поворота ротора синусоидальная и если ни одна часть магнитной цепи двигателя не насыщается.
В пределе, шаговый двигатель может работать как синхронный электродвигатель в режиме непрерывного вращения. Для этого токи его фаз должны быть синусоидальными, сдвинутыми друг относительно друга на 90 град.
Результатом использования микрошагового режима является намного более плавное вращение ротора на низких частотах. На частотах в 2 - 3 раза выше собственной резонансной частоты ротора и нагрузки, микрошаговый режим дает незначительные преимущества по сравнению с полу- или полношаговым режимами. Причиной этого является фильтрующее действие инерции ротора и нагрузки. Система с шаговым двигателем работает подобно фильтру нижних частот. В микрошаговом режиме можно осуществлять только разгон и торможение, а основное время работать в полношаговом режиме. К тому же, для достижения высоких скоростей в микрошаговом режиме требуется очень высокая частота повторения микрошагов, которую не всегда может обеспечить управляющий микроконтроллер. Для предотвращения переходных процессов и потери шагов, переключения режимов работы двигателя (из микрошагового режима в полношаговый и т.п.) необходимо производить в те моменты, когда ротор находится в положении, соответствующем одной включенной фазе. Некоторые микросхемы драйверов микрошагового режима имеют специальный сигнал, который информирует о таком положении ротора. Например, это драйвер A3955 фирмы Allegro.
Во многих приложениях, где требуются малые относительные перемещения и высокая разрешающая способность, микрошаговый режим способен заменить механический редуктор. Часто простота системы является решающим фактором, даже если при этом придется применить двигатель больших габаритов. Несмотря на то, что драйвер, обеспечивающий микрошаговый режим, намного сложнее обычного драйвера, всё равно система может оказаться более простой и дешевой, чем шаговый двигатель, плюс редуктор. Современные микроконтроллеры иногда имеют встроенные ЦАПы, которые можно использовать для реализации микрошагового режима взамен специальных контроллеров. Это позволяет сделать практически одинаковой стоимость оборудования для полношагового и микрошагового режимов.
Иногда микрошаговый режим используется для увеличения точности величины шага сверх заявленной производителем двигателя. При этом используется номинальное число шагов. Для повышения точности используется коррекция положения ротора в точках равновесия. Для этого сначала снимают характеристику для конкретного двигателя, а затем, изменяя соотношение токов в фазах, корректируют положение ротора индивидуально для каждого шага. Такой метод требует предварительной калибровки и дополнительных ресурсов управляющего микроконтроллера. Кроме того, требуется датчик начального положения ротора для синхронизации его положения с таблицой корректирующих коэффициентов.

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

Рис. 13. Перемещения ротора в полношаговом и микрошаговом режимах.

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

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

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

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

Отклонения можно разделить на два вида: отклонения величины магнитного поля, которые приводят к отклонениям момента удержания в микрошаговом режиме и отклонения направления магнитного поля, которые приводят к отклонениям положения равновесия. Отклонения момента удержания в микрошаговом режиме обычно составляют 10 - 30% от максимального момента. Нужно сказать, что и в полношаговом режиме момент удержания может колебаться на 10 - 20 % вследствие искажений геометрии ротора и статора.

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

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

Препятствием являются следующие физические ограничения:

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

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

Еще один источник погрешностей позиционирования - это ошибка квантования ЦАП, с помощью которого формируются токи фаз. Дело в том, что ток должен формироваться по синусоидальному закону, поэтому для минимизации погрешности линейный ЦАП должен иметь повышенную разрядность. Существуют специализированные драйверы со встроенным нелинейным ЦАПом, который позволяет сразу получать осчеты функции sin. Примером может служить драйвер A3955 фирмы Allegro, который имеет встроенный 3-х разрядный ЦАП, который обеспечивает следующие значения тока фаз: 100%, 92.4%, 83.1%, 70.7%, 55.5%, 38.2%, 19.5%, 0%. Это позволяет работать в микрошаговом режиме с величиной шага 1/8, при этом погрешность установки тока фаз не превышает 2%. Кроме того, этот драйвер имеет возможность управлять скоростью спада тока обмоток двигателя во время работы, что позволяет произвести драйвера под конкретный двигатель для получения наименьшей погрешности позиционирования.

Даже если ЦАП точно сформировал синусоидальное опорное напряжение, его нужно усилить и превратить в синусоидальный ток обмоток. Многие драйверы имеют значительную нелинейность вблизи нулевого значения тока, что вызывает значительные искажения формы и, как следствие, значительные ошибки позиционирования. Если используются высококачественные драйверы, например PBM3960 и PBL3771 фирмы Ericsson, погрешность, связанная с драйвером исчезающе мала по сравнению с погрешностью двигателя.

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

Из-за этих ограничений микрошаговый режим используется в основном для обеспечения плавного вращения (особенно на очень низких скоростях), для устранения шума и явления резонанса. Микрошаговый режим также способен  уменьшить время установления механической системы, так как в отличие от полношагового режима отсутствуют выбросы и осцилляции. Однако в большинстве случаев для обычных двигателей нельзя гарантировать точного позицианирования в микрошаговом режиме.

Синусоидальный ток фаз может быть обеспечен применением специальных драйверов. Некоторые из них, например A3955, A3957 фирмы Allegro, уже содержат ЦАП и требуют о микроконтроллера только цифровых кодов. Другие же, такие как L6506, L298 фирмы SGS-Thomson, требуют внешних опорных напряжений синусоидальной формы, которые должен формировать микроконтроллер с помощью ЦАПов. Нужно сказать, что слишком большое количество дискретов синуса не приводит к повышению точности позиционирования, так как начинает доминировать ошибка, связанная с неидеальностью геометрии полюсов двигателя. Тем более, в этом случае отсчеты должны следовать с большой частотой, что является проблемой при их программном формировании. При работе на больших скоростях разрешающую способность ЦАПов можно уменьшить. Более того, при очень больших скоростях вообще рекомендуется работать в обычном полношаговом режиме, так как управление гармоническим сигналом теряет преимущества. Происходит это по той причине, что обмотки двигателя представляют собой индуктивность, соответственно любая конкретная схема драйвера с конкретным напряжением питания обеспечивает вполне определенную максимальную скорость нарастания тока. Поэтому при повышении частоты форма тока начинает отклоняться от синусоидальной и на очень больших частотах становится треугольной.

Зависимость момента от скорости, влияние нагрузки

Момент, создаваемый шаговым двигателем, зависит от нескольких факторов:

  • скорости
  • тока в обмотках
  • схемы драйвера

На рис. 14а показана зависимость момента от угла поворота ротора.

Рис. 14. Возникновение мертвых зон в результате действия трения.

У идеального шагового двигателя эта зависимость синусоидальная. Точки S являются положениями равновесия ротора для негруженного двигателя и соответствуют нескольким последовательным шагам. Если к валу двигателя приложить внешний момент, меньший момента удержания, то угловое положение ротора изменится на некоторый угол Ф.

Ф = (N/(2*pi))*sin(Ta/Th),

где Ф - угловое смещение,
N - количество шагов двигателя на оборот,
Ta - внешний приложенный момент,
Th - момент удержания.

Угловое смещение Ф является ошибкой позиционирования нагруженного двигателя. Если к валу двигателя приложить момент, превышающий момент удержания, то под действием этого момента вал провернется. В таком режиме положение ротора является неконтролируемым.
На практике всегда имеется приложенный к двигателю внешний момент, хотя бы потому, что двигателю приходится преодолевать трение. Силы трения могут быть расделены на две категории: статическое трение или трение покоя, для преодоления которого требуется постоянный момент и динамическое трение или вязкое трение, которое зависит от скорости. Рассмотрим статическое трение. Предположим, что для его преодоления требуется момент в половину от пикового. На рис. 14а штриховыми линиями показан момент трения. Таким образом, для вращения ротора остается только момент, лежащий на графике за пределами штриховых линий. Отсюда следуют два вывода: трение снижает момент на валу двигателя и появляются мертвые зоны вокруг каждого положения равновесия ротора (рис. 14б):

d = 2 ( S / (pi/2) ) arcsin(T f /T h) = ( S / (pi/4) ) arcsin(T f / Th),

где d - ширина мертвой зоны в радианах,
S - угол шага в радианах,
Tf - момент трения,
Th - момент удержания.

Мертвые зоны ограничивают точность позиционирования. Например, наличие статического трения в половину от пикового момента двигателя с шагом 90 град. вызовет наличие мертвых зон в 60 град. Это означает, что шаг двигателя может колебаться от 30 до 150 град., в зависимости от того, в какой точке мертвой зоны остановится ротор после очередного шага.

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

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

Каждый раз, когда шаговый двигатель осуществляет шаг, ротор поворачивается на S радиан. При этом минимальный момент имеет в место, когда ротор находится ровно между соседними положениями равновесия (рис. 15).

Рис. 15. Момент удержания и рабочий момент шагового двигателя.

Этот момент называют рабочим моментом, он означает, какой наибольший момент может преодолевать двигатель при вращении с малой скоростью. При синусоидальной зависимости момента от угла поворота ротора, этот момент Tr = Th/(20.5). Если двигатель делает шаг с двумя запитанными обмотками, то рабочий момент равен моменту удержания для одной запитанной обмотки.

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

Такой параметр шагового двигателя, как зависимость момента от скорости является важнейшим при выборе типа двигателя, выборе метода управления фазами и выборе схемы драйвера. При конструировании высокоскоростных драйверов шаговых двигателей нужно учитывать, что обмотки двигателя представляют собой индуктивность. Эта индуктивность определяет время нарастания и спада тока. Поэтому если к обмотке приложено напряжение прямоугольной формы, форма тока не будет прямоугольной. При низких скоростях (рис. 16а) время нарастания и спада тока не способно сильно повлиять на момент, однако на высоких скоростях момент падает. Связано это с тем, что на высоких скоростях ток в обмотках двигателя не успевает достигнуть номинального значения (рис. 16б).

Рис. 16. Форма тока в обмотках двигателя на разных скоростях работы.

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

Поведение момента при увеличении частоты коммутации фаз примерно таково: начиная с некоторой частоты среза момент монотонно падает. Обычно для шагового двигателя приводятся две кривые зависимости момента от скорости (рис. 17).

Рис. 17. Зависимость момента от скорости.

Внутренняя кривая (кривая старта, или pull-in curve) показывает, при каком максимальном моменте трения для данной скорости шаговый двигатель способен тронуться. Эта кривая пересекает ось скоростей в точке, называемой максимальной частотой старта или частотой приемистости. Она определяет максимальную скорость, на которой ненагруженный двигатель может тронуться. На практике эта величина лежит в пределах 200 - 500 полных шагов в секунду. Инерционность нагрузки сильно влияет на вид внутренней кривой. Большая инерционность соответствует меньшей области под кривой. Эта область называется областью старта. Внешняя кривая (кривая разгона, или pull-out curve) показывает, при каком максимальном моменте трения для данной скорости шаговый двигатель способен поддерживать вращение без пропуска шагов. Эта кривая пересекает ось скоростей в точке, называемой максимальной частотой разгона. Она показывает максимальную скорость для данного двигателя без нагрузки. При измерении максимальной скорости нужно иметь в виду, что из-за явления резонанса момент равен нулю еще и на резонансной частоте. Область, которая лежит между кривыми, называется областью разгона.

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

Разогнать!

Для того, чтобы работать на большой скорости из области разгона (рис. 17), необходимо стартовать на низкой скорости из области старта, а затем выполнить разгон. При остановке нужно действовать в обратном порядке: сначала выполнить торможение, и только войдя в область старта можно прекратить подачу управляющих импульсов. В противном случае произойдет потеря синхронности и положение ротора будет утеряно. Использование разгона и торможения позволяет достичь значительно больших скоростей - в индустриальных применениях используются скорости до 10000 полных шагов в секунду. Необходимо отметить, что непрерывная работа шагового двигателя на высокой скорости не всегда допустима ввиду нагрева ротора. Однако высокая скорость кратковременно может быть использована при осуществлении позиционирования.

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

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

Для наиболее общего случая требуется знать зависимость длительности шага от текущей скорости. Количество шагов, которое осуществляет двигатель при разгоне за время t равно:

N = 1/2At2+Vt, где N - число шагов, t - время, V - скорость, выраженная в шагах в единицу времени, A - ускорение, выраженное в шагах, деленных на время в квадрате.

Для одного шага N = 1, тогда длительность шага t1 = T = (-V+(V2+2A)0.5)/A

В результате осуществления шага скорость становится равной Vnew = (V2+2A)0.5

Вычисления по приведенным формулам довольно трудоемки и требуют значительных затрат процессорного времени. В то же время, они позволяют изменять значение ускорения в произвольный момент. Расчеты можно существенно упростить, если потребовать постоянства ускорения во время разгона и торможения. В этом случае можно записать зависимость длительности шага от времени разгона:
V = V0+At, где V - текущая скорость, V0 - начальная скорость (минимальная скорость, с которой начинается разгон), A - ускорение;
1/T = 1/T0+At, где T - длительность шага, T0 - начальная длительность шага, t - текущее время;

Откуда T = T0/(1+T0At)

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

Резонанс

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

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

F0 = (N*TH/(JR+JL))0.5/4*pi,

где F0 - резонансная частота,
N - число полных шагов на оборот,
TH - момент удержания для используемого способа управления и тока фаз,
JR - момент инерции ротора,
JL - момент инерции нагрузки.

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

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

Когда используется не микрошаговый режим, основной причиной появления колебаний является прерывистое вращение ротора. При осуществлении шага ротору толчком сообщается некоторая энергия. Этот толчок возбуждает колебания. Энергия, которая сообщается ротору в полушаговом режиме, составляет около 30% от энергии полного шага. Поэтому в полушаговом режиме амплитуда колебаний существенно меньше. В микрошаговом режиме с шагом 1/32 основного при каждом микрошаге сообщается всего около 0.1% от энергии полного шага. Поэтому в микрошаговом режиме явление резонанса практически незаметно.

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

Существуют электрические методы борьбы с резонансом. Колеблющийся ротор приводит к возникновению в обмотках статора ЭДС. Если закоротить обмотки, которые на данном шаге не используются, это приведет к демпфированию резонанса.

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

Если это возможно, при старте и остановке нужно использовать частоты выше резонансной. Увеличение момента инерции системы ротор-нагрузка уменьшает резонансную частоту.

Однако, самой эффективной мерой для борьбы с резонансом является применение микрошагового режима.

Чем же его кормить?

Для питания обычного двигателя постоянного тока требуется лишь источник постоянного напряжения, а необходимые коммутации обмоток выполняются коллектором. С шаговым двигателем всё сложнее. Все комутации должен выполнять внешний контроллер. В настоящее время примерно в 95% случаев для управления шаговыми двигателями используются микроконтроллеры. В простейшем случае для управления шаговым двигателем в полношаговом режиме требуются всего два сигнала, сдвинутые по фазе на 90 градусов. Направление вращения зависит  от того, какая фаза опережает. Скорость определяется часотой следования импульсов. В полушаговом режиме всё несколько сложнее и требуется уже минимум 4 сигнала. Все сигналы управления шаговым двигателем можно сформировать программно, однако это вызовет большую загрузку микроконтроллера. Поэтому чаще применяют специальные микросхемы драйверов шагового двигателя, которые уменьшают количество требуемых от процессора динамических сигналов. Типично эти микросхемы требуют тактовую частоту, которая является частотой повторения шагов и статический сигнал, который задает направление. Иногда еще присутствует сигнал включения полушагового режима. Для микросхем драйверов, которые работают в микрошаговом режиме, требуется большее количество сигналов. Распространенным является случай, когда необходимые последовательности сигналов управления фазами формируются с помощью одной микросхемы, а необходимые токи фаз обеспечивает другая микросхема. Хотя в последнее время появляется все больше драйверов, реализующих все функции в одной микросхеме.

 Мощность, которая требуется от драйвера, зависит от размеров двигателя и составляет доли ватта для маленьких  двигателей и до 10-20 ватт для больших двигателей. Максимальный уровень рассеиваемой мощности ограничен нагревом двигателя. Максимальная рабочая температура обычно указывается производителем, но можно приблизительно считать, что нормальной является температура корпуса 90 градусов. Поэтому при конструировании устройств с шаговыми двигателями, непрерывно работающими на максимальном токе, необходимо принимать меры, исключающие касание корпуса двигателя обслуживающим персоналом. В отдельных случаях возможно применение охлаждающего радиатора. Иногда это позволяет применить двигатель меньших размеров и добиться лучшего отношения мощность/стоимость.

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

Схема драйвера должна выполнять три главных задачи:

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

Способы изменения направления тока

При работе шагового двигателя требуется изменение направления магнитного поля независимо для каждой фазы. Изменение направления магнитного поля может быть выполнено разными способами. В униполярных двигателях обмотки имеют отвод от середины или имеются две отдельные обмотки для каждой фазы. Направление магнитного поля меняется путем перключения половинок обмоток или целых обмоток. В этом случае требуются только два простых ключа A и B для каждой фазы (рис. 18).

Рис. 18. Питание обмотки униполярного двигателя.

В биполярных двигателях направление меняется путем переполюсовки выводов обмоток. Для такой переполюсовки требуется полный H-мост (рис. 19). Управление ключами в том и другом случае должно осуществляться логической схемой, реализующей нужный алгоритм работы. Предпологается, что источник питания схем имеет номинальное для обмоток двигателя напряжение.

Рис. 19. Питание обмотки биполярного двигателя.

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

Обмотки двигателя представляют собой индуктивность, а это значит, что ток не может бесконечно быстро нарастать или бесконечно быстро спадать без привлечения бесконечной разности потенциалов. При подключении обмотки к источнику питания ток будет с некоторой скоростью нарастать, а при отключении обмотки произойдет выброс напряжения. Этот выброс способен повредить ключи, в качестве которых используются биполярные или полевые транзисторы. Для ограничения этого выброса устанавливают специальные защитные цепочки. На схемах рис. 18 и 19 эти цепочки образованы диодами, значительно реже применяют конденсаторы или их комбинацию с диодами. Применение конденсаторов вызывает появление электрического резонанса, что может вызвать увеличение момента на некоторой скорости. На рис. 18 потребовалось 4 диода по той причине, что половинки обмоток униполярного двигателя расположены на общем сердечнике и сильно связаны между собой. Они работают как автотрансформатор и выбросы возникают на выводах обеих обмоток. Если в качестве ключей применены МОП-транзисторы, то достаточно только двух внешних диодов, так как у них внутри уже имеются диоды. В интегральных микросхемах, содержащих мощные выходные каскады с открытым коллектором, также часто имеются такие диоды. Кроме того, некоторые микросхемы, такие как ULN2003, ULN2803 и подобные имеют внутри оба защитных диода для каждого транзистора. Нужно отметить, что в случае применения быстродействующих ключей требуются сравнимые по быстродействию диоды. В случае применения медленных диодов требуется их шунтирование небольшими конденсаторами.

Стабилизация тока

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

Для каждого двигателя производителем указывается номинальное рабочее напряжение обмоток. Поэтому простейший способ питания обмоток - это использование источника постоянного напряжения. В этом случае ток ограничен омическим сопротивлением обмоток и напряжением источника питания (рис. 20а), поэтому такой способ питания называют L/R-питанием. Ток в обмотке нарастает по экспоненциальному закону со скоростью, определяемой индуктивностью, активным сопротивлением обмотки и приложенным напряжением. При повышении частоты ток не достигает номинального значения и момент падает. Поэтому такой способ питания пригоден только при работе на малых скоростях и используется на практике только для маломощных двигателей.

Рис. 20. Питание обмотки номинальным напряжением (а) и использование ограничительного резистора (б).

При работе на больших скоростях требуется увеличивать скорость нарастания тока в обмотках, что возможно путем повышения напряжения источника питания. При этом максимальный ток обмотки должен быть ограничен с помощью дополнительного резистора. Например, если используется напряжение питание в 5 раз большее номинального, то требуется такой дополнительный резистор, чтобы общее сопротивление составило 5R, где R - омическое сопротивление обмотки (L/5R-питание). Этот способ питания обеспечивает более быстрое нарастание тока и как следствие, больший момент (рис. 20б). Однако он имеет существенный недостаток: на резисторе рассеивается дополнительная мощность. Большие габариты мощных резисторов, необходимость отвода тепла и повышенная необходимая мощность источника питания - всё это делает такой метод неэффективным и ограничивает область его применение небольшими двигателями мощностью 1 - 2 ватта. Нужно сказать, что до начала 80-х годов прошлого века параметры шаговых двигателей, приводимые производителями, относились именно к такому способу питания.

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

Существует еще одно решение, обеспечивающее высокую скорость нарастания токи и низкую мощность потерь. Основано оно на применении двух источников питания.

Рис. 21. Питание обмотки двигателя ступенчатым напряжением.

В начале каждого шага кратковременно обмотки подключаются к более высоковольтному источнику, который обеспечивает быстрое нарастание тока (рис. 21). Затем напряжение питания обмоток уменьшается (момент времени t1 на рис. 21). Недостатком этого метода является необходимость двух ключей, двух источников питания и более сложной схемы управления. В системах, где такие источники уже есть, метод может оказаться достаточно дешёвым. Еще одной трудностью является невозможность определения момента времени t1 для общего случая. Для двигателя с меньшей индуктивностью обмоток скорость нарастания тока выше и при фиксированном t1 средний ток может оказаться выше номинального, что чревато перегревом двигателя.

Еще одним методом стабилизации тока в обмотках двигателя является ключевое (широтно-импульсное) регулирование. Современные драйверы шаговых двигателей используют именно этот метод. Ключевой стабилизатор обеспечивает высокую скорость нарастания тока в обмотках вместе с простотой его регулирования и очень низкими потерями. Еще одним преимуществом схемы с ключевой стабилизацией тока является и то, что она поддерживает момент двигателя постоянным, независимо от колебаний напряжения питания. Это позволяет использовать простые и дешевые нестабилизированные источники питания.

Для обеспечения высокой скорости нарастания тока используют напряжение источника питания, в несколько раз превышающее номинальное. Путем регулировки скважности импульсов, среднее напряжение и ток поддерживаются на номинальном для обмотки уровне. Поддержание производится в результате действия обратной связи. Последовательно с обмоткой включается резистор - датчик тока R (рис. 22а). Падение напряжения на этом резисторе пропорционально току в обмотке. Когда ток достигает установленного значения, ключ выключается, что приводит к падению тока. Когда ток спадает до нижнего порога, ключ снова включается. Этот процесс повторяется периодически, поддерживая среднее значение тока постоянным.

Рис. 22. Различные схемы ключевой стабилизации тока.

Управляя величиной Uref можно регулировать ток фазы, например, увеличивать его при разгоне и торможении и снижать при работе на постоянной скорости. Можно также задавать его с помощью ЦАП в форме синусоиды, реализуя таким образом микрошаговый режим. Такой способ управления ключевым транзистором  обеспечивает постоянную величину пульсаций тока в обмотке, которая определяется гистерезисом компаратора. Однако частота переключений будет зависеть от скорости изменения тока в обмотке, в частности, от ее индуктивности и от напряжения питания. Кроме того, две такие схемы, питающие разные фазы двигателя, не могут быть засинхронизированы что может явится причиной дополнительных помех.

От указанных недостатков свободна схема с постоянной частотой переключения (рис. 22б). Ключевым транзистором управляет триггер, который устанавливается специальным генератором. Когда триггер устанавливается, ключевой транзистор открывается и ток фазы начинает расти. Вместе с ним растет и падение напряжения на датчике тока. Когда оно достигает опорного напряжения, компаратор переключается, сбрасывая триггер. Ключевой транзистор при этом выключается и ток фазы начинает спадать до тех пор, пока триггер не будет вновь установлен генератором. Такая схема обеспечивает постоянную частоту коммутации, однако величина пульсаций тока не будет постоянной. Частота генератора обычно выбирается не менее 20кГц, чтобы двигатель не создавал слышимого звука. В то же время слишком высокая частота переключений может вызвать повышенные потери в сердечнике двигателя и потери на переключениях транзисторов. Хотя потери в сердечнике с повышением частоты растут не так быстро ввиду уменьшения амплитуды пульсаций тока с ростом частоты. Пульсации порядка 10% от среднего значения тока обычно не вызывают проблем с потерями.

Подобная схема реализована внутри микросхемы L297 фирмы SGS-Thomson, применение которой сводит к минимуму количество внешних компонентов. Ключевое регулирование реализуют и другие специализированные микросхемы.

Рис. 23. Форма тока в обмотках двигателя для различных способов питания.

На рис. 23 показана форма тока в обмотках двигателя для трех способов питания. Наилучшим в смысле момента является ключевой метод. К тому же он обеспечивает высокий КПД и позволяет просто регулировать величину тока.

Быстрый и медленный спад тока

На рис. 19 были показаны конфигурации ключей в H-мосту для включения разных направлений тока в обмотке. Для выключения тока можно выключить все ключи H-моста или же оставить один ключ включенным (рис. 24). Эти две ситуации различаются по скорости спада тока в обмотке. После отключения индуктивности от источника питания ток не может мгновено прекратится. Возникает ЭДС самоиндукции, имеющая противоположное источнику питания направление. При использовании транзисторов в качестве ключей необходимо использовать шунтирующие диоды, чтобы обеспечить проводимость в обе стороны. Скорость изменения тока в индуктивности пропорциональна приложенному напряжению. Это справедливо как для нарастания тока, так и для его спада. Только в первом случае источником энергии является источник питания, а во втором сама индуктивность отдает запасенную энергию. Этот процесс может происходить при разных условиях.

Рис. 24. Медленный и быстрый спад тока.

На рис. 24а показано состояние ключей H-моста, когда обмотка включена. Включены ключи A и D, направление тока показано стрелкой. На рис. 24б обмотка выключена, но ключ A включен. ЭДС самоиндукции закорачивается через этот ключ и диод VD3. В это время на выводах обмотки будет небольшое напряжение, равное прямому падению на диоде плюс падение на ключе (напряжение насыщения транзистора). Так как напряжение на выводах обмотки мало, малой будет и скорость изменения тока. Соответственно малой будет и скорость спадания магнитного поля. А это значит, еще некоторое время статор двигателя будет создавать магнитное поле, которого в это время быть не должно. На вращающийся ротор это поле будет оказывать тормозящее воздействие. При высоких скоростях работы двигателя этот эффект может серъезно помешать нормальной работе двигателя. Быстрое спадание тока при выключении является очень важным для высокоскоростных контроллеров, работающих в полушаговом режиме.

Возможен и другой способ отключения тока обмотки, когда размыкаются все ключи H-моста (рис 24в). При этом ЭДС самоиндукции закорачивается чрез диоды VD2, VD3 на источник питания. Это значит, что во время спада тока на обмотке будет напряжение, равное сумме напряжения источника питания и прямого падения на двух диодах. По сравнению с первым случаем, это значительно большее напряжение. Соответственно, более быстрым будет спад тока и магнитного поля. Такое решение, использующее напряжение источника питания для ускорения спада тока является наиболее простым, но не единственным. Нужно сказать, что в ряде случаев на источнике питания могут появится выбросы, для подавления которых понадобятся специальные демферные цепочки. Безразлично, каким способом обеспечивается на обмотке повышенное напряжение во время спада тока. Для этого можно применить стабилитроны или варисторы. Однако на этих элементах будет рассеиваться дополнительная мощность, которая в первом случае отдавалась обратно в источник питания.

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

Рис. 25. Пример реализации быстрого спада тока для униполярного двигателя.

При ключевом регулировании величина пульсаций тока зависит от скорости его спада. Здесь возможны разные вырианты.

Если обеспечить закорачивание обмотки диодом, будет реализован медленный спад тока. Это приводит к уменьшению амплитуды пульсаций тока, что является весьма желательным, особенно при работе двигателя в микрошаговом режиме. Для данного уровня пульсаций медленный спад тока позволяет работать на более низких частотах ШИМ, что уменьшает нагрев двигателя. По этим причинам медленный спад тока широко используется. Однако существует несколько причин, по которым медленное нарастание тока не всегда является оптимальным: во-первых, из-за отрицательной обратной ЭДС, ввиду малого напряжения на обмотке во время спада тока, реальный средний ток обмотки может оказаться завышенным; во-вторых, когда требуется резко уменьшить ток фазы (например, в полушаговом режиме), медленный спад не позволит сделать это быстро; в-третьих, когда требуется установить очень низкое значение тока фазы, регулирование может нарушится ввиду существования ограничения на минимальное время включенного состояния ключей.

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

Наиболее совершенные микросхемы драйверов имеют возможность регулировать скорость спада тока.


Ссылки по теме:

Кихтенко Д.А. Управление шаговыми двигателями в микрошаговом режиме, оп-тимизация управления.

УДК 681-1

УПРАВЛЕНИЕ ШАГОВЫМИ ДВИГАТЕЛЯМИ

В МИКРОШАГОВОМ РЕЖИМЕ, ОПТИМИЗАЦИЯ УПРАВЛЕНИЯ

Кихтенко Д.А.

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

Одним из главных преимуществ шаговых двигателей является возможность осуществлять точное позиционирование и регулировку скорости без датчика связи. Однако это подходит только для систем, которые работают при малом ускорении и с относительно постоянной нагрузкой. В то же время системы с обратной связью способны работать с большими ускорениями и даже при переменном характере нагрузки. Если нагрузка шагового двигателя превысит его момент, то информация о положении ротора теряется и система требует базирования с помощью, например, концевого выключателя или другого датчика. Системы с обратной связью не имеют подобного недостатка [1].

Так как при работе шагового двигателя без обратной связи возможна потеря контроля положения (потеря шагов),  на практике при осуществлении каждого шага ротор не сразу останавливается в новом положении равновесия. Избавится от этих явлений можно путем использования обратной связи и микрошагового режима. На рис.1 показаны перемещения ротора при работе в полношаговом и микрошаговом режимах.

 

Рис.1 Перемещения ротора в полношаговом и микрошаговом режимах.

 

Микрошаговый режим обеспечивается путем получения поля статора, вращающегося более плавно, чем в полно - или полушаговом режимах. В результате обеспечиваются меньшие вибрации и практически бесшумная работа вплоть до нулевой частоты. К тому же меньший угол шага способен обеспечить более точное позиционирование. Микрошаговые режимы бывают от 1/3 полного шага до 1/32 и даже меньше, наиболее часто используют 1/4, 1/8, 1/16, 1/32 [1,4].

Рис.2. Зависимость момента от угла поворота ротора в случае

разных значений тока фаз.

 

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

 

Th=(a2+b2)0.5,                                                               (1)

 

а точка равновесия ротора сместится в точку

 

x=(S/(pi/2))arctan(b/a)                                                       (2)

 

где a и b – момент, создаваемый первой и второй фазой соответственно,
Th – результирующий момент удержания,
x – положение равновесия ротора в радианах,
S – угол шага в радианах.

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

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

Результатом использования микрошагового режима является намного более плавное вращение ротора на низких частотах [1,4].

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

 

Рис. 3. Схема ШИМ и формы кривых напряжения:

1 - нагрузка; 2 - токоизмерительный резистор; 3 - диод обратного тока

 

Управление с помощью широтно-импульсной модуляции. Коммутатор с широтно-импульсной модуляцией (ШИМ) обеспечивает стабилизацию тока с незначительными потерями. Основная функция ШИМ коммутатора представлена на рис. 3 [1].

 

Рис. 4. Схема коммутатора типа ШИМ:

1 - циркуляционный ток после запирания VT1; 2 - датчик тока; 3 - ток после запирания VT4

 

Здесь индуктивная нагрузка, помещенная в пунктирный прямоугольник, представляет собой обычный коммутатор (рис. 4). Напряжение на датчике тока нагрузки сравнивается с эталонным, с помощью операционного усилителя с высоким коэффициентом усиления. Эталонное напряжение представляет собой сумму высокочастотной компоненты треугольной или синусоидальной формы и постоянной составляющей, с которой необходимо сравнить напряжение датчика.

 

Рис. 5 Прямоугольная форма напряжения и форма кривой тока

 

 

Если постоянная компонента эталонного сигнала и напряжение  датчика близки, то выходной сигнал усилителя будет иметь прямоугольную форму, как показано для V0 на  рис. 5[1].

Преимущества ШИМ или вибрационного управления заключается в единственном источнике питания, малых потерях  мощности и автоматическом регулировании напряжения для управления при нормированном токе.

Для работы в прецизионных системах, где важным фактором является точность позиционирования целесообразно использовать гибридные шаговые двигатели. Наиболее распространенным гибридным шаговым двигателем является четырехфазный 200 – шаговый двигатель с углом шага 1.8°[1,4]. 

Рис. 6 Зависимости частоты вращения от положения:

а - удовлетворительная; б - неудовлетворительная; 1 - конечное положение

 

Задачи микроконтроллера. На рис. 6 показаны две зависимости частоты вращения от угла, построенные при управлении ШД с обратной связью. На рис. 6 а показан пример, в котором ШД запускается с требуемым углом коммутации, ускоряется при другом его значении и начинает торможение в момент, с которого частота вращения быстро  уменьшается и становится равной нулю как раз в требуемом положении. Для запуска  и ускорения использовали угол коммутации более 1 шага, а для торможения нулевой или отрицательный. На рис. 6 б представлен неудачный пример  управления. Торможение начинается тогда, когда обнаружено конечное положение. Но двигатель не может остановится моментально и будет вращаться по инерции. Для приведения ротора в нужное положение он должен вращаться в обратном направлении с установлением соответствующего угла коммутации. Зависимость частоты вращения от углового положения ротора может быть колебательной, как показано на рис. 6 б [1,4].

 

Рис. 7 Система управления с логическим блоком, вынесенным за микроконтроллер:

1 - микропроцессор; 2- команды управления; 3 - Программа обучения и выполнения; 4 - монитор; 5 - коммутатор и логический блок; 6 - датчик положения ротора; 7 - шаговый двигатель; 8 - нагрузка

 

Микроконтроллерная система здесь используется для определения наилучшего времени изменения углов коммутации. На рис. 7 показана схема системы, в которой логический блок вынесен за микроконтроллер. Сигнал позиционирования поступает в блок формирования сигнала, который управляет движением ротора и обменивается информацией с микроконтроллером. Сигнал позиционирования поступает в блок формирования сигнала, который управляет движением ротора и обменивается информацией с микроконтроллером. Математическое обеспечение должно быть организовано так, чтобы микроконтроллер определял лучшее время для изменения углов коммутации, основываясь на предыдущем опыте и текущих данных о положении и частоте вращения. Микроконтроллер, в конечном счете, после нескольких итераций будет находить оптимальное время изменения угла коммутаций [1,2].

Наиболее характерным качеством микроконтроллера является гибкость программирования. Преимущества  микроконтроллера состоит также в том, что он позволяет осуществлять генерацию временных импульсов, управление логической последовательностью и выполнения функций входного контроллера.  Более сложные способы регулирования частоты вращения могут быть реализованы при помощи программ для микроконтроллера [2,3].

При оптимизации работы в микрошаговом режиме  системы управления можно использовать микроконтроллеры семейства PIC, ATMEL    или другие с встроенным ЦАП.

 

Рис. 8 Процесс ШИМ – стабилизации тока

 

 

Управление шаговым двигателем осуществляется на основе широтно-импульсной модуляции, при помощи которой ЦАП формирует синусоидальное опорное напряжение, которое подается на схему управления, выполненную на полевых транзисторах, где сигналы усиливаются и подаются на обмотки двигателя. Рисунок 8 [1,4].

 

Рис. 9 Принципиальная схема контроллера

 

 

Выполнение шагов контролируется при помощи обратной связи, которая реализована на датчиках тока и компараторах. Датчики токов включаются в цепь истоков полевых транзисторов. Сигналы, снятые с датчиков тока, поступают на входы компараторов, на вторые входы компараторов подается опорное напряжение, сформированное микроконтроллером которое и определяет пиковый ток в обмотках шагового двигателя. Выходы компараторов подключаются к  входам  прерываний микроконтроллера. Рисунок 9 [2,3].

Основой устройства является микроконтроллер DD1. Сигналы управления обмотками двигателя формируются на портах РВ4 – РВ7. Для коммутации обмоток используются полевые транзисторы типа КП 505А (VT1 – VT4), чтобы транзисторы оставались закрытыми во время действия сигнала « сброс » микроконтроллера (порты в это время находятся в высокоимпедансном состоянии), между затворами и истоками включены резисторы R11, R14, R17, R18. Для ограничения тока перезарядки емкости затворов установлены резисторы R3, R6, R7, R8. В данном контроллере реализован медленный спад тока фаз, который обеспечивается шунтированием обмоток двигателя диодами VD1 – VD4. Для подключения шагового двигателя имеется восьмиконтактный разъем ХР1, который позволяет подключить двигатель, имеющий два отдельных вывода от каждой обмотки [1,4].

Стабилизация тока осуществляется с помощью  ШИМ, которая реализована программно. Для этого используются два датчика тока R15 и R16. Сигналы, снятые с датчиков тока, через ФНЧ R12 C5 и R13 C6 поступают на входы компараторов DA1.1 и DA1.2. ФНЧ предотвращают ложные срабатывания компараторов вследствии действия помех. На второй вход каждого компаратора  подается опорное напряжение, которое и определяет пиковый ток в обмотках двигателя. Это напряжение формируется микроконтроллером. Для фильтрации сигнала ШИМ используются двухзвенные ФНЧ R1C1R4C3 и R2C2R5C4. Одновременно резисторы R1, R4, R9 и R2, R5, R10 образуют делители, которые задают масштаб регулировки токов фаз. Выходы компараторов подключены к выходам прерываний микроконтроллера  INT 0 и INT 1. Алгоритм работы показан на рисунке 10. Основываясь на схеме стабилизации тока, программно реализована система контроля выполнения шагов, алгоритм подпрограммы  изображен на рис. 11.

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

Данная методика предлагает вариант решения проблемы потери шагов при работе микроконтроллерной системы на шаговых двигателях без использования дорогостоящих датчиков положения.

 

 

 

 

Рис. 10 Алгоритм работы программы управления ШД

 
 

 

Рис. 11 Алгоритм подпрограммы контроля выполнения шагов

 

It was offered the variant of realization of decision of problem of loss of steps when functioning (working) an microcontroller of system on crossbar engines without use the sensors of position, with the help of additional checking the steps in microsteps mode.

 

1.                  Кенио Т. Шаговые двигатели и их микропроцессорные системы управления: Пер. с англ. - М.: Энергоатомиздат, 1987. -200с.

2.                  Микроконтроллеры. Выпуск 2. Однокристальные микроконтроллеры PIC12C5x, PIC12C6x, PIC16x8x, PIC1400, M16C/61/62. Перевод с англ. Б. Я. Прокопенко/Под ред. Б. Я. Прокопенко. - М.: ДОДЕКА. 2000. -336с.

3.                  On-line session on http://www.microchip.ru

4.                  On-line session on http://www.telesys.ru

                                                                         

 

Управление биполярным шаговым двигателем с помощью контроллера Текст научной статьи по специальности «Механика и машиностроение»

Секция ««Информатика и автоматизированные системы»

Рис. 2. Форма 1

Рис. 3. Форма 2

Рис. 4. Форма 3

Рис. 5. Форма 4 2. САПР и графика. URL: www.sapr.ru/article.

Библиографические ссылки

1. Гладышев Г. Н., Дмитриев В. С., Копытов В. И. aspx?id=14918&iid=707. Системы управления космическими аппаратами ;

Томский политехнич. ун-т. Томск : Изд-во ТПУ, © Мезинова А. А., Костюченко Т. Г., 2010

2000.

УДК 681.51

Р. А. Мирзаев, Ф. А. Халковский Научный руководитель - Н. А. Смирнов Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

УПРАВЛЕНИЕ БИПОЛЯРНЫМ ШАГОВЫМ ДВИГАТЕЛЕМ С ПОМОЩЬЮ КОНТРОЛЛЕРА

Рассматриваются аспекты управления биполярным шаговым двигателем с применением драйвера L293D. В программе PCB Layout разработана топология платы контроллера шаговых двигателей. Созданная плата контроллера позволяет управлять тремя биполярными шаговыми двигателями.

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

изделиях ракетно-космической и промышленной техники.

Одним из главных преимуществ шаговых двигателей является возможность осуществлять точное позиционирование и регулировку скорости без датчика связи [1]. Однако это подходит только для систем, которые работают при малом ускорении и с

Актуальные проблемы авиации и космонавтики. Информационные технологии

относительно постоянной нагрузкой. В то же время системы с обратной связью способны работать с большими ускорениями и даже при переменном характере нагрузки. Если нагрузка шагового двигателя превысит его момент, то информация о положении ротора теряется и система требует базирования с помощью, например, концевого выключателя или любого датчика положения. Системы с обратной связью не имеют подобного недостатка [2].

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

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

Самый простой драйвер управления двигателями -это микросхема. Для биполярных шаговых двигателей одной из самых распространенных микросхем является Ь293Б [3].

«- 12V +5V

L2930 CLM10293N)

Рис. 1. Схема соединения микросхем 555ТМ7, L293D и шагового двигателя [4]

Для генерации сигналов управления используется персональный компьютер с ЬРТ-портом. На нем установлена разработанная программа, которая выдает на порт компьютера последовательности кодов: 01001010, 01000110, 01000101, 01001001. Первые четыре бита указывают, какой двигатель работает: в данной последовательности всегда работает двигатель по оси У. Вторая четверка битов управляет состоянием четырех выводов биполярного шагового двигателя: единица соответствует подаче на вывод

положительного напряжения, нуль - подаче на вывод нулевого потенциала.

По схеме на рис. 1 в программе PCB Layout разработана топология платы контроллера шаговых двигателей. Созданная плата контроллера позволяет управлять тремя биполярными шаговыми двигателями (рис. 2). Ограничение на мощность двигателей накладывает микросхема драйвера этих двигателей: максимальный ток в обмотке 600 мА, напряжение -не больше 36 В.

Рис. 2. Контроллер биполярного двигателя

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

Библиографические ссылки

1. Кихтенко Д. А. Управление шаговыми двигателями в микрошаговом режиме, оптимизация управления // Современные технические средства, комплексы и системы. ААЭКС. № 2 (12). 2003.

2. Кенио Т. Шаговые двигатели и их микропроцессорные системы управления : пер. с англ. М. : Энергоатомиздат, 1987.

3. Драйвер двигателей L293D //myrobot.ru. URL: http://myrobot.ru/stepbystep/el_driver.php. - (дата обращения: 05.09.2009).

4. Контроллер для биполярного двигателя или TM7+L298/ Vetrov Roman. URL: http://vri-cnc.ru /mo-dules.php?Name=News&file=article&sid=83. - (дата обращения: 15.11.2009).

© Мирзаев Р. А., Халковский Ф. А., Смирнов Н. А., 2010

Управление шаговым двигателем с помощью Arduino

В этой статье описано управление шаговым двигателем на Ардуино, снятым со старого принтера, с помощью контроллера Arduino.

Шаг 1: Шаговый двигатель

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

Шаговые двигатели обладают рядом преимуществ. Они недороги и просты в использовании. Если не подавать на обмотки напряжение, положение ротора фиксируется. Изменение направления вращения ротора происходит за счет изменения последовательности подачи импульсов на катушки.

Шаг 2: Список материалов

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

  • шаговый двигатель
  • микроконтроллер Arduino
  • изолированный медный провод
  • стабилизатор тока
  • транзистор
  • Н-мост (мостовая схема драйвера)
  • плата расширения MotorShield

Опционально:

  • паяльник
  • припой
  • паяльный фен
  • третья рука для пайки
  • защитные очки

Шаг 3: Припаиваем провода

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

Шаг 4: Скетч для Arduino

В контроллерах Arduino имеется предустановленная библиотека для шаговых двигателей. Вам нужно перейти во вкладку Файл – Примеры – Stepper — stepper_oneRevolution (File > Examples > Stepper >stepper_oneRevolution). Дальше вам нужно настроить количество шагов под свой конкретный двигатель (stepsPerRevolution). Поискав в интернете, я выяснил, что у моего двигателя 48 шагов на оборот. Библиотека Stepper чередует импульсы, посылаемые на обмотку катушек (проиллюстрировано в гиф-файле).

Шаг 5: Что такое Н-мост (мостовая схема драйвера)

Н-мост – схема, состоящая из четырех переключателей, чаще используются простые транзисторы. Транзистор – полупроводниковый ключ – включается при прохождении тока через один из пинов. Использование одного транзистора даст возможность контролировать только скорость, тогда как Н-мост дает еще и возможность контролировать направление вращения. Это происходит за счет того, что выключение разных переключателей позволяет току течь в разных направлениях, меняя тем самым полярность. Переключатели 1, 2, 3 и 4 никогда не должны включаться вместе, это вызовет короткое замыкание и может повредить устройство.

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

Н-мост легко собрать самим, а имеющиеся в продаже стоят недорого. В данном проекте используется Н-мост L293NE/SN754410.

Его распиновка:

  • Пин 1 (1, 2EN) —> Мотор 1 Вкл/Выкл (HIGH/LOW)
  • Пин 2 (1A) —> Мотор 1 Логический вывод1
  • Пин 3 (1Y) —>Мотор 1 Штыревой вывод 1
  • Пин 4 —>Земля
  • Пин 5 —>Земля
  • Пин 6 (2Y) —>Мотор 1 Штыревой вывод 2
  • Пин 7 (2A) —> Мотор 1 Логический вывод 2
  • Пин 8 (VCC2) —>Питание для двигателей
  • Пин 9 —>Мотор 2 Вкл/Выкл (HIGH/LOW)
  • Пин 10 —>Мотор 2 Логический вывод 1
  • Пин 11 —>Мотор 2 Штыревой вывод 1
  • Пин 12 —>Земля
  • Пин 13 —>Земля
  • Пин 14 —>Мотор 2 Штыревой вывод 2
  • Пин 15 —>Мотор 2 Логический вывод 2
  • Пин 16 (VCC1) —>Питание Н-моста (5 В)

Шаг 6: Подключение компонентов

4 штыревых вывода Н-моста должны подключаться к четырем выводам. 4 логических вывода подключаются к Arduino (в этой статье это 8, 9, 10 и 11 выводы). На схеме видно, что для питания можно использовать внешний источник питания. Н-мост работает при напряжении в диапазоне 4,5-36 В.

Шаг 7: Загрузка кода и тест

Загрузите код в Arduino. Если вы ошиблись при подключении, мотор вместо вращения начнет вибрировать. Попробуйте разные скорости и направления вращения, чтобы понять, что вам нужно.

Контроллер шагового двигателя | LabJack

Обзор

Шаговые двигатели

Шаговые двигатели - это бесщеточные электродвигатели постоянного тока, которые делят полный оборот на несколько дискретных «шагов» или положений, в которые может перемещаться двигатель. Это позволяет осуществлять позиционное управление двигателем, передавая ему команду на перемещение на определенное количество шагов. Чем больше шагов во вращении имеет двигатель, тем больше определяется его разрешение и то, насколько точно его движение можно контролировать. Природа шаговых двигателей позволяет использовать их в системах, где обратная связь от энкодера невозможна.Если количество шагов в одном обороте известно, двигатель можно переместить на любое желаемое расстояние, вычислив, сколько оборотов, а затем сколько шагов соответствует этому расстоянию. После выполнения такого количества шагов двигатель должен переместиться в точное правильное положение.

Шаговые двигатели обычно состоят из шестерни, которая соединена с валом двигателя и окружена множеством электромагнитов. Эти электромагниты разделены на группы, которые называются «фазами». Эти фазы чередуются по кругу вокруг шестерни.Каждый электромагнит в фазе получает питание одновременно и притягивает к себе ближайший зуб шестерни. Как только шестерня переместилась для магнитного совмещения с электромагнитами в фазе под напряжением, она фактически переместилась на один «шаг». Чтобы перейти на следующий шаг, эта фаза отключается и включается следующая фаза в последовательности. Это снова подтянет зубья шестерни к следующей фазе и повернет двигатель еще на один шаг. Поскольку каждая из этих фаз находится под напряжением независимо от других фаз, обычно каждая фаза требует своего собственного набора выводов.Программы и схемы контроллера шагового двигателя интерпретируют команду пользователя, определяющую, на сколько шагов двигатель должен переместиться, и определяют, когда подавать питание на каждую фазу соответственно.

Обычно ссылаются на электрическую схему шагового двигателя. Базовая схема шагового двигателя, вращающегося из-за активации одной катушки.

Униполярный Vs. Биполярные шаговые двигатели

Обычно существует два типа шаговых двигателей: униполярные и биполярные.

Самый простой тип шагового двигателя - это двухфазный униполярный шаговый двигатель. У них есть только две фазы A и B, которые чередуются вокруг металлической шестерни. Каждая фаза состоит из одной катушки и «центрального отвода» или «общего провода». Два конца катушки и центральный отвод образуют по три вывода для каждой фазы, всего шесть выводов для двух фаз. Такое расположение позволяет переключать направление магнитного полюса каждой катушки с помощью одного переключателя или двух транзисторов на катушку, чтобы определить, на каком конце катушки будет проходить ток.Это позволяет изменять направление магнитного полюса каждой катушки без необходимости менять направление тока. Функцию переключения можно упростить с помощью нашей платы переключения мощности PS12DC или нашего драйвера реле LJTick, который будет полезен только для униполярных двигателей, поскольку для биполярных шаговых двигателей требуется более сложная схема.

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

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

Существует множество способов управления шаговыми двигателями, и передовые методы управления продолжают развиваться. Некоторые из существующих:

Если требуется более высокая точность или крутящий момент, также существуют расширенные возможности управления, которые включают в себя процессоры цифровых сигналов (DSP).Существуют также системы шаговых двигателей с замкнутым контуром управления, которые используют угловые энкодеры в качестве механизмов обратной связи, которые обеспечивают более точное управление вращением или алгоритмы «удержания» вращающегося вала. Дополнительные объяснения того, как управляются шаговые двигатели, можно найти по ссылкам в разделе для дальнейшего чтения.

В этом примечании к приложению подчеркивается, что устройства LabJack могут управлять шаговыми двигателями, используя однофазный режим полного шага (волновой привод) и полушаговый режим управления посредством выполнения сценария Lua.Эти сценарии доступны в разделе примеров сценариев Lua на нашем веб-сайте или в Kipling и имеют названия unipolar_full_step.lua и unipolar_half_step.lua.

Оборудование

Для успешного подключения и эксплуатации шагового двигателя с помощью LabJack вам потребуются следующие материалы:

  • Компьютер с USB, Ethernet или Wi-Fi
  • LabJack T4 или T7
  • PS12DC - плата переключения питания
  • Униполярный шаговый двигатель
    • PS12DC может обрабатывать 750 мА на канал до 28 В, поэтому подойдет большинство униполярных шаговых двигателей NEMA17.Всегда сверяйте характеристики двигателя с таблицей данных PS12DC.
    • Биполярные двигатели не будут работать, так как для них требуется 2 набора H-мостов, а PS12DC - это только коммутационное устройство высокого напряжения, поскольку оно использует полевые МОП-транзисторы с каналом P-канала.
  • Источник питания
    • Здесь мы будем использовать 12 В постоянного тока, но все, что не превышает номинальных значений PS12, будет работать.
  • Монтажные провода

Основные соединения

Сначала подключите PS12DC к LabJack, как описано в таблице данных PS12DC.Как обсуждалось выше, средний двухфазный униполярный шаговый двигатель должен иметь в общей сложности шесть выводов, с двумя концами катушки и центральным отводом для каждой фазы. Подключите два конца катушки одной из фаз к S0 и S1 на PS12DC и подключите центральный отвод катушки к GND1. Аналогичным образом подключите два конца катушки другой фазы к S2 и S3 и подключите центральный отвод второй фазы GND2. Затем подключите VS1 к VS2 и подключите GND1 к GND2. Наконец, подключите VS1 к положительной клемме источника питания 12 В и подключите GND1 к отрицательной клемме источника питания 12 В.
ПРИМЕЧАНИЕ: Можно использовать любую пару S-каналов, которые находятся в одном блоке PS12DC, и выполнять одну и ту же операцию. Сценарии LUA по умолчанию unipolar_full_step.lua и unipolar_half_step.lua используют S0 + S1 и S4 + S5 в качестве каналов ввода-вывода, поэтому обязательно обновите сценарий LUA с помощью S-каналов вашего приложения перед его загрузкой и использованием.

Каждый из S каналов PS12DC соответствует цифровой линии ввода / вывода LabJack. Установив на соответствующей линии ввода-вывода данного S-канала высокий уровень, 12 В от источника питания будут направляться через этот S-канал.Таким образом, пользователь может программно выбрать, когда полностью подавать питание на каждый конец катушки, путем простого переключения линий ввода / вывода. S0: S7 соответствует EIO0: EIO7, а S8: S11 соответствует CIO0: CIO3.

Другой вариант схемы коммутации переключения мощности - это наш LJTick-RelayDriver. LJTRD можно подключить к LabJack с его терминалами INA / INB, подключенными к любым линиям цифрового ввода / вывода, как показано в таблице данных драйвера LJTick-Relay. Затем питание и заземление источника питания можно подключить к клеммам VR и GNDR LJTRD.Теперь, как и в случае с PS12DC, для линий цифрового ввода / вывода можно установить высокий уровень, чтобы замкнуть твердотельный переключатель в LJTRD и направить напряжение от источника питания на соответствующую клемму RA / RB. Если концы катушки фазы подключены к этим клеммам RA и RB, LJTRD позволит пользователю решить, когда полностью включить каждую фазу. Также можно использовать любое другое твердотельное реле или транзистор с аналогичными функциями и номиналами.

Определение потенциальных клиентов

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

Для управления шаговыми двигателями состояния линий цифрового ввода / вывода необходимо переключать по определенной схеме из одного из указанных выше режимов привода на высоких скоростях.Хотя эти формы сигналов могут быть созданы путем установки линий ввода / вывода непосредственно с компьютера, более эффективно использовать возможности Lua Scripting LabJack и создать гибридное приложение, в котором некоторая логика находится на главном компьютере и имеет код управления шаговым двигателем. выполняется непосредственно на устройстве серии T. Следующая функциональная блок-схема дает обзор того, как LabJack можно использовать для управления шаговыми двигателями:

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

Подключение к LabJack

Первым шагом в большинстве приложений LabJack является открытие соединения с устройством, использующим библиотеку LJM. Это делается с помощью функции LJM_Open, которой можно передать тип устройства, идентификатор, представляющий серийный номер или IP-адрес устройства, и тип соединения для открытия определенного устройства. Функцию open также можно вызвать с помощью LJM_Open (LJM_dtANY, LJM_ctANY, LJM_idANY, ...), и она откроет любое подключенное устройство.После открытия соединения с устройством функция open вернет дескриптор, который затем можно использовать для чтения или записи на устройство LabJack для тела приложения. После завершения работы над телом приложения рекомендуется закрыть соединение с устройством с помощью функции LJM_Close. Подробнее о подключении к устройству LabJack см. LJM - Открытие и закрытие.

Настройка LabJack для управления шаговым двигателем

Чтобы настроить LabJack в качестве контроллера униполярного шагового двигателя, сначала загрузите и запустите один из сценариев LUA, unipolar_full_step.lua или unipolar_half_step.lua (исходный код можно найти в разделе «Примеры сценариев Lua» на нашем веб-сайте) на LabJack и сохранить сценарий при включении по умолчанию. Для руководства по загрузке и сохранению сценария LUA в LabJack см. Учебное пособие по автономному сценарию Lua. Сценарии также могут быть загружены через внешнюю программу, как это видно из приведенного здесь примера Python и примеров LabVIEW, обсуждаемых ниже. Эти сценарии lua объявляют каналы FIO из приведенного выше руководства по подключению, а затем определяют массивы, которые определяют порядок, в котором концевые выводы катушки должны быть запитаны, чтобы успешно переместить двигатель на желаемое количество шагов в режиме полного или половинного шага.Затем сценарий LUA объявляет следующие регистры USER_RAM, которые могут быть изменены внешними программами для управления двигателем:

  • USER_RAM1_I32 (46080): целевая позиция (шаги)
  • USER_RAM2_I32 (46082): Текущая позиция (шаги)
  • USER_RAM0_U16 (46180): включить (1 = включить, 0 = отключить)
  • USER_RAM1_U16 (46181): eStop (1 = eStop, 0 = запустить)
  • USER_RAM2_U16 (46182): положение удержания (1 = заблокировать положение двигателя, 0 = разблокировать двигатель после текущего перемещения)
  • USER_RAM3_U16 (46183): Set Home (1 = устанавливает текущую позицию как позицию 0 шага)

После понимания основных сценариев можно разработать расширенные сценарии, реализующие более сложные приложения, такие как:

  • При использовании ротационного двигателя можно отслеживать положение по градусам.
  • Если шаговый двигатель управляет линейным суппортом, положение можно отследить по расстоянию.
  • Переместите двигатель на полную скорость в одном направлении.

Psuedocode

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

После того, как шаговый двигатель правильно подключен и один из сценариев LUA конфигурации был загружен в LabJack, приложение внешнего управления может читать и записывать из регистров USER_RAM, чтобы отслеживать и управлять работой. Псевдокод для базового управления двигателем для перемещения на 200 шагов можно увидеть ниже:

ручка = ljm.openS ("ЛЮБОЙ," ЛЮБОЙ "," ЛЮБОЙ ")
target_position = 200

ljm.eWriteAddress (handle, 46183,0,1) // Сигнал для установки дома
ljm.eWriteAddress (handle, 46182,0,0) // Не держите двигатель для стендовых испытаний, так как он выделяет много тепла

ljm.eWriteAddress (handle, 46080,2, target_position) // Записываем новую целевую позицию
ljm.eWriteAddress (handle, 46180,0,1) // Разрешить движение двигателя

// Подождать, пока двигатель достигнет пункта назначения (включение автоматически выключится в пункте назначения)
wait = true
при ожидании:
wait = ljm.eReadAddress (дескриптор, 46180,0) == 1

Чтобы упростить начало работы с шаговыми двигателями, мы разработали приложение LabVIEW, которое загружает правильный сценарий .lua на устройство серии T после редактирования требуемых строк ввода-вывода, которые необходимо контролировать, и выбора между сценарием полного шага а также скрипт полушага. Приложение доступно в формате «.exe» (ссылка на него находится внизу страницы и здесь) и будет запускаться после загрузки и установки нашей библиотеки Windows LJM и предоставления ей возможности установить LabVIEW 7.1 рабочий движок. Если требуется кросс-платформенный пример, у нас также есть пример Python, который можно загрузить и использовать, который опубликован в разделе «Примеры сценариев Lua» на нашем веб-сайте.

Подключение к устройству и настройка устройства:

Загрузить и запустить последовательность шагов

Примеры LabVIEW Уведомление:

Этот пример представляет собой .exe нашего «приложения-контроллера шагового двигателя», доступного для загрузки на нашей веб-странице LabVIEW для LJM и использующего шаблон проектирования производитель-потребитель.Более простой пример «StepperController.vi», а также более исчерпывающий пример «stepper-controller-with-reads.vi» можно найти в папке:

LabVIEW_LJM / Примеры / Подробнее / Примечания по приложениям / Stepper-motor-control

Большинство функций устройств серии T можно использовать с помощью «Write Read Loop with Config.vi». Предполагая, что один из сценариев LUA конфигурации уже загружен в LabJack, базовое управление двигателем может быть выполнено в этом примере с использованием регистров, указанных выше в разделе «Настройка LabJack для управления шаговым двигателем».Этот пример может находиться в папке:

LabVIEW_LJM / Примеры / Основы

Ключ к достижению управления движением

Краткое руководство по различным типам двигателей и их важности для достижения точности.

Автор: Джесон Питт |

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

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

В этом посте мы рассмотрим различные типы шаговых двигателей, а также различные режимы работы.Вы можете выбрать один из различных типов в зависимости от ваших требований, в том числе:

1. Постоянный магнит

Используя постоянный магнит (ПМ) ротора, этот тип шагового двигателя работает на магнетизме и отталкивании между электромагнитами ПМ и статора. Двигатель с постоянными магнитами, также известный как двигатель для жестяных банок или штабелей, является одним из наиболее распространенных типов шаговых двигателей, который имеет от 48 до 24 ступеней на каждый оборот. Популярность такого шагового двигателя делает его низкая стоимость производства.

2. Переменное сопротивление

Переменное сопротивление - это базовый тип шагового двигателя, который упрощает понимание принципа работы с организационной точки зрения. Этот тип управления двигателем работает по принципу «минимальное сопротивление при минимальном зазоре» и имеет ротор из простого железа.

Эти типы двигателей называются «двигателями с переменным сопротивлением», потому что положение ротора изменяется в зависимости от сопротивления цепи двигателя, которое образуется между зубьями статора и зубцами ротора.

3. Гибридный синхронный

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

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

Теперь, когда вы понимаете различные типы, давайте посмотрим на режимы работы:

1. Полный шаговый режим

Ротор совершает 200 шагов за каждый оборот канала двигателя на 360 °. Каждый градус измеряет 1,8 °, если быть точным. Две фазы статора получают питание во время работы в режиме полного шага, что обеспечивает максимальный крутящий момент. Однако количество зубцов ротора может повлиять на угловое разрешение.

2. Полушаговый режим

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

3. Микрошаговый режим

В микрошаговом режиме ротор перемещается через 51 200 шагов, и каждый шаг измеряет точность 0,007 °. Фаза статора может быть запитана, обесточена или частично запитана. Микрошаговая операция требуется в случаях, когда требуется точное позиционирование. Вы можете снизить номинальный крутящий момент до 30%.

Заключение

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

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

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

Связанные проекты:
Управление биполярным шаговым двигателем Arduino
Управление шаговым двигателем с помощью Arduino и джойстика

В основном существует два типа шаговых двигателей: биполярные и униполярные. Биполярный шаговый двигатель - это двухфазный бесщеточный двигатель, который имеет две катушки (обмотки), этот двигатель имеет 4 провода (по 2 провода на каждую катушку).
Другой тип - униполярный шаговый двигатель, это 4-фазный бесщеточный двигатель с 5 или 6 проводами.

Популярные режимы управления шаговым двигателем: полный шаг и полушаг . Полную ступень можно разделить на 2 типа: однофазный и двухфазный .

В полношаговом однофазном режиме драйвер подает питание на одну катушку за раз. Этот тип управления требует наименьшего количества энергии, но обеспечивает наименьший крутящий момент.

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

Полушаговый режим - это комбинация двух полноступенчатых режимов (однофазный и двухфазный). Этот режим увеличивает точность за счет деления каждого шага на 2. Он требует промежуточной мощности между однофазным и двухфазным режимами, а также промежуточным крутящим моментом.

Существует еще один тип управления, называемый микрошаговый , этот тип более точен, чем полушаговый режим, он требует двух источников синусоидального тока со сдвигом на 90 °.

В этом примере я собираюсь использовать полноступенчатый двухфазный режим для управления униполярным шаговым двигателем.
Обычно униполярный шаговый двигатель имеет 5 проводов, один для питания двигателя, а другой для катушек. Этот двигатель имеет 4 катушки, и они подключены, как показано на рисунке ниже:

Как показано на рисунке выше, имеется 4 катушки: A, B, C и D. Эти катушки имеют общую точку, обозначенную на рисунке Источник питания двигателя , который подключен к положительной клемме источника питания.Остальные клеммы катушки подключены к приводу двигателя.

Униполярный шаговый двигатель может приводиться в действие драйвером двигателя L293D или микросхемой транзисторов Дарлингтона ULN2003A. В этом примере я собираюсь использовать микросхему ULN2003A (или ULN2004).

В режиме полного шага управления всегда две обмотки находятся под напряжением одновременно в соответствии со следующей таблицей, где 1 означает, что катушка находится под напряжением, а 0 означает, что питание отсутствует (показаны оба направления):

Требуемое оборудование:

  • Плата Arduino UNO
  • 28BYJ-48 униполярный шаговый двигатель (с платой драйвера)
  • Потенциометр 10 кОм
  • Кнопка
  • Источник питания 5В
  • Хлебная доска
  • Перемычки

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

Arduino:
Пример принципиальной схемы показан ниже (все заземленные клеммы соединены вместе).

, а на следующем изображении показан контур фритзинга:

Шаговый двигатель подключен к плате ULN2003A, на которую подается внешний источник питания 5В. Линии управления (IN1, IN2, IN3 и IN4) этой платы подключены к Arduino следующим образом:
IN1 к контакту 11 Arduino
IN2 к контакту 10 Arduino
IN3 к контакту 9 Arduino
IN4 к контакту 8 Arduino

Потенциометр 10 кОм используется для управления скоростью шагового двигателя, его выходной вывод подключен к аналоговому выводу 0 Arduino.

Кнопка, подключенная к выводу 4 Arduino, используется для изменения направления вращения шагового двигателя.

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

Шаговый двигатель, который я использовал в этом проекте, - 28BYJ-48 , этот двигатель оснащен редуктором скорости 1/64. Внутренний двигатель имеет 32 шага за один оборот, что означает, что внешний вал имеет 2048 шагов за один оборот (64 x 32).Количество шагов определяется в коде, как показано ниже:

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

Шаговый шаговый (ШАГИ, 8, 10, 9, 11);

При использовании функции stepper.step (direction_) шаговый двигатель перемещается в соответствии с переменной direction_, в этом примере эта переменная может быть 1 или -1.Если direction_ = 1, двигатель будет двигаться в первом направлении, а если direction_ = -1, двигатель будет двигаться в другом направлении.

При нажатии кнопки переменная direction_ будет инвертирована (1 или -1).

Остальной код описан в комментариях.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

18

19

20

21

22

23

24

25

26

27

28

29

30

34

35

36

37

38

39

40

41

42

43

44

45

46

48

51

52

53

54

55

56

57

58

59

60

61

62

63

9 0006 64

65

66

67

/ *

* Управление скоростью и направлением униполярного шагового двигателя с помощью Arduino.

* Полный пошаговый контроль.

* Это бесплатное программное обеспечение БЕЗ ГАРАНТИЙ.

* https://simple-circuit.com/

* /

// включить библиотеку шаговых двигателей Arduino

#include

// изменить количество шагов на вашем двигателе

#define STEPS 32

// создайте экземпляр класса шагового двигателя, указав

// количество шагов двигателя и его выводы

// прикрепленные к

Stepper stepper ( ШАГИ, 8, 10, 9, 11);

const int button = 4; // кнопка управления направлением подключена к пину 4 Arduino

const int pot = A0; // потенциометр управления скоростью подключен к аналоговому выводу 0

void setup ()

{

// настроить вывод кнопки как вход с включенным внутренним подтягиванием

pinMode (button, INPUT_PULLUP);

}

int direction_ = 1, speed_ = 0;

void loop ()

{

if (digitalRead (button) == 0) // если кнопка нажата

if (debounce ()) // сигнал кнопки противодействия

{

direction_ * = -1; // переменная обратного направления

while (debounce ()); // ждем отпускания кнопки

}

// считываем аналоговое значение с потенциометра

int val = analogRead (pot);

// преобразовать цифровое значение из [0, 1023] в [2, 500]

// ===> минимальная скорость = 2 и максимальная скорость = 500 об / мин

if (speed_! = Map (val, 0, 1023, 2, 500))

{// если скорость была изменена

speed_ = map (val, 0, 1023, 2, 500);

// установить скорость мотора

шаговый.setSpeed ​​(скорость_);

}

// перемещаем шаговый двигатель

stepper.step (direction_);

}

// небольшая функция для удаления кнопок

bool debounce ()

{

byte count = 0;

for (byte i = 0; i <5; i ++) {

if (digitalRead (button) == 0)

count ++;

задержка (10);

}

if (count> 2) return 1;

иначе вернуть 0;

}

На следующем видео показана простая аппаратная схема проекта:

Control Nema Stepper Motor с Arduino и микрошаговым приводом: 6 шагов (с изображениями)

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

Что такое шаговый двигатель?

Шаговый двигатель - это бесщеточный синхронный электродвигатель, который преобразует цифровые импульсы в механическое вращение вала. Каждое вращение шагового двигателя делится на заданное количество шагов, иногда до 200 шагов.Шаговый двигатель должен посылать отдельный импульс для каждого шага. Шаговый двигатель может принимать только один импульс и делать один шаг за раз, и каждый шаг должен быть одинаковой длины. Поскольку каждый импульс приводит к вращению двигателя на точный угол, обычно 1,8 градуса, вы можете точно контролировать положение шагового двигателя без какого-либо механизма обратной связи.

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

Типы шаговых двигателей

Существует три типа шаговых двигателей: с постоянным магнитом, гибридные и с переменным сопротивлением. Гибридные шаговые двигатели обладают максимальной универсальностью и сочетают в себе лучшие характеристики шаговых двигателей с переменным сопротивлением и шаговых двигателей с постоянными магнитами. Гибридные шаговые двигатели сконструированы с полюсами статора с несколькими зубьями и ротором с постоянными магнитами. Стандартный гибридный шаговый двигатель имеет 200 зубцов ротора и вращается на 1,8 градуса за шаг.

Half Step означает, что шаговый двигатель вращается со скоростью 400 шагов за оборот (0.9 шагов x 400 = 360 градусов). Сначала запитывается одна обмотка, а затем поочередно запитываются две обмотки. Это заставит ротор шагового двигателя переместиться на половину расстояния (0,9 градуса). В полушаговом режиме типичный шаговый двигатель обеспечивает примерно на 30% меньший крутящий момент, но обеспечивает более плавное движение, чем в полношаговом режиме.

Microstep

Микрошаг активирует обмотку шагового двигателя таким образом, что количество позиций между полюсами дополнительно разделяется.Некоторые микрошаговые контроллеры могут разделять полный шаг (1,8 градуса) на 256 микрошагов. Это приведет к 51 200 шагам за один оборот (0,007 градуса / шаг). Микрошаг обычно применяется в приложениях, требующих точного позиционирования и более плавного движения в широком диапазоне скоростей. Как и в полушаговом режиме, микрошаговый режим снижает крутящий момент примерно на 30% по сравнению с полушаговым режимом.

ИС контроллера шагового двигателя

- Elmos Semiconductor SE

E523.30 (* SoC)
Power Stepper Controller с обнаружением опрокидывания и автоматической адресацией (интерфейс LIN / PWM)
  • LIN 2.x (1,3 комп.) или
  • SAE-J2602 или
  • Интерфейс PWM
  • Дополнительная автоадресация LIN (SNPD) только
    E523.30 или обновление LIN Flash
  • JTAG
  • LIN 2.x (1,3 комп.) или
  • SAE-J2602
  • Обновление LIN Flash
  • JTAG
  • LIN 2.x (1,3 комп.) или
  • SAE-J2602 или
  • Интерфейс LIN / PWM
  • Обновление Fast LIN Flash
  • JTAG

Шаговый двигатель с управлением - MATLAB и Simulink

Эта модель показывает, как использовать драйвер шагового двигателя и блоки шагового двигателя вместе для реализации управляемого шагового двигателя с постоянными магнитами.Модель предоставляет два варианта контроллера: один для управления положением и один для управления скоростью. Чтобы изменить тип контроллера, щелкните правой кнопкой мыши блок Controller, выберите Variant-> Override using-> и выберите Position или Speed.

Шаговый двигатель имеет полный шаг 1,8 градуса. В модели управления положением вход Ref - это желаемое количество шагов. В режиме управления скоростью вход Ref представляет собой желаемое количество шагов в секунду.

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

Альтернатива реализации алгоритма на микропроцессоре (таком как PIC) дает большую гибкость, и микропроцессор также может использоваться для управления другими частями всей системы. В этом случае части блока драйвера шагового двигателя также могут быть реализованы на микропроцессоре, оставив только каскад усилителя мощности в аналоговой электронике.

Модель

Результаты моделирования из Simscape Logging

Тест управления положением

Угол вала двигателя по сравнению с сигналом запроса. Алгоритм управления положением принимает команду положения как ряд шагов и преобразует ее в последовательность импульсов, которая управляет драйвером шагового двигателя. Пики на графике угловой скорости возникают, когда вал устанавливается в заданное положение.

Тест управления скоростью

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

График ниже показывает, как состояние контактов на шаговом драйвере влияет на движение шагового двигателя. Драйвер инициирует шаг каждый раз, когда сигнал ENA поднимается выше порогового напряжения включения.

Что такое шаговый двигатель и контроллеры? - Omega Engineering

Шаговый двигатель - это бесщеточный синхронный электродвигатель, который преобразует цифровые импульсы в механическое вращение вала.Каждый оборот шагового двигателя делится на дискретное количество шагов, во многих случаях 200 шагов, и для каждого шага двигателю необходимо посылать отдельный импульс. Шаговый двигатель может делать только один шаг за раз, и каждый шаг одинакового размера. Поскольку каждый импульс заставляет двигатель вращаться на точный угол, обычно 1,8 °, положением двигателя можно управлять без какого-либо механизма обратной связи. По мере увеличения частоты цифровых импульсов шаговое движение превращается в непрерывное вращение, при этом скорость вращения прямо пропорциональна частоте импульсов.Шаговые двигатели используются каждый день как в промышленных, так и в коммерческих целях из-за их низкой стоимости, высокой надежности, высокого крутящего момента на низких скоростях и простой и прочной конструкции, которая работает практически в любых условиях.

Преимущества шагового двигателя

Преобразование нелинейного входного сигнала в линейный выходной сигнал. Это обычное дело для сигналов термопар.

Угол поворота двигателя пропорционален входному импульсу.
Двигатель имеет полный крутящий момент в состоянии покоя (если обмотки находятся под напряжением).
Точное позиционирование и повторяемость движения, так как хорошие шаговые двигатели имеют точность от 3 до 5% шага, и эта ошибка не накапливается от одного шага к другому.
Отличная реакция на пуск / остановку / движение задним ходом.
Очень надежен, так как в двигателе нет контактных щеток. Следовательно, срок службы шагового двигателя просто зависит от срока службы подшипника.
Шаговые двигатели, реагирующие на импульсы цифрового входа, обеспечивают управление без обратной связи, что упрощает управление двигателем и снижает его стоимость.
Можно добиться синхронного вращения на очень низкой скорости с нагрузкой, непосредственно связанной с валом.
Может быть реализован широкий диапазон скоростей вращения, поскольку скорость пропорциональна частоте входных импульсов.

Типы шаговых двигателей

Существует три основных типа шаговых двигателей: с переменным сопротивлением, с постоянным магнитом и гибридные. Это обсуждение будет сосредоточено на гибридном двигателе, поскольку эти шаговые двигатели сочетают в себе лучшие характеристики двигателей с переменным сопротивлением и двигателей с постоянными магнитами.Они сконструированы с полюсами статора с несколькими зубьями и ротором с постоянными магнитами. Стандартные гибридные двигатели имеют 200 зубцов ротора и вращаются с шагом 1,8 °. Поскольку они демонстрируют высокий статический и динамический крутящий момент и работают с очень высокой частотой шагов, гибридные шаговые двигатели используются в широком спектре коммерческих приложений, включая компьютерные дисководы, принтеры / плоттеры и проигрыватели компакт-дисков. Некоторые промышленные и научные применения шаговых двигателей включают робототехнику, станки, механизмы захвата и размещения, автоматизированные машины для резки и склеивания проволоки и даже точные устройства контроля жидкости.

Пошаговые режимы

«Шаговые режимы» шагового двигателя включают полный, половинный и микрошаговый. Тип выхода шагового режима любого шагового двигателя зависит от конструкции драйвера. OMEGA предлагает приводы с шаговыми двигателями с переключаемым полным и половинным шагами, а также микрошаговые приводы с переключаемым или программным выбором разрешения.

ПОЛНЫЙ ШАГ
Стандартные гибридные шаговые двигатели имеют 200 зубцов ротора или 200 полных шагов на оборот вала двигателя.Разделение 200 шагов на 360 ° вращения равняется полному углу шага 1,8 °. Обычно режим полного шага достигается за счет подачи питания на обе обмотки при попеременном реверсировании тока. По сути, один цифровой импульс от драйвера эквивалентен одному шагу.

HALF STEP
Полушаг просто означает, что шаговый двигатель вращается со скоростью 400 шагов за оборот. В этом режиме запитывается одна обмотка, а затем поочередно запитываются две обмотки, в результате чего ротор вращается на половину расстояния, или 0.9 °. Хотя он обеспечивает примерно на 30% меньше крутящего момента, полушаговый режим обеспечивает более плавное движение, чем полушаговый режим.

MICROSTEP
Микрошаговый двигатель - это относительно новая технология шагового двигателя, которая регулирует ток в обмотке двигателя до такой степени, что дополнительно разделяет количество положений между полюсами. Приводы OMEGA с микрошагом способны разделять полный шаг (1,8 °) на 256 микрошагов, что дает 51 200 шагов на оборот (0,007 ° / шаг). Микрошаг обычно используется в приложениях, требующих точного позиционирования и более плавного движения в широком диапазоне скоростей.Как и полушаговый режим, микрошаговый режим обеспечивает примерно на 30% меньше крутящего момента, чем полушаговый режим.

Управление линейным движением
Вращательное движение шагового двигателя может быть преобразовано в линейное движение с помощью системы привода ходового винта / червячной передачи. Шаг или шаг ходового винта - это линейное расстояние, пройденное за один оборот винта. Если шаг равен одному дюйму на оборот и есть 200 полных шагов на оборот, то разрешение системы ходового винта равно 0.005 дюймов на шаг. Еще более высокое разрешение возможно при использовании шагового двигателя / системы привода в микрошаговом режиме.

Серия

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

Обзор технологии драйвера

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

Скорость и крутящий момент шагового двигателя основаны на протекании тока от привода к обмотке двигателя.Фактор, который препятствует потоку или ограничивает время, необходимое току для возбуждения обмотки, известен как индуктивность. Влияние индуктивности, большинство типов схем драйвера предназначены для подачи большего количества напряжения, чем номинальное напряжение двигателя. Чем выше выходное напряжение от драйвера, тем выше уровень крутящего момента в зависимости от скорости. Как правило, выходное напряжение драйвера (напряжение на шине) должно быть в 5-20 раз выше номинального напряжения двигателя. Чтобы защитить двигатель от повреждения, привод шагового двигателя должен быть ограничен по току до номинального тока шагового двигателя.

Обзор индексатора

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

Связь с индексатором осуществляется через последовательный порт RS-232 и в некоторых случаях порт RS485. В любом случае индексатор способен принимать высокоуровневые команды от главного компьютера и генерировать необходимые импульсы шага и направления для драйвера.

Индексатор включает в себя вспомогательные входы / выходы для контроля входов от внешних источников, таких как Go, Jog, Home или Limit switch. Он также может запускать другие функции машины через выходные контакты ввода / вывода.

Автономная работа

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

Многоосевое управление


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

Выбор шагового двигателя и привода

Выбор шагового двигателя зависит от требований к крутящему моменту и скорости. Используйте кривую крутящего момента двигателя (указанную в технических характеристиках каждого привода), чтобы выбрать двигатель, который будет выполнять эту работу. Каждый шаговый привод в линейке OMEGA показывает кривые крутящий момент-скорость для рекомендуемых двигателей. Если ваши требования к крутящему моменту и скорости могут быть удовлетворены с помощью нескольких шаговых двигателей, выберите привод, основанный на потребностях вашей системы движения - шаг / направление, автономный программируемый, аналоговые входы, микрошаговый - затем выберите один из рекомендуемых двигателей для этого привода. .Список рекомендуемых двигателей основан на обширных испытаниях, проведенных производителем для обеспечения оптимальной производительности шагового двигателя и комбинации привода.

Выберите шаговый двигатель, подходящий для вашего приложения

Шаг и направление
Эти приводы шаговых двигателей принимают импульсы шага и сигналы направления / разрешения от контроллера, такого как ПЛК или ПК. Каждый шаговый импульс заставляет двигатель вращаться на определенный угол, а частота импульсов определяет скорость вращения.Сигнал направления определяет направление вращения (по часовой или против часовой стрелки), а разрешающий сигнал включает или выключает двигатель.

Узнать больше

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

Узнать больше

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

Узнать больше

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *