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

Как подключить шаговый двигатель

  • автор:

Опыт изучения Arduino. Подключение шагового двигателя. Часть аппаратная.

Идея подключить шаговый двигатель (ШД) к ардуино и заставить его работать появилась у меня достаточно спонтанно, когда я случайно купил два нерабочих DVD-RW привода за 100 р. на Юноне. После того как один из приводов был раскурочен, в руках у меня оказался вот такой шаговый двигатель.

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

Покурив интернеты стало ясно, что просто подав питание на его обмотки, многого от него добиться не получится. Минимум что нужно, чтобы заставить ШД хоть как-то функционировать — это плата управления и источник питания. Забегая немного вперед отмечу, что источников питания понадобится два: для питания логической части и АЦП (3-5 В) и для питания силовой части (8-35 В). Кстати, плата очень боится пониженного напряжения в цепях питания двигателя. Я сначала подал 6 В. Пока разобрался в чем дело, спалил две платы. Данные приведены для платы управления на базе распространенного чипа 4988. Вот её схема подключения:

Тут ещё одно замечание. Выводов "в воздухе" быть не должно — все выводы должны быть подключены. Они имеют очень большую чувствительность к помехам.
Как видно на схеме, у двигателя две обмотки, чтобы подключить его к плате, надо определить какой вывод к какой обмотке относится. Я напаял 4 разноцветных провода поверх заводского шлейфа.

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

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

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

На выход добавил конденсатор 40 мкФ на 16 В. Стабилизатор и плату управления разместил на макетной плате.
В следующей записи опишу процесс настройки платы и программирование платы ардуино. На следующем фото небольшая превьюшка следующей части)

Arduino и шаговый мотор

Шаговый мотор, в отличие от обычного мотора постоянного вращения, вращается пошагово и позволяет точно установить свой вал на заданный угол. В отличие от сервопривода не имеет обратной связи по углу поворота (не знает, где сейчас находится вал), но зато может вращаться без ограничений. Шаговые моторы используются в ЧПУ станках и прочих устройствах с точным позиционированием частей механизма (2D/3D принтеры, манипуляторы, плоттеры…). В наборе GyverKIT идёт шаговый мотор 28BYJ-48 с драйвером ULN2003:

  • Питание: 5V
  • Шагов на оборот (сам мотор): 32
  • Передаточное отношение редуктора: 1:63.68395
  • Шагов на оборот (на выходном валу): 2038
  • Максимальная скорость (шагов в секунду): 400
  • Максимальная скорость (оборотов в минуту): 12

Фазы мотора выведены следующим образом:

Подключение

Мотор управляется через драйвер, который по сути усиливает сигнал с пинов микроконтроллера (подключать моторы напрямую к пинам нельзя!). Драйвер подключается к питанию 5V, а 4 управляющих входа – к любым цифровым пинам МК. Фаза мотора потребляет около 100 мА, поэтому возможно питание драйвера напрямую от платы Arduino.

Библиотеки

Для шаговых моторов существует несколько библиотек, самые известные из них:

  • Stepper – стандартная (идёт в комплекте с Arduino IDE) библиотека с минимальными возможностями – позволяет вращать мотор с плавным ускорением и торможением – моя библиотека с большим количеством возможностей и эффективными алгоритмами движения, читайте на странице библиотеки. Также есть расширенная документация

В примерах на этом сайте мы будем использовать GyverStepper как самую удобную и функциональную. Библиотека идёт в архиве к набору GyverKIT, а свежую версию всегда можно установить/обновить из встроенного менеджера библиотек Arduino по названию GyverStepper. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.

Примеры

