Проект MATLAB для FOC PMSM с квадратурным энкодером

Этот проект MATLAB ® предоставляет модель примера управления двигателем, которая использует векторное управление (FOC), чтобы запустить трехфазный синхронный двигатель с постоянными магнитами (PMSM) в различных режимах работы. Реализация алгоритма FOC требует обратной связи о положении ротора в реальном времени. Этот пример использует квадратурный датчик энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о ВОК смотрите Векторное управление (ВОК).

Пример может запустить двигатель в следующих режимах:

  • StandBy - В этом режиме двигатель перестает вращаться, потому что инвертор выводит нуль вольт.

  • Калибровка - В этом режиме пример калибрует смещение АЦП (или ток) и смещение квадратурного энкодера (смещение между d-ось ротора и положение индекса энкодера, обнаруженное датчиком квадратурного энкодера).

  • Управление скоростью разомкнутого контура - В этом режиме пример управляет скоростью ротора, вращая двигатель в регулировании без обратной связи.

  • Управление крутящим моментом замкнутого цикла - В этом режиме пример управляет выходным крутящим моментом двигателя, вращая его в системе управления с обратной связью.

  • Управление Скоростью Замкнутого Цикла - В этом режиме пример управляет скоростью ротора, вращая двигатель в системе управления с обратной связью.

Примечание. При запуске модели примера на оборудовании мы рекомендуем вам остановить двигатель (путем переключения в режим StandBy) перед переходом от одного рабочего режима к другому.

Откройте проект MATLAB

Используйте один из следующих методов, чтобы открыть проект MATLAB, чтобы следовать этому рабочему процессу:

1. Нажмите «Открыть пример».

2. Выполните команду mcb_QEPWorkflowDemoStart в командной строке.

Модель

Проект MATLAB включает модель mcb_qep_workflow.

Эта модель (также называемая целевой моделью) автоматически открывается, когда вы открываете проект MATLAB. Можно также использовать окно Project, чтобы открыть эту модель, доступную в model папка.

Необходимые продукты MathWorks ®

Чтобы симулировать модель:

  • Motor Control Blockset™

  • Stateflow ®

Чтобы сгенерировать код и развернуть модель:

1. Motor Control Blockset™

2. Embedded Coder ®

3. Пакет поддержки Embedded Coder ® для процессоров Instruments™ C2000™ в Техасе

4. Fixed-Point Designer™ (требуется только для оптимизированной генерации кода)

5. Stateflow ®

Необходимые условия

1. Получите параметры двигателя и инвертора. Проект MATLAB использует параметры двигателя и инвертора по умолчанию, которые можно заменить значениями из таблиц данных двигателя и инвертора или из других источников.

Инструмент оценки параметра обновляет motorParam переменная (в рабочей области MATLAB ®) с предполагаемыми параметрами двигателя.

2. Обновите параметры двигателя и инвертора в mcb_qep_data.m скрипт параметра, сопоставленный с проектом MATLAB. Этот скрипт автоматически открывается, когда вы открываете проект MATLAB. Вы также можете использовать окно Project, чтобы открыть этот скрипт из utils папка.

3. Нажмите запуск на вкладке Editor, чтобы запустить скрипт параметра и обновить параметры скрипта в словаре данных. Файл словаря данных (pmsm_qep_data.sldd) доступно внутри data папка в окне Project.

Примечание. Когда вы симулируете целевую модель или запускаете ее на оборудовании, если вы изменяете любое значение параметров в скрипте параметра, вы должны запустить скрипт параметра, чтобы обновить словарь данных.

Моделируйте модель

Выполните следующие шаги, чтобы симулировать целевую модель.

1. Откройте целевую модель, включенную в проект MATLAB.

2. Поверните ползунок Stop-Start, доступный в области Simulation Dashboard, в положение Start, чтобы модель могла моделировать и запускать двигатель.

Во время симуляции можно повернуть переключатель в положение Stop в любое время, чтобы немедленно остановить двигатель.

3. Щелкните Запуском на вкладке Симуляции, чтобы симулировать модель.

Режим регулирования скорости разомкнутого контура

1. Выберите Управление скоростью разомкнутого контура в области Панель инструментов симуляции > Рабочие режимы целевой модели.

2. Введите значения в полях Задающая скорость [RPM] и Крутящий момент нагрузки [Nm].

Примечание: В режиме разомкнутого контура двигатель запускается только, если значение крутящего момента нагрузки либо равняется нулю, либо очень маленькому значению. Если вы используете высокое значение крутящего момента нагрузки, двигатель может остановиться.

Режим управления Цикла крутящим моментом

