Используйте следующие шаги для разработки подсистемы токового контроллера:
Из библиотеки Motor Control Blockset™ в Simulink® Library Browser, используйте Дискретное ПИ-контроллер с блоком защиты от ветра и сброса (в библиотеке Controllers/Controllers), чтобы спроектировать d тока осей -xis и q -xis.
Функция MATLAB mcb.internal.SetControllerParameters
(в скрипте инициализации модели) вычисляет коэффициент усиления ПИ-регулятора для d-осей и q-осей и контроллера скорости. Для получения дополнительной информации об оценке усиления параметров управления, см. «Оценка коэффициентов усиления из параметров двигателя». Смотрите файл
скрипта инициализации модели mcb_pmsm_foc_qep_f28379d_data.m
(используется в примере Векторное управление PMSM с использованием квадратурного энкодера) для времени дискретизации (Ts) 50
мкс.
В схеме подсистемы переменная Enable является Data Store Memory, используемой для сброса контроллера. Добавление Enable переменной опционально.
Подсистема также использует три постоянных блока с этими значениями:
PI_params.Kp_i
PI_params.Ki_i*Ts
0
Создайте подобную подсистему для q ПИ-контроллера оси. Интегрируйте подсистемы для d ПИ-контроллеров оси q и Current_Controllers в одну подсистему (d), которая управляет токами оси q и оси.
Добавьте блоки Clarke Transform, Park Transform, Inverse Park Transform и Space Vector Generator из Motor Control Blockset/Controls/Math Transforms
библиотека в подсистему Current_controllers (которую вы создали на шаге 1), как показано на этом рисунке.
Интегрируйте компоненты, которые вы создали на шаге 2, в одну подсистему (Управление Замкнутого Цикла, которая реализует векторное управление замкнутого цикла), как показано на этом рисунке.
Создайте подсистему масштабирования выхода, чтобы масштабировать выходы модуляции ширины импульса (PWM). Эта подсистема выводит нормированные коэффициенты заполнения PWM (0
- 1
) для модели объекта управления.
Создайте новую подсистему путем интеграции подсистем токового масштабирования, декодирования положения QEP, Управления Замкнутого Цикла и Выходного масштабирования. Добавьте блок триггера из Simulink/Ports & Subsystems
библиотеку к этой подсистеме и установите параметр Trigger type равным function-call
.
Добавьте Function-Call Generator блок из Simulink/Ports & Subsystems
библиотека к подсистеме, созданной на шаге 5. Установите параметр Sample time блока равным циклом управления шагу расчета, Ts (которое имеет значение по умолчанию 50e-6
с).
Интегрируйте модель объекта управления и подсистему контроллера, которую вы создали на шаге 6. Для получения подробных шагов о том, как создать модель объекта управления для системы управления двигателем, смотрите Создание модели объекта управления с использованием Motor Control Blockset.