Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Автоматика

Пропорциональное управление шаговым двигателем

Автор: МКС, uels73@mail.ru
Опубликовано 19.11.2013.
Создано при помощи КотоРед.

     Описываемое ниже устройство позволяет управлять униполярным шаговым двигателем типа СДХ 1,8/40 и аналогичным. Схема электрическая принципиальная блока управления изображена на рис.1. Он выполнен на базе микроконтроллера ATmega 8 работающего от встроенного тактового генератора на частоте 2 МГц. В качестве ключей, коммутирующих обмотки шагового двигателя М1, использованы логические элементы микросхем DD2, DD3 типа SN75452 (русский аналог - К155ЛА18). Это микросхемы – повышенной мощности с открытым коллекторным выходом.
     Блок поддерживает пропорциональное и дискретное управление мотором. В режиме пропорционального управления - угол поворота ротора двигателя, задается переменный резистором R1. В режиме дискретного управления - вращение двигателя «влево», «вправо», «стоп» осуществляется кнопками S1 и S2. Кроме этого, в схеме можно выбирать шаговый или полушаговый режим работы, а также скорость вращения двигателя.
 
 
     Установкой перемычки X4 выбирается пропорциональное управление, а при ее отсутствии – дискретное управление. Перемычкой X5 определяется шаговый и полушаговый режим работы двигателя. Все эти режимы работы инициализируются только в момент включения схемы или сброса микроконтроллера. Поэтому нужные перемычки необходимо установить перед включением питания. В микроконтроллере задействованы два канала АЦП. На вход одного из них – ADC5 (28 ножка) подключен подстроечный резистор R3. С его помощью регулируется скорость вращения двигателя при любом режиме работы схемы.
    В режиме пропорционального управления задействуется еще один канал АЦП – ADC4 (27 ножка). На его вход через интегрирующую цепь R2, C1 подключен переменный резистор R1, который задает угол поворота ротора мотора. Скорость работы АЦП в данной управляющей программе осуществляет преобразования с 8 - битной точностью. Поэтому положение ручки переменного резистора R1 программа контроллера условно разбивает на 255 шагов. После включения питания, программа выполняет калибровку положения ротора шагового двигателя. Для этого, перед началом работы, автоматически выполняется команда «вращение двигателя влево» до тех пор, пока флажок, закрепленный на роторе мотора, не «доедет» до концевого датчика (оптопары) VT1, HL1. При поступлении сигнала с датчика VT1, программа обнуляет регистр-счетчик количества шагов двигателя, измеряет напряжение на выходе переменного резистора R1, преобразует его в цифровой код в диапазоне от 0 до 255, записывает его в старший байт регистра результата преобразования АЦП (это количество шагов переменного резистора R1), а затем сравнивает его содержимым регистра-счетчика количества шагов двигателя. Если число шагов резистора R1 больше чем шагов двигателя М1, то выдается команда: «вращение двигателя вправо». При этом с каждым шагом ротора происходит инкремент счетчика шагов двигателя и его сравнение с числом в регистре АЦП (шаги резистора R1). Когда число шагов двигателя станет равно числу в регистре АЦП, выполняется команда: «стоп». Поворачивая ручку резистора R1 «влево», уменьшается уровень постоянного напряжения на входе АЦП. При этом число в регистре результата преобразования АЦП станет меньше чем текущее значение регистра - счетчика шагов. В этом случае выдается команда: «вращение двигателя влево». С каждым шагом двигателя происходит декремент регистра-счетчика шагов двигателя до тех пор, пока числа в обоих регистрах не станут равны. Таким образом, вращая ручку переменного резистора R1, ротор двигателя поворачивается в том же направлении и на такое же количество шагов.
     Отмечу, что предлагаемый двигатель совершает один оборот на 360° за 200 шагов (т.е. один шаг – 1,8 град.). Следовательно, в данной схеме, за 255 условных шагов от переменного резистора R1, ротор мотора сделает более одного оборота и повернется на угол 459°. Поэтому для ограничения угла поворота двигателя используется концевой датчик (оптопара) для крайнего правого положения ротора. Он выполнен на элементах VT2, HL2. Для более точного копирования угла поворота ручки переменного резистора ротором двигателя необходимо установить в разрыв вывода сопротивления R1, подключенного к «+5 В», ограничительный резистор Rогр.. Его номинал следует тщательно подобрать (в пределах от 1 до 3 кОм).
     В управляющей программе предусмотрена функция повторной калибровки положения ротора двигателя в процессе работы устройства. Например, в случае проскальзывания шагов ротора, по какой либо причине (двигатель перегружен, зацепился за что-то и т.д.), можно повернуть ручку переменного резистора R1 в крайнее левое положение и подождать 2 - 3 секунды. При этом происходит проверка положения флажка ротора с помощью оптического датчика крайнего левого положения VT1. Если флажок не зашел в зону срабатывания датчика, значит в процессе работы произошло смещение шагов ротора мотора М1 относительно шагов резистора R1. В этом случае запускается программа повторной калибровки системы, и работа устройства восстанавливается.
    Для работы схемы в режиме пропорционального управления оптический датчик крайнего левого положения и калибровки VT1 - обязателен. Датчик крайнего правого положения VT2 можно не ставить, если нет необходимости в ограничении положения ротора при вращении вправо. Но, тогда, необходимо 14 вывод микроконтроллера подключить к +5 В.
    При пропорциональном управлении двигателем в полушаговом режиме ротор совершает поворот в пределах от 0° до 230°. Мощность мотора уменьшается, зато увеличивается плавность хода. Это необходимо учитывать при выборе этого режима работы.
     В режиме дискретного управления вращение «вправо» осуществляется кнопкой S1, вращение «влево» - кнопкой S2. Если кнопки не нажаты, выполняется команда «стоп». Программа калибровки двигателя и переменный резистор R1 в этом режиме не используются. Оптические датчики VT1, HL1 и VT2, HL2 работают как ограничители крайних положений ротора двигателя М1. Если ограничение вращения не требуется, то эти оптопары можно не ставить. Но при этом необходимо выводы 14, 15 микроконтроллера припаять к +5В.
      В случае необходимости контроля над работой шагового двигателя другими (внешними) устройствами, в схеме предусмотрены специальные выходы на старших пинах порта D микроконтроллера. На выводе PD7 «step» формируется кратковременный импульс прямоугольной формы при каждом шаге двигателя (может пригодиться для внешнего счетчика шагов). Вывод PD6 «rewers» – сигнал реверса двигателя (лог. 0 - вращение вправо, лог. 1 – вращение влево). При обнулении (сбросе) программного счетчика - регистра количества шагов, на выводе PD5 формируется кратковременный импульс «reset». Эти выходы работают и в режиме пропорционального управления.
      Управляющая программа для микроконтроллера написана на языке Ассемблер. Файл прошивки прилагается. Кроме этого, необходимо запрограммировать фьюзы: CKSEL0=0, CKSEL1=1, CKSEL2=0, CKSEL3=0, SUT0=0, SUT1=1, SKOPT=1.
 
 
 
 
 
      Печатная плата блока управления изображена на рис. 2. Она изготовлена из одностороннего фольгированного стеклотекстолита размерами 42 × 58 мм. В прикрепленном файле с расширением .lay прилагается рисунок для «лазерно-утюжной» технологии изготовления платы. Расположение элементов схемы на печатной плате приведено на рисунке 3.
 
 
     
 
      После установки микросхемы – стабилизатора DA1, к ней, необходимо прикрутить радиатор площадью не менее 4 см². Собранная конструкция представлена на фото. 1 и фото. 2.
 
 
 
 
 
      Как уже отмечалось, логические микросхемы SN75452 можно заменить русским аналогом - К155ЛА18. Раньше они использовались в старых пятидюймовых флоппи дисководах вместе с предлагаемым шаговым двигателем.
     Предлагаемый блок может быть использован в различных устройствах с электромеханическим приводом. Например, у меня два таких модуля с шаговыми двигателями пропорционально управляют видеокамерой наблюдения с удаленным доступом по двум осям координат. Один мотор поворачивает камеру по оси Х, другой – по оси Y (фото. 3).
 
 
 
 
 
Видеоролик о работе девайса можно посмотреть на: http://www.youtube.com/watch?v=Iz-2bfWMlHs
 

 


Файлы:
Плата для ЛУТ

Архив RAR


Все вопросы в Форум.


ID: 1824

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

49 4 1
3
Подробно