Назад в библиотеку

Методика модельно-ориентированного программирования при разработке системы управления электроприводом.

Автор: Полющенков И.С.

Автор перевода: Петренко Д.О.

Источник: Филиал Национального исследовательского университета МЭИ в г. Смоленске

Аннотация

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

ВВЕДЕНИЕ

Современный электропривод имеет в своем составе электродвигатель, преобразователь мощности, электронную часть управления, различные передаточные механизмы и интерфейсы для связи с внешними устройствами. Функции управления движением отличаются точностью и быстродействием. Эти параметры включают точность управления координатами (положение, скорость, ток), такие как коэффициент качества, коэффициент ускорения, диапазон управления координатами, полоса пропускания и другие. Электроприводы, помимо функций управления движением, выполняют различные вспомогательные функции, обеспечивающие их работу в сложных электромеханических системах. Такие функции могут включать, например, взаимодействие с различными периферийными устройствами, настройку и интерактивное управление через промышленное сетевое оборудование. Статья посвящена разработке системы управления электроприводом для использования в различных электромеханических системах управления движением, например, системах стабилизации и наведения, роботах, манипуляторах, станочном оборудовании, сервосистемах и др. В основе таких электроприводов лежат электродвигатели различных типов. Среди них электродвигатель постоянного тока с независимым возбуждением, бесщеточный электродвигатель постоянного тока и синхронный электродвигатель с постоянными магнитами. Несмотря на спрос, сервоприводы малой и средней мощности в России выпускаются мелкими сериями в ограниченном ассортименте. Поэтому в отечественных разработках зарубежные электрические

Широко используются приводы – либо достаточно дорогие хорошего качества, либо дешевые сомнительного качества. Предлагаемый электропривод имеет характеристики, сопоставимые с аналогами. Поэтому может служить им достойной заменой.

В системах управления современными электроприводами широко используется микропроцессорная техника. Для разработки программного обеспечения микропроцессорных систем управления используются различные методики разработки. Среди методов проектирования программного обеспечения можно выделить метод модельно-ориентированного программирования или модельно-ориентированного проектирования, который основан на средствах компьютерного моделирования [1] и [2] и используется для автоматической генерации программного кода из разработанных математических моделей. в системе компьютерной математики Matlab. Такой подход к проектированию позволяет упростить и ускорить процесс разработки и отладки программного обеспечения по сравнению с традиционными методами программирования, основанными на структурированном тексте, такими как IAR, Keil и Code Composer Studio. Традиционные средства разработки не всегда позволяют представить программное обеспечение в удобном для восприятия виде и раскрыть связи между программными модулями, а также условия и порядок их взаимодействия. Кроме того, при использовании обычных средств разработки для разработки прикладного программного обеспечения микропроцессора фактически требуется повторно включить и повторно использовать алгоритмы управления, которые были разработаны и отлажены на этапе моделирования. Это неудобно и требует дополнительной работы. В то же время автоматическая генерация кода из математических моделей делает процесс программирования более наглядным, удобным и эффективным, особенно для разработчиков со специальной квалификацией по тематике проекта, но без профессиональной квалификации или опыта программиста. Это очень важно, так как разработка системы управления электроприводом связана с объемом знаний во многих областях техники – электромеханике, электротехнике, электронике, теории автоматического управления, микропроцессорной технике. Технику модельно-ориентированного программирования можно рассматривать как удобный и эффективный инструмент для практической реализации этих знаний.

Первой целью проекта, описанного в данной статье, является разработка системы управления электроприводом, не уступающей по характеристикам и функциям управления аналогам. Еще одна цель статьи – показать, что метод программирования, ориентированного на модели, подходит не только для быстрого создания прототипов систем управления на основе микропроцессоров, но и позволяет разрабатывать их на профессиональном уровне.

Техника модельно-ориентированного программирования относительно нова, и практика ее использования вызывает большой интерес у разработчиков. Но доступная информация о практических результатах его применения ограничена. В этой теме, например, [1] и [2] возможности и преимущества данной техники программирования декларируются на простейших примерах без упоминания о практических приложениях. Другие примеры использования техники модельно-ориентированного программирования [3] относятся к решению конкретных задач, но эти решения не всегда оптимальны. Есть примеры более значительных разработок, которые ограничиваются этапом быстрого прототипирования. Таким образом, использование методов модельно-ориентированного программирования при разработке сложных технических систем не является распространенным явлением. Таким образом, новизна и значимость описанного в статье проекта заключаются в расширении практики модельно-ориентированного программирования для профессионального решения задач, связанных с разработкой электропривода.

МЕТОДОЛОГИЯ

