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

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

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

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

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

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

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

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

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

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

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

1. Нажмите Open Example.

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

Модель

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

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

Необходимый MathWorks® Products

Симулировать модель:

  • Motor Control Blockset™

  • Stateflow®

Сгенерировать код и развернуть модель:

1. Motor Control Blockset™

2. Embedded Coder®

3. Embedded Coder® Support Package для процессоров 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. Поверните переключатель ползунка Запуска Остановка, доступный в области Simulation Dashboard к позиции Запуска, чтобы позволить модели симулировать и запускать двигатель.

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

3. Нажмите работает на вкладке Simulation, чтобы симулировать модель.

Режим Open Loop Speed Control

1. Выберите Open Loop Speed Control в области Simulation Dashboard> Operating Modes целевой модели.

2. Введите значения в поля Reference Speed [RPM] и Load Torque [Nm].

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

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

1. Выберите Closed Loop Torque Control в области Simulation Dashboard> Operating Modes целевой модели.

2. Введите ссылочное значение крутящего момента в поле Reference Torque [Nm].

3. Можно симулировать заблокированную ситуацию с ротором путем перемещения переключателя ползунка Блокировки Ротора в На положении.

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

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

Режим Closed Loop Speed Control

1. Выберите Closed Loop Speed Control в области Simulation Dashboard> Operating Modes целевой модели.

2. Введите значения в поля Reference Speed [RPM] и Load Torque [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.

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

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

2. Завершите аппаратные связи.

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

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

5. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.

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

7. Поверните переключатель ползунка Запуска Остановка в области Control Dashboard к позиции Запуска, чтобы позволить модели запускать двигатель.

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

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

9. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.

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

Инструкции для режима Calibration

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

2. Выберите Calibration в области Control Dashboard> Operating Modes модели хоста.

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

  • pmsm.PositionOffset

  • inverter.CtSensAOffset

  • inverter.CtSensBOffset

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

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

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

  • Текущее смещение B

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

  • data.pmsm.PositionOffset

  • data.inverter.CtSensAOffset

  • data.inverter.CtSensBOffset

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

Для получения дополнительной информации об этих параметрах, смотрите Оценочные Усиления Управления от Параметров двигателя.

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

Инструкции для режима Open Loop Speed Control

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

2. Выберите Open Loop Speed Control в области Control Dashboard> Operating Modes модели хоста.

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

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

Примечание:

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

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

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

Инструкции для режима Closed Loop Speed Control

1. Запустите двигатель в настройке разомкнутого контура, чтобы подтвердить настройку оборудования. Выполните шаги, описанные в разделе режима Instructions for Open Loop Speed Control.

2. Выполните ADC (или ток) смещение и квадратурная калибровка смещения энкодера. Выполните шаги, описанные в разделе режима Instructions for Calibration.

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

4. Выберите Closed Loop Speed Control в области Control Dashboard> Operating Modes модели хоста.

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

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

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

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

1. Запустите двигатель в настройке разомкнутого контура, чтобы подтвердить настройку оборудования. Выполните шаги, описанные в разделе режима Instructions for Open Loop Speed Control.

2. Выполните ADC (или ток) смещение и квадратурная калибровка смещения энкодера, если вы не сделали настолько ранее. Выполните шаги, описанные в разделе режима Instructions for Calibration.

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

4. Выберите Closed Loop Torque Control в области Control Dashboard> Operating Modes модели хоста.

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

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

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

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