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

Драйвер шагового двигателя - электронное устройство, которое заставляет "шагать" по . Стандартом де-факто в области управления ШД являются . STEP это сигнал шага, DIR это сигнал направления вращения, ENABLE это сигнал включения драйвера.

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

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

К драйверу ШД подключается источник питания, сам ШД (его обмотки) и сигналы управления. Стандартом по сигналам управления является управление сигналами STEP/DIR или CW/CCW и сигнал ENABLE.

Протокол STEP/DIR:

Сигнал STEP - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т.д.). Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал DIR - Потенциальный сигнал, сигнал направления. Логическая единица - ШД вращается по часовой стрелке, ноль - ШД вращается против часовой стрелки, или наоборот. Инвертировать сигнал DIR обычно можно либо из программы управления или поменять местами подключение фаз ШД в разъеме подключения в драйвере.

Протокол CW/CCW:

Сигнал CW - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т. д.) по часовой стрелке. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал CW - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т. д.) против часовой стрелки. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал ENABLE - Потенциальный сигнал, сигнал включения/выключения драйвера. Обычно логика работы такая: логическая единица (подано 5В на вход) - драйвер ШД выключен и обмотки ШД обесточены, ноль (ничего не подано или 0В на вход) - драйвер ШД включен и обмотки ШД запитаны.

Драйверы ШД могут иметь дополнительные функции:

Контроль перегрузок по току.

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

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

Режим автоматического снижения тока обмотки при простое (отсутствии сигнала STEP) для снижения нагрева ШД и потребляемого тока (режим AUTO-SLEEP).

Автоматический компенсатор среднечастотного резонанса ШД. Резонанс обычно проявляется в диапазоне 6-12 об/сек, ШД начинает гудеть и ротор останавливается. Начало и сила резонанса сильно зависит от параметров ШД и его механической нагрузки. Автоматический компенсатор среднечастотного резонанса позволяет полностью исключить резонирование ШД и сделать его вращение равномерным и устойчивым во всем диапазоне частот.

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

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

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

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

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

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

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

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

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

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


Схема включения 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 получается даже чуть дешевле.

Шаговые двигатели интересны тем, что позволяют повернуть вал на определённый угол. Соответственно, с их помощью можно повернуть вал и на определённое число оборотов, потому что 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).

Схема :

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

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

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

Драйвер шагового двигателя на транзисторах

Представляю Вашему вниманию драйвер биполярного шагового двигателя на биполярных транзисторах серии «КТ».

Драйвер работает по принципу эмиттерного повторителя. Сигнал управления поступает на каскад усиления собранного на транзисторе кт315. После чего попадет на Н мост из комплементарной пары КТ815 и КТ 814.

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

Так же в схеме предусмотрено гашение помех в виде конденсаторов на 3 на 0,1 мкф и 1 на 100 мкф. Так как драйвер проектировался для работы с двигателем от CD привода на 150 ватт, охлаждение на транзисторах не

Шаговый двигатель из CD привода подключенный к драйверу на транзисторах

устанавливалось, но максимальный ток эмиттера транзисторов КТ814 и КТ815 составляет 1,5 а, благодаря чему данным драйвером можно крутить моторы и по мощнее. Для этого всего необходимо установить пластины охлаждения на силовые транзисторы.

Часть 2. Схемотехника систем управления

