Управление БДПТ с датчиками Холла
![]() |
![]() |
|Си| |
| в палитре | на схеме |
Описание
Блок ШИМ БДПТ. Программная реализация управления БДПТ (BLDC) двигателем. Два режима управления ключами:
1) ШИМ одним верхним ключом, диагональный открыт 120 градусов (независимое питание верхних драйверов)
2) ШИМ двумя ключами в стойке инвертора в противофазе, диагональный открыт 120 градусов (бутстрепное питание)
На вход DPR (датчик положения ротора ДПР) подаётся число 0..7, состоящее из комбинации 3-х датчиков положения ротора вида 0bCBA, где младший бит – датчик А, старший датчик С. Комбинация 0 и 7 запрещенные, выдается флаг ошибки на выход Err. В состоянии ошибки все выходы таймера выключены (низкое состояние). Высокий уровень на входе stop блока переводит выходные сигналы управления ключами в состояние все ключи закрыты.
На вход pwm_val подается требуемая длительность импульса ШИМ. Значение не должно быть больше периода таймера по модулю, знак определяет направление вращения.
На выход блока s_val выдается значения скважности, приведенные к виду действительного числа в диапазоне 0..1. Выход служит для моделирования работы привода.
На выход s выдается вектор-комбинация состояния ключей инвертора, в соответствии с таблицей 120-градусной коммутации БДПТ.
Можно использовать для программирования двух типов микроконтроллеров 1986BE1T и 1986BE9X.
Основные характеристики таймеров приведены в спецификациях 1986BE1T.pdf и 1986BE9X.pdf.
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| dpr | Значение регистра сравнения таймера. | Математическая |
| pwm_val | Длительность импульса ШИМ, знак определяет направление вращения. | Математическая |
| stop | Остановка. | Математическая |
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| s | Вектор-комбинация состояния ключей инвертора, для моделирования. | Математическая |
| s_val |
Значения скважности [0..1], для моделирования. |
Математическая |
| dpr_out | Число-комбинация ДПР, выход для отладки. | Математическая |
| err | Выход ошибки ДПР. | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Таймер | TIMER | Возможные значения: MDR_TIMER1 MDR_TIMER2 MDR_TIMER3 MDR_TIMER4 (ВЕ1Т) |
MDR_TIMER1 | Перечисление |
| Период ШИМ таймера | PWM_PERIOD | Возможные значения: целые числа [0..65535] |
4000 | Целое |
| Использовать верхнее ограничение скважности ШИМ | PWM_MAX_ON | Возможные значения: Нет, Да |
Нет | Двоичное |
| Верхнее ограничение скважности ШИМ [0..1] | PWM_MAX | Возможные значения: значение в диапазоне [0..1] |
0.95 | Вещественное |
| Использовать нижнее ограничение скважности ШИМ | PWM_MIN_ON | Возможные значения: Нет, Да |
Нет | Двоичное |
| Нижнее ограничение скважности ШИМ [0..1] | PWM_MIN | Возможные значения: значение в диапазоне [0..1] |
0.05 | Вещественное |
| Фаза инвертора A | PHASE_A | Возможные значения: TIMER_CHANNEL1 TIMER_CHANNEL2 TIMER_CHANNEL3 TIMER_CHANNEL4 |
TIMER_CHANNEL1 | Перечисление |
| Фаза инвертора B | PHASE_B | Возможные значения: TIMER_CHANNEL1 TIMER_CHANNEL2 TIMER_CHANNEL3 TIMER_CHANNEL4 |
TIMER_CHANNEL2 | Перечисление |
| Фаза инвертора C | PHASE_C | Возможные значения: TIMER_CHANNEL1 TIMER_CHANNEL2 TIMER_CHANNEL3 TIMER_CHANNEL4 |
TIMER_CHANNEL3 | Перечисление |
| Режим управления ключами | SWITCH_MODE | Возможные значения: SW_MODE_1 SW_MODE_2 |
SW_MODE_2 | Перечисление |
Параметры
Блок не имеет параметров.

