MB89 (Скамко)
Описание файла
Файл "MB89" внутри архива находится в следующих папках: Скамко, inform. Документ из архива "Скамко", который расположен в категории "". Всё это находится в предмете "микропроцессорные устройства" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "микропроцессорные устройства управления" в общих файлах.
Онлайн просмотр документа "MB89"
Текст из документа "MB89"
Применение микроконтроллеров серии 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 | Когда установлен в «1» соответствующие выводы являются выходами ШИМ PWM2Pn и PWM2Mn. При установке в «0» выводы являются портами ввода-вывода общего назначения | |||||||||||||||
Бит 6 | OE1 | Когда установлен в «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 Регистр выбора ШИМ