Техника компьютерного моделирования и ее инструменты давно используются при разработке различных технических систем, в том числе систем управления электроприводом. В первую очередь это относится к компьютерной математической системе Matlab и ее библиотеке Simulink. Он предназначен для моделирования математических моделей, эквивалентных структурным схемам технических систем на основе систем дифференциальных уравнений. Для разработки более детальных имитационных моделей в Matlab есть библиотеки с виртуальными элементами – моделями различных технических устройств. Одной из таких библиотек, используемых при моделировании электроприводов, является библиотека виртуальных электронных, электрических и электромеханических элементов – SimPowerSystems. Для моделирования систем логического и ситуационного управления в Matlab есть библиотека State Flow. В последнее время появилась возможность автоматически генерировать программный код с помощью Matlab. Последовательность развития системы управления электроприводом с использованием методики модельно-ориентированного программирования иллюстрируется блок-схемой, представленной на рис.1.

Блок-схема модельно-ориентированной методики разработки

Рисунок 1 – Блок-схема модельно-ориентированной методики разработки

На основе технического задания, анализа технических задач, предмета и задач проекта разработана математическая модель системы управления электроприводом в виде дифференциальных уравнений и логических функций. Далее на основе математического описания системы управления с использованием компонентов Matlab разрабатывается и отлаживается компьютерная модель. После этого в компьютерную модель добавляются модельно-ориентированные элементы, чтобы получить исполняемую модель, учитывающую микропроцессорную реализацию системы управления. Для этого можно использовать различные инструменты. Среди них можно упомянуть библиотеки Embedded Coder [1] и Waijung Blockset [2]. На этом этапе компоненты моделирования SimPowerSystems и компоненты Simulink для визуализации результатов моделирования удаляются из исполняемой модели. На этом же этапе необходимо решить ряд задач микропроцессорного управления и разработать архитектуру программного обеспечения, а именно: Деталь исполняемой модели должна совпадать с требуемой деталью программного обеспечения, чтобы учесть все необходимые процессы и реализовать различные математические алгоритмы в системе управления. При генерации кода исполняемая модель автоматически преобразуется в C-код. Если разработка модели ведется правильно с необходимым уровнем детализации, это программное обеспечение не уступает по качеству программному обеспечению, разработанному с использованием традиционных инструментов. Графическая форма программного обеспечения наглядно отображает действие алгоритмов, и необходимость ручного кодирования снижается.

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

Комплексное и обоснованное использование перечисленных решений отличает профессиональную разработку от быстрого прототипирования, заключающегося в простом переносе модели Matlab в микропроцессорную систему управления, как в [5]. Исполняемая модель системы управления электроприводом очень большая и разветвленная. Поэтому ниже рассматриваются лишь несколько подсистем, чтобы проиллюстрировать некоторые из прикладных решений и продемонстрировать использование техники ориентированного на модели программирования.

Экспериментальные результаты

Система управления электроприводом основана на микроконтроллер STM32 [4]. Программное обеспечение системы управления разработано методом модельно-ориентированного программирования с использованием средств Matlab и его библиотеки Waijung Blockset [2]. Программная структурная схема системы управления представлена на рисунке 2. В исполняемой модели используются различные инструменты Matlab. Среди них блоки Simulink и Waijung Blockset, S-функции Matlab, диаграммы состояний и блоки, которые интегрируют определяемые пользователем функции на языке программирования C в исполняемую модель. Программа имеет многоуровневую модульную структуру. Итак, алгоритмы управления реализованы в виде отдельных модулей. Обработка и формирование сигналов от периферийных устройств и датчиков реализованы программно или аппаратно, в зависимости от характеристик решаемой задачи. Элементы библиотеки Waijung Blockset используются непосредственно для работы с аппаратными модулями микроконтроллера, взаимодействующими с оборудованием электропривода. Для управления электроприводом используются аппаратные модули, генерирующие сигналы с широтно-импульсной модуляцией для управления преобразователь питания, счетчики импульсов квадратурного энкодера, модули интерфейса связи, аналоговые и цифровые входы и выходы и другие аппаратные периферийные устройства.

Блок-схема программного обеспечения в виде исполняемой модели.

Рисунок 2 – Блок-схема программного обеспечения в виде исполняемой модели.

По сравнению с предыдущими этапами [5], [6] на современном этапе развития электропривода применены некоторые технические решения для улучшения характеристик электропривода:

