Как управлять шаговым двигателем вручную
Материал перевел и подготовил RA3TOX (сайт «Радиофанат»)


Рис.1. Схема устройства.
Для наших целей нам лючше всего подходит полношаговый контроль, так как он прост в реализации и имеет хороший крутящий момент. Для этого необходимо, чтобы 4-х битная управляющая последовательность двигалась вправо или влево по обмоткам шагового двигателя. Однополюсный четырехпозиционный галетный переключатель будет выполнять эту задачу с помощью мультиплексирования восемью диодами. Однако, поскольку такие переключатели обычно не имеют вращения на 360 градусов, вместо них используется тройной четырехпозиционный переключатель.
Идентификация обмоток двигателя
Большинство четырехполюсных однополярных шаговых двигателей питаются напряжением 12 вольт или что-то около этого. Рекомендуется использовать регулируемый источник питания на 12 В, так как нерегулируемое питание может существенно повышаться 12 В, что может привести к чрезмерному нагреву двигателя или даже к перегоранию. Источник питания должен обеспечить мощность 6 Вт или 500 мА для небольших двигателей (диаметром от 3 до 4 см).
Таблица 1: Wave Control
Наконец, обмотки А-D должны быть под напряжением в последовательности, которая показанная в таблице 2, и которая является полношаговым управлением (Full-step Control).
Таблица 2: Full-step Control
Таблица, нарисованная здесь, является наиболее логически последовательным способом, и вы сможете оценить смещение двоичной последовательности 1-0-0-1 по проводам шагового двигателя.
Графическое подключение обмоток (или фаз) от А до D показано на рисунке 2.

Рис.2 Униполярный привод.

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

Рис.4. Размещение элементов в корпусе.
В случае использования мощного шагового двигателя рекомендуется увеличить емкость электролитического конденсатора. При этом понадобится и более мощный исочник питания.
Хотя большинство 12 вольтовых однополярных шаговы двигателей рассчитаны на непрерывное питание, они могут достаточно ощутимо нагреваться. Если полный крутящий момент не требуется, простым решением является установка 15-омного проволочного резистора в одну из линий питания обмоток.
Тяговое усилие маленького четырехфазного униполярного шагового двигателя довольно сильно ощущается пальцами, и такие двигатели могут найти большое применений. Как видите, затраты на изготовление такого привода во много раз меньше, чем у обычной системы управления шаговым двигателем на микроконтроллерах или микросхемах. Примечание от RA3TOX.



