Постоянный магнит синхронный двигатель (PMSM) с квадратурным датчиком энкодера требует, чтобы исходное положение запустило двигатель. Когда вы не имеете метода, чтобы определить исходное положение вначале (перед запуском двигателя), запускаете двигатель в разомкнутом контуре и гарантируете, что квадратурный импульс индекса энкодера читается, по крайней мере, однажды. В квадратурном импульсе индекса энкодера квадратурный датчик энкодера сбрасывает свое положение, чтобы выровняться с механическим углом двигателя. Двигатель переключается от разомкнутого контура, запущенного к регулировке скорости с обратной связью, чтобы обеспечить задающую скорость. Этот шаг только применим для квадратурного датчика энкодера а не для датчика положений Холла. Датчик Холла выводит исходное положение сегмента ротора от входных параметров порта сигнала Холла.
Выполните эти шаги, чтобы реализовать моторный запуск разомкнутого контура с переходом к управлению с обратной связью:
Скопируйте mcb_pmsm_foc_qep_f28379d/Current Control/Control_system
подсистема к вашей модели. Это добавляет логику, чтобы запустить двигатель в разомкнутом контуре. Эта подсистема переключает управление от разомкнутого контура до с обратной связью, если входом EnClosedLoop является 1
. Добавьте входной порт EnClosedLoop. Это добавляет блоки Чтения Хранилища данных для Enable и SpeedRef. Добавьте Блоки памяти Хранилища данных Enable, EnClosedLoop и SpeedRef на самом верхнем уровне модели.
Когда запущенный разомкнутый контур начинается, знак SpeedRef решает направление начального моторного запуска. Если SpeedRef отрицателен, моторные вращения в противоположном направлении во время запущенного разомкнутого контура.
Скопируйте mcb_pmsm_foc_qep_f28379d/Current Control/Input Scaling/Calculate Position and Speed
подсистема к вашей модели. Это добавляет IndexFinder
блок. Когда квадратурный импульс индекса энкодера обнаруживается впервые, IndexFound
порт установлен в 1
. Добавьте выходной порт IndexFound
и переименуйте его в EnClosedLoop
.
Соедините выходной порт EnClosedLoop от Входной подсистемы Масштабирования до входного порта EnClosedLoop в подсистеме Control_System как показано в этом рисунке.
Скопируйте mcb_pmsm_foc_qep_f28379d/Speed Control/Speed_Ref_Selector
подсистема к вашей модели. Этот блок использует speed_ref
блокируйтесь, когда управление с обратной связью начнется. Для плавного перехода от разомкнутого контура до с обратной связью измеренная скорость используется в качестве ссылки скорости во время запущенного разомкнутого контура. Добавьте блок Data Store Write 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.
Создайте Блоки памяти Хранилища данных для EnClosedLoop, Enable и SpeedRef. блок Enable используется, чтобы сбросить интегратор PI прежде, чем запустить двигатель. Добавьте эти значения по умолчанию в Блоках памяти Хранилища данных: Enable = 1
, EnClosedLoop = 0
, и SpeedRef = 0.25
.
Блоки памяти Хранилища данных используются, чтобы осуществлять обмен данными через подсистему.
Запустите симуляцию и наблюдайте ссылку скорости и обратную связь скорости.