Как управлять шаговым двигателем вручную
Перейти к содержимому

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

  • автор:

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

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

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

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

Для сборки панели управления шаговым двигателем подготовил все необходимые материалы: прошивка для дисплея DWIN, код для Arduino или ESP32, 3D модель корпуса под дисплей. При желании в корпус можно разместить драйвер шагового двигателя A4988 или другой драйвер данного форм-фактора.

Схема подключения шагового двигателя сенсорного дисплея к Arduino.

Как видим из схемы, нам нужно 2 источника питания на 5 и 12 В.

Код для Arduino.

Код для данного проекта не требует дополнительных настроек. Загружает его в Arduino, прошивает дисплей. Как прошивать дисплей, я рассказывал в одной из своих статей. Собираем всё по схеме выше. Все дополнительные настройки вы можете сделать прям с дисплея, а именно:

— изменить количество шагов для совершения перемещения на 1 мм.;

— установить скорость шагового двигателя;

— установить ускорение шагового двигателя. И приступить к управлению. Можно вращать по часовой или против часовой стрелки бесконечное количество оборотов или перемещать на заданное расстояние в мм.

Также смотрите другие проекты с использованием дисплея DWIN:

Более подробное описание проекта вы можете прочитать на моём втором сайте.

Также смотрите другие проекты с использованием дисплея DWIN:

  • Управление реле с помощью сенсорного дисплея DWIN и Arduino, ESP32.
  • Панель управления подсветкой на дисплее DWIN.
  • Мини-метеостанция на ESP32 (Arduino) и BME280 с выводом данных на дисплей DWIN.

Понравилась новость Панель управления шаговым двигателем своими руками? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступать в группу Вконтакте, в группу на Facebook.

Понравилась статья? Поделитесь ею с друзьями:

Теория управления шаговым двигателем (или как вертеть PTZ камеру)

Настал тот редкий случай, когда в работе программиста микроконтроллеров появилась потребность в математике и даже физике. У меня на работе была интересная задача по теме разработки тяжелой (70кг) PTZ камеры.

Там была задачка по физике из раздела кинематики. Правда по уровню сложности её можно отнести к школьной программе 6го класса.

Шаговые двигатели применяются в CNC станках, 2D/3D принтерах, жестких дисках, сканерах, плоттерах, PTZ камерах, крутилках радарных антенн, турелей, в линейных актюаторах, в стрелочных приборах (аналоговые часы) и может быть еще где-то.

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

Постановка задачи

дано:

Параметр

Пояснение

Units

Угол на который надо повернуть вал шагового двигателя

Максимально возможная угловая частота

Максимальное угловое ускорение

Дан угол, PhiSet на который следует повернуть вал шагового двигателя. Двигатель работает в трех режимах: ускорение ACCEL, работа на постоянной крейсерской скорости RUN, замедление DECEL. Получается трапециевидный профиль скорости.

Или ускорение ACCEL и замедление DECEL. Получается треугольный профиль скорости (в случае, если крейсерская скорость OmegaMax очень высока, а угловой путь PhiSet, что надо пройти, очень мал).

В качестве параметров движения даны только ускорение BettaMax [rad/s^2] и крейсерская скорость OmegaMax [rad/s] в режиме RUN. В нулевой момент времени t0 вал трогается с места и начинает набирать угловую скорость Omega с постоянным ускорением BettaMax. Вычислить момент времени t1, при котором следует остановить ускорение ACCEL и начать вращение на постоянной скорости OmegaMax (фаза RUN), и вычислить момент время t2, при котором следует остановить движение на постоянной скорости OmegaMax RUN и начать замедление DECEL.

Примечание

Моменты времени t1 и t2 могут совпадать, если BettaMax очень высоко, а PhiSet мало. Для симметрии и простоты положим, что ускорение во время набора скорости и ускорение во время замедления по модулю равны BettaMax, но противоположны по знаку.

Терминология

Профиль — это график зависимости угловой скорости от времени Omega(t).

