Найти в Дзене
TDM Lab

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

В ответ на пост Уже писал ранее, что у STM появился набор плат и ПО для работы с высокочувствительным наблюдателем (High Sensitivity Observer (HSO)). Сейчас мне пришли платы B-G473E-ZEST1S и STEVAL-LVLP01😊 Это управляющая и силовая платы соответственно для работы с новым алгоритмом. Подопытным двигателем выступает T-Motor MN505-S. Двигатель гораздо мощнее чем силовая плата, плата LVLP01 рассчитана всего на 7А фазного тока, а двигатель на 55А. Тем не менее мне интересно проверить алгоритм именно на нём для последующего применения на более мощной силовой части. Вообще, наблюдатели состояния нужны для бездатчикового определения положения ротора электрических двигателей, например синхронных по типу PMSM/BLDC. В обычной ситуации система определения угла ротора в двигателях без датчика работает, начиная от некоторой скорости вращения. То есть с нуля двигатель раскручивается в режиме без обратной связи, а потом петля замыкается на определенной скорости и дальше уже управляем методом FOC. Эт

В ответ на пост

Уже писал ранее, что у STM появился набор плат и ПО для работы с высокочувствительным наблюдателем (High Sensitivity Observer (HSO)).

Сейчас мне пришли платы B-G473E-ZEST1S и STEVAL-LVLP01😊

Это управляющая и силовая платы соответственно для работы с новым алгоритмом. Подопытным двигателем выступает T-Motor MN505-S. Двигатель гораздо мощнее чем силовая плата, плата LVLP01 рассчитана всего на 7А фазного тока, а двигатель на 55А. Тем не менее мне интересно проверить алгоритм именно на нём для последующего применения на более мощной силовой части.

-2

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

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

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

HSO призван решить эти проблемы. Тут работают сразу два алгоритма. Первый PolPulse позволяет определить положение ротора на нулевой скорости. Делается это путем подачи нескольких (в конкретном случае 4-х) пакетов коротких (~70мкс) импульсов.

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

-3
-4

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

-5

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

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

-6

В микроконтроллере этим занимаются сразу 3 отдельных АЦП, благо их в G473 целых 5 штук.

-7

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

-8

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

Или двигатель не подойдет по индуктивности или еще что-то.

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

-9