Научная статья на тему 'МОДЕЛИРОВАНИЕ АЛГОРИТМА УПРАВЛЕНИЯ ДВИГАТЕЛЕМ ДЛЯ МИКРОКОНТРОЛЛЕРА STM32 С ИСПОЛЬЗОВАНИЕМ МЕТОДА МОДЕЛЬНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ'

МОДЕЛИРОВАНИЕ АЛГОРИТМА УПРАВЛЕНИЯ ДВИГАТЕЛЕМ ДЛЯ МИКРОКОНТРОЛЛЕРА STM32 С ИСПОЛЬЗОВАНИЕМ МЕТОДА МОДЕЛЬНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
408
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛЬНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ / MATLAB/SIMULINK / STM32 / СИНХРОННЫЙ ДВИГАТЕЛЬ С ПОСТОЯННЫМИ МАГНИТАМИ / ВЕКТОРНОЕ УПРАВЛЕНИЕ / MODEL-BASED DESIGN / SYNCHRONOUS MOTOR WITH PERMANENT MAGNETS / FIELD-ORIENTED CONTROL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зубков П.С., Кулаев Н.А., Артамонов В.Ю., Дубов Н.В.

В данной работе рассмотрены этапы моделирования алгоритма управления состояниями синхронного двигателя с постоянными магнитами. В его основу заложен принцип векторного частотно-токового регулирования. Модель управления создана в пакете Matlab/Simulink, подсистемы которой описаны, и приведена классификация сигналов для микроконтроллера STM32. На последнем этапе промоделированы и визуализированы входные/выходные сигналы системы при разных исходных значениях скорости и тока инвертора, на основании которых сделан вывод о работоспособности модели для её дальнейшей генерации как С-кода и интеграции в микроконтроллер.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зубков П.С., Кулаев Н.А., Артамонов В.Ю., Дубов Н.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SIMULATION OF THE ENGINE CONTROL ALGORITHM FOR THE STM32 MICROCONTROLLER USING THE MODEL-BASED DESIGN METHOD

This article describes the stages of modeling the state control algorithm for a synchronous motor with permanent magnets using the model-based design method. The algorithm is based on the principle of field oriented I-Hz control, the constructions of which is formed as a state machine for the correct planning of tasks. The model input and output signals for the STM32 microcontroller are further classified. The control model itself is created in the Matlab/Simulink package, the subsystems of which are also described. The last step is to model and visualize the input/output signals of the system at different initial values of the inverter speed and current. By observing acceptable values of the inverter speed and current in the steady state mode, the correct operation of the control logic is ensured, which can be generated as a C code and integrated into the microcontroller.

Текст научной работы на тему «МОДЕЛИРОВАНИЕ АЛГОРИТМА УПРАВЛЕНИЯ ДВИГАТЕЛЕМ ДЛЯ МИКРОКОНТРОЛЛЕРА STM32 С ИСПОЛЬЗОВАНИЕМ МЕТОДА МОДЕЛЬНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ»

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

П.С. Зубков, Н.А. Кулаев, В.Ю. Артамонов, Н.В. Дубов Мордовский государственный университет им. Н.П. Огарёва, Саранск

Аннотация: В данной работе рассмотрены этапы моделирования алгоритма управления состояниями синхронного двигателя с постоянными магнитами. В его основу заложен принцип векторного частотно-токового регулирования. Модель управления создана в пакете Matlab/Simulink, подсистемы которой описаны, и приведена классификация сигналов для микроконтроллера STM32. На последнем этапе промоделированы и визуализированы входные/выходные сигналы системы при разных исходных значениях скорости и тока инвертора, на основании которых сделан вывод о работоспособности модели для её дальнейшей генерации как С-кода и интеграции в микроконтроллер. Ключевые слова: Модельно-ориентированное проектирование, Matlab/Simulink, STM32, синхронный двигатель с постоянными магнитами, векторное управление.

Метод модельно-ориентированного проектирования подразумевает использование графических инструментов Matlab/Simulink для моделирования и отладки системы управления, например, блок-схемы и конечные автоматы. Блок-схемы избавляют от необходимости формирования дифференциальных уравнений, а конечные автоматы - способ справиться с операторами ветвления [1].

Алгоритм управления - это набор инструкций, которые выполняются в зависимости от входных показаний и текущего состояния внутренних переменных, внося изменения в эти внутренние переменные и обновляя выходные значения. Это происходит один раз в каждом цикле генератора тактового сигнала или таймера, вызванного его передним фронтом [2]. Цель алгоритма управления, представленного в этой работе, состоит в том, чтобы управлять состоянием синхронного двигателя с постоянными магнитами (PMSM) с помощью микроконтроллера, примером которого является в данном случае частотно-токовое управление (I-Hz управление регулирует

и

положение и амплитуду вектора тока статора во вращающихся осях), показанное на рисунке 1 в виде блок-схемы. Однако алгоритм должен быть организован как конечный автомат, чтобы правильно планировать выполнение задач. Это реализуется при помощи 81а1ейо,№ БтиНпк [3, 4].