Воспользуемся версией библиотеки GyverStepper2 (входит в набор GyverStepper). Создаём объект GStepper2 , в угловых скобках указываем тип драйвера STEPPER4WIRE , так как используем 4х проводной драйвер. Далее в круглых скобках – количество шагов на один оборот и пины в порядке (фаза А1, фаза А2, фаза В1, фаза В2). Из второй картинки (с описанием проводов мотора) видно, что первая фаза это провода 2 и 4, а вторая – 3 и 1. Драйвер не меняет порядок проводов, поэтому в программе нам нужно будет указать пины в порядке (1, 3, 2, 4), т.е. центральные нужно поменять местами. На схеме я подключил драйвер к пинам D2, D3, D4, D5, и в программе укажу их как (2, 4, 3, 5). Если прописать по порядку пинов – мотор будет работать некорректно!

Данный пример просто крутит мотор на один пол оборота, затем возвращает обратно. Каждый раз ждём, когда мотор приедет на позицию.

Библиотека позволяет двигать мотор не блокируя выполнение кода, поэтому можно переписать следующим образом:

В этом примере также вывожу позицию мотора в порт, можно открыть плоттер и увидеть график:

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

В библиотеке также есть поддержка движения с ускорением, добавим настройку setAcceleration()

Мотор перестанет дёргаться при смене направления движения, а график будет выглядеть вот так:

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

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

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

Конструкция шагового двигателя

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

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

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

Двух переключателей достаточно, чтобы построить простейший драйвер шагового двигателя, как показано на рисунке. Здесь используем 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- повторяется каждые четыре импульса тактового генератора. Этот тип управления называется однофазным или волновым. Это полный шаг управления, потому что двигатель выполняет один полный ход (шаг) с одним импульсом генератора.

Последовательность импульсов A +, B +, A -, B – вращает двигатель в одном направлении. Смена полюсов статора (N, S) заключается в питании соответствующей катушки (A + или A -).

Самый простой способ изменить направление – поменять местами одну пару проводов катушки (поменять местами, например, B + с B – и B – с B +), затем дадим последовательность A +, B -, A -, B + импульсы, он вращает двигатель в противоположном направлении. Так управление направлением реализовано в некоторых контроллерах шаговых двигателей. Самый простой способ изменить последовательность импульсов – использовать, например, реле.

Форма волны (однофазная) импульсная последовательность драйвера

Упрощенная схема однофазного (волнового) регулятора с изменением направления вращения

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

Двухфазное управление шаговым мотором

Гораздо лучшей альтернативой однофазному управлению будет двухфазное, при котором работают две из четырех обмоток шагового двигателя. В таком управлении используем 1/2 всех обмоток. Тогда мотор станет более эффективен.

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

Две катушки шагового двигателя всегда находятся под напряжением. Опять же, мы никогда не питаем две катушки из одной пары одновременно. С каждым импульсом от генератора переключается только одна катушка из отдельных пар (последовательно). В первом цикле катушки A и B находятся под напряжением, во втором катушка A все еще находится под напряжением, в то время как катушка B переключается на B +, в третьем цикле катушка B + находится под напряжением из второго цикла, и катушка A переключается на A + и так далее.

Двухфазная последовательность управляющих импульсов

Формы сигналов A + и B + сдвинуты друг к другу (две из четырех обмоток всегда работают в заданном цикле), а сигналы A + и B- инвертируются с сигналами A + и B +. Такие формы сигналов (смещенные относительно друг друга) легко генерируются, например, благодаря интегральной микросхеме 4013, которая имеет два D-триггера. Также можно использовать микроконтроллер. Изменение направления вращения в таком контроллере, как и при однофазном (волновом) управлении, может быть реализовано путем изменения направления проводов одной пары концов катушки (изменение с A + на A – и A – на A +). Чаще всего изменение скорости основано на изменении логики последовательности управляющих импульсов. Мы можем сделать это, например, используя логические элементы XOR, которые будут отрицать сигналы (инвертировать их).

Упрощенная схема двухфазного контроллера с изменением направления вращения, D-триггерами для создания смещенных сигналов и логическими вентилями XOR

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

