Управление бездатчиковыми бесколлекторными двигателями (Sensorless BLDC)


02.08.2013

Существуют бесколлекторный двигатели без каких либо датчиков положения или энкодеров. В таких двигателях определение положения ротора выполняется путем измерения ЭДС на свободной фазе. Мы помним, что в каждый момент времени к одной из фаз подключен "+" к другой "-" питания, одна из фаз остается свободной. Вращаясь, двигатель наводит ЭДС в свободной обмотке. По мере вращения напряжение на свободной фазе изменяется. Измеряя напряжение на свободной фазе, можно определить момент переключения к следующему положению ротора. Обычно определяют момент перехода напряжения на свободной фазе через нулевую точку (половину питающего напряжения). Т.е. нужно отследить момент, когда напряжение на свободной фазе сравняется со средней точкой.  Разумеется, для работы этого метода двигатель должен вращаться. Этот метод хорошо работает при сравнительно высоких оборотах двигателя. При низких оборотах наводимая ЭДС может оказаться недостаточной для четкого определения положения ротора. Тем не менее, этот метод применяется. Один из методов определения положения ротора при невращающемся двигателе будет рассмотрен в следующей статье. Способы запуска беcколлекторного бездатчикового двигателя также будут рассматриваться в следующей статье.

Схема со средней точкой

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

bldc Рис. 1

Виртуальная средняя точка

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

bldc

Рис. 2

Эта схема очень проста и применяется очень часто, но она имеет свои недостатки. Из за ШИМ напряжение средней точки не постоянно. Оно колеблется в широком диапазоне напряжений.  Для того чтобы микроконтроллер смог измерить напряжение, применяются цепи согласования сигналов - делители напряжения и RC-фильтры для сглаживания колебаний.

bldc

Рис. 3

Если Ваш двигатель питается напряжением 24 вольта, то в средней точке напряжение может находиться в пределах от 0 до 24 Вольт. Микроконтроллеры обычно имеют предел измерения 5 В. Без схем согласования уровней сигналов не обойтись. Учтите, что повысив напряжение питания двигателя, следует изменить и делители напряжения в цепях согласования. В противном случае напряжение может превысить допустимое и вывести со строя микроконтроллер. Для предотвращения таких ситуаций дополнительно применяют схемы защиты.

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

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

bldc Рис. 4

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

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

Алгоритм коммутаций

На свободной фазе нам нужно будет измерять напряжение. Напряжение можно измерять с помощью АЦП и сравнивать со средней точкой. АЦП имеют время преобразования, что вносит погрешность в вычисления. Логичнее использовать компараторы. Нам ведь не обязательно знать значение напряжения. Важно определить сам момент перехода через среднюю точку. Компаратор срабатывает именно в момент перехода напряжения через среднюю точку и может генерировать прерывание для микроконтроллера. Рассмотрим следующую временную диаграмму:

bldc4 Рис. 6

На первом этапе P1 на фазу V подается "+", минус - на фазу U. При этом напряжение на фазе W начинает расти и в середине периода P1 пересекает нулевую точку - половину напряжения между фазами V и U, т.е. половину питающего напряжения. Как видно из диаграммы, изменение состояния ключей нужно выполнить на половине периода между событием пересечения нулевой точки (ZC). После переключения состояния ключей (этап P2) измерения выполняем на свободной фазе V. Обратите внимание на то, что напряжение на свободной фазе может расти или падать. Это придется учитывать при работе компараторов. Таким образом, наш регулятор должен помнить на каком шаге от P1 до P6 находится, и переходить к следующему состоянию, исходя из расчетов времени, вычисленных между событиями ZC.

Ниже приведена таблица соответствия состояния ключей и свободных фаз для каждого из 6 положений ротора:

Этап Питание + Питание - Открытые ключи Измерения на фазе
P1 V U SW1, SW5 W↑
P2 W U SW3, SW5 V↓
P3 W V SW3, SW4 U↑
P4 U V SW2, SW4 W↓
P5 U W SW2, SW6 V↑
P6 V W SW1, SW6 U↓
Итак, нам понадобится подсчитывать время между ZC. И отмерять время от события ZC до переключения ключей. Это время должно учитывать угол опережения фазы.

Выбор частоты ШИМ

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

Предположим ситуацию, когда, частота ШИМ 8 кГц, скважность 100% (полный газ), двигатель вращается со скоростью, при которой частота коммутаций тоже равняется 8 кГц. Т.е. от момента переключения ключей до следующего переключения проходит ровно один период ШИМ сигнала. Если скорость вращения возрастёт и частота коммутаций превысит частоту ШИМ, возникнет ситуация, при которой ШИМ сигнал будет удерживать ключи открытыми дольше необходимого и противодействовать вращению двигателя. Кроме того, измерение напряжения на свободной фазе синхронизированы частотой ШИМ сигнала, поэтому нет технической возможности вычислить скорость коммутации выше частоты ШИМ. Другими словами контролер теоретически не сможет управлять двигателем, если тот вращается со скоростью, при которой частота коммутаций превышает частоту ШИМ сигнала. Это только теоретические расчеты. На практике, желательно чтобы частота ШИМ в несколько раз превышала частоту коммутаций.

Например, имеем регулятор с частотой ШИМ 8 кГц, и двигатель с 14 магнитами. Максимальная теоретически возможная частота вращения вала двигателя будет:

V=(Q/6/(N/2)*60);

Q - частота ШИМ в герцах 6 - количество коммутаций за один электрический оборот N - количество магнитов 60 - количество секунд в минуте

V=((8000/6/(14/2))*60) = 11428 об/мин.

Двигатель с 28 магнитами: V=((8000/6/(28/2))*60) = 5714 об/мин.

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

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

Статті по безколекторним двигунам:

Brushless Motors Корисно знати
Коментарі:
Pavel Kudryavtsev говорить:
03.06.2020 18:45
Очень интересные примеры и решения. Но как я понимаю в них не присутствуют законы регулирования(ПД, ПИ. ПИД, оптимального управления, ...) и есть несколько вопросов. К сожалению не нашел как к вам обратиться на прямую. Если не затруднит сообщите о возможности  связи на [email protected] или смс +7(911)7677368.
С уважением, П.А.Кудрявцев

andre говорить:
04.06.2020 06:26
Конкретно эта статья относится к тем, которые описывают базовые принципы скалярного управления мотором. И, разумеется, здесь не идет речь об ПИД регуляторах, какой либо обратной связи или стабилизации оборотов/момента.

Додати коментар
Code
* - обов'язкові поля

Архіви