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


С. НЕТКАЧЕВ, г. Благодарный Ставропольского края

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

         Схема блока управления изображена на рис. 1. Микроконтроллер DDI (ATrnega8A-PU) работает от встроенного тактового генератора частотой 2 МГц. В качестве ключей, коммутирующих обмотки шагового двигателя М1, использованы логические элементы 2И-НЕ микросхем DD2 и DD3 (SN75452, отечественный аналог — К155ЛА18). Они имеют открытые коллекторные выходы повышенной мощности.

Cxema

         Возможно пропорциональное (при установленной перемычке S2) или дискретное (когда эта перемычка снята) управление углом поворота вала шагового двигателя. В режиме пропорционального управления угол задают с помощью переменного резистора R1. В режиме дискретного управления вал вращается по часовой стрелке (если смотреть со стороны насаженного на него шкива) при нажатой кнопке SB1 или против часовой стрелки при нажатой SB2 Когда ни одна из кнопок не нажата, двигатель остановлен.

         Перемычкой S1 задают полношаговую и полушаговую работу двигателя. Состояние обеих перемычек программа микроконтроллера анализирует только в момент включения питания или после принудительной установки микроконтроллера в исходное состояние сигналом, поданным на контакт ХТ1. Поэтому перемычки следует устанавливать или снимать заранее.

         Использованы два канала АЦП микроконтроллера На вход одного из них ADC5 (выв 28) подано напряжение с подстроечного резистора R4, которым регулируют частоту шагов вала двигателя в любом режиме работы блока.

         Другой канал АЦП используется только в пропорциональном режиме. К его входу ADC4 (выв. 27) через интегрирующую цепь R3C6 подключен переменный резистор R1. которым задают угол поворота вала. Положение движка переменного резистора программа условно разбивает на 256 позиции. Вал шагового двигателя СДХ 1,8/40 совершает один оборот на 200 шагов (один шаг — 360/200 1,8 град.). Следовательно, за 255 шагов в полношаговом режиме вал сделает более одного оборота, повернувшись на 459 град.

         Для ограничения угла поворота вала в конструкции предусмотрены два концевых оптических датчика — оптроны с открытым оптическим каналом U1 и U2. Их приклеивают или каким-либо другим способом крепят к корпусу двигателя, как показано на рис. 2. Положение оптронов относительно вала двигателя зависит от необходимого максимального угла поворота вала, который может быть выбран в пределах от 20 до 340 град.

