2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение21.03.2026, 07:14 


18/11/18
1051
Как известно, для наиболее эффективного управления (по-крайней мере, в переходных процессах) бесколлекторными двигателями с постоянными магнитами, применяется алгоритм полеориентированного (векторного) управления.
И тут есть интересная штука - во всех описаниях присутствует переход от реальной трехфазной системы к абстрактной двухфазной (преобразование Кларк) и, далее - от стационарной к вращающейся относительно ротора (преобр. Парка). Ну и после необходимых вычислений - обратные преобразования.
По-крайней мере, в настоящее время эти ухищрения делаются для упрощения вычислений итогового управляющего шим в каждом цикле работы алгоритма контроллера аппаратной части.
А возможны такие упрощения только если принять, что рассматриваемая трехфазная система (ну, собственно, сама рассматриваемая электрическая машина) симметрична.
Изготовить-то её могут, я так понимаю, с некой заданной "точностью симметричности". Но вот при реальном применении вроде как уже многое в степени этой самой учитываемой "симметричности" будет зависеть от конкретной схематики силовой части. И могут возникать ситуации, когда будет действовать, ну, допустим, взаимная индукция (если две или более эл. машины завязаны в схему). Ну или силовые шины где=то недалеко проходят и проч.
Может так получиться, что нельзя будет рассматривать систему как симметричную...
Вот и возникает вопрос - можно ли обойтись без "кларка-парка". По-крайней мере, "в лоб" я ответа не нашел. (Тут, конечно, грешен - не разобрался пока до конца в управлении движками). Лет 10-20 назад, возможно эти упрощающие преобразования были критически необходимы - без них бы существующие на тот момент контроллеры не справлялись бы с расчетами с необходимой частотой шим. Но сейчас в производительности контроллеров вопросов не возникает..
Но может чего-то не понимаю, и без "кларка-парка" просто тупо не обойтись?

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение26.03.2026, 22:23 


24/01/09
1544
Украина, Днепр
A_I в сообщении #1720761 писал(а):
А возможны такие упрощения только если принять, что рассматриваемая трехфазная система симметрична.

Не только.
В той цепочки, увы, есть и более фундаментальные упрощения.

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение29.03.2026, 09:46 


12/07/15
4162
г. Чехов
A_I в сообщении #1720761 писал(а):
Но сейчас в производительности контроллеров вопросов не возникает..

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

Например, ещё не так давно отклик 5 мс на ступенчатое изменение нагрузки - такая характеристика у сервоприводов ABB/Siemens, state-of-art наверное.

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение29.03.2026, 14:21 


18/11/18
1051
Как я понял, если система не симметрична, то невозможно в принципе сделать корректные расчет (хоть с Кларком-Парком, хоть без)

Mihaylo в сообщении #1721219 писал(а):
операционная система реального времени нужна и всё такое...


Ну есть, например, free rtos для контроллеров. Только зачем - при управлении движками (если в основном только это и больше никакой смысловой нагрузки) ртос будет избыточна, да и накладные у неё всё же имеются. А контроллер итак чистая "ртос".
По идее, вычислительной мощности хватает также с избытком. НАпример, типа таких стм-ок - stmG474, G431 (тактовая 170 МГц), можно и больше, к примеру, H755 - 480 МГц, ну и т.д.
А считать-то немного:
В среднем алгоритм ФОК такой -
с частотой ШИМ, обычно от 10 до 100 КГц, в каждом цикле - по прерываниям соответствующего таймера:
- в каждом цикле есть некое задание - величина, поступающая с верхнего уровня - необходимая скорость или ток/момент и т.д.
- снятие данных о угле положения ротора и скорости/частоты вращения - с датчиков Холла, энкодера, тахогенератора, токовых шунтов и(или) т.н. "обсервера" - "наблюдателя" за внутренним состоянием (фазн. токи, напруга и проч.). В зависимости от типа датчиков - соответствующие АЦП.
- снятие данных о фазных токах (АЦП).
- по токам двух фаз (достаточно токов фаз А, В) - преобразование Кларк в токи абстрактной двухфазной системы (альфа, бета) - простая арифметика (корень из 3 - как заранее подсчитанная величина).
- результаты Кларк как параметр и угол положения ротора - преобразование Парка - простая арифметика и чуть тригонометрии, после которого имеем две перпендикулярные величины/оси - момент (ток) и поток (магнит).
- поток советуют обнулять, а вот момент и задание участвуют в расчете на базе различных ПИД - регуляторов - простая арифметика, на выходе получается два абстрактных фазных напряжения. Причем, так как поток обнуляем, то соответствующее напряжение также будет в 0. Остаётся напряжение "момента".
- после обратных преобразований с полученными напряжениями (обр. Парка и обр. Кларка) - та же самая простая арифметика плюс чуть тригонометрии, переходим к трем реальным фазным напряжениям соответствующим заданию.
- на основании угла ротора, скорости вращения (и направления, кстати) пересчитываем необходимый ШИМ и подаём его в фазы.
АЦП обмениваются данными с ядром через дма, почти не тратя ресурсов.
Собственно, это все расчеты, которые надо произвести в одном цикле ШИМ. На 474 стм загрузка контроллера не превышает 15-18%. Так что запас есть.

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение29.03.2026, 15:29 


18/11/18
1051
Поправка:
A_I в сообщении #1721237 писал(а):
- на основании угла ротора, скорости вращения (и направления, кстати) пересчитываем необходимый ШИМ и подаём его в фазы.

должно быть:
- на основании значения напряжений, полученных на предыдущем шаге, угла ротора, скорости вращения (и направления, кстати) пересчитываем необходимый ШИМ и подаём его в фазы.

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение29.03.2026, 20:01 


