Управление БДПТ с датчиком Холла
![]() |
![]() |
| Си | |
| в палитре | на схеме |
Описание
- ШИМ одним верхним ключом, диагональный открыт 120 градусов (независимое питание верхних драйверов)
- ШИМ двумя ключами в стойке инвертора в противофазе, диагональный открыт 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 | Перечисление |
Параметры
Блок не имеет параметров.

