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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Практически ключи можно выполнить на биполярных транзисторах, но предпочтительнее использовать низкопороговые 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 % меньше по сравнению с биполярным режимом.
  1. Пример практической схемы простого контроллера униполярного шагового двигателя.
  2. Статья о подключении униполярного шагового двигателя к плате Ардуино.
  3. Драйвер биполярного шагового двигателя.
  4. В биполярном режиме могут работать двигатели, имеющие любые конфигурации обмоток.
  5. Биполярный шаговый двигатель схема запуска

У биполярного двигателя по одной обмотке для каждой фазы. Обычно две обмотки 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 В.

  • Драйвер разработан для управления компонентами с индуктивными нагрузками, такими как электромагниты, реле, шаговые двигатели.
  • Сигналы управления имеют TTL совместимые уровни.
  • Два входа разрешения дают возможность отключать нагрузку независимо от входных сигналов микросхемы.
  • Предусмотрена возможность подключения внешних датчиков тока для защиты и контроля тока каждого моста.
  • Питание логической схемы и нагрузки L298N разделены. Это позволяет подавать на нагрузку напряжение другой величины, чем питание микросхемы.
  • Микросхема имеет защиту от перегрева на уровне + 70 °C.
  • Структурная схема L298N выглядит так.
  • Микросхема выполнена в 15ти выводном корпусе с возможностью крепления радиатора охлаждения.
  • Назначение выводов 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
Читайте также:  Двигатель d4cb расход масло


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

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

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

  1. 3 А
  2. 2,5 А
  3. 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 мА

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

Введение.

Шаговый двигатель (далее ШД) — особая разновидность двигателей, который позволяет точно управлять углом поворота ротора. ШД  относится к синхронным безщёточным двигателям, имеет несколько обмоток на статоре (2, 4 или 8), ротор же выполнен из магнито-мягких (способных намагничиваться) или магнито-твердых материалов  (постоянных магнитов) и их сочетаний.

На данный момент распространены биполярные ШД, обладающие двумя обмотками на статоре. Например, ШД типоразмера NEMA17, одни из самых распространенных биполярных ШД.

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

Ток в обмотках статора течет то в одну, то в другую сторону попеременно. Поэтому для управления биполярным ШД необходимы два Н-моста, по одному мосту на обмотку. 

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

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

Также можно использовать, например, микросхему L293 и аналогичные ей микросхемы (сдвоенный Н-мост), но и в этом случае для управление одним биполярным ШД потребуется 4 вывода микроконтроллера.

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

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

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

Следующая схема состоит из сдвоенного Н-моста  L298 и специального драйвера L297, который преобразует протокол step/dir в понятный микросхеме L298 порядок переключения обмоток. Кроме того, L297 способна реализовать полушаговый режим работы ШД. То есть логика управления упростилась, но драйвер “оброс” ещё одной микросхемой.

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

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

Драйверы для управления биполярными ШД работают по протоколу step/dir, содержат в себе защитные диоды, позволяют устанавливать силу тока, протекающую через обмотки ШД и позволяют устанавливать дробный шаг ШД (?, ?, ? и так далее), что в свою очередь позволяет контролировать угол поворота ротора с большей точностью.

Промышленный драйвер для больших ШД, качественный и дорого стоит:

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

Драйвер для не больших ШД, типа NEMA17  и меньше:

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

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

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

Но в этом случае, используется всего 4 транзистора, а не 12, как в случае с биполярным ШД.

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

Изготовление драйверов униполярных ШД, работающих по протоколу  step/dir представляет некоторые сложности для новичков-радиолюбителей, но является вполне выполнимой задачей.

Реализация драйвера униполярного ШД показана на следующей схеме.

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

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

Но позвольте, те ШД, что в обилии встречаются в магазинах, предназначены для биполярных ШД. Причем тут униполярные?

  • Дело в том, что почти любой униполярный ШД можно переделать в биполярный, чаще всего даже без разборки, лишь правильным подключением обмоток. 
  • Униполярный в биполярный.
  • Чтобы определить, какой тип ШД перед вами, достаточно посчитать количество выводов.
  • 4 вывода — перед вами биполярный ШД, поздравляю вас, переделка не требуется.

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

  • 5 выводов — униполярный ШД, в котором один из выводов каждой из четырех катушек  соединен с остальными (смотрите изображение). Пример такого ШД — распространенный в настоящее время компактный ШД 28BYJ-48. 

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

