Драйверы шагового двигателя: униполярный, биполярный, L298N.

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

Как правило, логические сигналы для управления шаговым двигателем формирует микроконтроллер. Ресурсов современных микроконтроллеров вполне хватает для этого даже в самом ”тяжелом” режиме – микрошаговом.

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

 

В функцию драйверов входит:

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

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

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

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

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

 

Драйвер униполярного шагового двигателя.

В униполярном режиме могут работать двигатели, имеющие следующие конфигурации обмоток.

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

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

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

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

Коммутация обмоток

Если последовательно замыкать ключи 1, 2, 3, 4, то ротор двигателя будет вращаться.

 

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

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

  • максимально допустимый ток 4 А;
  • предельное напряжение 55 В;
  • сопротивление в открытом состоянии 0,05 Ом;
  • порог включения 1 В;
  • выполнены в миниатюрном корпусе SO-8;
  • в корпусе два транзистора.

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

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

На биполярных транзисторах ключи с такими параметрами создать не возможно.  Есть много других вариантов MOSFET транзисторов для ключей, например IRF7313 ( 6 А, 30 В, 0,029 Ом).

Схема ключа на MOSFET транзисторе для одной фазы выглядит так.

Ключ для фазы

Ключ управляется непосредственно от микроконтроллера логическими уровнями KMOП или TTL ( 0 / +5 В). При управляющем сигнале высокого уровня (+5 В) ключ открыт, и через обмотку фазы идет ток. Диод шунтирует обмотку двигателя в обратном направлении. Он необходим для защиты транзистора от бросков напряжения самоиндукции при выключении фазы. Для управления двигателями на значительных скоростях вращения, лучше использовать высокочастотные диоды, например, FR207.

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

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

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

А это изображение платы контроллера униполярного шагового двигателя с PIC контроллером фирмы Microchip.

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

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

  • двумя шаговыми двигателями с током фазы до 3 А;
  • двумя ШИМ ключами для электромагнитов;
  • считывает состояние 4х датчиков;
  • обменивается  данными по сети с центральным контроллером.

Этот контроллер используется в составе системы управления шаговыми двигателями практически во всем фасовочном оборудовании фирмы ”РОСТ”.

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

  • полно-шаговый, одна фаза на полный шаг;
  • полно-шаговый, две фазы на полный шаг;
  • полу-шаговый;
  • фиксацию положения двигателя при остановке.

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

  • простой, дешевый, надежный драйвер.

К недостаткам:

  • в униполярном режиме крутящий момент примерно на 40 % меньше по сравнению с биполярным режимом.

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

Статья о подключении униполярного шагового двигателя к плате Ардуино.

Драйвер биполярного шагового двигателя.

В биполярном режиме могут работать двигатели, имеющие любые конфигурации обмоток.

Варианты обмоток шагового двигателя

У биполярного двигателя по одной обмотке для каждой фазы. Обычно две обмотки AB и CD. В первых двух вариантах четыре обмотки соединяются так, что получается две. Обмотки по очереди подключаются к источнику  питания в одной полярности, затем в другой.

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

  • подключается в прямой полярности к источнику напряжения;
  • отключается от источника напряжения;
  • подключается с противоположной полярностью.

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

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

Для обеспечения двух полярных коммутаций от одного источника питания требуется 4 ключа. При замыкании 1 и 2 ключей обмотка подключается к источнику питания в прямой полярности. Замыкание 3 и 4 ключей подает на обмотку обратную полярность напряжения.

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

  • сложное управление верхними ключами ( 1 и 4) от логических сигналов “привязанных” к земле;
  • проблемы со сквозными токами при одновременном открывании ключей одного плеча ( 1,3 или 2,4).

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

 

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

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

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

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

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

 

Драйвер биполярного шагового двигателя L298N.

Описания этой микросхемы на русском языке практически нет. Поэтому привожу параметры L298N достаточно подробно, по официальным материалам производителя этой микросхемы – компании STMicroelectronics (datasheet l298n.pdf).

L298N это полный мостовой драйвер для управления двунаправленными нагрузками с токами до 2 А и напряжением до 46 В.

L298N

  • Драйвер разработан для управления компонентами с индуктивными нагрузками, такими как электромагниты, реле, шаговые двигатели.
  • Сигналы управления имеют TTL совместимые уровни.
  • Два входа разрешения дают возможность отключать нагрузку независимо от входных сигналов микросхемы.
  • Предусмотрена возможность подключения внешних датчиков тока для защиты и контроля тока каждого моста.
  • Питание логической схемы и нагрузки L298N разделены. Это позволяет подавать на нагрузку напряжение другой величины, чем питание микросхемы.
  • Микросхема имеет защиту от перегрева на уровне + 70 °C.

Структурная схема L298N выглядит так.

Сируктурная схема L298N

Микросхема выполнена в 15ти выводном корпусе с возможностью крепления радиатора охлаждения.

Корпус L298N

Назначение выводов L298N.

1 Sense A Между этими выводами и землей подключаются резисторы - датчики тока для контроля тока нагрузки. Если контроль тока не используется, они соединяются с землей.
 15  Sense B
 2  Out 1 Выходы моста A.
 3  Out 2
 4  Vs Питание нагрузки. Между этим выводом и землей должен быть подключен низкоимпедансный конденсатор емкостью не менее 100 нФ.
 5  In 1 Входы управления мостом A. TTL совместимые уровни.
 7  In 2
 6  En A Входы разрешения работы мостов. TTL совместимые уровни. Низкий уровень сигналов запрещает работу моста.
 11  En B
 8  GND Общий вывод.