Применительно к управлению электроприводом элементы библиотеки Simulink используются в подсистемах регуляторов скорости и положения и для реализации математических алгоритмов управления. Подсистемы Simulink, управляемые программными флагами, используются для создания структуры программного обеспечения и для установления взаимосвязи между его модулями. Подпрограммы, входящие в подсистемы типа Triggered Subsystem, вызываются при изменении флагов управляющей программы. Такие подсистемы используются для обработки сигналов датчиков, а также для передачи или приема сообщений через цифровые интерфейсы. Подпрограммы, заключенные в подсистемы типа Enabled Subsystem, также разрешены программными флагами, но выполняются с дискретностью по времени, которая устанавливается по времени системного таймера. Примером использования данной подсистемы является подпрограмма фонового мониторинга состояния датчиков Холла и энкодеров. Для работы с прерываниями от аппаратных модулей микроконтроллера и от внешних устройств, таких как датчики траектории и элементы управления, используются подсистемы типа Function-Call.

Если элементы Simulink слишком громоздки, пользовательские S-функции на языке программирования Matlab и C-функции используются для реализации алгоритмов управления электроприводом. Их использование в исполняемой модели совместно с блоками модельно-ориентированного программирования позволяет сочетать гибкость и скорость разработки программного обеспечения. Например, протоколы управления электроприводом с помощью высокоуровневого контроллера по цифровым интерфейсам реализованы в виде С-функций, а также селекторов обратных связей, селекторов источников сигналов для схем управления скоростью и положением. Мастера положения и скорости также реализованы как C-функции. Для логической обработки событий была использована библиотека моделирования State Flow diagrams для обработки прерываний при срабатывании датчиков траектории, а также для реакции системы управления на аварийные события и неисправности.

Разработанный электропривод может работать от электродвигателя постоянного тока с независимым возбуждением, от бесщеточного электродвигателя постоянного тока или от синхронного электродвигателя с постоянными магнитами. Конфигурации цепи скорости электропривода и цепи положения показаны на рисунке 3. дифференциальный регулятор. Такая структура замкнутой системы электропривода позволяет получить высокую точность регулирования тока, скорости и положения по управляющему воздействию и под действием момента нагрузки с высоким демпфированием переходных процессов. Для повышения динамической точности контроллер положения имеет элементы упреждающей скорости и ускорения. Для формирования переходных процессов предусмотрены мастера скорости и положения. Мастер скорости обеспечивает плавный пуск и торможение с заданным ускорением. Мастер положения формирует S-образную траекторию движения с заданными ускорением и скоростью, чтобы обеспечить плавное перемещение электропривода из исходного положения в заданное целевое положение.

Для управления скоростью и положением электропривода используются стандартные дискретные элементы из Simulink, а также пользовательские C-функции.

Замкнутая схема электропривода.

Рисунок 3 – Замкнутая схема электропривода.

Обеспечивается работа электропривода в режимах разомкнутого, токового регулирования, регулирования скорости и сервоуправления. Предусмотрены цифровые и аналоговые справочные источники для управления. Во всех режимах управления электроприводом с обратной связью управление током осуществляется в цепи управления током с пропорционально-интегральным (ПИ) регулятором. Работа токовой цепи зависит от типа используемого электродвигателя. Например, для управления синхронным двигателем с постоянными магнитами используется полевое управление с формированием крутящего момента и магнитоформирующей составляющих тока. Для этого используются прямые и обратные координатно-фазовые преобразования, а также индивидуальные регуляторы для управления токами по продольной и поперечной осям электродвигателя. Эти оси закреплены относительно ротора электродвигателя. Когда электропривод работает в режиме регулирования скорости, цепь регулирования тока перекрывается схемой регулирования скорости с ПИ-регулятором скорости. При работе электропривода в режиме позиционного регулирования цепь регулирования тока перекрывается схемой регулирования положения с пропорционально-интегральной схемой управления.

В качестве контроллера использовался модельный блок Discrete PID Controller из библиотеки Simulink. В подсистеме есть переключатель Switch1 для выбора источника сигнала управления положением и источника сигнала обратной связи по положению. Селекторный переключатель Switch2 используется для управления элементами упреждающей скорости и ускорения и для выбора их источника. Селекторы выполнены в виде C-функций. Блок Enable1 используется для включения и выключения регулятора положения в зависимости от типа управления с обратной связью. Блоки RPIS1 и RPIS2 предназначены для задания начальных условий контроллера, чтобы обеспечить правильное переключение между конфигурациями замкнутого контура без остановки движения. Регуляторы положения и скорости на основе пользовательских C-функций также были исследованы для повышения стабильности их интервала интеграции. Частота выборки контроллеров скорости и положения, а также частота выборки селекторов составляет 3,0 кГц.

