Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 21(317)

Рубрика журнала: Технические науки

Секция: Радиотехника, Электроника

Библиографическое описание:
Акимов К.В. ОСОБЕННОСТИ ПОСТРОЕНИЯ МОДУЛЬНОЙ АРХИТЕКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ АСИНХРОННЫМ ДВИГАТЕЛЕМ НА БАЗЕ STM32 // Студенческий: электрон. научн. журн. 2025. № 21(317). URL: https://sibac.info/journal/student/317/379144 (дата обращения: 16.06.2025).

ОСОБЕННОСТИ ПОСТРОЕНИЯ МОДУЛЬНОЙ АРХИТЕКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ АСИНХРОННЫМ ДВИГАТЕЛЕМ НА БАЗЕ STM32

Акимов Кирилл Владимирович

студент, кафедра электроники, радиотехники и систем связи, Орловский государственный университет имени И. С. Тургенева,

РФ, г. Орёл

FEATURES OF BUILDING A MODULAR ARCHITECTURE OF SOFTWARE FOR CONTROLLING AN ASYNCHRONOUS MOTOR BASED ON STM32

 

Kirill Akimov

student, Department of Electronics, Radio Engineering and Communication Systems, Orel State University named after I.S. Turgenev

Russia, Orel

 

АННОТАЦИЯ

В статье рассматриваются принципы построения модульной архитектуры программного обеспечения для систем управления асинхронными электродвигателями. Обоснована целесообразность модульного подхода в условиях ограниченных ресурсов микроконтроллеров и высоких требований к надёжности и гибкости системы. На примере микроконтроллеров STM32 показаны ключевые программные блоки, особенности их взаимодействия и реализации.

ABSTRACT

The article discusses the principles of building a modular software architecture for asynchronous motor control systems. The feasibility of a modular approach in conditions of limited microcontroller resources and high requirements for system reliability and flexibility is justified. The example of microcontrollers STM32 shows the key software blocks, the features of their interaction and implementation.

 

Ключевые слова: управление электродвигателем, STM32, модульная архитектура, ШИМ, SVPWM, асинхронный двигатель.

Keywords: motor control, STM32, modular architecture, PWM, SVPWM, induction motor.

 

Введение

Проектирование программного обеспечения для систем управления асинхронными электродвигателями требует учёта множества факторов: ограниченные ресурсы микроконтроллеров, высокая частота обновления сигналов, наличие внешних событий, жёсткие требования к времени реакции и устойчивости. Чтобы в таких условиях обеспечить надёжную и масштабируемую систему, всё чаще используется модульный подход. Идея заключается в том, чтобы разбить всю программу на логически завершённые части, каждая из которых решает строго определённую задачу. Это упрощает сопровождение, отладку и последующую модификацию системы.

В основе таких решений лежит иерархия уровней: низкоуровневые модули обеспечивают взаимодействие с аппаратной частью (таймеры, АЦП, цифровые входы и выходы), а высокоуровневые блоки реализуют алгоритмы управления, профили скорости, обработку аварийных состояний и так далее. Подобная структура позволяет не только повысить читаемость и надёжность кода, но и даёт возможность повторно использовать компоненты в других проектах. Ниже рассмотрим ключевые компоненты такой архитектуры на примере реализации системы управления асинхронным двигателем по методу U/f с использованием микроконтроллера STM32.

Архитектура программной системы

Модульная структура ПО позволяет каждому блоку сосредоточиться на своей задаче. Самыми базовыми являются аппаратно-зависимые модули. Это так называемый аппаратный абстрактный слой, обеспечивающий инициализацию и управление периферией микроконтроллера. Здесь реализуются функции настройки таймеров, аналогово-цифровых преобразователей, цифровых входов и прерываний. Далее идут специализированные драйверы — например, модуль управления ШИМ-сигналами, или блок обработки аналоговых входов с использованием DMA и цифровых фильтров [1].