9 Vss Питание логической части микросхемы (+ 5 В). Между этим выводом и землей должен быть подключен низкоимпедансный конденсатор емкостью не менее 100 нФ.
10 In 3 Входы управления мостом B. TTL совместимые уровни.
12 In 4
13 Out 3 Выходы моста B.
14 Out 4


Предельно допустимые параметры L298N.

 Обозначение Параметр Значение
 Vs  Напряжение питания  50 В
 Vss Напряжение питания логики 7 В
 Vi, Ven  Напряжение логических входов -0,3...7 В
 Io Выходной ток (для каждого канала)

  • не повторяющийся импульс 100 мкс
  • импульсы (80% включен, 20% выключен, включен 10 мс)
  • при постоянном токе
 

3 А

2,5 А

2 А

 Vsens Напряжение датчиков тока -1...2,3 В
 Ptot  Мощность рассеивания (температура корпуса 75°C)  25 Вт
 Top Рабочая температура кристалла -25...130 °C
 Tstg Температура хранения -40...150 °C

Параметры расчетов тепловых режимов.

Обозначение Параметр Значение
 Tth j-case  Тепловое сопротивление кристалл-корпус  3 ºC/Вт
 Tth j-amb  Тепловое сопротивление кристалл-окружающая среда  35 ºC/Вт

 

Электрические характеристики драйвера L298N.

 Обозначение Параметр Значение
 Vs Напряжение питания (вывод 4) Vih+2.5 ...46 В
 Vss Питание логики 4,5... 5 ...7 В
 Is Потребляемый ток покоя (вывод 4)

  • Ven=H, Vi=L
  • Ven=H, Vi=H
  • Ven=L
 

13 ... 22 мА
50 ... 70 мА
4 мА

 Iss  Потребляемый ток покоя (вывод 9)

  • Ven=H, Vi=L
  • Ven=H, Vi=H
  • Ven=L
 

24 ... 36 мА
7 ... 12 мА
6 мА

 Vil Входное напряжение низкого уровня
(выводы 5, 7, 10, 12, 6, 11)
 -0,3 ... 1,5 В
 Vih  Входное напряжение высокого уровня
(выводы 5, 7, 10, 12, 6, 11)
2,3 ... Vss В
 Iil Входной ток низкого уровня
(выводы 5, 7, 10, 12, 6, 11)
 -10 мкА
 Iih  Входной ток высокого уровня
(выводы 5, 7, 10, 12, 6, 11)
30 ... 100 мкА
 Vce sat (h) Напряжение насыщения верхнего ключа

  • при токе 1 А
  • при токе 2 А
 

0,95...1,35...1,7 В
2 ... 2,7 В

Vce sat (l) Напряжение насыщения нижнего ключа

  • при токе 1 А
  • при токе 2 А
 

0,85...1,2...1,6 В
1,7 ... 2,3 В

Vce sat Общее падение напряжения на
открытых ключах

  • при токе 1 А
  • при токе 2 А
 

1,8 ... 3,2 В

1,8 ... 4,9 В

Vsens Напряжение датчиков тока
(выводы 1, 15)
-1 ... 2 В
Fc Частота коммутаций 25 ... 40 кГц

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

Схема подключения L298N

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

Диаграмма работы L298N

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

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

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

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

По функциям это аналог контроллера описанного в главе про униполярные двигатели, только для биполярного. Он также собран на PIC контроллере фирмы Microchip и управляет двумя биполярными шаговыми двигателями с током фаз до 2 А. Функциональные возможности и режимы управления двигателем те же.

 

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

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

К недостаткам:

  • сложный драйвер.

Еще одна схема контроллера шагового двигателя.

 

 

0

Автор публикации

не в сети 2 недели

Эдуард

280
Комментарии: 1936Публикации: 197Регистрация: 13-12-2015

9 комментариев на «Драйверы шагового двигателя: униполярный, биполярный, L298N.»

    • Изменить последовательность импульсов переключения фаз или поменять фазы местами. Библиотека Ардуино (урок 29) поддерживает эту функцию.

      0
  1. Спасибо за статью. Вот только не прописано как подобрать сопротивления для датчиков тока? И как подсоединить? Поставить вместо перемычки сопротивление и какой мощности?

    0
    • Здравствуйте!
      Не достаточно добавить в схему датчики тока. Надо как-то реализовать защиту или стабилизацию тока.

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

    0
    • Здравствуйте!
      Не совсем. Просто драйвер меняет логику управления. Вместо последовательных, сдвинутых относительно друг друга импульсов, он вырабатывает двуполярные сигналы.

      0
      • Спасибо.
        Что у драйверов разная выходная логика , это понятно.
        Меня интересует входящая логика: с микроконторллера на драйвер.

        Смысл в чём? Есть схема с прошивкой на Атмеге8 для униполярного драйвера и двигателя. Я хочу подменить драйвер под биполярный двигатель, без изменения прошивки м/к.
        Просто под рукой нет пока биполярного драйвера проверить.

        0
        • Здравствуйте!
          Нарисуйте диаграммы переключения фаз для униполярного и биполярного двигателей. Если использованы правильные полярности сигналов, то можно управлять драйвером биполярного двигателя. В статье есть рабочий пример для драйвера L298.

          0

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".