Введение
Работа бесколлекторного двигателя постоянного тока (BLDC) ассоциируется с классической шестишаговой коммутацией (trapezoidal control). Такой тип управления прост в реализации, требует минимум вычислительных ресурсов и отлично подходит для множества задач: вентиляторы, насосы, простые приводы.
Однако такая коммутация кроме преимущества в виде простоты реализации имеет ряд существенных недостатков:
1. Коммутационные пульсации момента, которые вызывают вибрации и шум, снижают точность позиционирования, увеличивают износ;
2. Низкий КПД в режимах работы, отличных от номинального;
3. Узкий диапазон рабочих скоростей. Особенно сложно добиться плавного пуска и работы на низких оборотах.
Добиться плавности, точности и эффективности работы BLDC можно путём применения векторного управления (Field-Oriented Control, FOC). Это позволит минимизировать коммутационные пульсации момента, снизит шум работы двигателя, расширит диапазон работы по скорости, включая низкие обороты, повысит динамику регулирования момента.
Немного теории
Суть FOC — преобразование координат, позволяющее управлять трехфазным асинхронным двигателем также как обычной машиной постоянного тока. Для её реализации нужно создать в двигателе магнитное поле статора, которое всегда перпендикулярно (опережает на 90 электрических градусов) магнитному полю ротора. В этом положении момент максимален при минимальном токе статора (аналогично моменту в машине постоянного тока, где он пропорционален току якоря при постоянном потоке возбуждения).
В интернете, в том числе на Хабре, есть много статей, где подробно описан принцип работы векторного управления. Также рекомендую учебник А.С. Анучин "Системы управления электроприводов", МЭИ, 2015 г. Коротко опишу суть.

Для того, чтобы добиться обозначенной выше цели, и иметь максимальный вращающий момент, необходимо в каждый момент времени поддерживать прямой угол между векторами потокосцепления статора и ротора. Для этого переходят к ортогональной системе координат d-q, привязанной к ротору. Продольную составляющую тока Id стремятся поддерживать равной 0 для того, чтобы не тратить энергию на поток. Электромагнитный момент же регулируется поперечной составляющей Iq. Для того, чтобы вычислить эти координаты, применяется преобразование Парка - координатное преобразование из неподвижной системы α, β, привязанной к статору. Чтобы выполнить данное преобразование, в каждый момент времени необходимо знать текущий угол θ поворота ротора относительно статора.
Для вычисления координат составляющих токов по осям α и β выполняется преобразование Кларка. В обоих преобразованиях математика довольно простая, доступна для понимания школьнику, освоившему курс тригонометрии. В упомянутом выше учебнике координатные преобразования описаны на рис. 1.9 (стр. 36), фазные — на рис. 1.10 (стр.41).
В качестве регулятором тока, как правило, используются ПИ-регуляторы. В качестве регуляторов скорости — П-регуляторы. Силовая установка представляет собой автономный инвертор, состоящих из трёх транзисторных мостов. Управление ключами инвертора осуществляется с помощью ШИМ.
Математическая модель
Прежде чем реализовать систему в железе, полезно провести её моделирование в любой CAE системе, настроить регуляторы, проверить работоспособность.
Вместе со студентами направления "Мехатроника и робототехника" сделал математическую модель системы векторного управления бесколлекторной машиной постоянного тока BLDC. Симуляция осуществляется в среде Ansys Twin Builder. Выбор в пользу данного программного продукта был сделан в связи с возможностью использования в качестве модели двигателя не только модели с сосредоточенными параметрами (как в этом проекте), но и моделей с распределенными параметрами, расчет которых ведется методом конечных элементов. В любом случае, среда симуляции - это всего лишь инструмент и результат получился бы идентичным и в Simulink и на Python и в других средах - математика везде одинаковая.

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

Управление ключами инвертора происходит с помощью ШИМ. Генератор опорного напряжения формирует пилообразный сигнал с несущей частотой 4 кГц. Этот сигнал сравнивается с сигналом задания. В результате на выходе компараторов мы имеем управляющие сигналы на открытие и закрытие верхних ключей инвертора. В каждой стойке нижние ключи всегда работают в противофазе с верхними, для того, чтобы не допустить короткого замыкания. Поэтому сигнал на нижние ключи инвертируем из 0 в 1, и наоборот. Эти сигналы берем с блоков NEG.

Координатные и фазные преобразования можно сделать на блоках элементарной математики. Но можно взять и готовые — они представлены на модели голубым цветом. Наконец, добавляем регуляторы тока по осям d и q. Как и говорилось выше, в качестве такого регулятора используем ПИ-регулятор. Его коэффициенты выставляем исходя из требований по быстродействию и точности системы.
Столь высокоточная система может работать в режиме позиционирования. Для этого добавляем регулятор положения. В нем настраиваем П и И-каналы.

В итоге получаем следующую модель.

Ниже представлены осциллограммы задания на положение и угол поворота ротора.

Как видим, система идеально отрабатывает сигнал задания. Токи и скорости находятся в допустимых пределах.

