Синхронный двигатель с постоянным магнитом (PMSM) с квадратурным датчиком кодирования требует начального положения для запуска двигателя. Поскольку у вас нет метода определения начального положения в начале (перед запуском двигателя), запустите двигатель в разомкнутом контуре и убедитесь, что импульс индекса квадратурного кодера считывается хотя бы один раз. В импульсе индекса квадратурного кодера датчик квадратурного кодера сбрасывает свое положение для выравнивания с механическим углом двигателя. Двигатель переключается с работы с разомкнутым контуром на управление скоростью с замкнутым контуром для поддержания опорной скорости. Этот шаг применим только для квадратурного датчика положения, а не для датчика положения Холла. Датчик Холла выводит начальное положение сегмента ротора с входов сигнального порта Холла.
Выполните следующие действия для реализации запуска двигателя с разомкнутым контуром с переходом на управление с замкнутым контуром:
Копировать mcb_pmsm_foc_qep_f28379d/Current Control/Control_system подсистему к модели. Это добавляет логику для запуска двигателя с разомкнутым контуром. Эта подсистема переключает управление с разомкнутого контура на замкнутый, если вход EnTLoop 1. Добавьте входной порт EnTalkLoop. При этом добавляются блоки чтения хранилища данных для Enable и SpeedRef. Добавьте блоки памяти Data Store Enable, EnForcedLoop и SpeedRef на самом верхнем уровне модели.
Когда начинается запуск с разомкнутым контуром, знак SpeedRef определяет направление начального запуска двигателя. Если SpeedRef отрицательный, двигатель вращается в противоположном направлении во время запуска с разомкнутым контуром.

Копировать mcb_pmsm_foc_qep_f28379d/Current Control/Input Scaling/Calculate Position and Speed подсистему к модели. Это добавляет IndexFinder блок. При первом обнаружении импульса индекса квадратурного кодера IndexFound для порта установлено значение 1. Добавление выходного порта IndexFound и переименовать его в EnClosedLoop.

Подключите выходной порт EnCloudLoop из подсистемы масштабирования ввода к входному порту EnClootLoop в подсистеме Control_System, как показано на этом рисунке.

Копировать mcb_pmsm_foc_qep_f28379d/Speed Control/Speed_Ref_Selector подсистему к модели. Этот блок использует speed_ref блокируется при начале управления по замкнутому контуру. Для плавного перехода от разомкнутого контура к замкнутому контуру измеренная скорость используется в качестве эталона скорости во время разомкнутого цикла. Добавьте блок записи в хранилище данных SpeedRef в PI_Controller_Speed входной порт.

В модели завода добавляется ввод шага для моделирования блока IndexFinder для моделирования. Переименование вводимого шага в Switch to closed loop. См. раздел mcb_pmsm_foc_qep_f28379d/Inverter and Motor - Plant Model/Sensor_Measurments подсистема ступенчатого ввода для переключения на замкнутый контур. Выберите время шага 0.1 и время выборки Ts_motor.

Создайте блоки памяти Data Store для EnReadingLoop, Enable и SpeedRef. Блок Enable используется для сброса интегратора PI перед запуском двигателя. Добавьте эти значения по умолчанию в блоки памяти хранилища данных: Enable = 1, EnTP Loop = 0, и SpeedRef = 0.25.
Блоки памяти хранилища данных используются для совместного использования данных в подсистеме.
Выполните моделирование и проверьте опорную скорость и обратную связь.