Современные решения для систем управления электроприводом
Алексей Архипов (Freescale Semiconductor)Использование современных систем управления со сложными алгоритмами позволяет во много раз снизить энергопотребление силовых установок электропривода и, соответственно, стоимость системы в целом. Усложнение алгоритмов управления предъявляет повышенные требования к вычислительным мощностям центрального процессора. О последних тенденциях компании Freescale Semiconductor в области управления электроприводом пойдет речь в данной статье.
Портфель специализированных микроконтроллеров и цифровых сигнальных процессоров (DSC) компании Freescale достаточно объемен. Существует множество решений на базе 8/16/32-битных процессоров с универсальными модулями ШИМ для управления различными типами электродвигателей: синхронными и асинхронными, коллекторными двигателями постоянного тока и бесколлекторными, шаговыми и вентильно-индукторными машинами. В данной статье речь пойдет о двух наиболее интересных аппаратных продуктах, а также о специализированных программных библиотеках для разработки системы.
Первой микросхемой, о которой хотелось бы упомянуть, является микроконтроллер MC3PHAC, имеющий внутреннее законченное программное обеспечение, оптимизированное для систем управления асинхронным частотно-регулируемым электроприводом. Его установленная мощность не превышает 1 кВт. Адаптация алгоритма управления к конкретному типу электропривода осуществляется изменением числовых констант. Задание констант возможно двумя способами: потенциометрами на плате контроллера или от ПК верхнего уровня, связанного с MC3PHAC посредством последовательного интерфейса (рис. 1).

Рис. 1. Система управления асинхронным электродвигателем на базе MC3PHAC
Алгоритм управления, реализованный в MC3PHAC, выполняет следующие задачи:
- Формирует шесть PWM-сигналов управления драйверами силовых ключей трехфазного инвертора напряжения. Форма выходного напряжения синусоидальная, частота коммутации 5,291...21,164 кГц. В алгоритме управления ключами предусмотрена возможность регулировки мертвого времени в пределах 0,5...32 мкс. Имеется вход аппаратной защиты силовых ключей.
- Автоматически восстанавливает сигналы управления ключами инвертора после снятия сигнала защиты.
- Реализует закон управления U/F=const с программируемой пользователем вольтдобавкой при нулевой частоте. Предельное значение частоты F состовляет 50 или 60 Гц. Скорость разгона или торможения можно задавать в пределах 0,5...128 Гц/с. Соответствующий вход может быть использован для организации системы управления, замкнутой по скорости или по иному технологическому параметру. С целью подавления шумов аналоговый сигнал на входе текущего задания по скорости обрабатывается с использованием алгоритма цифровой фильтрации, реализованной на основе 24-разрядного представления данных.
- Осуществляет управление режимами работы электропривода по логическим сигналам «пуск/останов» и «направление вращения».
Помимо специализированного контроллера MC3PHAC с «заводским» программным обеспечением компания Freescale предлагает достаточно широкую линейку высокопроизводительных 16-разрядных DSC-контроллеров семейства 56F8xxx (см. рис. 2), позволяющих пользователю реализовывать свои собственные алгоритмы управления электроприводом.