Рисунок 1 - Алгоритм управления в Simulink-модели: I-Hz_model.slx

Блок Chart из Stateflow, доступный в Simulink Library Browser, является своего рода подсистемой, в которой можно изобразить конечные автоматы. На рисунке 2 показаны три параллельных конечных автомата.

Рисунок 2 - Конечные автоматы в Stateflow

1. Control Flow: присутствует три внутренних состояния. Первое, состояние ОШИБКА (ERROR), в которой инициализируются внутренние переменные, а порты ШИМ установлены на логику с тремя состояниями (выключено). Когда команда Go устанавливается на уровень логической 1 (HIGH), она переходит в состояние ГОТОВ (READY), когда порты ШИМ активны, конденсаторы в цепи последовательной положительной обратной связи инвертора заряжаются, и измеряются смещения АЦП. После некоторых циклов состояние START становится активным, и частотно-токовое управление выполняется в функции Simulink. Всякий раз, когда команда сброса на уровне логической 1 (HIGH), состояние ОШИБКА (ERROR) становится активным, а переменные функции Simulink удаляются.

2. Current Protection: это конечный автомат проверяет интенсивность нарастания токов, чтобы решить, находится ли операция в безопасных пределах или ее следует отключить.

3. Update Values: в этой части смещение вычитается из входных токов. Кроме того, выходные значения диаграммы обновляются.

Компоненты алгоритма управления, называемые IHz_model.slx на рисунке 1, должны быть классифицированы как входы, выходы, локальные переменные или глобальные переменные в окне Model Explorer.

• В модели IHz входные и выходные сигналы названы и заданы как один тип данных. Входными сигналами блока являются iabcs для измеренных токов статора, Vdc - уровень напряжения звена постоянного тока, posCount - счетчик положения от энкодера, omega_ref_rpm - опорный сигнал угловой скорости и commands - команды запуска и сброса. Выходными сигналами являются duty_abc - коэффициенты заполнения 3-фазного ШИМ-инвертора, pwm_stop - отключение вентилей инвертора и три общих выхода для контроля других переменных.

• На диаграмме Stateflow рисунка 2, переменные сконфигурированы как входы, выходы или локальные переменные с их начальными условиями. Все они рассматриваются как один тип данных.

• В функции Simulink, соответствующие сигналы названы и сконфигурированы для ExportedGlobal для обработки в качестве глобальных переменных во время генерации кода. Значения некоторых блоков Constant и Gain вызываются из рабочей области Matlab. Важно помнить, что все переменные и операции должны работать как один тип, который эквивалентен типу MCU float32.

Последний этап тестирования заключается в запуске моделирования алгоритма управления и моделируемой установки (тестирование модели в контуре управления - MIL). Как инвертор, так и двигатель считаются компонентом системы, где сигналы ШИМ являются входами, а токи статора - выходами. Положение ротора, заданное датчиком, не будет использоваться для I-Hz управления.

В имитационной модели Simulink (см. рисунок 3) инвертор представлен усилителем сигналов ШИМ, а двигатель представлен блоком синхронной машины с постоянными магнитами [5], в котором установлены данные изготовителя реального двигателя. ШИМ-сигналы выдаются периферийным устройством таймера MCU, сравнивая коэффициент заполнения с восходящей-нисходящей пилообразной несущей на частоте дискретизации 4 [кГц] [6, 7]. Это периферийное устройство изображается при моделировании компараторами и повторяющейся последовательной волной. Инвертор усиливает сигнал до уровня 0-Vdc для подачи напряжения на двигатель. После того, как установка смоделирована, алгоритм управления тестируется в контуре управления (MIL) с использованием Model Reference block, вызывающий внешнюю модель Simulink и запускается с частотой дискретизации генератора тактовых сигналов 4 [кГц]. Важно, чтобы частота

и

дискретизации моделирования была выше, чем у генератора тактовых сигналов, чтобы обеспечить подход к непрерывному управлению установкой. В таблице 1 приведены данные для моделирования установки.

Таблица 1 - Параметры моделирования

Параметры модели РМБМ: Константы системы управления:

1. 4 пары полюсов в каждой из 3 фаз 2. Константа напряжения (КЕ): 3,15 [иКМ8/Кгрт] 3. Момент инерции (1^): 0,06 [кгХсм2] 4. Активное сопротивление обмотки (Я^): 0,5 [Ом] 5. Индуктивное сопротивление обмотки (Ьи^): 2,2 [мГн] 1. ^=0,4 2. К1ч=80 3. ^=0,4 4. К1ч=80 5. Уве=24 [В]