1. Выберите Управление крутящим моментом замкнутого цикла в области Панель инструментов симуляции > Рабочие режимы целевой модели.

2. Введите ссылку момента в поле Reference Torque [Nm].

3. Можно симулировать ситуацию с заблокированным ротором, перемещая переключатель Rotor Lock в положение On.

Когда вы перемещаете переключатель в положение Off, ротор вращается свободно в пределах максимального ограничения скорости, которое определяется переменной data.pmsm.wLimit_TorqueMode в mcb_qep_data.m скрипт параметра.

Примечание.Переключатель ползунок Rotor Lock применим только при выполнении симуляции в этом рабочем режиме. Это не влияет во время других режимов.

Режим управления скоростью в замкнутом цикле

1. Выберите Управление скоростью цикла в области Панель инструментов симуляции > Рабочие режимы целевой модели.

2. Введите значения в полях Задающая скорость [RPM] и Крутящий момент нагрузки [Nm].

Примечание:

  • В режиме с обратной связью двигатель запускается только, если значение крутящего момента нагрузки меньше или равно номинальному крутящему моменту двигателя. Если вы используете крутящий момент большей нагрузки, двигатель начинает вращаться в противоположном направлении.

  • Когда вы симулируете целевую модель, режим работы калибровки выдает недопустимый выход симуляции, потому что этот режим предназначен для калибровки настройки оборудования.

При симуляции этого примера можно наблюдать значения измеренной скорости и крутящего момента в полях Measured Torque [Nm] и Measured Speed [RPM] в области Simulation Dashboard.

Сгенерируйте код и развертывайте модель на целевом компьютере

В этом разделе показано, как сгенерировать код и запустить алгоритм FOC на целевом компьютере.

В дополнение к целевой модели проект MATLAB использует главную модель. Модель хоста, которая является пользовательским интерфейсом к плате оборудования контроллера, работает на хосте-компьютере. Чтобы использовать модель хоста, сначала разверните целевую модель на аппаратной плате контроллера. Модель хоста использует последовательную связь, чтобы командовать моделью, запускать (и управлять) двигателем в выбранном режиме работы, и собирать и отображать выход калибровки, и отлаживать сигналы от контроллера.

Необходимое оборудование

Пример поддерживает это аппаратное строение.

  • LAUNCHXL-F28379D инвертор контроллера + (BOOSTXL-DRV8305 или BOOSTXL-3PHGANINV)

Можно выбрать один из этих инверторов, установив аргумент mcb_SetInverterParameters в файле скрипта параметра (mcb_qep_data.m) к одному из следующих значений:

  • BoostXL-DRV8305

  • BOOSTXL-3PhGaNInv

Для подключений, связанных с этим аппаратным строением, смотрите LAUNCHXL-F28069M и LAUNCHXL-F28379D Configurations.

Сгенерируйте код и запустите модель на целевом компьютере

1. Симулируйте целевую модель и наблюдайте результаты симуляции.

2. Завершите аппаратные подключения.

3. Откройте целевую модель. Если вы хотите изменить настройки аппаратного строения по умолчанию для модели, см. Раздел «Параметры конфигурации модели».

4. Чтобы убедиться, что CPU2 не сконфигурирована, чтобы использовать периферийные устройства платы, предназначенные для CPU1, загрузите образец программы в CPU2 LAUNCHXL-F28379D, например, программу, которая управляет CPU2 синим светодиодом при помощи GPIO31 (c28379D_cpu2_blink.slx).

5. Щелкните Сборка, Развертывание и запуск на вкладке Оборудование, чтобы развернуть целевую модель на оборудовании.

6. Щелкните гиперссылку модели хоста в целевой модели, чтобы открыть связанную модель хоста.

7. Поверните ползунок Stop-Start в области Control Dashboard в положение Start, чтобы позволить модели запустить двигатель.

При запуске двигателя с помощью целевого компьютера включите переключатель в положение Stop в любое время, чтобы немедленно остановить двигатель.

8. В маске блока Host Serial Setup модели хоста выберите имя.

9. Щелкните Запуском на вкладке Симуляции, чтобы запустить модель хоста.

Примечание: Всегда останавливайте двигатель (при помощи режима StandBy) перед изменением режима работы.

Инструкции по режиму калибровки

1. Выберите StandBy в области Control Dashboard > Operating Modes модели хоста, чтобы остановить двигатель.

2. Выберите Калибровка в области Control Dashboard > Рабочие режимы модели хоста.