Конструкция концевых оптических датчиков

         Для управления оптронами на валу двигателя необходимо закрепить непрозрачный флажок. В каждом из крайних положений вала он должен входить в зазор между излучающим диодом и фото транзистором соответствующего оптрона и прорывать световой поток между ними. Материал и размер флажка особого значения не имеют, Я использовал полоску белой жести толщиной 0,8 мм, длиной 50 мм и шириной 8 мм. На расстоянии 10 мм от каждого её конца края полосы были изогнуты. Одна сторона получившейся П-образной скобы прикреплена к шкиву, надетому на вал двигателя, а вторая служит флажком, входящим в рабочий зазор оптронов.

         После включения питания программа микроконтроллера выполняет установку положения вала шагового двигателя в заданное переменным резистором R1 положение. Сначала вал поворачивается против часовой стрелки, пока флажок не войдёт в зазор оптрона U1. При поступлении сигнала этого оптрона на вход РВ1 (выв. 15) микроконтроллера программа обнуляет регистр-счетчик числа шагов двигателя, измеряет напряжение на движке переменного резистора R1 и преобразует его в цифровой код в интервале 0—255 — это необходимое число шагов от крайнего против часовой стрелки до заданного переменным резистором положения вала двигателя. Если код равен нулю, то положение вала уже соответствует заданному. В противном случае выполняется найденное число шагов по часовой стрелке с одновременным инкрементом регистра-счётчика шагов.

         Далее программа периодически сравнивает содержимое регистра-счётчика шагов и регистра результата аналого-цифрового преобразования напряжения с движка переменного регистра R1. Если напряжение увеличилось, то выполняются шаги по часовой стрелке с инкрементом счетчика, а если уменьшилось, то шаги против неё с декрементом счётчика, пока не будет достигнуто равенство содержимого регистров В результате вал двигателя повторяет все перемещения движка переменного резистора R1. Чтобы достичь точного совпадения углов их поворота, следует тщательно подобрать резистор R2 в пределах от 510 Ом до 3 кОм.

         Иногда шаговый двигатель пропускает заданные шаги. Это может быть результатом механической перегрузки или возникновения препятствия вращению его вала. Возникает рассогласование между заданным и фактическим положениями вала двигателя. Чтобы устранить его. достаточно на 1...2с перевести движок переменного резистора R1 в нижнее по схеме положение При этом вал повернётся против часовой стрелки до входа укреплённого на нём флажка в зазор оптрона U1 и соответствие будет восстановлено.

         Для работы устройства в режиме пропорционального управления датчик крайнего против часовой стрелки положения вала (оптрон U1) обязателен. А вот оптрон U2 можно не устанавливать, если в ограничении максимального угла поворота вала нет необходимости. Но в таком случае следует соединить вход PB0 (выв 14) микроконтроллера с цепью -+5 В. а правый по схеме вывод резистора R6 — с анодом излучающего диода оптрона U1.

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

         При дискретном управлении вал вращается по часовой стрелке при нажатой кнопке SB 1. а в обратном направлении при нажатой кнопке SB2 Если кнопки не нажаты, вал двигателя зафиксирован в текущем положении. Процедура установки вала в исходное положение и переменный резистор R1 в этом режиме не используются. Оптроны U1 и U2 ограничивают сектор возможных положений вала Если ограничивать его не требуется, можно не устанавливать оба оптрона, соединив с цепью +5 В входы РВО и РВ1 (выв. 14 и 15) микроконтроллера.

         Сигналы, формируемые на выходах PD5—РD7(выв. 11—13) микроконтрол лера и выведенные на разьем Х2. предназначены для контроля работы шагового двигателя внешними устройствами. Об обнулении регистра-счётчика шагов свидетельствует короткий импульс на контакте 2 разъёма. Каждый шаг двигателя сопровождается импульсом прямоугольной формы на контакте 4. Уровень напряжения на контакте 3 показывает направление вращения вала: низким — по часовой стрелке, высокий — против неё. Эти сигналы формируются и в пропорциональном, и в дискретном режимах.

         Управляющая программа для микроконтроллера написана на языке ассемблера(step_r3-14.zip). Для ее правильной работы разряды конфигурации микроконтроллера, отвечающие за его тактирование и запуск, должны быть установлены в следующие состояния: CKSEL0=0, CKSEL1=1, CKSEL2=0, CKSEL3=0, SUT0=0, SUT1=1, CK0PT=1.

Печатная плата блока управления изображена на рис. 3. Она изготовлена из фольгированного с одной стороны стеклотекстолита толщиной 1..1,5 мм. Интегральный стабилизатор DA1 должен быть снабжен теплоотводом площадью не менее 50 см2

Печатная плата блока управления

         Микросхемы SN75452 можно заменить отечественными К155ЛА18. которые использовались в пятидюймовых накопителях на гибких магнитных дисках вместе с применённым в описываемой конструкции шаговым двигателем СДХ 1,8/40. Диоды IN4148 можно заменить отечественными серий КД521, КД522. Дроссель L1 — ДП-0.1 или ДП-0,2 указанной на схеме индуктивности. Переменный резистор R1 должен иметь линейную зависимость сопротивления от угла поворота движка. Я применил переменный резистор RK-1112N-B10K Подстроенный резистор R4 — углеродный однооборотный SH655MCL или аналогичный.

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

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

Поворотное устройство для видеокаморы

От редакции. Файл печатной платы я формате Sprint Layout 6.0 и программа микроконтроллера имеюся по адресу ftp://ftp.radio.ru/pub/2014/03/step.zip на нашем FTP-сервере.


Радио 3-2014