В случае с 28BYJ-48 (на фото выше) переделка сводится к снятию крышки и перерезанию одной дорожки на печатной плате. Ну и соответственно один провод (красный) можно будет выпаять и удалить. При этом момент увеличится в 1,4 раза.

  • 6 выводов — очень похож на 5-выводной, за исключением того, что центральные выводы катушек не соединены между собой. Для такого ШД существует 2 способа использования: 
  1. игнорируем центральные выводы катушек, при этом момент увеличивается в 1.4 раза (корень из 2). Момент стабилен на низких частотах.
  2. игнорируем один из крайних выводов катушки — ШД работает с параметрами, заявленными в даташите (момент, ток). Момент стабилен на высоких частотах.
  • 8 выводов, четыре независимых катушки. Существует три способа подключения таких ШД:
  1. игнорируем одну из обмоток в паре обмоток, ШД работает с параметрами, заявленными в даташите (момент, ток), момент стабилен на высоких частотах.
  2. соединяем пару обмоток последовательно — момент увеличивается в 1,4 раза, момент становится стабилен на более низких частотах, чем в первом варианте.
  3. соединяем пару обмоток параллельно — момент увеличивается в 2 раза и становится стабилен на более высоких частотах, чем в первом варианте.

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

Заключение.

На данный момент у меня набралась коллекция униполярных ШД от старых матричных принтеров, жестких дисков 80-х годов и прочего устаревшего оборудования. К тому же, я активно использую миниатюрные 28BYJ-48, каждый из которых переделываю для работы с биполярным драйвером для шаговых двигателей.

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

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

Управление биполярным шаговым двигателем. Часть 1. Теория. Схема с контроллером PIC12F629 и драйвером LB1838

Шаговые двигатели интересны тем, что позволяют повернуть вал на определённый угол.

Соответственно, с их помощью можно повернуть вал и на определённое число оборотов, потому что N оборотов — это тоже определённый угол, равный 360*N, и, в том числе, на нецелое число оборотов, например на 0.75 оборота, 2.5 оборота, на 3.7 оборота и т.д.

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

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

Итак, что нам понадобится для экспериментов. Во-первых, шаговый двигатель. Я брал 5-ти вольтовый китайский биполярный шаговик с загадочным названием, выдранный из старого 3,5″ дисковода, аналог M20SP-GW15. Во-вторых, поскольку обмотки двигателя потребляют значительный ток (в данном случае до 300 мА), то вполне понятно, что подключить шаговик к контроллеру напрямую не удастся, нужен драйвер.

В качестве драйвера для биполярных шаговых двигателей обычно используют схему так называемого H-моста или специальную микросхему (в которой всё равно встроен H-мост).

Читайте также:  Автозапуск сигнализации старлайн как правильно запустить двигатель

Можно конечно ваять самому, но я взял готовую микруху (LB1838) из того же старого дисковода.

Собственно, кроме всего вышеописанного, для наших экспериментов также понадобятся: PIC-контроллер (был взят PIC12F629, как самый дешёвый) и пара кнопок.

Перед тем, как перейти непосредственно к схеме, давайте немного разберёмся с теорией.

Биполярный шаговый двигатель имеет две обмотки и, соответственно, подключается по четырём проводам. Найти концы обмоток можно простой прозвонкой — концы проводов, относящиеся к одной обмотке, будут между собой звониться, а концы, относящиеся к разным обмоткам, — нет. Концы первой обмотки обозначим буквами «a», «b», а концы второй обмотки буквами «c», «d».

На рассматриваемом экземпляре есть цифровая маркировка контактов возле мотора и цветовая маркировка проводов (бог его знает, может это тоже какой-то стандарт): 1 — красный, 2 — голубой — первая обмотка; 3 — жёлтый, 4 — белый — вторая обмотка.

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

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

