Jump to content

    

управление заблокироанным двигуном BLDC

использую MCSDK от STM. пускаю колесо гироскутера, с сенсорами холла в 120градусов разведения.

 

плавный запуск двигателя из покоя нормальный. Если же я в момент запуска кручу колесо в обратном направлении, то в начале я чувствую небольше усилие пуска, перебарываю его (несильно), колесо блокируется. оно блокируется боее чем на секунду. за это время ток в статоре плавно нарастает почти до половины максимально допустимого тока (на порядок больше работчих токов кручения).  Нарастание тока задается ПИД регулятором скорости , который пытается дать разгон.

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

 

токи обмоток вполне соответствуют требуемым. например:

холлы [А Б С]  = 6(BC)->4 (C) (измеряемый угол  -90 градусов), развиваются токи фаз Ic = 10А, Ib = -10А, Ia = 0. 

спустя секунду холл 4->5 (измеряемый угол  -30 градусов), токи переключаются  Ic = 0, Ib = -10A, Ia = 10А. начинается бодрый разгон.

 

Может кто объяснить механизм блокирования колеса? как с этим бороться?

 

 

Edited by AlexRayne
поправил токи в примере блокиирования

Share this post


Link to post
Share on other sites
7 минут назад, AlexRayne сказал:

использую MCSDK от STM.

...

Может кто объяснить механизм блокирования колеса? как с этим бороться?

Видимо баг какой-то в этом MCSDK.

Share this post


Link to post
Share on other sites
3 часа назад, AlexRayne сказал:

Может кто объяснить механизм блокирования колеса? как с этим бороться?

 

 

 

причина была в смещении фазы сенсоров холлов. был установлен 0градусов на середине сектора 5. обнулил смещение, так что 0 - в начале сектора. блокировка ушла.

Share this post


Link to post
Share on other sites

работаю с BLDC двигателями, колесами гироскутера.

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

через секунду выключается по какойто защите. 

Какая практика управления двигунами, когда они останавливаются на большой нагрузке? Кто как делает?

Share this post


Link to post
Share on other sites

И как у вас сделана цепь демпфера? То есть сброса переизбытка энергии, перед срабатыванием защиты. Может там косяки? Да и на чем и как сделан у вас сам BLDC?

Share this post


Link to post
Share on other sites
6 минут назад, Aner сказал:

И как у вас сделана цепь демпфера? То есть сброса переизбытка энергии, перед срабатыванием защиты. Может там косяки? Да и на чем и как сделан у вас сам BLDC?

БЛДС - колесо гироскутера.

что значит переизбыток энергии?

когда колесо блокируется, ПВМ начинает работать на короткозамкнутый дросель обмоток. ток в дроселе огромный а напруга маленькая, от источника питания он почти ничего не ест. 

о какой энергии Вы говорите? 

демпфер у нас - аккумулятор. по крайней мере я на это надеюсь. 

Share this post


Link to post
Share on other sites
13 minutes ago, AlexRayne said:

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

через секунду выключается по какойто защите. 

Какая практика управления двигунами, когда они останавливаются на большой нагрузке? Кто как делает?

Эт рассинхрон с датчикам холла.
Не имеет значения крутит ли двигатель на холостом ходу или его насильно крутят в обратном направлении, последовательность синхронизма с холлами должна оставаться неизменной. 
 

Share this post


Link to post
Share on other sites
1 минуту назад, AlexandrY сказал:

Эт рассинхрон с датчикам холла.
Не имеет значения крутит ли двигатель на холостом ходу или его насильно крутят в обратном направлении, последовательность синхронизма с холлами должна оставаться неизменной. 
 

рассинхрон я проверю. но почемуто уверен что не в нем дело. я с ним уже долго поборолся, и вполне уверен что фазы холлов я отрабатываю как надо.

двигатель дает некоторе усилие, в правильном направлении. но это усилие неадекватно току помоему.

плавный  запуск на изначально блокированном колесе показывает тоже неприятное поведение - ток плавно выгоняется на максимум, а усилие кручения както не сильно увеличивается. я ожидал что мне руку свернет, а вот нет.

Share this post


Link to post
Share on other sites
24 минуты назад, AlexRayne сказал:

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

через секунду выключается по какойто защите. 

Ищите ошибки в своём алгоритме управления. Такого не должно быть.

24 минуты назад, AlexRayne сказал:

Какая практика управления двигунами, когда они останавливаются на большой нагрузке? Кто как делает?

Обычная - выключение при превышении током порогового значения.

2 минуты назад, AlexRayne сказал:

рассинхрон я проверю. но почемуто уверен что не в нем дело. я с ним уже долго поборолся, и вполне уверен что фазы холлов я отрабатываю как надо.

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

Share this post


Link to post
Share on other sites
7 minutes ago, AlexRayne said:

рассинхрон я проверю. но почемуто уверен что не в нем дело. я с ним уже долго поборолся, и вполне уверен что фазы холлов я отрабатываю как надо.

У нас был случай когда пришел движок с ротором имевшим в два раза меньше полюсов (более скоростной).  Внешне ничем не отличался от старого.
Но  изменение полюсов в  роторе требует изменения фазировки. 
У вас точно плохая фазировка. 

Share this post


Link to post
Share on other sites
14 минут назад, AlexandrY сказал:

Но  изменение полюсов в  роторе требует изменения фазировки. 

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

Share this post


Link to post
Share on other sites
33 минуты назад, jcxz сказал:

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

Можно подробнее об этой проверке? что я должен посмотреть и увидеть?

Share this post


Link to post
Share on other sites
21 минуту назад, AlexRayne сказал:

Можно подробнее об этой проверке? что я должен посмотреть и увидеть?

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

Я всегда так ищу правильный угол.

Потребляемый ток (всем двигателем) тоже при этом углу будет минимальный.

Share this post


Link to post
Share on other sites
1 час назад, jcxz сказал:

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

Линеаризация есть. но пока она мне маловажна, я ж в статике отрабатываю.

Фазировку проверил - на блокированом колесе задал постоянное усилие. токи в обмотки выдаются прям как по таблице. токи в статоре большие, усилие неахти. в момент дерганья только очень сильно рвет. а затем давит чуть. от БП при этом потребляется ватт 50.

 

 

3 минуты назад, jcxz сказал:

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

Я всегда так ищу правильный угол.

Потребляемый ток (всем двигателем) тоже при этом углу будет минимальный.

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

Этим я КПД конечно выиграю, но имхо усилие колеса в статике это не прибавит.

Share this post


Link to post
Share on other sites
6 минут назад, AlexRayne сказал:

Фазировку проверил - на блокированом колесе задал постоянное усилие. токи в обмотки выдаются прям как по таблице. токи в статоре большие, усилие неахти. в момент дерганья только очень сильно рвет. а затем давит чуть. от БП при этом потребляется ватт 50.

А какой режим управления? По моменту или по скорости? Что стабилизируете ПИД-ом?

Может у Вас напряжение на БП проваливается?

Вообще - при управлении по скорости с ростом момента сопротивления на валу должен соответствующе расти момент двигателя. Чтобы компенсировать момент сопротивления и удержать скорость. Пока момент двигателя не превысит заданный порог (если есть ограничение по моменту двигателя) - на этом пороге происходит ограничение и тогда скорость начинает падать. У меня так и происходит.

Реакция на изменение момента сопротивления может происходить с какой-то задержкой - в зависимости от коэффициентов ПИД.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now