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