За один полный цикл двигатель делает четыре шага.

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

То есть, например, после второй комбинации (когда мы подали + на вывод «c» и минус на вывод «d») мы можем подать либо третью комбинацию (отключить вторую обмотку, а на первой подать — на «a» и + на «b»), тогда двигатель повернётся на один шаг вперёд, либо первую комбинацию (двигатель повернётся на один шаг назад).

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

То есть, допустим мы повернули двигатель на 5 шагов вперёд, подавая на него комбинации 2-3-4-1-2, потом обесточили, а потом захотели повернуть ещё на один шаг вперёд.

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

И так далее в таком же духе.

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

На этом мы закончим с двигателем и перейдём к драйверу LB1838.

У этой микрухи есть четыре управляющие ноги (IN1, IN2, EN1, EN2), на которые мы как раз и будем подавать сигналы с контроллера, и четыре выходных ноги (Out1, Out2, Out3, Out4), к которым подключаются обмотки двигателя. Обмотки подключаются следующим образом: провод «a» подключается к Out1, провод «b» — к Out2, провод «c» — к Out3, провод «d» — к Out4.

Ниже представлена таблица истинности для микросхемы драйвера (состояние выходов в зависимости от состояния входов):

IN1 EN1 Out1 (a) Out2(b) IN2 EN2 Out3(c) Out4(d)
Low High + Low High +
High High + High High +
X Low откл откл X Low откл откл

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

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

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

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

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

Вот в общем-то и вся теория. Необходимые комбинации уровней на управляющих входах формируются контроллером (мы будем использовать PIC12F629).

Схема:

Биполярный шаговый двигатель схема запуска
Элементы:
R1..R2 = 1 кОм. Когда соответствующая кнопка не нажата — резистор подтягивает напряжение на входе контроллера к +5 В (высокий уровень). При нажатии на кнопку напряжение на входе подтягивается к земле (низкий уровень).
С1, С2 = 0,1 мкФ — керамические конденсаторы.
С3 = 470 мкФ х 16В — электролитический конденсатор.

Готовый девайс:

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

Программа управления реализует следующий алгоритм: при нажатии кнопки КН1 двигатель поворачивается на один шаг в одну сторону, а при нажатии кнопки КН2 — на один шаг в другую сторону.

Простейшая программа управления (.asm + .hex)

  • Скачать плату в формате DipTrace 2.0
  • Собственно говоря, можно прикрутить сюда программный UART и реализовать управление от компьютера (передавать с компа скорость, количество шагов и направление вращения).
  • продолжение (для драйвера L293D)…

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

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

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

 Кто-то скажет «зачем изобретать велосипед? Купи драйвер на L239 и радуйся жизни», может быть это и правильно, но мы же не ищем лёгких путей, да и что-нибудь спаять руки чешутся (а драйверы были куплены, просто они ещё ехали из Китая). Немного покопавшись в интернете, я заинтересовался такой штукой, как H-мост.

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

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

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

Это очень неудобно, потому что, во первых, нужно много проводов цеплять к управляющему микроконтроллеру, а во вторых, если подать управляющий сигнал одновременно на верхний и на нижний транзисторы одного плеча моста, то мы получим короткое замыкание и просто сожжём два транзистора. Поэтому я решил сделать одну хитрость: затворы нижних транзисторов каждого плеча (они у нас коммутируют минус к обмотке мотора) необходимо подключить через инвертор (в данном случае логический элемент «не»), а затворы верхних транзисторов — на вход того же инвертора. Таким образом мы получаем уже четыре управляющих сигнала (A, B, C ,D).

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

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

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

С теорией покончено.

Теперь подключаем нашу схему к arduino (или просто микроконтроллеру): линии A,B,C,D — к любому свободному пину, так же же подключаем минус и плюс 5 вольт от платы контроллера. Сами мосты запитываем от отдельного блока питания (у меня был не стабилизированный на 15 вольт). 

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

Будем управлять двигателем в полушаговом режиме (8 шажков). В моей программе написаны три функции: forward — будет крутить двигатель в одну сторону, backward — в обратную, stope — остановка.