Цепь управления положением может быть замкнута положением ротора электродвигателя или положением оси приводного механизма. Угловое положение ротора и угловое положение оси приводного механизма измеряются инкрементными энкодерами. Импульсы с них подсчитываются таймерами в QEP-режиме. Схема модели на основе Для работы таймера в режиме QEP-счетчика используется модельный элемент Encoder Read из библиотеки Waijung Blockset. Он находится в подсистеме вызова функций Encoder Measure. Работа обработчика кодировщика синхронизируется прерываниями, когда таймер синхронизации заполнен, с частотой 10 кГц, чтобы гарантировать постоянный интервал повторения. Тактовая частота выбирается таким образом, чтобы обеспечить своевременное обновление информации о положении и скорости для работы схем управления скоростью и положением, а также обеспечить своевременное обновление информации для полевого управления синхронным двигателем с постоянными магнитами. Скорости вращения электропривода и оси приводного механизма измеряются усредненными путем подсчета количества импульсов от энкодера за фиксированный интервал времени, равный шестнадцати периодам прерываний таймера, с усреднением по методу скользящего среднего

Для управления электроприводом в технологической системе разработана его информационная подсистема. Эта подсистема включает в себя набор команд, набор параметров, набор адресов и протоколов связи для различных трансиверов и сетевых шин. Разработан и реализован протокол обмена данными на универсальном асинхронном последовательном приемопередатчике UART (интерфейс RS232) между электроприводом и персональным компьютером, а также протокол обмена данными по шине Controller Area Network (CAN) с высокой скоростью передачи данных. регулятор уровня технологической системы. Параметры контроллеров и другие параметры электропривода хранятся в микросхеме электрически стираемой программируемой постоянной памяти (EEPROM) с доступом через межинтегральную шину (I2C). Резервная копия указанных данных хранится во флэш-памяти микроконтроллера. Используя технику модельно-ориентированного программирования для разработки программного обеспечения информационной подсистемы, требуется лишь сформировать пакеты для передачи данных и интерпретировать пакеты для приема данных. Правила формирования и интерпретации сообщений задаются протоколами связи. Формирование пакетов осуществляется путем группирования переменных и параметров различных числовых форматов в заданной последовательности. Интерпретация полученных сообщений – это выделение этих полей определенного числового формата. Линии связи, а также мониторинг их исправности осуществляется за счет модельно-ориентированных обработчиков. Разработано приложение для операционной системы Windows для управления электроприводом через персональный компьютер. Он позволяет реализовать все функции управления электроприводом и отслеживать координаты электропривода, а также информацию о его состоянии. Также это приложение предназначено для настройки параметров электропривода для достижения желаемых характеристик – точности и демпфирования динамики.

Ориентировочная мощность электропривода составляет порядка 150 – 200 Вт. Приведем некоторые характеристики разработанной системы управления электроприводом. Частота дискретизации токов до 40 кГц. Частота опроса регуляторов тока для различных типов электродвигателей составляет 10 кГц. Частота дискретизации контроллеров скорости и положения составляет 3,0 кГц. Частота широтно-импульсной модуляции преобразователя мощности составляет 50 кГц. Скорость приема и передачи данных по CAN-шине – до 1 Мбит / с. Скорость приема и передачи данных по последовательному интерфейсу RS232 составляет 115 200 бит в секунду. Следующие характеристики были получены экспериментально. Интенсивность приема и передачи данных по CAN-шине и по интерфейсу RS232 составляет до 200 сообщений в секунду. Рекомендуемая максимальная скорость двухполюсного бесщеточного электродвигателя постоянного тока до 60 000 об / мин. Рекомендуемая максимальная частота вращения двухполюсного синхронного электродвигателя с постоянными магнитами составляет до 15 000 об / мин. В исследована работа электропривода под управлением высокоуровневого контроллера технологических систем (антенной установки) по протоколу CAN.

Выводы

Выводы и результаты развития электропривода можно сформулировать следующим образом:

Список использованной литературы

1. Модельно-ориентированный дизайн. [Электронный ресурс]. – Режим доступа: www. mathworks.com
2. Waijung Blockset. [Электронный ресурс]. – Режим доступа: http://waijung.aimagin.com.
3. Экспонента. [Электронный ресурс]. – Режим доступа: www. exponenta.ru
4. Микроконтроллеры STM32 Arm Cortex [Электронный ресурс]. – Режим доступа: www.st.com.
5. Полющенков И.С. Разработка системы управления электроприводом с использованием методики модельно-ориентированного программирования. МЭИ Вестник. 2016; 6: 87 – 95. (на русском)
6. Полющенков И.С. Разработка программного обеспечения для управления электроприводом в технологической системе с использованием методики модельно-ориентированного программирования. МЭИ Вестник. 2017; 4: 83 – 91. (на русском языке). DOI: 10.24160 / 1993-6982-2017-4-83-91