Контроллер запускает двигатель и выполняет калибровку смещения АЦП (или тока) и смещения квадратурного энкодера и обновляет эти параметры смещения в файле словаря данных (pmsm_qep_data.sldd):

  • pmsm.PositionOffset

  • inverter.CtSensAOffset

  • inverter.CtSensBOffset

Модель хоста также отображает значения смещения в этих полях, доступных в области Calibration Output:

  • Смещение Положения

  • Смещение датчика тока A

  • Смещение тока B

3. Обновите эти параметры смещения в файле скрипта параметра (mcb_qep_data.m) перед запуском скрипта параметра:

  • data.pmsm.PositionOffset

  • data.inverter.CtSensAOffset

  • data.inverter.CtSensBOffset

Примечание: Немедленно обновите скрипт параметра, чтобы избежать потери этих значений смещения. Проект MATLAB переписывает словарь данных (с существующими значениями скрипта параметра) каждый раз, когда вы запускаете скрипт параметра.

Для получения дополнительной информации об этих параметрах см. «Оценка коэффициентов усиления из параметров двигателя».

4. После завершения калибровки параметры смещения стираются, если сбросить целевой компьютер. Нажмите Build, Deploy & Start на вкладке Hardware, чтобы запрограммировать целевой компьютер с калиброванными параметрами смещения.

Инструкции для режима регулировки скорости разомкнутого контура

1. Выберите StandBy в области Control Dashboard > Operating Modes модели хоста, чтобы остановить двигатель.

2. Выберите Управление скоростью разомкнутого контура в области Панель управления > Рабочие режимы модели хоста.

Контроллер запускает двигатель в разомкнутом контуре.

3. Вы можете изменить значение задающей скорости по умолчанию с помощью Задающей скорости [RPM] в области Control Dashboard > Speed Control модели хоста.

Примечание:

  • Будьте осторожны при предоставлении задающей скорости. Двигатель может работать не оптимально на всех скоростях. Мы рекомендуем вам использовать низкую скорость изначально и увеличивать ее постепенно.

  • В режиме разомкнутого контура двигатель запускается только, если нагрузка либо равна нулю, либо незначительна. Если вы используете более высокую нагрузку, двигатель перестанет вращаться.

  • Вам не нужно калибровать ADC (или токовый) и квадратурный датчик энкодера, когда вы запускаете двигатель в разомкнутом контуре управления.

Инструкции для режима управления скоростью в системе с циклом

1. Запустите двигатель в строении разомкнутого контура, чтобы подтвердить настройку оборудования. Выполните шаги, описанные в разделе «Инструкции по регулированию скорости в разомкнутом контуре».

2. Выполните калибровку смещения АЦП (или тока) и квадратурного энкодера. Выполните шаги, описанные в разделе «Инструкции для режима калибровки».

3. Выберите StandBy в области Control Dashboard > Operating Modes модели хоста, чтобы остановить двигатель.

4. Выберите Управление Скоростью Замкнутого Цикла в области Панель Управления > Рабочие Режимы модели хоста.

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

5. Вы можете изменить значение задающей скорости по умолчанию с помощью Задающей скорости [RPM] в области Control Dashboard > Speed Control модели хоста.

Примечание: В режиме с обратной связью двигатель запускается только, если крутящий момент нагрузки меньше или равен номинальной нагрузке двигателя. Если вы используете крутящий момент более высокой нагрузки, двигатель перестанет вращаться.

Инструкции для режима управления крутящим моментом цикла

1. Запустите двигатель в строении разомкнутого контура, чтобы подтвердить настройку оборудования. Выполните шаги, описанные в разделе «Инструкции по регулированию скорости в разомкнутом контуре».

2. Выполните калибровку смещения АЦП (или тока) и смещения квадратурного энкодера, если вы не сделали этого ранее. Выполните шаги, описанные в разделе «Инструкции для режима калибровки».

3. Выберите StandBy в области Control Dashboard > Operating Modes модели хоста, чтобы остановить двигатель.

4. Выберите Управление крутящим моментом замкнутого цикла на панели управления > область Рабочие режимы модели хоста.

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

5. Можно изменить значение опорного крутящего момента по умолчанию с помощью Ссылочного крутящего момента [Nm] в области Панель управления > Управление скоростью модели хоста.

Можно сконфигурировать максимальный предел скорости двигателя в режиме регулирования крутящего момента с обратным циклом с помощью переменной data.pmsm.wLimit_TorqueMode в mcb_qep_data.m скрипт параметра.

При запуске двигателя с помощью целевого компьютера в этих рабочих режимах можно выбрать сигналы отладки (в области сигналов возможности), которые необходимо контролировать во временных возможностях SelectedSignals.

Для просмотра документации необходимо авторизоваться на сайте