Оцените параметры PMSM Используя специальное оборудование

Этот пример включает алгоритм, чтобы определить параметры постоянного магнита синхронного двигателя (PMSM) с помощью любого пользовательского оборудования блока управления приводом (оборудование, не используемое в примерах Motor Control Blockset™). Алгоритм определяет эти параметры:

  • Сопротивление фазы,${R_s}$ (Ом)

  • d составляющая индукции,${L_d}$ (Генри)

  • q составляющая индукции,${L_q}$ (Генри)

  • Коэффициент противо-ЭДС, постоянная,${K_e}$ (Vpk_LL/krpm, где Vpk_LL является пиковым измерением от линии к линии напряжения),

  • Инерция двигателя,$J$ (Kg.m^2)

  • Постоянное трение,$B$ (N.m.s)

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

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

Рабочий процесс включает эти четыре шага, чтобы подготовить, развернуть, и запустить алгоритм оценки параметра PMSM на вашем оборудовании:

1. Сгенерируйте код для алгоритма оценки параметра с помощью Embedded Coder®

2. Получите код С для драйверов специального оборудования

3. Интегрируйте код алгоритма оценки параметра с кодом драйвера

4. Разверните интегрированный код в оборудование

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

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

  • Убедитесь, что PMSM имеет квадратурный датчик энкодера, и калибруйте датчик.

Для алгоритма оценки параметра нужно моторное положение, как обнаружено квадратурным датчиком положениями энкодера. Чтобы обнаружить моторное положение правильно при помощи датчика, калибруйте квадратурный энкодер, который присоединен к двигателю под тестом. Для инструкций смотрите Квадратурную Калибровку Смещения Энкодера.

  • Убедитесь, что PMSM находится в условии без загрузок.

Настройка специального оборудования

  • Оборудование контроллеров

  • Оборудование инвертора

  • PMSM с квадратурным датчиком энкодера

  • Предоставление мощности постоянного тока

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

Создавать алгоритм оценки параметра включало в этот пример, вам нужны эти продукты:

  • Motor Control Blockset™

  • Fixed-Point Designer™

  • Embedded Coder®

Откройте проект MATLAB® и подготовьте модель оценки параметра

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

  • Нажмите Open Example.

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

Проект MATLAB открывает и показывает следующие файлы:

  • parameter_estimation_init.m (скрипт инициализации модели для алгоритма оценки параметра)

Примечание:

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

  • Расчетная скорость двигателя (переменная motorParam.ratedSpeed) должен быть меньше 25 000 об/мин.

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

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

Сгенерируйте код для алгоритма оценки параметра Используя Embedded Coder

1. После того, как вы открываете проект MATLAB, дважды кликаете parameter_estimation_algorithm.slx модель.

2. Выберите Modeling> Model Settings> Model Settings, чтобы открыть диалоговое окно Configuration Parameters.

3. В области Solver Selection вкладки Solver обновите поля Type и Solver.

4. Во вкладке Hardware Implementation диалогового окна Configuration Parameters сконфигурируйте параметры согласно своему оборудованию.

5. Обновите параметры настройки оборудования (включая квадратурные смещения энкодера и ADC) в скрипте инициализации модели (parameter_estimation_init.m).

6. В панели инструментов Simulink модели выберите Apps> Embedded Coder, чтобы открыть приложение Embedded Coder.

7. В панели инструментов Simulink выберите C Code> Code Interface> Default Code Mappings, чтобы открыть диалоговое окно Code Mappings - C.

8. В диалоговом окне Code Mappings - C откройте вкладку Functions.

9. Для перечисленной функции C кликните по гиперссылке в соответствии с Функциональным столбцом Предварительного просмотра, чтобы открыть диалоговое окно Configure C Initialize Function Interface.

10. Используйте диалоговое окно Configure C Initialize Function Interface, чтобы сконфигурировать интерфейс и аргументы функции C.

11. Нажмите Apply и OK, чтобы завершить конфигурирование функции C.

12. Повторите шаги 9 - 11 для всех перечисленных функций.

13. В панели инструментов Simulink целевой модели выберите C Code> Generate Code> Build, чтобы создать модель и сгенерировать .c файл для целевой модели для токового контроллера.

Это изображение показывает пример функции C, доступной в сгенерированном коде токового контроллера.

Примечание: сгенерированная функция C использует интерфейс, который вы сконфигурировали на шаге 10.

Получите код С для драйверов специального оборудования

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

В качестве альтернативы можно также использовать вручную записанный код драйвера.

Интегрируйте код алгоритма оценки параметра с кодом драйвера

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

2. Используйте возвращаемое значение от вызова функции завершить интеграцию драйвера с алгоритмом оценки параметра.

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

Для других деталей о рекомендуемой структуре кода (который используется примерами Motor Control Blockset™), смотрите Поток Программного управления Примеров Motor Control Blockset.

Разверните интегрированный код в оборудование

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

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

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

  • Rs — Сопротивление фазы

  • Ld D составляющая индукции

  • Lq Q составляющая индукции

  • Bemf — Коэффициент противо-ЭДС, постоянная

  • J — Инерция двигателя

  • B — Постоянное трение