Кафедра света и электричества

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

Устройство шагового двигателя.

Шаговый двигатель - одно из распространенных устройств автоматики и управления. Его особенность состоит в том, что он позволяет осуществлять вращение не непрерывно, а небольшими дискретными "шагами". Причем даже при отсутствии тока для того, чтобы повернуть ось шагового двигателя нужно приложить небольшое усилие. С другой стороны, если через обмотку двигателя пропустить ток, то это усилие значительно возрастет. Это значит, что с помощью шагового двигателя можно не только поднять, например, груз, но и удерживать его безо всяких дополнительных приспособлений.
С точки зрения управления шаговый двигатель обладает тем полезным свойством, что при достаточно малой нагрузке нет необходимости в системе обратной связи. Обычная система управления состоит из двигателя, который что-то перемещает, и датчика, который следит за тем, куда оно переместилось. Если такого датчика нет, то система не сможет выполнить команду вроде "переместиться на 10 см влево". У шагового двигателя величина шага постоянна, и обратная связь не нужна. Разумеется, только в тех случаях, когда можно гарантировать, что никакая внешняя сила не сможет остановить мотор или провернуть его.

Как устроен шаговый двигатель ? Посмотрим на рисунок. В середине находится зубчатое колесо - ротор, по краям - несколько электромагнитов с такими же зубцами. На рисунке видно, что когда зубцы колеса находятся в точности напротив верхнего электромагнита, зубцы правого и левого электромагнитов смещены на четверть расстояния между зубцами, а нижнего - на половину этого расстояния. То есть если угол, на который нужно повернуть ротор, чтобы зубцы совпали, для верхнего магнита равен 0, то для левого он будет -φ/4; для правого φ/4, для нижнего φ/2, где φ - угол между соседними зубцами. Если подать ток на правый магнит, то ротор повернется на угол φ/4. Смещение верхнего магнита станет -φ/4; правого 0; нижнего φ/4 и левого -φ/2 (что то же самое, что и φ/2). Для следующего шага в том же направлении нужно включить ток в нижнем электромагните, потом в левом, и так далее по кругу. Если электромагниты подключать в обратной последовательности, против часовой стрелки, то и вращение ротора будет противоположно по направлению.
Если ток пустить в обмотку электромагнита не соседнего, а противоположного тому, зубцы которого находятся напротив зубцов ротора, то ротор повернется, но неизвестно, в какую сторону.
Положение ротора при повороте на угол, меньший чем φ/4 неустойчиво. Если его принудительно привести в такое состояние и отпустить, ротор вернется в одно из соседних, устойчивых положений. Таким образом, управление шаговым двигателем сводится к последовательному подключению обмоток электромагнитов либо по часовой стрелке, либо против. При этом возможны два варианта: после завершения шага выключать ток или оставлять его включенным. Мы будем рассматривать первый вариант, реализация второго немного отличается.


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

Разные типы моторов отличаются разным подключением этих обмоток. Основных типов моторов два. Мы будем называть их 6-выводными и 4-выводными, так как тип мотора проще всего определить, посмотрев, сколько проводов из него выходит. У 6-выводных моторов их 5 или 6, у 4-выводных - 4. Если проводов шесть, то два из них - общие, а остальные 4 используются для подключения четырех обмоток электромагнитов. Если проводов пять, то схема та же самая, но два общих провода соединены вместе. У 4-выводных моторов (они называются еще биполярными, в отличие от униполярных) всего две обмотки. И последовательность их подключения немного другая. Чтобы получить четыре шага, нужно менять направление тока в обмотках электромагнитов: сначала первую обмотку подключаем в одном направлении, допустим, слева направо, потом вторую обмотку слева направо, потом первую справа налево, и, наконец, вторую справа налево. Для вращения в обратном направлении надо изменить последовательность на обратную.


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

Для управления 6-выводным шаговым двигателем нужно 4 независимых управляющих элемента - транзистора. Можно взять отдельные транзисторы, но лучше использовать специальную микросхему ULN2003A, которая содержит целых семь транзисторов, и, кроме того, там есть еще 7 защитных диодов, которые пропускают через себя ток самоиндукции при отключении электромагнитов.
Схема подключения проста. Для питания двигателя в этой схеме используется то же напряжение, которое питает микроконтроллер. Для снижения тока через двигатель используется резистор. Во многих приложениях необходимо отдельное питание двигателя более высоким напряжением. В этом случае резистор R1 просто не устанавливается, а питание подается прямо на провода, приходящие от мотора (нижние по схеме контакты SV2). Выглядит это примерно так.
Для управления драйвером нужно 4 провода, которые подпаиваются к четырем выводам какого-либо порта микроконтроллера. Управление состоит в том, что каждый из четырех битов порта по очереди устанавливается в 1. Для отключения мотора все биты устанавливаются в 0.

Как обычно, рисунок печатной платы и файл для распечатки на принтере с разрешением 600 DPI. Во втором варианте платы возможна установка как чип-резистора, так и обычного выводного. Обратите внимание, что контакты для подключения мотора расположены на этих платах по-разному.

Вариант платы для микросхемы
ULN2003A в корпусе SO16.


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

Здесь все немного сложнее, поскольку нужно не просто подключать и отключать ток, но и менять его направление. Для того, чтобы можно было изменять направление тока в обмотке электромагнита, используется схема, которая называется H-мост. Она состоит из четырех ключей - транзисторов. Если открыты Q2 и Q4, ток течет так, как показано синей стрелкой. Если открыты Q1 и Q3, ток течет так, как показано красной стрелкой. Главный недостаток этой схемы состоит в том, что открывать одновременно Q1 и Q2 (Q3 и Q4) нельзя - это вызовет короткое замыкание (желтая стрелка). Поэтому производители микросхем управления двигателями добавляют к схеме H-моста несколько логических элементов, которые гарантируют правильное включение транзисторов. Из таких микросхем мы будем использовать недорогую BA6845 производства ROHM.


Внутри этой микросхемы есть два H-моста. У нее имеется 4 управляющих входа (вдвое меньше, чем у двух H-мостов), назначение их такое: входы IN11 и IN21 определяют направление тока в соответствующих H-мостах, а входы IN12/OFF и IN22/OFF включают/выключают ток. Соответственно, последовательность управляющих сигналов должна быть такой:
IN11IN11IN12/OFFIN22/OFF
000100
000010
110100
110010
Сочетание 010 означает, что из исходного состояния 0 нужно переключить вход в 1, подождать какое-то время, достаточное для того, чтобы ротор двигателя повернулся, и переключить вход обратно в 0.


Печатная плата драйвера 4-выводного шагового двигателя.


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