Квадратурная калибровка смещения энкодера для двигателя PMSM

Этот пример вычисляет перемещение между d- ось ротора и энкодера индексирует импульсное положение, как обнаружено квадратурным датчиком энкодера. Алгоритм управления (доступный в ориентированном на поле управлении и примерах оценки параметра) использует это значение смещения, чтобы вычислить точное и точное положение d- ось ротора. Контроллеру нужно это положение, чтобы реализовать ориентированное на поле управление (FOC) правильно в системе координат потока ротора (d-q система координат), и поэтому, запустить постоянный магнит синхронный двигатель (PMSM) правильно.

Модели

Пример включает эти модели:

  • mcb_pmsm_qep_offset_f28069m

  • mcb_pmsm_qep_offset_f28069mLaunchPad

  • mcb_pmsm_qep_offset_f28379d

Можно использовать эти модели только для генерации кода. Можно использовать open_system команду, чтобы открыть модель Simulink®. Например, используйте эту команду для F28069M, базирующегося контроллер:

open_system('mcb_pmsm_qep_offset_f28069m.slx');

Для имен модели, которые можно использовать для различных аппаратных конфигураций, смотрите тему "Необходимое аппаратное обеспечение" в разделах "Генерация кода" и "Развертывание модели на целевом аппаратном обеспечении".

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

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

1. Для моделей: mcb_pmsm_qep_offset_f28069m и mcb_pmsm_qep_offset_f28069mLaunchPad

  • Motor Control Blockset™

  • Embedded Coder®

  • Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса

  • Fixed-Point Designer™

2. Для модели: mcb_pmsm_qep_offset_f28379d

  • Motor Control Blockset™

  • Embedded Coder®

  • Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса

  • Fixed-Point Designer™ (только необходимый для генерации оптимизированного кода)

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

В этом разделе приведены инструкции для генерации кода и запуска двигателя при помощи регулирования без обратной связи.

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

Модель хоста использует последовательную передачу, чтобы управлять целевой моделью и запустить двигатель в настройке разомкнутого контура. Можно использовать модель хоста, чтобы управлять моторными вращениями и подтвердить направление вращения двигателя. Неправильный моторный LED направления в модели хоста покраснел, чтобы указать, что двигатель запускается в противоположном направлении. Когда LED покраснел, необходимо инвертировать моторные связи фазы (от ABC до CBA), чтобы изменить направление вращения. Модель хоста отображает расчетное значение смещения.

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

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

  • Плата контроллера F28069M + инвертор DRV8312-69M-KIT: mcb_pmsm_qep_offset_f28069m

Для связей, связанных с предыдущей аппаратной конфигурацией, см. настройку платы управления F28069.

  • Контроллер LAUNCHXL-F28069M + инвертор BOOSTXL-DRV8305: mcb_pmsm_qep_offset_f28069mLaunchPad

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

Чтобы сконфигурировать модель mcb_pmsm_qep_offset_f28379d, установите поле Inverter Enable Logic (в панели Настройки целевой модели) к:

  • Активный Высоко: использовать модель с инвертором BOOSTXL-DRV8305.

  • Активный Низко: использовать модель с инвертором BOOSTXL-3PHGANINV.

ПРИМЕЧАНИЕ: При использовании инвертора BOOSTXL-3PHGANINV, гарантируйте, что соответствующая изоляция доступна нижнему слою BOOSTXL-3PHGANINV и плате LAUNCHXL.

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

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

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

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

3. Обновите эти параметры двигателя в панели Настройки целевой модели.

  • Количество пар полюсов

  • Разрезы QEP

  • Частота PWM [Гц]

  • Тип данных для алгоритма управления

  • Vd Касательно в На Модульное напряжение

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

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

5. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста. Например, используйте эту команду для F28069M, базирующегося контроллер:

open_system('mcb_pmsm_host_offsetComputation_f28069m.slx');

Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.

Можно использовать Time Scope в модели хоста, чтобы контролировать положение ротора и возместить значения.

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

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

9. Смотрите раздел Calibration Status, чтобы знать состояние калибровочного процесса:

  • Калибровка в прогрессе, LED становится оранжевым, когда двигатель начинает запускаться. Заметьте положение ротора и возместите изменения значения Time Scope (сигнал положения указывает на сигнал пандуса с амплитудой между 0 и 1). После того, как калибровка завершается, этот LED стал серым.

  • Полный LED калибровки становится зеленым, когда калибровка завершается. Затем поле Calibration Output отображает вычисленное значение смещения.

  • Неправильный моторный LED направления покраснел, если двигатель запускается в противоположном направлении. Затем поле Calibration Output отображает значение "NaN". Выключите предоставление мощности постоянного тока (24 В) и инвертируйте моторные связи фазы от ABC до CBA. Повторите шаги 5 - 8 и проверку, если Калибровка завершается, LED является зеленым. Проверьте, что поле Calibration Output отображает значение смещения.

Примечание: Этот пример не поддерживает симуляцию.

Во время чрезвычайной ситуации, cick кнопка Emergency Motor Stop, чтобы сразу остановить двигатель.

Для примеров, которые реализуют FOC с помощью квадратурного датчика энкодера, необходимо обновить вычисленное квадратурное значение смещения энкодера в pmsm.PositionOffset параметре в скрипте инициализации модели, соединенном с примером. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.

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