ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2025
Просмотров: 117
Скачиваний: 0
Применение микроконтроллеров серии MB89/90/91 для управления шаговыми двигателями
Введение
Шаговые двигатели находят широкое применение в принтерах, станках с ЧПУ, дисководах, автомобильных приборных панелях и других устройствах, где требуется прецизионное передвижение под управлением микрокомпьютера.
Для упрощения процесса разработки и снижения стоимости конечных изделий, использующих шаговые двигатели, Fujitsu предлагает недорогие 8-, 16-, и 32-битные микроконтроллеры с встроенным драйвером шагового двигателя.
Для управления шаговым двигателем требуется специальная система управления и сильноточные драйвера. Такая система может быть построена на дискретной логике или специальных интерфейсных микросхемах, но в результате усложняется схемотехника и/или вырастает цена конечного устройства.
Широкоизвестный пример применения шаговых двигателей – автомобильная панель управления. Шаговые двигатели управляют стрелками индикаторов, таких, как спидометр и тахометр. Один или несколько контроллеров шаговых двигателей в Flash-микроконтроллерах Fujitsu могут быть индивидуально запрограммированы для контроля датчика скорости, тахометра, топливного датчика и датчика температуры двигателя.
Эта Application Note описывает управление шаговым двигателем при помощи Flash-микроконтроллера Fujitsu с встроенным драйвером ШД на примере управления стрелкой.
1 Физические основы
В этом разделе даётся объяснение технических основ управления шаговыми двигателями.
1.1 Использование шагового двигателя для управления стрелочным прибором.
Ряд микроконтроллеров Fujitsu имеют встроенный контроллер шагового двигателя. Он с лёгкостью может быть использован для очень плавного вращения ШД, как в данном примере стрелочного индикатора. Чтобы этого добиться, необходимо чётко представлять его физические характеристики и свойства. Поэтому рассмотрим кратко физические основы функционирования ШД.
В данном описании мы применим простую эквивалентную схему замены шагового двигателя. В этой модели ротор представлен двухполюсным магнитом, а статор – двумя обмотками, расположенными перпендикулярно друг другу (Рис.1).
Для того, чтобы обеспечить действительно плавное перемещение, мы должны обеспечить постоянный вращающий момент в течение всего процесса движения. Это достигается таким геометрическим расположением катушек, которое позволяет получить постоянный суммарный момент (см. рис.2 ). Проще говоря, для каждой катушки используется sin и cos проекция, таким образом, на ротор, находящийся в любом положении всегда действует одинаковый момент.
Для создания движения, мы должны последовательно пройти все положения от Старта до Останова. В ШД это осуществляется пошаговым методом (Рис. 3).
Таким образом, при движении сохраняется постоянная скорость. Это, однако, не относится к точке останова, где двигатель прекращает движение моментально.
Чтобы избавиться от этого, используем ФНЧ, который позволяет решить проблему в точке останова (Зона B). Аналогичная проблема присутствует и в точке старта, для её устранения используем ФНЧ второго порядка.
Такой ФНЧ решает проблему в точке старта (Зона A), но накладывает ограничения на максимальную скорость и максимальное ускорение в зависимости от точки траектории.
С другой стороны, максимальная скорость и максимальное ускорение двигателя ограничены конструктивными особенностями. Чтобы быть уверенными, что требуемые параметры не превышают физических возможностей двигателя, мы применили ограничитель ускорения и скорости. Этот ограничитель должен быть встроен в ФНЧ второго порядка, при этом уровни ограничения должны быть симметричными.
ФНЧ второго порядка легко реализуется двухступенчатым применением ФНЧ первого порядка, который, в свою очередь может быть представлен при помощи простой математической формулы вида:
Для повышения скорости вычисления удобно преобразовать её следующим образом:
Таким образом, требуется только две операции сдвига и два вычитания, что позволяет экономить вычислительные ресурсы микроконтроллера.
Эта операция должна повторяться через заданные промежутки времени. Разница между текущим положением в данный момент и предыдущим положением в предшествующий момент времени представляет собой скорость. Таким образом, мгновенная скорость в конкретный момент времени вычисляется простым вычитанием.
Если значение скорости сохраняется в ячейке памяти, мы можем вычесть текущее значение скорости из предыдущего значения. Результатом данной операции будет ускорение.
Физически это выглядит следующим образом:
Алгоритмически можно записать:
Для ограничения мгновенных значений скорости и ускорения мы должны убедиться, что они достигли предельных значений:
В данном примере мы сравниваем значения скорости и ускорения с предустановленными константами и если эти величины превышают пределы, они заменяются на значения из следующей формулы:
Используя вычисление по данной формуле несколько сот раз в секунду (время повторения несколько мс) мы получим полноценное движение стрелки в нашем примере. На практике значение демпфирующего коэффициента n выбирают из диапазона 3-6, основываясь на характеристиках ФНЧ второго порядка.
В данном примере мы использовали табличный метод для управления выходами ШД контроллера.
Ниже приведен пример выходной функции для модуля контроллера ШД, использующий 128 микрошагов на квадрант для каждой из таблиц синуса и косинуса, т.е. предустановленное значение для данной функции ограничено 256-ю микрошагами на квадрант. При этом мы можем легко изменять разрешение в пределах 0…7 бит на квадрант, используя только операции сдвига для приведения к требуемой разрядности и выборки из таблицы синусов/косинусов.
2 Контроллер шагового двигателя
В этом разделе описаны особенности контроллера ШД
2.1 Микроконтроллеры с встроенным контроллером ШД
Fujitsu Microelectronics предлагает ряд микроконтроллеров с встроенным контроллером ШД:
|
Модель |
Тип |
Число каналов КШД |
|
Серия МК 16LX |
||
|
MB90F394 |
16-битный |
6 каналов |
|
MB90F427 |
16-битный |
4 канала |
|
MB90F428 |
16-битный |
4 канала |
|
MB90F591 |
16-битный |
4 канала |
|
MB90F594 |
16-битный |
4 канала |
|
MB90F598 |
16-битный |
4 канала |
|
Серия МК 8L |
||
|
MB89943 |
8-битный |
1 канал |
|
MB89945 |
8-битный |
1 канал |
|
Серия МК FR |
||
|
MB91F362 |
32-битный |
4 канала |
|
MB91F365 |
32-битный |
4 канала |
|
MB91F366 |
32-битный |
4 канала |
|
MB91F368 |
32-битный |
4 канала |
|
MB91F376 |
32-битный |
4 канала |
2.2 Блок контроллера шагового двигателя
Вышеупомянутые серии МК будут использованы в качестве примера для объяснения работы встроенного контроллера ШД. Данный контроллер состоит из 4 драйверов, связанной с ними переключающей логики и двух ШИМ-генераторов. Драйвера двигателя имеют повышенный до 30мА ток нагрузки и могут быть подключены непосредственно к четырём выводам обмоток двигателя. Таким образом, маломощные ШД могут управляться напрямую, для более мощных моторов схема легко модернизируется подключением внешнего мостового драйвера.
Комбинация из ШИМ-генераторов и переключающей логики разработана для контроля вращения двигателя. Блок контроллера ШД разделён на 2 канала и имеет возможность подключения четырёх выводов от двух обмоток мотора, как изображено на рисунке:
2.3 Регистры управления контроллером ШД
"n"-ый контроллер ШД имеет следующие 5 типов регистров:
-
Регистр «Управление ШИМ-n» (PWMCn)
-
Регистр «Сравнение ШИМ1-n» (PWC1n)
-
Регистр «Сравнение ШИМ2-n» (PWC2n)
-
Регистр «Выбор ШИМ1-n» (PWS1n)
-
Регистр «Выбор ШИМ2-n» (PWS2n)
2.3.1 Регистр управления ШИМ
Регистр управления ШИМ служит для запуска и остановки контроллера ШД, управления прерываниями и управления выходными выводами. Эти функции одинаковы для всех одноименных модулей контроллера ШД.
|
Название бита |
Назначение |
||||||||||||||||
|
Бит 7 |
OE2 Выбор функции выхода 2 |
Когда установлен в «1» соответствующие выводы являются выходами ШИМ PWM2Pn и PWM2Mn. При установке в «0» выводы являются портами ввода-вывода общего назначения |
|||||||||||||||
|
Бит 6 |
OE1 Выбор функции выхода 2 |
Когда установлен в «1» соответствующие выводы являются выходами ШИМ PWM1Pn и PWM1Mn. При установке в «0» выводы являются портами ввода-вывода общего назначения |
|||||||||||||||
|
Биты 5,4 |
P1,0 Биты выбора тактовой частоты ШИМ |
Данные биты определяют источник тактирования для генератора ШИМ следующим образом:
|
|||||||||||||||
|
Бит 3 |
CE Бит разрешения счёта |
Этот бит разрешает работу ШИМ-генератора. Установка в «1» разрешает счёт. Следует обратить внимание, что ШИМ-генератор PWM2 начинает работу одним машинным циклом позже, чем PWM1. Это сделано с целью уменьшения коммутационных помех с выхода драйверов. |
|||||||||||||||
|
Биты 2,1 |
Не используются |
|
|||||||||||||||
|
Бит 0 |
Резерв |
Этот бит зарезервирован. В него всегда следует записывать «0» |
|||||||||||||||
Рис. 9 Назначение битов регистра управления ШИМ
2.3.2 Регистр сравнения ШИМ
Регистры сравнения ШИМ1 и ШИМ2 (PWC1n + PWC2n) определяют скважность импульсов ШИМ. Значение "00h" соответствует нулевой длительности импульса ,"FFh" соответствует коэффициенту заполнения 99.6%. Два 8-битных регистра сравнения доступны для чтения и записи в любое время, но изменённое значение вступит в силу только после завершения текущего такта ШИМ, после того, как бит BS регистра выбора PWM2 будет установлен в "1".
2.3.3 Регистр выбора ШИМ
Регистры выбора ШИМ1 и ШИМ2 (PWS1n + PWS2n) могут устанавливать выход контроллера ШД в состояние логического нуля, логической единицы, выхода импульсов ШИМ либо в высокоимпедансное состояние.
|
Название бита |
Назначение |
|||||||||||||||||||||
|
Бит 7,6 |
Не используются |
|||||||||||||||||||||
|
Биты 5..3 |
P2..P0 Биты режима выхода P |
Состояние выходов PWM1Pn определяется в соответствии с таблицей:
|
||||||||||||||||||||
|
Биты 2..0 |
M2..M0 Биты режима выхода M |
Состояние выходов PWM1Mn определяется в соответствии с таблицей:
|
||||||||||||||||||||