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

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

Модели

Пример включает в себя следующие модели:

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

open_system('mcb_pmsm_qep_offset_f28069m.slx');

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

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

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

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

  • Motor Control Blockset™

  • Embedded Coder ®

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

  • Fixed-Point Designer™

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

  • Motor Control Blockset™

  • Embedded Coder ®

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

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

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

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

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

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

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

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

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

Чтобы сконфигурировать mcb_pmsm_qep_offset_f28379d модели, установите в поле Логика включения инвертора (на панели Configuration целевой модели) значение:

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

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

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

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

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

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

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

3. Обновите параметры двигателя на панели « Строении» целевой модели.

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

  • Прорези QEP

  • Частота ШИМ [Гц]

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

  • Vd Ссылка на напряжение в модулях

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

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

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

open_system('mcb_pmsm_host_offsetComputation_f28069m.slx');

Для получения дополнительной информации о последовательной связи между хостом и целевыми моделями, смотрите Host-Target Communication.

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

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

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

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

  • Светодиод Calibration in progress становится оранжевым, когда двигатель начинает вращаться. Заметьте положение ротора и изменение значения смещения в возможности (сигнал положения указывает сигнал наклона с амплитудой от 0 до 1). После завершения калибровки светодиод становится серым.

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

  • Светодиодный индикатор неправильного направления двигателя становится красным, если двигатель вращается в противоположном направлении. Затем Calibration Output в поле отображается значение «NaN». Отключите источник степени постоянного тока (24V) и отключите соединения фазы двигателя от ABC к CBA. Повторите шаги 5-8 и проверьте, является ли индикатор Calibration complete зеленым. Проверьте, что Calibration Output в поле отображается значение смещения.

Примечание. Чтобы немедленно остановить двигатель, нажмите кнопку Emergency Motor Stop.

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

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

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