В центре системы располагается управляющее ядро. Именно оно реализует алгоритмы управления двигателем. Например, в системах с U/f-регулированием управляющее ядро принимает значение частоты вращения, рассчитывает требуемое напряжение и формирует задание на ШИМ. Дополнительно здесь же обрабатываются сигналы реверса, остановки и аварий. Модули сервисного уровня, такие как логгеры, обработчики настроек, протоколы связи, дополняют структуру, обеспечивая удобство отладки и интеграции.

Такая структура неслучайна. Разделение кода по функциям позволяет инженеру сфокусироваться на конкретной задаче без риска повредить другие части системы. Это особенно важно в проектах, где одна и та же архитектура используется для разных моделей устройств. Например, добавление новой схемы инвертора может потребовать только замены драйвера ШИМ, не затрагивая остальную логику.

Пример реализации и взаимодействие модулей

В качестве практического примера можно рассмотреть реализацию программного обеспечения для модуля контролера асинхронного двигателя (МКАД), предназначенного для управления трёхфазным асинхронным двигателем с помощью микроконтроллера STM32F103. Данное устройство реализует управление по закону U/f с плавным разгоном и торможением, а также поддержкой реверса и аварийной остановки. Его функциональная схема показана на рисунке 1.

 

Рисунок 1. Функциональная схема программного обеспечения МКАД

 

Функциональная схема программной части МКАД включает несколько основных блоков [2]:

  1. Блок аналогового ввода и обработки сигналов. Он отвечает за считывание напряжений с входов задания скорости (Speed) и ускорения (Accel) через АЦП, работающий с прямым доступом к памяти (DMA). Эти сигналы обрабатываются с помощью цифровых фильтров и масштабируются в параметры управления: частоту и профиль ускорения.
  2. Блок обработки цифровых входов. На входы микроконтроллера подаются сигналы разрешения работы (Enable), реверса (F/R) и аварийного торможения (Brake). Для обработки событий используются внешние прерывания (EXTI), что обеспечивает быстрый отклик без задержек.
  3. Контроллер скорости и ускорения. Этот модуль реализует формирование выходной частоты на основе профиля U/f и плавное изменение частоты при разгоне, торможении и реверсировании. Алгоритмы выполняются по прерываниям таймера TIM4 с периодом около 150 мкс.
  4. Генератор ШИМ и пространственного вектора. Центральным элементом является таймер TIM1, который формирует комплементарные сигналы управления силовыми ключами инвертора. Расчёт скважностей сигналов выполняется по алгоритму SVPWM, основанному на преобразованиях Кларка–Парка. Частота ШИМ составляет около 10 кГц, с мёртвым временем 2–3 мкс.
  5. Блок аварийной защиты. Реализован программный и аппаратный контроль условий безопасности. При срабатывании сигнала Brake, недопустимом напряжении или других аномалиях система мгновенно останавливает ШИМ через аппаратный вход BKIN таймера TIM1.
  6. Сервисные модули. Включают систему таймера SysTick для отметки времени, сбор диагностической информации, хранение настроек и другие вспомогательные функции.

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

Отдельный интерес представляет модуль SVPWM, реализующий расчёт времён коммутации на основе алгоритма пространственного вектора. Он использует таблицу синусоиды и координатные преобразования Кларка–Парка для генерации оптимального распределения сигнала. Такая реализация позволяет получить более плавное и эффективное управление по сравнению с традиционными методами [3].

Преимущества подхода и заключение

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

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

 

Список литературы:

  1. Алиев И. И. Асинхронные двигатели в трехфазном и однофазном режимах [Электронный ресурс]. – Режим доступа: http://lib-bkm.ru/load/66-1-0-91 (дата обращения: 09.06.2025).
  2. Шрейнер Р. Т. Математическое моделирование электроприводов переменного тока с полупроводниковыми преобразователями частоты. – Екатеринбург: УрО РАН, 2000. – 654 с.
  3. Копылов И. П. Проектирование электрических машин. – М.: Энергия, 1980. – 512 с.

Оставить комментарий