Функции запускаются с помощью терминала путём отправки символов (f,b и s соответственно). Переменная dl служит для управления скоростью вращения двигателя. Так как программа выполняется по кругу, то двигатель вращается постоянно.

Читайте также:  F9q двигатель не заводится

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

Внешний вид готового устройства:

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

Как видно из фотографии, мосты собраны из разных транзисторов (в верхних плечах пары ceb703al и 76129s выпаянные из старых материнок, в нижних плечах irf640  и irf610), так как восемь одинаковых у меня просто не было. Тем не менее схема вполне работоспособна. Так же на фото заметна пара «соплей» — перемычек — как всегда ошибки при рисовании платы.

И в конце статьи — демонстрационное видео работы устройства.

Скачать список элементов (PDF)

Прикрепленные файлы:

  • H-мост.lay6 (70 Кб)
  • Stepper.ino (3 Кб)

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

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

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

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

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

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

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

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

  • Биполярный — имеет четыре выхода, содержит в себе две обмотки.
  • Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины.
  • Четырехобмоточный — имеет четыре независимые обмотки. По сути дела представляет собой тот же униполярник, только обмотки его разделены. Вживую не встречал, только в книжках.

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

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

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

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

Схема управления шаговым двигателем
Я разжился контроллерами шаговиков L297 и мощным сдвоенным мостом L298N.

Лирическое отступление, при желании можно его пропустить

Именно на нем был сделан мой первый силовой блок робота. Кроме него там еще два источника питания на 5 и на 3.3 вольта, а также контроллер двух движков на L293 (такой же как и во второй реализации силового блока). В качестве контроллера тогда был выбран АТ89С2051.

Это антикварный контроллер архитектуры MSC-51 в котором из периферии только два таймера, порты да UART, но я его люблю нежно и трепетно, так как первая любовь не проходит никогда =).

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

Короче, знатный был проект. Ныне валяется трупом, т.к. все лень запустить Keil uVision и написать новую прошивку. Да и ассемблер С51 я стал уже забывать.

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

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

Осталось только подключить микроконтроллер.

  • На вход CW/CCW подаем направление вращения — 0 в одну сторону, 1 — в другую.
  • на вход CLOCK — импульсы. Один импульс — один шаг.
  • вход HALF/FULL задает режим работы — полный шаг/полушаг
  • RESET сбрасывает драйвер в дефолтное состояние ABCD=0101.
  • CONTROL определяет каким образом задается ШИМ, если он в нуле, то ШИМ образуется посредством выходов разрешения INH1 и INH2, а если 1 то через выходы на драйвер ABCD. Это может пригодится, если вместо L298 у которой есть куда подключать входы разрешения INH1/INH2 будет либо самодельный мост на транзисторах, либо какая-либо другая микросхема.
  • На вход Vref надо подать напряжение с потенциометра, которое будет определять максимальную перегрузочную способность. Подашь 5 вольт — будер работать на пределе, а в случае перегрузки сгорит L298, подашь меньше — при предельном токе просто заглохнет. Я вначале тупо загнал туда питание, но потом передумал и поставил подстроечный резистор — защита все же полезная вещь, плохо будет если драйвер L298 сгорит.
    Если же на защиту пофигу, то можешь заодно и резисторы, висящие на выходе sense выкинуть нафиг. Это токовые шунты, с них L297 узнает какой ток течет через драйвер L298 и решает сдохнет он и пора отрубать или еще протянет. Там нужны резисторы помощней, учитывая что ток через драйвер может достигать 4А, то при рекомендуемом сопротивлении в 0.5 Ом, будет падение напряжения порядка 2 вольт, а значит выделяемая моща будет около 4*2=8 Вт — для резистора огого! Я поставил двухваттные, но у меня и шаговик был мелкий, не способный схавать 4 ампера.

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

Документация по микросхемам:

Спасибо!!! Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics!!! Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто!!! Сейчас идет заключение договора и подготовка к строительству!

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

Ссылка на основную публикацию
Adblock
detector