Дальнейшая реализация "в железе"
Система векторного управления на ответственных технологических участках реализуется на базе сигнальных процессоров DSP. Однако, для технологических процессов, не требующих высоких требований, систему вполне можно реализовать на микроконтроллерах (ядра Cortex-M4/M7/M33), имеющих дополнительный сопроцессор для операций с плавающей точкой — аппаратные FPU. Существуют и специально оптимизированные для векторного управления библиотеки (STM32 MotorControl SDK, TI MotorControl SDK, Microchip MPLAB® MCC Motor Control).
Силовая часть может быть также реализована самостоятельно. Инвертор собирается из трёх мостов на IGBT или MOSFET транзисторах с драйверами затворов. В качестве датчика положения лучше всего использовать энкодер.
Систему собственной сборки с более гибкими возможностями настройки и оптимизированную под конкретный проект целесообразно использовать в робототехнике: шарниры манипуляторов, приводы колес или шасси.
Комментарии (10)
Igler_U
17.06.2025 03:40реализуется на базе сигнальных процессоров DSP. Однако, для технологических процессов, не требующих высоких требований, систему вполне можно реализовать на микроконтроллерах (ядра Cortex-M4/M7/M33), имеющих дополнительный сопроцессор для операций с плавающей точкой — аппаратные FPU.
Э как Вы связали DSP и FPU...хм... - бывают DSP без FPU.
А без FPU "на Cortex-M4" уже систему не реализовать?
ValeriyPus
17.06.2025 03:40ну 500-1000 раз в секунду можно все считать и на AVR (АЖ 20 МГц!, всего 10-20 тактов на умножение\деление! Это же тысяча умножений и делений получается. Можно даже без FPU и DSP :) )
У вас все равно обьект управления рассчитан на синусоиду 50 Гц или меньше (если больше - подшипники разнесет).
Igler_U
17.06.2025 03:40Суть FOC — преобразование координат, позволяющее управлять трехфазным асинхронным двигателем
BLDC... синхронная машина
В этом положении момент максимален при минимальном токе статора (аналогично моменту в машине постоянного тока, где он пропорционален току якоря при постоянном потоке возбуждения).
Момент пропорционален току .... и "момент максимален при минимальном токе"?
Коротко опишу суть ...
Лучше уж совсем без описания, чем с таким! Пусть лучше интересующиеся пройдут по ссылке
Сборку модели начнем с силовой части... От трех идеальных источников напряжения энергия поступает на ...
какой в этом смысл - почему бы сразу не поставить источник напряжения?
Для вычисления координат составляющих токов по осям α и β выполняется преобразование Кларка.
*рука лицо*.... Кларка
пишет Доцент кафедры электропривода, к.т.н. (((
belousovev Автор
17.06.2025 03:40BLDC... синхронная машина
BLDC это не электрическая машина, а электропривод. Такой машины не существует, от сети она не способна работать, без соответствующего силового преобразователя.
Момент пропорционален току.... и "момент максимален при минимальном токе"?
Две отдельные мысли. В контексте предложения речь идёт о лучшей энергоэффективности. При поддержании угла 90 градусов между соответствующими составляющими тока момент будет максимален.
Лучше уж совсем без описания, чем с таким
Это мне решать, а не вам. Можете написать свою статью так, как считаете нужным. Я посмотрел в вашем профиле - у вас их ровно ноль.
почему бы сразу не поставить источник напряжения
Сразу и был поставлен источник трёхфазного напряжения.
рука лицо.... Кларка
Пожалуй, единственное замечание, с которым я могу согласиться частично. Наверное, в глоссарии терминов методической комиссии соответствующего направления написано иначе. Но это же статья в интернете, а не работа, отправленная в диссертационный совет. На просторах интернета такая формулировка встречается сплошь и рядом.
пишет Доцент кафедры электропривода, к.т.н.
Всё верно!
Igler_U
17.06.2025 03:40BLDC это не электрическая машина, а электропривод ...от сети она не способна работать, без соответствующего силового преобразователя
ну да - то то Вы и пишете "Работа бесколлекторного двигателя постоянного тока (BLDC)", а не привода... А привод от двигателя у Вас видимо отличается только по критерию "работы от сети без преобразователя" (опять *рука лицо*)
Электродвигатель в принципе сам по себе не способен работать - ему нужно некое электрическое воздействие.
Сразу и был поставлен источник трёхфазного напряжения.
пропустил слово "постоянного". И все-таки - какой смысл?
пишет Доцент кафедры электропривода, к.т.н.
Всё верно!
Это не "верно" - это печально! Увы
belousovev Автор
17.06.2025 03:40И все-таки - какой смысл?
Учесть работу выпрямителя. На самом деле, изначально, при наладке системы я всегда иду от простого к сложному. И действительно, можно моделировать работу инвертора от источника постоянного напряжения. Но в реальных производственных условиях всё таки часто ПЧ подключается к трехфазной сети переменного тока.
это печально
Не печальтесь! Лучше делом займитесь, вместо того, чтобы комментарии писать в таком количестве, причём которые основаны на том, чтобы "докопаться" до слов, но содержательно ничего не меняют. Глядишь, и жизнь наладится. Удачи!
ValeriyPus
Почему Ansys а не Octave (последний бесплатный)?
Да, все студенты ЭПиАПП и прочих мехатроник и робототехник знают, что это - курсовик :)
Попробуйте Непрерывный преобразователь частоты сделать на 24 гармониках и фильтрах.
(из 3-24 гармоник делаешь 3 нужной частоты)
Плюсы Непрерывного преобразователя - рекуперация, только 1 вентиль до сети (В 2 раза меньше потерь. Особенно актуально для экскаваторов 200+ кВт).
Минусы - сложность системы управления, слишком интересные формы токов в фазах при рекуперации (и гармоники).
О непрерывных преобразователях кстати почти полностью забыли (в 60-е нельзя было сделать систему управления. Сейчас литература не обновляется).
Я делал модель НПЧ, минус - сложное согласование с сетью при рекуперации. Зато максимально теоретически возможный КПД.
Думаю, проблему рекуперации можно решить даже сбросом всего на конденсатор, и последующим преобразованием постоянки в переменку. Тогда получится вдвое эффективнее работа, и обычная рекуперация :)
ValeriyPus
Ну и из Octave/Matlab можно просто все сразу перевести на FPGA:
https://www.researchgate.net/publication/259620641_Math2Mat_from_OctaveMatlab_to_VHDL