Фаза RUN — движение с постоянной скоростью.

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

Решение

Из кинематики известно, что путь это интеграл скорости по времени. В данном случае интеграл считать нет смысла так как фигуры простецкие: 2 треугольника да прямоугольник.

Первым делом процессор должен решить нужна ли вообще фаза RUN?

Площадь равнобедренного треугольника равна S0. По сути можно сложить квадрат.

Получается что S0

При треугольном профиле получается, что

Треугольный профиль (phi_set

Ок. Как же определить t1(время переключения) в случае треугольного профиля? Надо просто решить данную систему уравнений. Выразить t1. t0 можно обнулить.

Выразив OmegaTop из каждой формулы и приравняв их можно выразить t1. Получается

А теперь случай трапецевидного профиля (S0 < phi_set)

С t1 просто. Из OmegaMax=BettaMax*t1 получаем

В трапецевидном профиле площадь состоит из 2х треугольников и одного прямоугольника

ввиду симметрии получим

Выражаем время включения фазы замедления

Как видите все расчеты был составлен чисто из геометрических соображений (площадь графика ω(t) всегда должна быть равна phi_set ).

Ниже представлен простой алгоритм на языке ДРАКОН, который помогает наглядно показать алгоритм вычисления моментов времени t1 и t2 переключения режимов ACCEL/RUN/DECEL при повороте на угол set в условиях заданной скорости OmegaMax в режиме RUN и допустимого ускорения BettaMax.

Вычисление моментов времени t1 и t2 переключения режимов работы шагового двигателя при повороте PTZ камеры

Решение на языке MATLAB

 function [ t1 t2 tf wlim] = calcTimesF( phi_set, w_max, B_max ) S1=((w_max)^2)/B_max; if(phi_set < S1) %without RUN t1= t2 t1=sqrt(phi_set/B_max); t2=t1; tf=2*t1; wlim = B_max*t1; else %with RUN t1 < t2 t1=w_max/B_max; t2=(phi_set/w_max); tf=t2+t1; wlim = w_max; end end 

Эту задачу в реальности надо решать для дискретного движения, так как в реальности имеем дело с шаговым двигателем. Там заметно усложняется решение. В изменении стадии движения (ACCEL, RUN, DECEL ) приходится ориентироваться не по времени, как в непрерывной постановке, а по пройденному пути (количеству сделанных шагов шагового двигателя). Так как MCU(шка) отлично считает количество положительных фронтов на проводе STEP. Плюс нужна реализация функции квадратного корня на уровне прошивки. Про это есть публикация Asynchronous Control System for Stepper Motor With an Incremental Encoder Feedback.

Вывод

Как видите обыкновенной школьной математики вполне достаточно, чтобы решать реальные оценочные задачи из prod(a) станкостроения.

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

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

Акроним

расшифровка

Как работает драйвер шагового двигателя? Как правильно выбрать драйвер?

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

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

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

Одним из наиболее популярных исполнений ШД на рынке на данный момент является ШД с гибридным ротором. Обычно он имеет 4 вывода и 8 обмоток, соединенных попарно, а также, ротор, состоящий из двух элементов: диск с положительными полюсами и смещенный относительно него на величину 0,9-5 градусов диск с отрицательными полюсами (диски являются подобием магнитопроводов с насеченными зубьями и сварены с постоянным магнитом на разных его полюсах).

За счет этого смещения каждый раз, когда намагничивается пара противоположных обмоток ротор вращается на величину этого смещения, делая шаг. Драйвер выполняет все эти действия получая только управляющие сигналы от контроллера, либо сам генерируя их (драйверы с возможностью работы без контроллера. На сайте нашей компании Predictor LLC Вы можете купить драйвер 2690А с функцией авто-тактирования).

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

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

Есть драйверы на моно-чипах с обвязкой, такие как Toshiba TB6500/6600, но данное решение не очень хорошо себя зарекомендовало, так как не способно обеспечить защиту даже своего чипа без дополнительных компонентов и сильно склонно к перегреву, шаговые двигатели под управлением таких микросхем могут работать нестабильно и с большим резонансом. Такие гиганты как Moons, Leadshine, Gecko не используют подобных решений и строят свои драйверы на базе высокомощных транзисторов, которые по умолчанию не могут вместиться на один кристалл при их интегрировании в чип любого типа. Сейчас можно найти много аналогов драйверов всех вышеперечисленных производителей, произведенных вручную и из низкокачественных или отбракованных комплектующих, стоимость у них соответствующая, но и надежды на везение при покупке подобных устройств выходят на первый план, также вызывает много вопросов срок их службы. Как правило люди не могут оценить качество работы драйвера, но разница в работе нашего Shenli SL2450 и TB6600 либо noname DM556 с одним и тем же двигателем в одних и тех же режимах просто колоссальна.

Покупая драйверы шаговых двигателей у нашей компании Predictor LLC, Вы можете быть уверены в их работе и качестве этой работы, так как мы сами собираем оборудование и регулярно испытываем все позиции, представленные у нас в продаже. Стоимость драйверов для ШД смотрите на нашем сайте. Если Вы не нашли нужной позиции, обратитесь к нашему специалисту, те или иные позиции могут быть доставлены под заказ.

Шаговые двигатели. Принцип работы и управление.

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

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

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

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

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

Шаговые двигатели - применение

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

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

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

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

001.jpg

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

002.jpg

Шаговые двигатели имеют широкий диапазон угловых разрешений. Более грубые моторы обычно вращаются на 90° за шаг, в то время как прецизионные двигатели могут иметь разрешение 1,8° или 0,72° на шаг. Если контроллер позволяет, то возможно использование полушагового режима или режима с более мелким дроблением шага (микрошаговый режим), при этом на обмотки подаются дробные значения напряжений, зачастую формируемые при помощи ШИМ-модуляции.

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

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

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

На рисунке 3 показана последовательность управления для режима с единичным шагом.

003.jpg

На рисунке 4 показана последовательность для полушагового управления.

004.jpg

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

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

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

Мощность шаговых двигателей лежит в диапазоне от единиц ватт до одного киловатта.

Шаговые двигатели различаются по конструктивным группам: активного типа (с постоянными магнитами), реактивного типа и индукторные.

005.jpg

Шаговые синхронные двигатели активного типа

Принцип действия шагового двигателя активного типа рассмотрим на примере двухфазного двигателя.

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

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

006.jpg

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

007.jpg

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

008.jpg

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

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

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

n1=2 — при несимметричной системе коммутации;

n2=1 — при однополярной коммутации;

n2=2 — при двуполярной коммутации.

009.jpg

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

010.jpg

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

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

Реактивные шаговые двигатели

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

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

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

011.jpg

При большом числе зубцов ротора Zр его угол поворота значительно меньше угла поворота поля статора.

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

В выражении для KT величину n2 следует брать равной 1, т.к. изменение направления поля не влияет на положение ротора.

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

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

Повышение степени редукции шаговых двигателей, как активного типа, так и реактивного, можно достичь применением двух, трех и многопакетных конструкций. Зубцы статора каждого пакета сдвинуты относительно друг друга на часть зубцового деления. Если число пакетов два, то этот сдвиг равен 1/2 зубцового деления, если три, то — 1/3, и т.д. В то же время роторы-звездочки каждого из пакетов не имеют пространственного сдвига, т.е. оси их полюсов полностью совпадают. Такая конструкция сложнее в изготовлении и дороже однопакетной, и, кроме того, требует сложного коммутатора.

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

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

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

Линейные шаговые синхронные двигатели

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

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

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

012.jpg

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

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

где Kt — число тактов схемы управления.

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

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

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

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

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

013.jpg

В процессе пуска ротор может отставать от потока статора на шаг и более; в результате может быть расхождение между числом шагов ротора и потока статора.

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

014.jpg

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

015.jpg

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

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

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