Рис. 2. DSC-контроллеры семейства 56F8xxx
Ядро данного семейства принято называть гибридным, поскольку оно совмещает в себе функции сигнального процессора и высокопроизводительного микроконтроллера.
Данное семейство обладает следующими отличительными особенностями:
- Команды процессора оптимизированны для цифровой обработки сигнала, управления периферией, матричных операций;
- Компактный ассемблерный и Си-код;
- Простота программирования;
- Высокая производительность и расширенное адресное пространство.
Как видно из рис. 2, семейство цифровых сигнальных контроллеров 56F8xxx состоит из трех семейств: 56F80xx, 56F81xx, 56F83xx, построенных на базе ядра 56800E и различающихся по производительности, объему памяти и набору перефирийных устройств (таблица 1).
Таблица 1. DSC семейства 56F8xxx56F80xx | 56F81xx | 56F83xx | |
---|---|---|---|
Производительность, MIPS | 32 | 40 | 60 |
Объем Flash-памяти, кБ | 12...64 | 32...512 | 32...512 |
Объем RAM-памяти, кБ | до 8 | до 16 | до 32 |
Каналов 12-битн. АЦП | до 16 | до 16 | до 16 |
Выходов ШИМ | до 6 | до 6 | до 12 |
Последовательные интерфейсы | до 2 SCI, до 2 SPI, I2C, CAN | SCI, SPI | до 2 SCI, до 2 SPI, до 2 CAN |
GPIO | до 53 | до 76 | до 76 |
Число выводов | 32...64 | 48...160 | 48...160 |
Краткое описание ядра 56800Е
16-битное ядро (рис. 3) цифровых сигнальных контроллеров построено на основе Гарвардской архитектуры.

Рис. 3. Ядро 56800Е цифровых сигнальных контроллеров 56F8xxx
Содержит умножитель, осуществляющий 16x16-битную операцию умножения с накоплением за один цикл, четыре 36-битных аккумулятора, 32-битное арифметическое и логическое мультибитное сдвигающее устройство, три внутренних адресных шины, четыре внутренних шины данных. Организация работы шин данных сделана таким образом, чтобы выполнять математическую операцию и две пересылки данных из одной области в другую одновременно. Система команд поддерживает как команды цифровой обработки сигнала, так и команды управления. Типы операндов: байты (8 бит), 16-битные слова (целые и дробные), 32-битные слова (дробные). Аккумулятор представляет собой 36-битный регистр. Вектора прерываний могут располагаться в любом месте памяти. Поддерживается четыре уровня приоритетов вложенных прерываний. Программные системные прерывания на каждом уровне приоритета. Поддерживаются быстрые прерывания, позволяющие ускорить обработку события в два-три раза.
Периферийные устройства семейства
Самый богатый набор периферийных устройств содержит серия 56F83xx (см. рис. 4).

Рис. 4. Ядро и периферийные устройства серии 56F83xx
Наличие двух ШИМ, двух АЦП и двух квадратурных модулей позволяет создавать высокоэффективные системы с двумя инверторами напряжения. Особенно следует отметить PWM-модуль, способный выполнять следующие функции:
- Генерирование шести независимых или трех комплементарных пар PWM-сигналов. Допускается произвольное сочетание комплементарного и независимого режимов работы; например, два выхода формируют комплементарные сигналы управления, остальные четыре выхода работают в независимом режиме;
- Реализация двух способов формирования PWM-сигналов: одностороннюю «фронтовую» или двухстороннюю «центрированную» PWM-модуляцию;
- Независимый выбор полярности сигналов PWM для верхней и нижней группы ключей;
- Вставка программируемого «мертвого» времени в комплементарном режиме работы;
- Автоматическая коррекция ширины импульса управления верхним и нижним ключами одной фазы для компенсации влияния «мертвого» времени;
- Организация режима ограничения тока в обмотке двигателя с помощью четырех аппаратных входов защиты с программируемым отключением выходов управления ключами.
Серия 56F81хx отличается следующим набором периферийных устройств:
- Подстраиваемый внутренний релаксационный и кварцевый генератор;
- Программируемая ФАПЧ;
- До 6 выходов ШИМ с 4 прерываниями по ошибке;
- До 8 каналов 12-битного АЦП;
- Внутреннее или внешнее опорное напряжение Vref;
- Синхронизация между ШИМ и АЦП;
- Четыре 16-битных таймера общего назначения;
- SCI (совместим с LIN), SPI, I2C;
- До 26 GPIO.
Семейство 56F80xx имеет самый простой набор периферийных устройств и позиционируется как простое и дешевое решение для недорогих систем управления электроприводом и систем электропитания. Отличительные особенности:
- До 6 выходов ШИМ;
- До 16 каналов 12-битного АЦП;
- Рабочая частота периферийных таймеров и PWM модуля до 96 МГц;
- До 2 12-битных ЦАП;
- До 2 аналоговых компараторов;
- До 8 16-битных таймера общего назначения;
- До 53 GPIO;
- SCI, SPI, I2C, CAN.
Наличие внутреннего ЦАП и аналогового компаратора позволяет организовать, в зависимости от режима работы электропривода, полностью аппаратную защиту от перегрузок по току с плавающей уставкой без использования внешних компонентов (см. рис. 5).