Рисунок 3 - Тестирование в контуре (МТЬ)

Как только среда моделирования установлена, соответствующие сигналы выбираются для визуализации в области видимости. Это коэффициент заполнения, токи статора, скорость вращения и положение ротора. Процесс моделирования проводится дважды или трижды, чтобы проверить, соответствуют ли показания двигателя заданным исходным. Визуализация сигнала показана на рисунках 4-5 ниже для набора исходных сигналов: ^ = 0,8 [А] и ^^ = 400 [об/мин]; ^ = 1,2 [А] и ^^ = 600 [об/мин].

и

Рисунок 4 - Сигналы в установившемся режиме ^ = 0,8 [А] и ,^ес = 400

[об/мин]

12,7 12.75 12.8 12.85

Рисунок 5 - Сигналы в установившемся режиме ^ = 1,2 [А] и ,^ес = 600

[об/мин]

Результаты моделирования показывают, как текущие значения амплитуды и скорости вращения ротора в установившемся режиме соответствуют исходным id и wmec. Теперь, когда обеспечена правильная работа логики, стали возможными дальнейшая генерация и интеграция в микроконтроллер алгоритма управления двигателя с помощью инструментов STM32 Embedded Target. Данный пакет использует блоки Simulink для представления периферийных устройств MCU [8-10].

Литература

1. Model-Based Design // Math Works URL: mathworks.com/help/simulink/gs/model-based-design.html.

2. Терехов В.М., Осипов О.И. Системы управления электроприводов. М.: Издательский центр Академия, 2006. 304 с.

3. Stateflow: Model and simulate decision logic using state machines and flow charts // MathWorks URL: uk.mathworks.com/products/simpower.html.

4. Model and simulate electrical power systems // MathWorks. URL: mathworks.com/help/physmod/sps/powersys/ref/permanentmagnetsynchronousma chine.html.

5. Кабышев О. А., Кабышев А.М. Разработка и компьютерное моделирование регулятора переменного напряжения // Инженерный вестник Дона. 2019. №1. URL: ivdon.ru/ru/magazine/archive/n1y2019/5683

6. Permanent Magnet Synchronous Machine // MathWorks. URL: mathworks.com/help/physmod/sps/powersys/ref/permanentmagnetsyncronousmac hine.html.

7. Кулаев Н.А., Зубков П.С. Математическое описание управления синхронным двигателем с постоянными магнитами для аппаратной реализации на ПЛИС // Инженерный вестник Дона. 2019. №6. URL: ivdon.ru/ru/magazine/archive/n6y2019/6039

8. Wei Wu Model-Based Design for Effective Control System Development. IGI Global, 2017. 299 p.

9. Gabriela Nicolescu, Pieter J. Mosterman. Model-Based Design for Embedded Systems. CRC Press, 2009. 766 p.

10. Moreira C.O. Rapid Control Prototyping Using an STM32 Microcontroller: Bachelor's degree Clausthal-Zellerfeld, Germany, 2015. 85 p.

References

1. Model-Based Design. URL: mathworks.com/help/simulink/gs/model-based-design.html.

2. Terekhov V.M., Osipov O.I. Sistemy upravleniya elektroprivodov. [Electric drive control systems]. M.: Izdatel'skiy tsentr Akademiya, 2006. 304 p.

3. Stateflow: Model and simulate decision logic using state machines and flow charts. URL: uk.mathworks.com/products/simpower.html.

4. Model and simulate electrical power systems. URL: mathworks.com/help/physmod/sps/powersys/ref/permanentmagnetsynchronousma chine.html.

5. Kabyshev O.A., Kabyshev A.M. Inzenernyj vestnik Dona, 2019. №1. URL: ivdon.ru/ru/magazine/archive/n1y2019/5683

6. Permanent Magnet Synchronous Machine. URL: mathworks.com/help/physmod/sps/powersys/ref/permanentmagnetsyncronousmac hine.html.

7. Kulayev N.A., Zubkov P.S. Inzenernyj vestnik Dona, 2019. №6. URL: ivdon.ru/ru/magazine/archive/n6y2019/6039

8. Wei Wu Model-Based Design for Effective Control System Development. IGI Global, 2017. 299 p.

9. Gabriela Nicolescu, Pieter J. Mosterman. Model-Based Design for Embedded Systems. CRC Press, 2009. 766 p.

10. Moreira C.O. Rapid Control Prototyping Using an STM32 Microcontroller: Bachelor's degree Clausthal-Zellerfeld, Germany, 2015. 85 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.