18/11/18
1051
A_I в сообщении #1721237 писал(а):
На 474 стм загрузка контроллера не превышает 15-18%.

Уточнение - это на ШИМе 25 КГц.
На 50 КГц - практически прямо пропорционально - 40-45% загрузка.
(Это при том, что есть ещё множество задач, выполняемых контроллером с гораздо мЕньшей частотой, ну и апериодически. Например, инфо- обмен с тем самым верхним уровнем. Или задачи контроля параметров безопасности - недопустимого нагрева, перенапряжений, превышения токов и т.д. и т.п.)

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение03.04.2026, 10:24 


27/08/16
13919
Существует много способов решить одну и ту же задачу. С различным результатом по ресурсам и точности, которые обычно конфликтуют друг с другом. Без даже формулирования целей (абстрактное "упростить", хоть непонятно в чём именно упрощение, и без целей по точности) вы не знаете, решает ли ваша идея вашу задачу? Да и сравнивать вообще вы свою идею с другими методами просто не можете: опять же, нет критериев сравнения. Просто выкидывание математики не есть упрощение.

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение08.04.2026, 19:48 


18/11/18
1051
Меж тем удалось существенно упростить алгоритм, исключив таки упрощения (тавтология, однако, но прямых Кларка-Парка удалось убить :-) ).
Качественных изменений не заметил (если не считать несущественные моменты). Впрочем и количественных тоже.
То есть, сейчас у меня:
1. Подается с верхнего уровня некая величина-задание. Подается, ест-нно, с частотой интерфейса с этим самым верхним уровнем (если уж конкретно, то у меня сейчас кан- шина, но не суть - может быть что угодно - уарт, рс-, езернет да хоть и беспровод, вай фай, например, и т.д. и т.п. - главное, чтобы обеспечивал необходимую скорость обмена данными)
2. На каждом цикле ШИМ производится регулировка фазных напряжений (а за счет этого, в конечном итоге - фазных токов/момента) и сдвиг фаз в зависимости от текущего задания, расчитанного рассогласования и одномоментных состояний электрической машины. Делается это так:
- текущее задание - понятно (объяснено выше. Для примера, - может быть газ авто, либо тормоз, или, допустим, задание от системы стабилизации ЛА и проч.);
- с рассогласованием (ошибкой) чуть посложнее - в основном применяя старый проверенный метод подбора (не совсем "тупого" :-) ) , находим какую-нибудь полуэмпирику для приведения задания в такие "попугаи", которые были бы сравнимы с некой измеренной величиной (чаще всего или скорость вращения и/или фазные токи, т.е., момент). В моем конкретном случае это чисто токи. И задание и токи приводятся к некой абстрактной величине s16int (не мудрствуя лукаво позаимствовал у STM), а вообще может быть всё что угодно, лишь бы в каком-то адекватном диапазоне это всё работало (на данном этапе "как-то" крутилось, тюнинговать надо попозже). У меня от измеренных токов используется только их амплитуда, но об этом ниже;
- итак, токи померяны, надо ещё узнать положение ротора (электрический угол). Так как в моем движке есть датчики Холла (причем цифровые), то используются именно они. На выходе, после измерений и расчетов имеем сектор (1 из 6-ти).

(Оффтоп)

Кстати, года два назад STM выкатили довольно интересную штуку - технологию ZeST (Ze - типа даже при нулевой скорости Zero Speed Full Torque) - без всяких датчиков они утверждают, что могут очень точно определить положение ротора - как такое вообще возможно?. Они даже отладочную платку выпустили на базе stm32g473. Там вроде и контроллер не совсем стандартный.. Ну и по традиции, все ключевые алгоритмы у них скрыты в библиотеках :cry: Но да ладно, народ предполагает, что единственный возможный вариант - это при нулевой скорости подавать стимулирующие воздействия и оценивать реакцию (естественно, зная заранее все ключевые параметры ЭМ). Но как-то всё сомнительно, наверное, придется прикупить эту отладочную платку и поиграться с ней..

Но да ладно, вернемся к баранам:
- дальше я, предварительно выкинув из алгоритма преобразования Кларка-Парка, использую в расчетах ТОЛЬКО некую усредненную АМПЛИТУДУ ФАЗНЫХ ТОКОВ, справедливо (надеюсь) полагая, что чем она больше, тем больше крутящий момент. И именно по ней замыкаю контур управления;
- далее тут по желанию - некая последовательность из ПИД-регуляторов (у меня в начале заработало вполне сносно и без ПИД, но все же применил один для более тонкой настройки) - прорабатываю рассогласование (собсно, тупая разность между измеренной усредненной амплитудой и заданной);
- обратный Парк всё же пока остаётся (да-да, вот так вот - без прямого Парка задействуется обратный) - для преобразования в фазные напряжения;
- обратный Кларк - выкинут;
- далее - относительно простой алгоритм расчета фаз и дьюти- цикла для ШИМ на основе предыдущих расчетов фазных напряжений/токов и сиюминутного положения ротора.
И всё - работает хорошо. По-крайней мере, в переходных моментах (например, частых сменах направления вращения, да и вообще, значительных изменений скоростей вращения) гораздо лучше шестишагового (скалярного) алгоритма - потребление тока от ИП заметно ниже (не оценивал пока).

 Профиль  
                  
 
 Re: Векторное управление эл. мотором - обязательны ли упрощения?
Сообщение09.04.2026, 13:33 


09/04/26

14
A_I в сообщении #1720761 писал(а):
Как известно, для наиболее эффективного управления (по-крайней мере, в переходных процессах) бесколлекторными двигателями с постоянными магнитами, применяется алгоритм полеориентированного (векторного) управления.


Вы рассматриваете способы управления электроприводами с малым диапазоном регулирования скорости при низких динамических показателях.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: profrotter, Парджеттер, photon, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group