РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ СНК SMARTFUSION2 С ИСПОЛЬЗОВАНИЕМ LIBERO SOC И SOFTCONSOLE
В статье анализируются преимущества использования ПЛИС при построении систем управления вентильными двигателями, дается краткое описание IP-ядер Microsemi Motor Control Solutions, и описывается разработка проекта СнК SmartFusion2 по управлению шаговым двигателем.
В России промышленные предприятия потребляют почти половину произведенной электроэнергии. Самыми распространенными потребителями энергии в промышленности (около 60%) являются электродвигатели.
Федеральным законом № 261 ФЗ РФ от 03.11.2009 г. «Об энергосбережении и о повышении энергетической эффективности и о внесении изменений в отдельные законодательные акты Российской Федерации» рациональное использование энергетических ресурсов отнесено к проблемам государственной важности. В странах Европейского союза существенно изменились требования к электрическим приводам после запрета на применение электродвигателей стандартной энергоэффективности, введенного в 2011 г. Таким образом, освоение энергоэффективных электродвигателей становится ведущей мировой тенденцией.
Результатом реализации указанного тренда оказывается все большее использование в промышленности и транспорте бесколлекторных двигателей постоянного тока на основе перманентных магнитов neFeB типа BLDc и PMSM. В сравнении с популярным в промышленности асинхронным двигателем, у двигателей BLDc и PMSM – более высокий КПД (см. рис. 1), предпочтительные массогабаритные характеристики, высокая максимальная скорость вращения ротора, низкий ток холостого хода, малая шумность, эффективный теплоотвод, близкий к единице коэффициент мощности и, соответственно, низкие потери в электросетях.
Кроме того, благодаря высокой скорости вращения ротора двигатели BLDc/PMSM вне конкуренции при создании прецизионных станков с ЧПУ для обработки металлов. В сфере транспорта появилась целая ниша устройств на электрической тяге с использованием синхронных бесколлекторных двигателей. Таким образом, отличные электрические и эксплуатационные характеристики делают бесколлекторные двигатели на постоянных магнитах основным типом двигателей в промышленности и транспорте на ближайшие десятилетия.
Долгое время использование BLDc и PMSM сдерживалось отсутствием дешевых и надежных контроллеров управления. Однако успехи в микро и силовой электронике последнего десятилетия выводят использование вентильных двигателей на новый уровень. Производители предлагают целый ряд технических решений, в которых в качестве звена, реализующего управление двигателем, обычно выступает один из четырех типов элементов:
- микроконтроллер; - микропроцессор общего назначения; - цифровой сигнальный процессор; - ПЛИС и СнК.
Сравним между собой предлагаемые варианты по стабильности управления, быстродействию, способности одновременно работать с двигателями разных типов, многозадачности и надежности.
Рисунок 1
Сравнение эффективности двигателей разных типов
Имеющиеся микроконтроллеры и микропроцессоры имеют аппаратные и программные прерывания, а также схемы, структуры и приоритеты для этих прерываний. Существует механизм маскирования прерываний, однако у него имеются ограничения. Некоторые из немаскированных прерываний считаются критическими, обладают более высоким приоритетом выполнения. Наличие таких прерываний у микроконтроллеров и процессоров, используемых для управления двигателем, приводит к фактическому прерыванию алгоритма управления двигателем до завершения процедуры обслуживания прерывания (iSR). Продолжительность выполнения iSR варьируются в широких пределах , что приводит к недетерминированности времени выполнения цикла управления двигателем. Поскольку производительность микроконтроллеров и без того оставляет желать лучшего, оба этих фактора (низкая производительность и отсутствие детерминизма времени отработки следящей системы) не позволяют строить на основе микроконтроллеров системы управления несколькими двигателями, особенно использующими разные принципы управления (например, сочетание шагового двигателя и BLDc).
Микропроцессоры, процессоры цифровой обработки сигналов (ЦОС, или DSP) имеют более высокое быстродействие в сравнении с микроконтроллерами, но по указанным выше причинам и они не позволяют организовать на практике одновременное управление более чем двумя – тремя двигателями, тем более двигателями разных типов.
В противоположность микроконтроллерам и процессорам, длительность времени отработки кольца системы управления, выполненной на основе ПЛИС, жестко детерминирована и ограничена во времени, что позволяет проектам управления ВД, выполненным на ПЛИС, достичь более высоких частот переключения вентилей. В частности, на основе ПЛИС и предлагаемых Microsemi iP-ядер имеется возможность построить систему управления электродвигателем с постоянной времени отработки контура управления до 1 мкс, т. е. реализовать контроллер для управления BLDc со скоростью вращения ротора 100 000 RPM и выше.
Время отработки контроллером цикла управления двигателем имеет решающее значение для высокоскоростных приводов, которые требуют высокой частоты переключения порядка сотен кГц. Для эффективной работы двигателя обязательно выполнять алгоритм управления с частотой переключения. Несмотря на то, что двигателем можно управлять, обновляя выход контроллера один раз за несколько периодов ШИМ, к чему часто прибегают при разработке систем на основе микроконтроллеров, такой способ может привести к появлению пульсаций крутящего момента и возникновению механических гармоник. Подобные явления ведут к повышенному износу элементов привода и нагрузки, появлению шума, а также снижению жесткости следящей системы и дополнительным погрешностям при обработке деталей.
Следующий недостаток решений на микроконтроллерах и процессорах при работе с двигателями различной природы – сложность алгоритма при управлении несколькими двигателями. Если в системе используется более одного типа двигателя, алгоритмы управления, реализованные на микроконтроллерах и процессорах, решения получаются столь громоздкими, что их трудно полностью проверить и сертифицировать для ответственных применений.
Параллельные вычислительные возможности ПЛИС позволяют работать с несколькими двигателями на высокой частоте без ущерба для производительности и эффективности (см. рис. 2). На диаграмме ПЛИС циклы управления отдельными двигателями разнесены во времени намеренно для снижения частоты одновременного срабатывания ключей и бросков тока при одновременном переключении. Циклы управления можно полностью синхронизировать.
Ключевым свойством системы, от которой зависят жизнь и здоровье людей, является надежность. Применительно к электрическим приводам выделяют несколько аспектов надежности. Один из них связан со способностью работы контроллера при экстремальных температурах, в т. ч. за пределами «промышленного» диапазона температур (–40…85°c) при условии колебаний питающего напряжения.
Другой аспект связан с эксплуатацией в условиях воздействия радиации (медицинские сканеры, ядерные установки, системы наведения на атомных подводных лодках или ракетах, управление солнечными батареями на космических аппаратах и т.д.).
Третьим аспектом надежности является долговечность. В результате неэффективного управления двигателем из-за пульсаций крутящего момента и появления механических гармоник на валу происходит повышенный износ двигателей и механических элементов полезной нагрузки привода.
Четвертый аспект относится к фактическому энергопотреблению, а для компактных двигателей или систем – к контролю тепловыделения. ПЛИС Microsemi iGLoo2 имеют наименьшую в отрасли статическую динамическую потребляемую мощность. Низкое потребление ПЛИС igloo2 и, как следствие, низкое тепловыделение, устраняет необходимость тратить силы и ресурсы на решение проблем теплоотвода.
Диапазон рабочей температуры всех ПЛИС Microsemi iGLoo2, SmartFusion2 в исполнении Automotive grade 2  составляет –55…125°c, а iGLoo2 выпускаются также в варианте Automotive grade 1 с максимальной температурой перехода 135°c. Микроконтроллеры, MPU и DSP уязвимы к мгновенным эффектам воздействия радиации типа «одиночный сбой» (SEU). Конфигурация Microsemi FPGA на основе флэш-памяти отличается тем, что не подвержена влиянию одиночных сбоев. Заявленные производителем характеристики свидетельствуют о том, что даже микросхемы коммерческих семейств SmartFusion2, iGLoo2 могут работать 20 лет без сбоев конфигурации на высотах от уровня земли до низких орбит космических аппаратов.
Рисунок 2
Рисунок 3
Реализация параллелизма на ПЛИС и микроконтроллере при управлении несколькими электродвигателями
ПЛИС IGLOO2 и СнК SmartFusion2
Рисунок 4
Рисунок 5
RTG4 и LX7720
Каталог IP-ядер Solutions-MotorControl
Таким образом, можно заключить, что если вы хотите сделать контроллер для вентилятора на рабочем столе и жужжание электромотора вас не раздражает, а внезапный выход из строя не сильно огорчит, то лучше взять в интернете готовое решение на основе дешевого микроконтроллера. Если же необходимо сделать многоосевой привод промышленного манипулятора, к которому предъявляются высокие требования по надежности, точности обработки поверхности и шумности, то к выбору комплектующих придется подойти более ответственно. Очень тщательно требуется выбирать компоненты для устройств, от которых зависят жизнь и здоровье людей. К этим устройствам относятся, например, привод топливного насоса авиационного двигателя, который должен надежно работать в широком температурном диапазоне и быть устойчивым к воздействию космических излучений во время полета на большой высоте.
Microsemi предлагает экосистему на основе ПЛИС для разработчиков систем управления BLDc/PMSM, шаговыми и асинхронными двигателями для ответственных применений. В эту экосистему входят:
1) ПЛИС iGLoo2, RTG4 и СнК SmartFusion2; 2) набор iP-ядер для реализации в микросхемах упомянутых семейств; 3) отладочный набор Microsemi Dual-Axis Motor control Kit; 4) программное обеспечение для взаимодействия с СнК отладочного набора и управления двигателями, подключенными к набору; 5) радиационностойкий контроллер вентильного двигателя Lx7720 с интерфейсом для подключения индуктивного датчика углового положения.
Первый компонент экосистемы – собственно микросхемы. Для разработки контроллеров двигателей для применения в промышленности и авиации Microsemi рекомендует ПЛИС iGLoo2 и СнК SmartFusion2 (см. рис. 3). Для реализации приводов, используемых на космическом аппарате или АЭС, подойдут радиационностойкие ПЛИС RT PolarFire, RTG4 и радиационностойкий драйвер вентильных двигателей Lx7720 (см. рис. 4) с интерфейсом для подключения датчика углового положения вала. Для разработки систем управления двигателями Microsemi предлагает целый набор iP-ядер (см. рис. 5), которые применяются с коммерческими микросхемами семейств SmartFusion2 и iGLoo2 и радиационностойкими микросхемами космического назначения RTG4.
Для лучшего понимания функционального назначения каждого из ядер рассмотрим типовую схему управления (см. рис. 6). Структурными элементами устройства являются:
- датчик тока или датчик углового положения вала двигателя;
- пропорционально интегральный регулятор;
- контроллер векторного управления;
- векторный широтно-импульсный модулятор;
- трехфазный широтно-импульсный модулятор.
Корпорация Microsemi предлагает реализацию всех указанных блоков в виде iP-ядер, которые имеются в каталоге среды разработки (см. рис. 5), в т. ч. с бесплатной лицензией Silver на среду разработки.
Опишем кратко функциональное назначение iP-ядер, представленных в каталоге. Начнем с iP-ядра Foc Transforms. Это iP-ядро выполняет следующие самые важные действия при векторном управлении электро- двигателем.
1. Прямое и обратное преобразование Кларка – преобразование координат из неподвижной трехфазной системы координат в неподвижную декартову (прямое) и обратно (обратное). 2. Прямое и обратное преобразование Парка – преобразование из неподвижной декартовой системы координат (ДСК), связанной со статором, в подвижную ДСК, связанную с ротором.
Подробно о векторном регулировании и об используемых для этого математических преобразованиях.
Рисунок 6
Типовая схема управления вентильным двигателем
Рисунок 7
Рисунок 8
IP-ядро трехфазного ШИМ-модулятора
IP-ядро генератора углового положения шагового двигателя
Рисунок 9
Рисунок 10
Полношаговый режим
Полушаговый режим
Рисунок 11
Рисунок 12
Четвертьшаговый режим
Микрошаговый режим. Размер микрошага равен 1/1024 от полного шага
Следующий элемент, без которого не обойдется система управления BLDc, PMSM или асинхронным двигателем, – трехфазный широтно-импульсный модулятор Three Phase PWM (см. рис. 7). На вход данного iP-ядра подаются 18-разрядные значения глубины заполнения ШИМ по каждой из трех фаз. Каждому входному сигналу iP-ядра сопоставлена пара выходных сигналов PWM_xH и PWM_xL для управления верхним и нижним ключами, коммутирующими токи на обмотки электродвигателя. Эти сигналы промодулированы широтно-импульсной модуляцией в соответствии с входными значениями на управляющих входах vx_i [17:0] и обычно подают- ся на драйверы силовых транзисторов или тиристоров. Для установки периода ШИМ iP-ядро имеет вход pwm_period. Значение периода ШИМ на этом входе устанавливается в цифровом виде и измеряется в числе периодов тактирующего сигнала sys_clk_i. Кроме того, имеется вход для установки «мертвого» времени, т. е. запрещенного интервала между выключением верхнего ключа и включением нижнего для предотвращения короткого замыкания вследствие переходных процессов на ключах. Значение «мертвого» времени задается также в количестве периодов тактирующего сигнала. Кроме того, предусмотрен вход для установки величины задержки, используемой для уменьшения бросков тока вследствие одновременного срабатывания нескольких ключей при наличии в системе более одного двигателя. Кроме описанных выше, в каталоге SolutionMotorcontrol имеются iP-ядра пропорционально интегрального (ПИ) регулятора, интерфейса энкодера для измерения углового положения вала с выдачей результата в цифровой форме, контроллера для работы с датчиком Холла, ядра для нормализации амплитуд значений токов и напряже- ний в обмотках двигателя при работе по обратной связи по ЭДС двигателя, iP-ядро – ограничитель скорости, ядро для начального пуска электродвигателя с разрывом петли обратной связи и ряд других полезных iP-ядер. Особенности их работы мы рассмотрим в одной из следующих статей при сборке проекта управления BLDc.
Для знакомства с экосистемой разработки электроприводов Microsemi создадим первый простой проект по управлению шаговым двигателем. Пример с шаговым двигателем хорош тем, что позволяет проследить прохождение сигналов управления от генератора значений угла в цифровой форме до появления ШИМ-сигналов на контактах микросхемы. При этом проект прост для понимания, поскольку не имеет обратных связей и ПИ-регуляторов по скорости и угловому положению ротора. Более сложный вариант системы с обратными связями мы рассмотрим на примере BLDc в одной из следующих статей цикла.
Итак, для создания простейшего проекта Soc по управлению шаговым двигателем на рабочее поле редактора SmartDesign к описанным выше iP-ядрам FOC Transforms и Three Phase PWM остается добавить ядра PWMScaling для согласования амплитуд сигналов фазовых напряжений с выхода Foc Transforms на вход Three Phase PWM и iP-ядро – синтезатор значений угла в цифровой форме Stepper Angle Generation.
Обычный шаговый двигатель имеет небольшое фиксированное шагов. При выполнении ка ж дого шага возникают пульсации крутящего момента, которые приводят к потерям мощности двигателя. iP-ядро Stepper Angle Generation (см. рис. 8) позволяет работать с шаговым двигателем в т. н. микрошаговом режиме. На рисунках 9–12 показан переход от полношагового к микрошаговому режиму. Использование микрошагового режима позволяет значительно уменьшить пульсации момента, сократить потери мощности, а в сочетании с другими iP-ядрами из каталога Motor Control Solutions среды разработки Libero Soc – снизить риск пропуска шага при торможении и ускорении.
Рисунок 13
Пользовательский компонент для коммуникации с микроконтроллерной подсистемой
Рисунок 14
Рисунок 15
Отладочный набор Dual-axis Motor Control Starter Kit
Отладочный набор M2S-GammaRayKIT
Ядро Stepper Angle Generation может работать в двух режимах управления скоростью вращения ротора и угловым положением, выраженном в количестве микрошагов. Количество микрошагов устанавливается значением на входе rate_limit.
Управлять работой двигателя мы будем, записывая в регистры значения, отправляемые из приложения на ПК по UART в микроконтроллерную подсистему. Для этого нам понадобится компонент, который подключается к микроконтроллерной подсистеме SmartFusion2 по шине APB3, а выходные сигналы – к входным сигналам iP-ядер из библиотеки среды разработки. Технология разработки подобных компонентов описана в предыдущей статье цикла.
Исходный код компонента доступен в папке Source архива с проектом. Компонент имеет все необходимые сигналы для управления шаговым двигателем (см. рис. 13). Для изучения возможностей iP-ядер Microsemi по управлению электродвигателей разных типов компания предлагает воспользоваться отладочным набором SmartFusion2 Dual-axis Motor control Starter Kit (см. рис. 14). К набору прилагается комплект программного обеспечения для работы с шаговым двигателем и бесколлекторным двигателем постоянного тока. Однако ничто не мешает пойти по пути использования дешевого набора M2S-GammaRayKiT (см. рис. 15), бюджетных драйверов электродвигателей из электронных интернет-магазинов (см. рис. 16) и написать утилиту для управления мотором. Итак, собираем проект в соответствии с рекомендациями в первых статьях цикла для микросхемы и доступных в руководствах программиста (см. рис. 17). Загружаем прошивку в кристалл, инициализируем значения регистров с помощью утилиты (см. рис. 18) и наслаждаемся плавной и беззвучной работой шагового двигателя в микрошаговом режиме (см. рис. 19).
Рисунок 17
Верхний уровень проекта СнК по управлению шаговым двигателем
Рисунок 18
Реализация компонента StpCtrl на основе IP-ядер Microsemi Motor Control Solution
Рисунок 19
Приложение ПК для управления шаговым двигателем