Несколько конструкций переключателей.
Быстрые движения под высоким напряжением, или почти вся правда об управлении шаговым мотором
Доброго вам времени суток, уважаемые гики и сочувствующие!
В этой публикации я хочу поделиться своим опытом управления. Точнее – управления шагами. А уж если быть совсем точным, речь пойдёт об управлении замечательным устройством – шаговым электродвигателем.
Что же такое этот самый шаговый электродвигатель? В принципе, в плане функциональности этот мотор можно представить как обычный электромотор, каждый оборот вала которого разбит на множество одинаковых, точно фиксированных шагов. Перемещением на определённое количество шагов мы можем позиционировать вал шагового мотора с высокой точностью и хорошей повторяемостью. Каждый шаг можно разбить на множество ступенек (так называемый микростеппинг), что увеличивает плавность хода мотора, способствует подавлению резонансов, а также увеличивает угловое разрешение. Различия между полношаговым режимом (слева), 1/2 микростеппингом (в центре) и 1/16 микростеппингом (справа) видны невооружённым глазом:
К сожалению, все вышеупомянутые преимущества достигаются ценой значительной сложности системы управления шаговым мотором (для простоты будем называть эту систему драйвером).
Теперь рассмотрим схему работы типичного шагового мотора:
Из этой картинки видно, что шаговый мотор в электрическом плане представляет собой два или более электромагнита, которые необходимо переключать в определённой последовательности для приведения ротора в движение.
Лирическое отступление: На настоящий момент существуют два основных типа шаговых моторов: униполярный и биполярный. Поскольку униполярные моторы имеют меньший крутящий момент и худшие скоростные характеристики, в данной публикации они рассматриваться не будут.
Итак, вернёмся к управлению биполярным мотором. Как это ни парадоксально звучит, но зачастую проще обсуждать общие принципы на конкретных примерах. В качестве примера мы возьмём шаговый мотор ST4118L1804-A производителя Nanotec. Почему именно этот мотор и производитель? Причина проста: по основным характеристикам это типичный представитель моторов типоразмера NEMA 17, широко применяющихся в радиолюбительской практике, и имеет к тому же довольно подробную техдокументацию (которая начисто отсутствует у китайских noname-моторов).
Основные характеристики данного мотора:
Рабочее напряжение 3,15 В
Рабочий ток 1,8 А
Активное сопротивление обмотки 1,75 Ом
Индуктивность обмотки 3,3 мГн
Момент удержания 0,5 Нм
Угловой размер шага 1,8° (200 шагов на один оборот ротора)
В данном случае самое главное — это правильная интерпретация данных. Применив закон Ома, выясняем, что производитель указал рабочий ток и напряжение для постоянного тока, протекающего через обмотки двигателя, без учёта индуктивности.
Проверка: I = U/R, или 1,8 А = 3,15 В/1,75 Ом. Всё сходится.
Какой же будет мощность рассеяния при питании обмоток постоянным током?
Всё просто: P=I x U, или 1,8 А х 3,15 В = 5,67 Вт. В полушаговом режиме возможна ситуация, когда ток течёт через обе обмотки мотора, соответственно рассеиваемую мощность нужно удвоить: 5,67 Вт х 2 = 11,34 Вт. Это достаточно много, и может привести к перегреву мотора. Эта же величина является минимальной мощностью блока питания для этого мотора. Обыкновенный 3D принтер имеет пять подобных моторов, соответственно для питания драйверов необходим источник питания с минимальной мощностью 11,34 Вт х 5 = 56,7 Вт. К этой цифре необходимо добавить электрическую мощность, превращённую мотором в кинетическую или потенциальную энергию при работе принтера. Точный расчёт этой мощности — дело достаточно сложное, на практике проще всего добавить 75% к рассчитанной тепловой мощности и на том завершить расчёты. Почему именно 75%? Дело в том, что обычный шаговый мотор способен совершить полезную работу на величину примерно 2/3 от максимальной тепловой мощности. В данном случае для создания какого-либо узла или устройства сначала подбирается подходящий мотор (например, по крутящему моменту), а после этого рассчитывается мощность блока питания.
Итоговая мощность блока питания для пяти шаговых моторов: 56,7 Вт х 1,75 = 99,225 Вт.
Конечно, на практике ни в одном любительском устройстве не используются моторы под максимальной нагрузкой, и реальная мощность потребления будет, скорее всего, намного ниже расчётной. Я же, как человек ленивый и скаредный, крайне не люблю делать одно и то же два раза, поэтому беру блок питания всегда с некоторым запасом (то есть, согласно вышеприведённым расчётам).
Теперь пришла пора приступить к определению минимально необходимого напряжения блока питания. К сожалению, этому параметру уделяется незаслуженно маленькое внимание в тематических публикациях. Почему этот параметр так важен? Дело в том, что при вращении ротора шагового мотора через катушки течёт переменный ток, ограниченный не только активным, но также и индуктивным сопротивлением обмоток.
Рассмотрим предоставленный производителем график зависимости крутящего момента нашего мотора от частоты вращения:
На графике присутствуют две линии, показывающие зависимость крутящего момента от частоты вращения для напряжения питания 24 В (красная линия) и 48 В (зелёная линия). Нетрудно заметить, что спад крутящего момента начинается примерно с 300 об/мин для 24 В и примерно с 600-700 об/мин для напряжения 48 В. При этом необходимо упомянуть, что производитель использует недоступные любителям дорогостоящие промышленные драйверы. Почему же так важно напряжение питания драйвера, если оно даже в случае питания от 12 В заведомо выше паспортной величины напряжения питания шагового мотора (3,15 В)? Дело в том, что шаговый мотор управляется током, а не напряжением, и именно источниками тока являются все современные драйверы. В идеальном случае драйвер обеспечивает заданный ток в обмотках двигателя вне зависимости от частоты вращения ротора, нагрузки, изменения температуры и других параметров. Это организовано за счёт работы ШИМ-регулятора, управляемого зачастую довольно сложными алгоритмами. Из технической документации нашего мотора видно, что для полного оборота ротору необходимо совершить 200 шагов, при 300 об/мин это составит 60 000 шагов в минуту, или 1000 шагов в секунду. Это, проще говоря, соответствует переменному току частотой 1 кГц. На этой частоте индуктивное сопротивление обмотки составит (R(L)=2π×F×L): 2π х 1 кГц х 3,3 мГн = 20,73 Ом. Какое же напряжение необходимо для обеспеченияя тока в 1,8 А при этом сопротивлении? Закон Ома не дремлет (U=IR): 1,8 А х 20,73 Ом = 37,31 В. Неудивительно, что выше частоты вращения 300 об/мин наблюдается спад крутящего момента: драйверу банально не хватает напряжения питания. Почему же при таком вопиющем недостатке питания (37 — 24 =13 В) спад не наступает при более низкой частоте вращения? Дело в том, что в современных драйверах используется мостовая схема выходных каскадов, что позволяет «удваивать» напряжение, прикладываемое к обмоткам мотора. То есть, теоретически драйвер способен приложить «виртуальные» 48 В к обмоткам при напряжении питания 24 В, что создаёт теоретический запас по напряжению 48 — 37 = 11 В. На практике же этот запас будет нивелирован потерями в драйвере, сопутствующих цепях и активным сопротивлением обмоток мотора (активное сопротивление обмоток присутствует постоянно, и даже несколько возрастает при нагреве мотора). При увеличении частоты вращения ротора свыше 300 об/мин пропорционально растёт частота импульсов и, соответственно, увеличивается индуктивное сопротивление обмотки. При питании от 24 В драйверу перестаёт хватать напряжения питания для поддержания тока в обмотках, и крутящий момент неуклонно снижается. То же самое происходит при питании драйвера от 48 В, но уже гораздо значительно позже, при частоте вращения 600-700 об/мин.
Итак, с мощностью и величиной напряжения блока питания всё ясно, теперь необходимо переходить к практической реализации универсального драйвера, способного как к филигранной работе при помощи крохотных NEMA 11, так и к сотрясению основ мира в паре с могучими NEMA 23. Какими же основными качествами должен иметь драйвер моей мечты?
1. Высокое напряжение питания. Поскольку в техдокументации к моторам крайне редко указано максимальное напряжение питания, лучше будет ограничиться напряжением 48 В.
2. Важнейший параметр: высокий выходной ток. NEMA 23 имеют рабочие токи вплоть до 3,5 А, драйвер должен обеспечивать этот ток с запасом 30%. Путём нехитрых расчётов получаем максимальный рабочий ток около 4,5 А.
3. Простая и оперативная подстройка силы выходного тока.
4. Наличие микростеппинга, как минимум 1/8 шага
5. Наличие защиты от КЗ, перегрева, и т.д.
6. Небольшой размер, возможность крепления произвольного радиатора.
7. Исполнeние в виде интегральной схемы. XXI век на дворе!
8. Простая схема включения с минимальным количеством дискретных компонентов.
9. Низкая цена.
После множества бессонных ночей пятиминутного копания в Google выяснилось, что единственной доступной микросхемой драйвера с подходящими параметрами является TB6600HG. Покупка готового китайского драйвера на eBay показала, что не всё ладно в датском королевстве, далеко не всё. В частности, китайский драйвер отказался напрямую работать с выходами Arduino Due, и «завёлся» только через буферный преобразователь уровней. При работе с трёхамперной нагрузкой драйвер грелся и терял шаги десятками. Вскрытие пациента показало, что в нём не только была установлена микросхема предыдущего поколения (TB6560), а даже и термопаста не смогла найти себе места в списке компонентов. К тому же размерами и весом китайский драйвер наводил меня на мысли о моей молодости… о прошлом веке, если быть совсем точным. Ну нафиг, сказал во мне интеллигент в третьем поколении, мы сделаем свой драйвер, с преферансом и поэтессами. Если бы разработчики KiCAD видели, как я обращаюсь с их детищем, я разорился бы на одних только адвокатах:
С целью минимизации размеров была спроектирована четырёхслойная печатная плата. Этот факт, к сожалению, исключает её изготовление в домашних условиях. Посему на берлинской фирме LeitOn были заказаны 36 таких плат, каждая из которых обошлась в итоге около пяти евро. Часть этих плат были впоследствии выкуплены у меня собратьями по увлечению, и в итоге изготовление плат вышло не слишком накладным предприятием. Микросхемы TBB6600HG были заказаны на Aliexpress по 4 евро за штуку, остальные компоненты были заказаны на eBay, в пересчёте на один драйвер цена дискретных компонентов составила 2 евро. В качестве радиаторов были взяты пятисантиметровые отрезки П-образного алюминиевого профиля, пластиковые каркасы были отпечатаны на 3D принтере. Итого цена одного драйвера составила около 12 евро. Это справедливая цена за драйвер со следующими характеристиками:
Напряжение питания от 8 до 42 Вольт
Максимальный долговременный рабочий ток 4,5 Ампер, устанавливается потенциометром
Микростеппинг вплоть до 1/16 шага
Защита: КЗ, перегрев, низкое напряжение питания
Компактные размеры и низкий вес
Работа с уровнями входных сигналов от 3,3 до 5,5 вольт
Простая установка микростеппинга с помошью микропереключателей — к чёрту перемычки!
Готовые печатные платы: 
Собранные и недособранные драйверы. 
Видео работы драйвера в моём старом 3D принтере. Здесь трёхамперный NEMA 17 бодро гоняет подогреваемую рабочую площадку принтера размером 45 х 25 см через шестнадцатимиллиметровый шпиндель длиной 60 см:
Финальное фото: самодельные драйвера на своём рабочем месте в моём новом 3D принтере. 
Публикуется под лицензией WTFPL
УПРАВЛЕНИЕ ШАГОВЫМИ ДВИГАТЕЛЯМИ
Двигатели постоянного тока нашли множество применений, но непрерывное и плавное вращение ротора не всегда требуется. Естественная особенность двигателя BLDC, заключающаяся в том, что для его вращения необходимо постоянно переключать напряжения между обмотками, способствовала развитию шаговых двигателей. Их ротор может вращаться с определенными приращениями и оставаться стабильным в этих состояниях даже если управление прерывается. Возобновление подачи напряжения на катушки вызывает продолжение вращения.
Шаговые двигатели не имеют коммутаторов и щеток. Это синхронные двигатели постоянного тока с электронно-коммутируемым магнитным полем, вызывающим вращение якоря (его магнитов). Можно считать, что шаговые двигатели управляются цифровыми импульсами, и в шаговом двигателе полный угол поворота ротора разделен на дискретное количество шагов. Количество этих ступеней (фаз) равно количеству магнитов, расположенных вокруг центрального сердечника.
Конструкция шагового двигателя
Схема униполярных и биполярных шаговых двигателей
Вначале рассмотрим униполярный шаговый двигатель, ввиду простоты управления. В таком моторе ток в обмотке всегда течет в одном направлении. Это упрощает метод управления, в отличие от биполярного, где управление должно обеспечивать изменение полярности катушек шагового двигателя путем изменения направления тока через обмотку на противоположное.
Двух переключателей достаточно, чтобы построить простейший драйвер шагового двигателя, как показано на рисунке. Здесь используем 6-проводный униполярный двигатель. Также можно сказать, что двигатель в этом случае управляется однополярно, за счет использования средней обмотки катушки и постоянного напряжения питания на нее.
Переключая данные переключатели в последовательности S1, S2, S1, S2, S1, S2… заметим, что двигатель вращается. Рисунок выше иллюстрирует важный принцип управления: обе обмотки не могут питаться от одной пары одновременно. Каждое изменение переключателя поворачивает ротор на один шаг. Чем быстрее начнем переключать переключатели в последовательности S1, S2, S1, S2…, тем быстрее начнет вращаться ротор.
Подключение переключателей к катушкам шагового двигателя
Скорость шагового двигателя зависит не от величины напряжения, а от скорости подключения питания к отдельным обмоткам. Чтобы добиться полного вращения ротора с 200-шаговым двигателем, надо изменить положение каждого переключателя 100 раз, то есть выполнить до 200 последовательностей для двух переключателей. Это уже говорит о том, что шаговые двигатели не могут работать на высокой скорости. Из этого следует, что шаговые двигатели можно назвать «цифровыми двигателями», поскольку для вращения ротора необходимо переключать переключатели в соответствующей последовательности.
В нашем случае последовательность переключений также определяет направление вращения шагового двигателя. Когда меняем последовательность включения переключателей, то меняем и направление вращения, например S2, S1, S2, S1, S2, S1… влево, S1, S2, S1, S2, S1, S2… вправо. В этом примере есть двухпозиционные переключатели, которые всегда обеспечивают питание двух из четырех обмоток шагового двигателя в данный момент. Но использование трехпозиционных переключателей дает гораздо больше возможностей.
Опять же, обе обмотки никогда не питаются от одной пары, что является обязательным принципом управления шаговым двигателем. Благодаря трехпозиционным переключателям можно реализовать, например, полушаговое управление, благодаря разнообразию переключений. Одновременно могут быть под напряжением две, одна или ни одной из обмоток.
На практике вместо переключателей используются биполярные транзисторы, чаще можно встретить драйверы на основе полевых МОП-транзисторов, благодаря возможности пропускания большего тока, а также возможности их перегрузки. Транзистор здесь действует как переключатель, он либо закрыт, либо полностью открыт.
Упрощенная схема управления униполярным шаговым двигателем
Чтобы управлять таким мотором, надо обеспечить соответствующую последовательность импульсов. Например, только одна из четырех обмоток шагового двигателя находится под напряжением одновременно (это своего рода волновое управление). На каждый цикл двигателя подается питание на одну из четырех катушек униполярного шагового двигателя. Вращение его будет выглядеть так:
Вращение униполярного шагового двигателя в последовательных тактах цикла управления волной
Управляющая последовательность A +, B +, A-, B- повторяется каждые четыре импульса тактового генератора. Этот тип управления называется однофазным или волновым. Это полный шаг управления, потому что двигатель выполняет один полный ход (шаг) с одним импульсом генератора.
Форма волны (однофазная) импульсная последовательность драйвера
Упрощенная схема однофазного (волнового) регулятора с изменением направления вращения
Двухфазное управление шаговым мотором
Гораздо лучшей альтернативой однофазному управлению будет двухфазное, при котором работают две из четырех обмоток шагового двигателя. В таком управлении используем 1/2 всех обмоток. Тогда мотор станет более эффективен.
Вращение двигателя при двухфазном полноступенчатом управлении
Две катушки шагового двигателя всегда находятся под напряжением. Опять же, мы никогда не питаем две катушки из одной пары одновременно. С каждым импульсом от генератора переключается только одна катушка из отдельных пар (последовательно). В первом цикле катушки A и B находятся под напряжением, во втором катушка A все еще находится под напряжением, в то время как катушка B переключается на B +, в третьем цикле катушка B + находится под напряжением из второго цикла, и катушка A переключается на A + и так далее.
Двухфазная последовательность управляющих импульсов
Упрощенная схема двухфазного контроллера с изменением направления вращения, D-триггерами для создания смещенных сигналов и логическими вентилями XOR
Оба типа управления представленные выше: однофазный (волновой) и двухфазный (инвертированные сигналы, управляющие транзисторами), в просторечии, являются униполярными типами управления, потому что используем униполярные шаговые двигатели с дополнительными ответвлениями обмотки. Также в биполярных шаговых двигателях, где работает вся обмотка, мы встречаемся с однофазным и двухфазным управлением, там идея работы аналогична.
Упрощенная схема драйвера резистивного шагового двигателя
Последовательность импульсов управления шаговым двигателем
Последовательность импульсов драйвера реактивного шагового двигателя очень похожа на волновое управление.
Биполярный драйвер требует более сложного управления из-за того, что нужно управлять каждым из восьми транзисторов индивидуально. Взамен получаем все возможности шагового двигателя, хотя реализация такого типа управления не самая простая.
Принцип работы такого моста основан на том, что если верхний транзистор проводит в одной ветви, а нижний транзистор в другой, и наоборот, то через катушку шагового двигателя будет протекать ток. Если два верхних или два нижних транзистора проводят одновременно в двух ветвях одного моста, то ток через катушку не будет протекать. Путем соответствующего управления транзисторами получаем изменение направления тока, протекающего через катушку, и, таким образом, изменение полярности катушки.
Также в биполярных контроллерах имеем дело с однофазным (волновым) и двухфазным управлением. Оба элемента управления являются полношаговыми. При однофазном управлении, как и в униполярных шаговых двигателях, в следующем цикле запитывается только одна катушка,
Вращение биполярного шагового двигателя в последовательных тактах однофазного (волнового) цикла управления
Вращение биполярного шагового двигателя в последовательных тактах двухфазного цикла управления
Упрощенная схема драйвера для биполярных двигателей с транзисторными Н-мостами
Последовательность импульсов для питания катушек идентична униполярному двигателю, но в этом случае нет четырех сигналов на транзисторы, только восемь сигналов на восемь транзисторов. Каждым из них нужно управлять индивидуально, переключая соответствующие транзисторы в нужный момент. Ток протекает через катушку, когда один верхний транзистор и один нижний транзистор включены «крест-накрест», то есть 1 и 3 на схеме, другие 2 и 4 в катушке A шагового двигателя закрыты. Но когда выключаем 1 и 3 и включаем 2 и 4, то меняем направление тока в катушке.
Ход управления катушками в биполярном шаговом двигателе волнового управления
Фактически, форма сигналов управления транзисторами в H-мосте будет выглядеть как на схеме ниже. Это биполярное однофазное (волновое) управление.
Ход транзисторной последовательности управления в биполярном волновом контроллере
Идея управления катушками двухфазного биполярного двигателя аналогична управлению двухфазным униполярным шаговым мотором. Здесь также нужно управлять каждым транзистором отдельно, как в случае управления биполярной волной. Можем изменить скорость на реле, как при управлении волнами, или использовать логические вентили, меняющие сигналы.
Ход управления катушками в биполярном двигателе двухфазного управления
Последовательность импульсов управления транзистором будет выглядеть примерно так:
Последовательность управления транзистором в двухфазном биполярном контроллере
Как правило, биполярные шаговые двигатели требуют сложной схемы управления. Эта проблема была решена с появлением специализированных интегральных схем (A3977, A4988, L297), которые используются для генерации соответствующей последовательности импульсов для управления транзисторами в H-мосте.
Также можем использовать логические элементы или D-триггеры для генерации этой последовательности, но чаще существуют драйверы, построенные на микроконтроллерах или специализированных интегральных схемах.
Самым большим преимуществом управления биполярным шаговым двигателем является хорошо используемый крутящий момент, благодаря тому что вся обмотка находится в текущем состоянии после получения импульса (в течение одного цикла).
Двигатели PM (с постоянным магнитом) и HB (гибридные), несмотря на их различную конструкцию, управляются одинаково. Каждый двигатель с 4 контактами может управляться только биполярно, в то время как униполярный шаговый двигатель с 6 контактами может работать как биполярный, так и униполярный.
Двигатели с 8 выводами дают гораздо больше возможностей, они могут работать как однополярные, так и биполярные. Кроме того, шаговый двигатель можно подключить последовательно, где нужно подавать на него более высокое напряжение, но в то же время он будет потреблять меньше тока, что приведет к снижению мощности на более высоких скоростях.
Также можем подключить его параллельно и запитать от более низкого напряжения, но с более высоким током. Это даст меньше потерь мощности на более высоких скоростях. На низких скоростях, как при последовательном, так и при параллельном подключении, двигатель будет иметь одинаковый крутящий момент (мощность).
Схема последовательного и параллельного подключения 8-проводного шагового двигателя
Идея последовательного и параллельного подключения также может быть использована с 6-проводным униполярным двигателем.
Схема последовательного и параллельного подключения 6-проводного шагового двигателя
Следует отметить, что при управлении шаговым двигателем мы переключаем обмотки, имеющие некоторую индуктивность. Когда ток прерывается в индуктивности, генерируется напряжение самоиндукции, которое может быть большим и повредить транзистор. Чтобы исключить это явление, необходимо правильно обеспечить протекание тока в катушке даже после выключения транзистора. Наиболее распространены быстродействующие диоды, которые срезают всплески, возникающие при открытии транзистора. Также можете найти драйверы с конденсаторами вместо диодов.
Схема подключения диодов к униполярному драйверу на биполярных транзисторах
Верхние диоды на схеме отсекают положительные импульсы, образовавшиеся в результате отключения тока от катушек шагового двигателя. С другой стороны, нижние диоды тоже нужны, потому что две обмотки одной пары образуют автотрансформатор. Когда в одной катушке есть положительное перенапряжение, отсекаемое верхним диодом, в другой катушке той же пары происходит отсечение отрицательного перенапряжения нижним диодом.
Иная ситуация с использованием MOSFET-транзисторов, потому что транзистор уже имеет в своей структуре переход сток-исток, который в данном случае действует как диод. При использовании небольших двигателей верхние диоды можно не устанавливать. Положительная энергия вывода не очень велика и может быть поглощена транзистором, который кратковременно работает в разрешенном режиме лавинного пробоя и действует как стабилитрон.
Схема униполярного шагового двигателя с MOSFET транзисторами
Также используем тот же принцип для биполярного управления. При использовании MOSFET-транзисторов можем использовать встроенные «диоды» в транзисторе.
Схема использования диодов в биполярных драйверах
Схема биполярного шагового двигателя с MOSFET транзисторами
Ещё стоит упомянуть инерцию обмоток, ограничивающую скорость нарастания тока. Каждая из катушек шагового двигателя имеет определенную индуктивность L и сопротивление R. После подачи напряжения на катушку ток I определяется напряжением питания катушки (VCC) и ее сопротивлением, то есть I = VCC / R. Он не сразу достигает значения, определяемого L iR. Ток постепенно увеличивается, а постоянная времени нарастания составляет T = L / R. Обычно это 10 мс, поэтому период прямоугольной волны должен составлять 20 мс или 50 Гц, чтобы обеспечить 10 мс высокого состояния длительности импульса для катушки для достижения полного тока.
На низких частотах (скоростях) это значения не имеет, а на более высоких частотах ток не успеет увеличиться до нужного значения. Следовательно, двигатель будет значительно терять крутящий момент при увеличении оборотов, из-за того что ток не успевает увеличиться до номинального тока мотора.
Схема использования резистора для ограничения тока в обмотках шагового двигателя
Схема использования источника тока для ограничения тока в обмотках шагового двигателя
Недостатком такого решения является необходимость использования двух источников, что связано с дополнительными преобразователями. На схеме ниже переключатели используются для иллюстрации идеи переключения источников напряжения.
Упрощенная схема использования двух источников питания для регулирования тока в обмотках шагового двигателя
Фрагмент схемы биполярного контроллера с технологией чоппера
Форма сигнала прерывателя для управления транзистором
Напоминаем, что в первые моменты управляющего импульса продлеваем включение транзистора, что позволяет быстрее увеличить ток, благодаря гораздо более высокому напряжению VCC, чем номинальное напряжение мотора. В следующие моменты импульса значительно сокращаем время транзистора, он работает циклически и тем самым ограничивает напряжение до номинального рабочего напряжения шагового двигателя. Компаратор, который будет сравнивать напряжения решает, когда сигнал управления транзистора должен быть переключен с постоянного на прерывистый. Благодаря этому есть возможность регулировать ток, подаваемый на катушку шагового двигателя.
Схема использования компаратора в биполярном контроллере
Эта схема очень эффективна и позволяет регулировать ток катушки независимо от напряжения питания, изменяя напряжение Vs.
Напряжение питания катушки VCC намного выше, чем рабочее напряжение обмотки, а это означает что после включения транзистора ток достигает своего рабочего значения намного быстрее, за гораздо более короткое время чем постоянная времени L / R. После достижения порогового значения (установленного Vs) компаратор сравнивает падение напряжения на управляющем резисторе Rs с напряжением Vs. Если ток двигателя и, следовательно, падение напряжения на Rs увеличиваются выше напряжения Vs, компаратор запускает моностабильный триггер, который излучает один импульс и на короткое время отключает напряжение питания катушки, что снижает ток, а затем цикл повторяется с начала.
В результате компаратор и триггер циклически открывают и закрывают транзистор, что предотвращает повышение напряжения катушки до напряжения питания VCC. За счет циклической работы транзистора ограничивается напряжение питания катушки шагового двигателя. Тогда течение имеет пилообразную волну. Ниже представлена диаграмма тока в обмотке прерывателя.
График импульсов тока в обмотке
Этот управляющий сигнал с прерывистой катушкой позволяет увеличить крутящий момент шагового двигателя, особенно при более высоких скоростях вращения. Конечно потребуется еще более интеллектуальная система управления (эта проблема была решена с появлением встроенных драйверов шаговых двигателей и микроконтроллеров), но она позволяет ускорить процесс увеличения тока благодаря подаче гораздо более высокого напряжения на более высокие частоты от генератора, без значительных потерь энергии или использования двух разных источников питания. Тут понадобится только один блок питания с относительно высоким напряжением.
Если для быстрой остановки двигателя требуется еще несколько шагов, важно правильно определить состояние перехода и остановки. В этом случае желательно управление с обратной связью в отличие от абсолютного позиционирования с обратной связью, основанного на подсчете шагов. Существует адаптивное управление скоростью шагового двигателя, позволяющее остановить его как можно скорее, несмотря на возможное увеличение нагрузки на этом этапе.
Это возможно на основании наблюдения увеличения BENF и соответствующего увеличения частоты импульсов, питающих двигатель. Вышеописанный алгоритм реализован в интегрированном однокристальном контроллере AMIS-30624. Он настроен для работы с различными типами шаговых двигателей, диапазонами позиционирования и такими параметрами, как скорость, ускорение и замедление.
Схема контроллера AMIS-30624
Он имеет встроенный бессенсорный детектор потери шага, который предотвращает потерю шагов позиционером и быстро останавливает двигатель при его остановке. Это обеспечивает тихую, но точную калибровку во время эталонного прогона и позволяет работать с полузамкнутым контуром. AMIS-30624 включает в себя как аналоговые цепи высокого напряжения, так и цифровые блоки управления. Чип разработан для применений в автомобильной, промышленной и строительной отраслях.
Форум по обсуждению материала УПРАВЛЕНИЕ ШАГОВЫМИ ДВИГАТЕЛЯМИ
















