Рис. 5. Схема подключения ЦАП и аналогового компаратора в системе защиты по току
В качестве отладочного средства для серии 56F83xx компания Freescale предлагает отладочную плату MC56F8300DSK. На плате установлен DSC-контроллер 56F8323 и датчик электрического поля MC33794 для бесконтактного обнаружения объекта, а также организации бесконтактных сенсорных клавиатур. На плате реализован JTAG-to-LPT-конвертер, упрощающий отладку программ пользователя. Отладочный комплект включает в себя все необходимые составляющие для быстрого старта: CD с пакетом программного обеспечения «CodeWarrior Development Studio» с бесплатной лицензией для программ, объем которых не превышает 16 кбайт, блок питания и необходимые кабели.
Для семейства 56F80xx предлагается демонстрационная плата DEMO56F8013. С ней можно достаточно быстро провести разработку приложения, благодаря установленному на плате переходному разъему, позволяющему подключать ее непосредственно на макетную плату системы. Помимо переходного разъема на плате присутствуют разъем интерфейса RS-232, светодиоды и кнопки. В комплект входит непосредственно плата DEMO56F8013, руководство по установке, «CodeWarrior Development studio» на компакт-диске, блок питания, JTAG-LPT-адаптер с кабелем, исходные тексты демонстрационных программ на компакт-диске.
Помимо электронных компонентов для построения систем управления электроприводом компания Freescale Semiconductor предлагает разработчикам специализированную библиотеку - Motor Control Library for 56800E, которая свободно скачивается с сайта производителя. Библиотека представляет собой набор из 32 функций, часто используемых при построении систем управления электроприводом, написанных на ассемблере и скомпилированных в среде CodeWarrior для DSC-контроллеров. С библиотеками поставляется подробная документация с описанием всей внутренней математики реализованных функций. На рисунке 5 представлен состав библиотеки.
- Базовые функции. Содержит набор тригонометрических и математических функций. Некоторые функции написаны с применением различного математического аппарата. Например, функция синуса может использовать алгоритм кусочно-гладкой аппроксимации или табличный метод вычисления;
- Преобразования. Содержит различные алгоритмы перехода из трехкоординатной системы в двукоординатную и обратно (см. рис. 6);

Рис. 6. Состав библиотеки Motor Control Library for 56F800E
- Контроллеры - это набор математических цепей обратной связи или регуляторов. В состав данной библиотеки входит пропорционально-интегральный регулятор, написанный в двух вариантах, различающихся типом входных/выходных данных;
- Технологии модуляции. Содержит в себе набор функций, решающих роль модуляции входного сигнала. Пример работы обычной векторной модуляции данной библиотеки приведен на рис. 7;

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

Рис. 8. Пример работы функции обычной векторной модуляции
Литература
1. Ремизевич Т., Архипов А., Микроконтроллеры компании Freescale/Motorola для систем управления электроприводом. «Электронные Компоненты» ?7, 2007;
2. Пантелейчук А., Цифровые сигнальные контроллеры Freescale для управления приводами, Новости Электроники ?4, 2007;
3. MP3PHAC-MP3PHAC / D;
4. MC56F8300 Peripheral User Manual. MC56F8300UM.
Ваш комментарий к статье | ||||