Выбор ключей в зависимости от ДПР

|Си|
в палитре на схеме

Блок используется для разработки системы управления приводом без коллекторного двигателя постоянного тока (БДПТ) и содержит алгоритм выбора ключей для управлением инвертором в зависимости от значения дискретных сигналов трех датчиков Холла. Блок можно использовать в режиме моделирования и для программирования блока управления приводом БДПТ, для этого необходимо настроить соответствующие параметры в окне свойств блока. Блок можно использовать для программирования двух типов микропроцессоров 1986BE1T и 1986BE9X. Алгоритм работы блока в режиме моделирования приведен в таблице соответствия ключей инвертора значениям дискретных датчиков Холла:

Расположение фаз двигателя и дополнительная информация приведены в работе Калачев Ю.Н. - Моделирование в электроприводе.

Для использования блока в управление реальным электроприводом необходимо самостоятельно настроить таблицу соответствия ключей инвертора значениям дискретных датчиков Холла. Предполагается, что каждый канал таймера общего назначения соединен с одной из фаз БДПТ A, B и C, прямые каналы управляют верхними ключами S1, S3, S5, а инверсные с нижними S2, S4, S6. При работе пары ключей «шимируются» нижнии ключи, а верхнии просто открыты в течении периода ШИМ. В качестве управляющего значения на вход блока поступает сигнал «ctl_u» он меняет свои значения в диапазоне от 0 до 1 и является результатом работы ПИ регулятора.

Для управлением ШИМ используем соотношение:

Width_Out = ctl_u * PWM_Period,

где значением Width_Out инициализируем регистры инверсных выходов каналов CCR(1..4) управляющих нижними ключами инвертора (см. спецификацию 1986BE1T.pdf, 1986BE9X.pdf). Значения для настройки управляющих регистров прямых и инверсных выходов канала таймера определяются в инклуд файле «timer.h»файла main.c проекта Test_Driver (в среде разработки Keil), который создается при генерации кода проекта и содержит тексты программ алгоритма на языке СИ.

MDR_TIMER->CH(1..4)_CNTRL1 = Phase_High1_Low0; (Верхний ключ инвертора)

MDR_TIMER->CH(1..4)_CNTRL1 = Phase_LowPWM; (Нижний ключ инвертора)

Дискретные значения датчиков Холла необходимо преобразовать к цифровому формату «CBA» (три бита), где «A» расположен в позиции самого младшего бита. Для этого в свойствах блока необходимо указать выводы порта микропроцессора соответствующие дискретным значениям датчиков Холла (предполагается что для получения значения датчиков используется один из портов МК).

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

Входы

  • dpr - массив дискретных значений датчиков Холла (в режиме моделирования);
  • znm - знак момента ротора электродвигателя;
  • ctl_u - выход ПИ регулятора, для управления ШИМ.

Выходы

  • S - диспозиция ключей на инверторе (для режима моделирования).

Свойства:

Название Имя Описание По умолчанию
    Один из трех таймеров (TIMER1, TIMER2, TIMER3, TIMER4 (для МК 1986BE1T)) TIMER3
Период PWM_Period Период ШИМ 3600
Преобразование дискретных сигналов датчиков Холла к виду CBA  
Порт со значениями дискретных сигналов Port Дискретные сигналы записываются в выходы определенного порта PORT_E
Выход порта для A PIN_A Пин порта на который выведен датчик Холла A нет
Выход порта для B PIN_B Пин порта на который выведен датчик Холла B нет
Транслировать скрипт в код автоматически autotranslate В случае активизации опции autotranslate, будет сгенерован Си-код секции моделирования блока (эта опция используется при удаленной отладке проекта на целевой системе) нет
Таблица включения ключей в зависимости от сигналов датчиков Холла HALL_CBA
HALL_CBA_100   Выбор диспозиции ключей инвертора для CBA 100
Закрыть фазу, номер канала Phase_Closed_100 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel1
Открыть верхний ключ, номер канала Phase_High_100 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel2
Открыть нижний ключ, номер канала Phase_LowPWM_100 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel3
HALL_CBA_010   Выбор диспозиции ключей инвертора для CBA 010
Закрыть фазу, номер канала Phase_Closed_010 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel3
Открыть верхний ключ, номер канала Phase_High_010 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel1
Открыть нижний ключ, номер канала Phase_LowPWM_010 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel2
HALL_CBA_110   Выбор диспозиции ключей инвертора для CBA 110
Закрыть фазу, номер канала Phase_Closed_110 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel2
Открыть верхний ключ, номер канала Phase_High_110 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel1
Открыть нижний ключ, номер канала Phase_LowPWM_110 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel3
HALL_CBA_001   Выбор диспозиции ключей инвертора для CBA 001
Закрыть фазу, номер канала Phase_Closed_001 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel2
Открыть верхний ключ, номер канала Phase_High_001 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel3
Открыть нижний ключ, номер канала Phase_LowPWM_001 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel1
HALL_CBA_101   Выбор диспозиции ключей инвертора для CBA 101
Закрыть фазу, номер канала Phase_Closed_101 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel3
Открыть верхний ключ, номер канала Phase_High_101 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel2
Открыть нижний ключ, номер канала Phase_LowPWM_101 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel1
HALL_CBA_011   Выбор диспозиции ключей инвертора для CBA 011
Закрыть фазу, номер канала Phase_Closed_011 Каждому каналу назначена фаза электродвигателя, все ключи этой фазы закрыты Channel1
Открыть верхний ключ, номер канала Phase_High_011 Выбираем канал, он привязан к фазе электродвигателя и открываем верхний ключ, на инверсном выводе 0 Channel3
Открыть нижний ключ, номер канала Phase_LowPWM_011 Выбираем канал, он привязан к фазе электродвигателя и открываем нижний ключ с шимом, а верхний прямой закрыт Channel2

Параметры

нет