exponenta event banner

Проект MATLAB для ВОК PMSM с квадратурным кодером

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

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

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

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

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

  • Управление крутящим моментом по замкнутому контуру (Closed Loop Torque Control) - в этом режиме в данном примере управление крутящим моментом двигателя осуществляется с помощью управления по замкнутому контуру.

  • Управление скоростью по замкнутому контуру (Closed Loop Speed Control) - в этом режиме в примере контролируется скорость ротора путем включения двигателя в управление по замкнутому контуру.

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

Открыть проект MATLAB

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

1. Щелкните Открыть пример (Open Example).

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

Модель

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

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

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

Для моделирования модели:

  • Blockset™ управления двигателем

  • Поток данных Stateflow ®

Для создания кода и развертывания модели:

1. Blockset™ управления двигателем

2. Встроенный кодер ®

3. Пакет поддержки встроенного кодера ® для процессоров Texas Instruments™ C2000™

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

5. Поток данных Stateflow ®

Предпосылки

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

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

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

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

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

Моделирование модели

Выполните следующие действия для моделирования целевой модели.

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

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

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

3. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы смоделировать модель.

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

1. Выберите Управление скоростью разомкнутого контура (Open Loop Speed Control) в области Панель моделирования (Simulation Dashboard) > Режимы работы (Operation Modes) целевой модели.

2. Введите значения в поля Reference Speed [RPM] (эталонная скорость) и Load Torque [NM] (крутящий момент нагрузки).

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

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

1. Выберите Управление крутящим моментом по замкнутому контуру (Closed Loop Torque Control) в области Панель моделирования (Simulation Dashboard) > Режимы работы (Operation Modes

2. Введите значение опорного крутящего момента в поле Опорный крутящий момент [Нм].

3. Можно смоделировать ситуацию с заблокированным ротором, переместив ползунок «Блокировка ротора» в положение «Вкл».

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

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

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

1. Выберите Управление скоростью по замкнутому контуру (Closed Loop Speed Control) в области Панель моделирования (Simulation Dashboard) > Режимы работы (Operation Modes) целевой модели

2. Введите значения в поля Reference Speed [RPM] (эталонная скорость) и Load Torque [NM] (крутящий момент нагрузки).

Примечание:

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

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

При моделировании этого примера можно наблюдать измеренные значения скорости и крутящего момента в полях Измеренный крутящий момент [Нм] и Измеренная скорость [Об/мин] в области Панель моделирования.

Создание кода и развертывание модели на целевом оборудовании

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

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

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

Пример поддерживает эту конфигурацию оборудования.

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

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

  • BoostXL-DRV8305

  • BOOSTXL-3PhGaNInv

Для получения информации о соединениях, связанных с данной конфигурацией оборудования, см. раздел Конфигурации LAUNCHXL-F28069M и LAUNCHXL-F28379D.

Создание кода и выполнение модели на целевом оборудовании

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

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

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

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

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

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

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

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

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

9. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы запустить главную модель.

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

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

1. Для остановки двигателя выберите StandBy в области Control Dashboard (Панель управления) > Operating Mode (Режимы работы) главной модели.

2. Выберите Калибровка (Calibration) в области Панель управления (Control Dashboard) > Режимы работы (Operating Mode) главной модели.

Контроллер запускает двигатель и выполняет калибровку смещения АЦП (или тока) и квадратурного кодера и обновляет эти параметры смещения в файле словаря данных (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. После завершения калибровки параметры смещения стираются при сбросе целевого оборудования. Щелкните Создать, Развернуть и начать на вкладке Оборудование, чтобы запрограммировать целевое оборудование с калиброванными параметрами смещения.

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

1. Для остановки двигателя выберите StandBy в области Control Dashboard (Панель управления) > Operating Mode (Режимы работы) главной модели.

2. Выберите Управление скоростью разомкнутого контура (Open Loop Speed Control) в области Панель управления (Control Dashboard) > Режимы работы (Operating Modes) главной модели.

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

3. Значение опорной скорости по умолчанию можно изменить с помощью опции Опорная скорость [RPM] (Reference Speed [RPM]) в области Панель управления (Control Dashboard) > Управление скоростью (Speed Control) главной модели.

Примечание:

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

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

  • Калибровка датчика АЦП (или тока) и квадратурного кодировщика при работе двигателя с разомкнутым контуром не требуется.

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

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

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

3. Для остановки двигателя выберите StandBy в области Control Dashboard (Панель управления) > Operating Mode (Режимы работы) главной модели.

4. Выберите Управление скоростью по замкнутому контуру (Closed Loop Speed Control) в области Панель управления (Control Dashboard) > Режимы работы (Operating Modes) главной модели.

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

5. Значение опорной скорости по умолчанию можно изменить с помощью опции Опорная скорость [RPM] (Reference Speed [RPM]) в области Панель управления (Control Dashboard) > Управление скоростью (Speed Control) главной модели.

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

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

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

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

3. Для остановки двигателя выберите StandBy в области Control Dashboard (Панель управления) > Operating Mode (Режимы работы) главной модели.

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

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

5. Значение опорного крутящего момента по умолчанию можно изменить с помощью опции Опорный крутящий момент [Нм] (Reference Torque [Nm]) в области Панель управления (Control Dashboard) > Управление скоростью (Speed Control) главной модели.

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

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