Также стоит упомянуть моторы VR (реактивного сопротивления). Двигатели VR обычно имеют три обмотки. Чтобы управлять таким двигателем, нам нужно подавать отдельные обмотки одну за другой в последовательности A, B, C, A, B, C… это заставит двигатель вращаться в одном направлении, в то время как последовательность питания обмотки A, C, B, A, C, B… заставит его вращаться в противоположном направлении. Самый простой способ изменить направление – поменять местами концы двух обмоток шагового двигателя VR, и проще всего это сделать с помощью реле.

Упрощенная схема драйвера резистивного шагового двигателя

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

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

Биполярное управление обеспечивает более эффективное использование шагового двигателя, при котором всегда работает вся обмотка шагового двигателя, что дает гораздо лучшую производительность на низких и средних скоростях. А крутящий момент примерно на 30 – 40% больше. Но для этого требуется изменить полярность питания катушки, изменив направление тока в обмотках (например поменяв местами концы катушек). Для этого используются два транзисторных моста H (название происходит от сходства с буквой H на схеме), которые состоят из двух ветвей, а каждая ветвь состоит из двух транзисторов. Чаще всего для построения такого моста используются биполярные транзисторы NPN или MOSFET N.

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

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

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

Вращение биполярного шагового двигателя в последовательных тактах однофазного (волнового) цикла управления

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

Упрощенная схема драйвера для биполярных двигателей с транзисторными Н-мостами

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

Включаем транзисторы «крестом» в катушке A и B. Напряжение питания катушки задается как в униполярном управлении, в то время как «массовый» транзистор подключается крест-накрест к присоединенному верхнему силовому транзистору. Можем если надо изменить скорость, изменив управление двумя концами одной катушки, что приведет к другой последовательности импульсов. Самый простой способ – использовать реле, как при униполярном управлении, также можно реверсировать сигналы, управляющие транзисторами.

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

Чтобы понять идею, можно сказать что на схеме показано питание проводов биполярного шагового двигателя, т.е. высокое состояние означает напряжение на конкретном проводе (A +, B +, A -, B -), а низкое состояние – появление заземления на отдельных проводах в заданном цикле. Здесь меняем направление тока в катушках, в первом импульсе (в первом цикле) генератор A + земля A – питается от генератора, а в третьем A – земля A + подается, меняя "полярность" источника питания так, чтобы меняли полярность катушек, например N на S.

Фактически, форма сигналов управления транзисторами в H-мосте будет выглядеть как на схеме ниже. Это биполярное однофазное (волновое) управление.

Ход транзисторной последовательности управления в биполярном волновом контроллере

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

Ход управления катушками в биполярном двигателе двухфазного управления

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

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

Последовательность управления транзистором в двухфазном биполярном контроллере

Как правило, биполярные шаговые двигатели требуют сложной схемы управления. Эта проблема была решена с появлением специализированных интегральных схем (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. За счет циклической работы транзистора ограничивается напряжение питания катушки шагового двигателя. Тогда течение имеет пилообразную волну. Ниже представлена диаграмма тока в обмотке прерывателя.

График импульсов тока в обмотке

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

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

Обмотки шаговых двигателей чаще всего управляются формой сигнала ШИМ через H-мосты, по одному на обмотку. Угол поворота пропорционален количеству импульсов, а скорость вращения – их частоте. При работе с полными ступенями довольно много шума и вибрации. К сожалению, также могут быть случаи пропуска ступеней («выход») и, как следствие, потеря контроля над положением ротора. Эта проблема решается за счет использования микрошагов, таким образом питая обмотки так, что ротор проходит через промежуточные положения за один полный шаг.

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

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

Схема контроллера AMIS-30624

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

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

Почему двигатель на осях X, Y или Z издает странные звуки?

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

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

Вы установили новый двигатель, поменяли провод или установили новую плату управления и теперь всё не работает или работает не правильно?

Почему же не работает?

Кабели для шаговых двигателей

Кабели для шаговых двигателей

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

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