Управление бездатчиковыми бесколлекторными двигателями (Sensorless BLDC)
Существуют бесколлекторный двигатели без каких либо датчиков положения или энкодеров. В таких двигателях определение положения ротора выполняется путем измерения ЭДС на свободной фазе. Мы помним, что в каждый момент времени к одной из фаз подключен "+" к другой "-" питания, одна из фаз остается свободной. Вращаясь, двигатель наводит ЭДС в свободной обмотке. По мере вращения напряжение на свободной фазе изменяется. Измеряя напряжение на свободной фазе, можно определить момент переключения к следующему положению ротора. Обычно определяют момент перехода напряжения на свободной фазе через нулевую точку (половину питающего напряжения). Т.е. нужно отследить момент, когда напряжение на свободной фазе сравняется со средней точкой. Разумеется, для работы этого метода двигатель должен вращаться. Этот метод хорошо работает при сравнительно высоких оборотах двигателя. При низких оборотах наводимая ЭДС может оказаться недостаточной для четкого определения положения ротора. Тем не менее, этот метод применяется. Один из методов определения положения ротора при невращающемся двигателе будет рассмотрен в следующей статье. Способы запуска беcколлекторного бездатчикового двигателя также будут рассматриваться в следующей статье.
Схема со средней точкой
Когда ключи открыты, через фазы протекает ток и средняя точка "привязана" к питающему напряжению. В этот момент на свободной фазе двигателя выполняются измерения. Очевидно, что при разомкнутых ключах, измерение напряжения на свободной фазе не даст результата, поскольку нулевая точка как бы висит в воздухе.Виртуальная средняя точка
В большинстве случаев средняя точка недоступна. Т.е. нет возможности физически подключиться к ней без разборки двигателя. Обойти эту ситуацию поможет создание виртуальной средней точки.Рис. 2
Эта схема очень проста и применяется очень часто, но она имеет свои недостатки. Из за ШИМ напряжение средней точки не постоянно. Оно колеблется в широком диапазоне напряжений. Для того чтобы микроконтроллер смог измерить напряжение, применяются цепи согласования сигналов - делители напряжения и RC-фильтры для сглаживания колебаний.
Рис. 3
Если Ваш двигатель питается напряжением 24 вольта, то в средней точке напряжение может находиться в пределах от 0 до 24 Вольт. Микроконтроллеры обычно имеют предел измерения 5 В. Без схем согласования уровней сигналов не обойтись. Учтите, что повысив напряжение питания двигателя, следует изменить и делители напряжения в цепях согласования. В противном случае напряжение может превысить допустимое и вывести со строя микроконтроллер. Для предотвращения таких ситуаций дополнительно применяют схемы защиты.
Присутствие делителя напряжения ведет к снижению чувствительности на малых оборотах двигателя, а наличие фильтров вносит задержку. Задержка является причиной погрешностей в определении положения ротора и может стать критичной для управления двигателями на высоких скоростях.
Поскольку схема с виртуальной средней точкой достаточно шумная, можно прибегнуть к другой схеме, где стабильное напряжение средней точки устанавливается отдельно и зависит от питающего напряжения.
В литературе встречались упоминания о схемах, которые используют измерение третьей гармоники статора. Также есть упоминание о применение высокочастотного сигнала для определения положения ротора. Однако более подробной информации об этом методе сообщить не могу.
Мы будем рассматривать простую схему, в которой стабильное напряжение средней точки устанавливается отдельно.
Алгоритм коммутаций
На свободной фазе нам нужно будет измерять напряжение. Напряжение можно измерять с помощью АЦП и сравнивать со средней точкой. АЦП имеют время преобразования, что вносит погрешность в вычисления. Логичнее использовать компараторы. Нам ведь не обязательно знать значение напряжения. Важно определить сам момент перехода через среднюю точку. Компаратор срабатывает именно в момент перехода напряжения через среднюю точку и может генерировать прерывание для микроконтроллера. Рассмотрим следующую временную диаграмму:На первом этапе 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↓ |
Выбор частоты ШИМ
Зачастую в приводах определение положения ротора, измерения тока, напряжения и т.п. синхронизируют с сигналом ШИМ . Т.е. в определенные моменты с периодичностью, зависящей от частоты ШИМ сигнала.Предположим ситуацию, когда, частота ШИМ 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кГц. Нужно так же помнить, что чем выше частота ШИМ, тем больше переходных процессов происходит на ключах за единицу времени. Это может привести к увеличению потерь и к увеличению тепловыделения на ключах.
Статті по безколекторним двигунам:
- Бесколлекторный мотор постоянного тока. Что это такое?
- Устройство бесколлекторного мотора
- Управление бесколлекторным мотором с датчиками Холла (Sensored brushless motors)
- Управление бесколлекторными моторами без бездатчиков (Sensorless BLDC)
- Запуск бесколлекторного мотора без бездатчиков (Sensorless BLDC)
- Определение положения ротора бесколлекторного мотора в остановленном состоянии
- Регулятор бесколлекторного мотора. Структура (ESC)
- Схема регулятора бесколлекторного мотора (Схема ESC)
- Силова частина регулятора BLDC двигунів
- Література по безколекторним двигунам.
- Безколекторні двигуни. Приклади програм для мікроконтролера
- Схема регулятора BLDC на STM32
- STM32. Приклад. Керування безколекторним двигуном (BLDC)
- STM32. Приклад. Керування PMSM. Приклади програм
- Видео о бесколлекторных моторах. BLDC, PMSM, векторное управление (російською)
Очень интересные примеры и решения. Но как я понимаю в них не присутствуют законы регулирования(ПД, ПИ. ПИД, оптимального управления, ...) и есть несколько вопросов. К сожалению не нашел как к вам обратиться на прямую. Если не затруднит сообщите о возможности связи на [email protected] или смс +7(911)7677368. С уважением, П.А.Кудрявцев
Конкретно эта статья относится к тем, которые описывают базовые принципы скалярного управления мотором. И, разумеется, здесь не идет речь об ПИД регуляторах, какой либо обратной связи или стабилизации оборотов/момента.
Недавні записи
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
Tags
battery soldering java-script ngnix adc rs-232 flask esp8266 watchdog web exti solar mongodb rtc sms pwm usart books ethernet smd git websocket meteo css python dc-dc displays led ssd1306 eeprom gpio barometer max1674 mpx4115a brushless motor mpu-6050 timer sensors remap servo bldc atmega pmsm 3d-printer flash encoder examples dma raspberry-pi tim ssd1331 piezo mpu-9250 rfid eb-500 foc bme280 gps nvic dht11 bluetooth hih-4000 stm32 st-link docker uart avr html wifi bmp280 bkp nodemcu options usb lcd programmator i2c capture
Архіви