Выше были рассмотрены наиболее важные общие вопросы использования шаговых двигателей, которые помогут в их освоении. Но, как гласит наша любимая украинская поговорка: «Не повірю поки не провірю» («Не поверю, пока не проверю»). Поэтому перейдем к практической стороне вопроса. Как уже отмечалось, шаговые двигатели - это удовольствие не из дешевых. Но они имеются в старых принтерах, считывателях гибких и лазерных дисков, например, SPM-20 (шаговый двигатель для позиционирования головки в дисководах 5"25 Mitsumi) или EM-483 (от принтера Epson Stylus C86), которые можно найти у себя в старом хламе или купить за копейки на радиобазаре. Примеры таких двигателей представлены на Рисунке 8.

Наиболее простыми для начального освоения являются униполярные двигатели. Причина кроется в простоте и дешевизне их драйвера управления обмотками. На Рисунке 9 приведена практическая схема драйвера, использованного автором статьи для униполярного шагового двигателя серии P542-M48 .

Естественно, что выбор типа транзистора для ключей управления обмотками должен происходить с учетом максимального тока коммутации, а его подключение учитывать необходимость заряда/разряда емкости затвора. В ряде случаев прямое соединение MOSFET с ИМС коммутатора может быть недопустимым. Как правило, в затворах устанавливаются последовательно включенные резисторы небольших номиналов. Но в ряде случае необходимо предусмотреть еще и соответствующий драйвер для управления ключами, который обеспечит заряд/разряд их входной емкости. В некоторых решениях предлагается в качестве ключей использовать биполярные транзисторы. Это подходит только для очень маломощных двигателей с небольшим током обмоток. Для рассматриваемого двигателя с рабочим током обмоток I = 230 мА ток управления по базе ключа должен составить, по крайней мере, 15 мА (хотя для нормальной работы ключа необходимо, чтобы ток базы равнялся 1/10 рабочего, то есть 23 мА). Но такой ток от микросхем серии 74HCхх забрать невозможно, поэтому потребуются дополнительные драйверы. Как хороший компромисс, можно использовать IGBT, сочетающие в себе достоинства полевых и биполярных транзисторов.

С точки зрения автора статьи, самым оптимальным для управления коммутацией обмоток двигателей небольшой мощности является использование подходящих по току и сопротивлению открытого канала R DC(ON) MOSFET, но с учетом рекомендаций, описанных выше. Мощность, рассеиваемая на ключах для выбранного в качестве примера двигателя серии P542-M48, при полной остановке ротора не превысит

P VT = R DC(ON) × I 2 = 0.25 × (0.230) 2 = 13.2 мВт.

Еще одним важным моментов является правильный выбор так называемых снаберных диодов, шунтирующих обмотку двигателя (VD1…VD4 на Рисунке 9). Назначение этих диодов - гасить ЭДС самоиндукции, возникающую при выключении управляющих ключей. Если диоды выбраны неверно, то неизбежен выход из строя транзисторных ключей и устройства в целом. Обратите внимание, что в мощные MOSFET такие диоды, как правило, уже встроены.

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

Схема на Рисунке 10 пригодна для любых типов двигателей (униполярных и биполярных). Частота вращения двигателя задается внешним тактовым генератором (скважность любая), сигнал с которого подается на вход «ШАГИ», а направление вращения устанавливается через вход «НАПРАВЛЕНИЕ». Оба сигнала имеют логические уровни и, если для их формирования используются выходы с открытым коллектором, то потребуются соответствующие резисторы подтяжки (на Рисунке 10 они не показаны). Временная диаграмма работы коммутатора приведена на Рисунке 11.

Хочу обратить внимание читателей: в Интернете вы могли встретить похожую схему, выполненную не на D-триггерах, а на JK-триггерах. Будьте внимательны! В ряде этих схем допущена ошибка в подключении ИМС. Если нет необходимости в реверсе, то схема коммутатора может быть значительно упрощена (см. Рисунок 12), при этом частота вращения останется неизменной, а диаграмма управления будет аналогичной той, которая приведена на Рисунке 11 (осциллограммы до переключения очередности фаз).

Поскольку особых требований к сигналу «ШАГИ» не предъявляется, для его формирования может использоваться любой подходящий по уровням выходного сигнала генератор. Для своих отладочных модулей автор использовал генератор на базе ИМС (Рисунок 13).

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

Схема на Рисунке 14 обеспечивает подачу двух стабильных по уровню напряжений для питания обмоток двигателя: 12 В в рабочем режиме и 6 В в режиме удержания. (Формулы, необходимые для расчета выходного напряжения, приведены в ). Рабочий режим включается подачей высокого логического уровня на контакт «ТОРМОЗ» разъема Х1. Допустимость снижения напряжения питания определяется тем, что, как уже отмечалось в первой части статьи, момент удержания шаговых двигателей превышает момент вращения. Так, для рассматриваемого двигателя P542-M48 момент удержания с редуктором 25:6 равен 19.8 Н·см, а момент вращения всего 6 Н·см. Этот подход позволяет при остановке двигателя уменьшить потребление мощности с 5.52 Вт до 1.38 Вт! Полное отключение двигателя осуществляется подачей высокого логического уровня на контакт «ВКЛ/ВЫКЛ» разъема Х1.

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

Примечание: В этом варианте использование резисторов подтяжки недопустимо!

В качестве дросселя автор использовал катушку SDR1006-331K (Bourns). Общее питание формирователя напряжения для обмоток двигателя можно уменьшить до 16 - 18 В, что не скажется на его работе. Еще раз обращаю внимание: при самостоятельном расчете не забудьте учитывать, что формирователь обеспечивает режим с перекрытием фаз, то есть необходимо закладываться на номинальный ток схемы питания, равный удвоенному максимальному току обмоток при выбранном напряжении питания.

Задача управления биполярными двигателями более сложна. Основная проблема в драйвере. Для этих двигателей требуется драйвер мостового типа, и делать его, тем более в современных условиях, на дискретных элементах - неблагодарная задача. Да, этого и не требуется, так как имеется очень большой выбор специализированных ИМС. Все эти ИМС условно можно свести к двум типам. Первый - весьма популярная у любителей робототехники ИМС L293D или ее варианты от . Они относительно недороги и подходят для управления маломощными двигателями с током обмоток до 600 мА. ИМС имеют защиту от перегрева; устанавливать ее необходимо с обеспечением теплоотвода, которым служит фольга печатной платы . Второй тип - это уже знакомая читателям по публикации в ИМС LMD18245 .

Автор использовал драйвер L293DD в схеме для управления биполярным двигателем малой мощности типа 20M020D2B 12 В/0.1 А во время изучения проблемы использования шаговых двигателей. Этот драйвер удобен тем, что содержит четыре полумостовых ключа, поэтому для управления биполярным шаговым двигателем требуется всего одна ИМС. Полная схема, приведенная в и многократно повторенная на интернет-сайтах, пригодна для использования в качестве тестовой платы. На Рисунке 15 показано включение ИМС драйвера (с привязкой к коммутатору из Рисунка 10), поскольку именно эта часть сейчас представляет для нас интерес, а Figure 6 (Bipolar Stepping-Motor Control) из спецификации не совсем понятна начинающему пользователю. Она вводит в заблуждение, например, тем, что показаны внешние диоды, которые на самом деле встроены в ИМС и прекрасно справляются с обмотками маломощных двигателей. Естественно, что драйвер L293D может работать с любым коммутатором. Выключается драйвер логическим нулем по входу R.

Примечание: ИМС L293, в зависимости от изготовителя и суффиксов, указывающих на тип корпуса, имеют различия в нумерации и количестве выводов!

В отличие от L293DD, LMD18245 является не четырех-, а двухканальным драйвером, поэтому для реализации схемы управления требуются две ИМС. Драйвер LMD18245 выполнен по DMOS технологии, содержит схемы защиты от перегрева, короткого замыкания и выполнен в удобном 15-выводном корпусе ТО-220, что позволяет легко отводить от его корпуса излишнее тепло. В качестве задающего генератора использовалась схема, приведенная ранее на Рисунке 13, но с увеличенным до 4.7 кОм сопротивлением резистора R2. Для подачи одиночных импульсов используется кнопка BH1, позволяющая сдвинуть ротор двигателя на один шаг. Направление вращения ротора определяется положением переключателя S1. Включение и выключение двигателя осуществляется выключателем S2. В положение «ВЫКЛ» ротор двигателя освобождается, и его вращение импульсами управления становится невозможным. Режим удержания уменьшает максимальный ток, потребляемый обмотками двигателя, с двух до одного ампера. Если импульсы управления не подаются, то ротор двигателя остается в зафиксированном положении с пониженной вдвое мощностью потребления. Если же импульсы подаются, то вращение двигателя в этом режиме осуществляется с пониженным на малых скоростях вращения моментом. Необходимо заметить, что поскольку при полношаговом управлении «two-phase-on » включены обе обмотки, ток двигателя удваивается, а схема драйвера должна рассчитываться исходя из требований обеспечения заданного тока двух обмоток (резисторы R3, R8).

Схема содержит описанный ранее двунаправленный двухфазовый формирователь на D-триггерах (Рисунок 10). Максимальный ток драйвера задается резистором, включенным в цепь контакта 13 ИМС LMD18245 (резисторы R3, R8), и двоичным кодом на контактах цепи управления тока (выводы 8, 7, 6, 4). Формула для расчета максимального тока приведена в спецификации на драйвер . Ограничение тока осуществляется импульсным методом. При достижении максимально заданной величины тока выполняется его «нарезка» («chopping»). Параметры этой «нарезки» задаются параллельной RC цепочкой, подключенной к выводу 3 драйвера. Достоинством ИМС LMD18245 является то, что токозадающий резистор, не включенный непосредственно в цепь двигателя, имеет достаточно большой номинал и маленькую рассеиваемую мощность. Для рассматриваемой схемы максимальный ток в амперах, согласно приведенной в формуле, составляет:

V DAC REF - опорное напряжение ЦАП (в рассматриваемой схеме 5 В);
D - задействованные разряды ЦАП (в этом режиме используются все 16 разрядов);
R S - сопротивление токоограничивающего резистора (R3 = R8 = 10 кОм).

Соответственно, в режиме удержания (поскольку используются 8 разрядов ЦАП), максимальный ток составит 1 А.

Как можно видеть из предложенной статьи, шаговые двигатели хоть и сложнее в управлении, чем коллекторные, но не настолько, чтобы отказываться от них. Как говорили еще древние римляне: «Дорогу осилит идущий». Естественно, что на практике для многих приложений управление шаговыми двигателями целесообразно делать на основе микроконтроллеров, которые легко сформируют нужные команды для драйверов и выполнят роль коммутаторов. Дополнительную информацию и более детальное рассмотрение проблем, связанных с применением шаговых двигателей, кроме как по упомянутым выше ссылкам [ , , ], можно почерпнуть из ставшей уже классикой монографии Кенио Такаши и на специализированных интернет-сайтах, например, .

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

  • Rentyuk Vladimir «Control stepper motors in both directions» EDN March 18, 2010
  • Кенио Такаши. Шаговые двигатели и их микропроцессорные системы управления: Пер. с англ., М.: Энергоатомиздат, 1987 - 199 с.