Управление БДПТ с датчиком Холла

| Си |
в палитре на схеме
Блок ШИМ БДПТ. Программная реализация управления БДПТ (BLDC) двигателем. Два режима управления ключами:
  1. ШИМ одним верхним ключом, диагональный открыт 120 градусов (независимое питание верхних драйверов)
  2. ШИМ двумя ключами в стойке инвертора в противофазе, диагональный открыт 120 градусов (бутстрепное питание)

На вход DPR (датчик положения ротора ДПР) подаётся число 0..7, состоящее из комбинации 3-х датчиков положения ротора вида 0bCBA, где младший бит – датчик А, старший датчик С. Комбинация 0 и 7 запрещенные, выдается флаг ошибки на выход Err. В состоянии ошибки все выходы таймера выключены (низкое состояние). Высокий уровень на входе stop блока переводит выходные сигналы управления ключами в состояние все ключи закрыты.

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

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

На выход s выдается вектор-комбинация состояния ключей инвертора, в соответствии с таблицей 120-градусной коммутации БДПТ.

При кодогенерации используется стандартная библиотека GD32F10X v2.2.0, предоставляемая производителем микроконтроллеров GigaDevice. Подробные настройки можно найти в документации на микроконтроллер.

Входные порты

Имя Описание Тип линии связи
dpr Вход для числа-комбинации датчиков положения ротора с порта микроконтроллера Математическая
pwm_val Длительность импульса ШИМ, знак определяется направление вращения (положительное значение ШИМ – по часовой стрелке, отрицательное – против) Математическая
stop Остановка Математическая

Выходные порты

Имя Описание Тип линии связи
s Вектор-комбинация состояния ключей инвертора, для моделирования Математическая
s_val Значения скважности [0..1], для моделирования Математическая
dpr_out Число-комбинация ДПР, выход для отладки Математическая
err Выход ошибки ДПР Математическая

Свойства

Название Имя Описание По умолчанию Тип данных
Таймер TIMER Возможные значения: «TIMER0», «TIMER7» TIMER0 Перечисление
Период ШИМ таймера 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 Возможные значения: «CH0», «CH1», «CH2» CH0 Перечисление
Фаза инвертора B PHASE_B Возможные значения: «CH0», «CH1», «CH2» CH1 Перечисление
Фаза инвертора C PHASE_C Возможные значения: «CH0», «CH1», «CH2» CH2 Перечисление
Режим управления ключами SWITCH_MODE

Возможные значения: «SW_MODE_1», «SW_MODE_2»

SW_MODE_2 Перечисление

Параметры

Блок не имеет параметров.