Применение микроконтроллеров серии 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
Биты выбора тактовой частоты ШИМ

Данные биты определяют источник тактирования для генератора ШИМ следующим образом:

P0

P1

Источник тактирования

0

0

Machine clock

1

0

1/2 Machine clock

0

1

1/4 Machine clock

1

1

1/8 Machine clock


Бит 3

CE
Бит разрешения счёта

Этот бит разрешает работу ШИМ-генератора. Установка в «1» разрешает счёт. Следует обратить внимание, что ШИМ-генератор PWM2 начинает работу одним машинным циклом позже, чем PWM1. Это сделано с целью уменьшения коммутационных помех с выхода драйверов.

Биты 2,1

Не используются

 

Бит 0

Резерв

Этот бит зарезервирован. В него всегда следует записывать «0»


Случайные файлы

Файл
74487-1.rtf
56802.rtf
10905-1.rtf
407.doc
82826.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.