Регулирование без обратной связи и калибровка смещения ADC

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

Расширьте open_loop папка, чтобы получить доступ к этим файлам.

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

  1. После того, как вы открываете MATLAB® проект, дважды кликните open_loop_algorithm.slx файл в open_loop папка.

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

  • Сгенерированная функция C использует интерфейс, который вы сконфигурировали.

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

Получите код С для драйверов оборудования

Можно использовать программное обеспечение генерации кода, поддержанное производителем оборудования, чтобы сгенерировать код для драйверов оборудования. Например, для ссылочного контроллера STM32F302R8 и инвертора X-NUCLEO-IHM07M1, можно использовать программное обеспечение генератора кода инициализации STM32CubeMX STM32Cube, чтобы сконфигурировать периферию и сгенерировать код С для драйверов оборудования. Пример также включает FOC_QEP.ioc файл (созданный программным обеспечением STM32CubeMX) содержащий данные об инициализации аппаратного обеспечения для ссылочного оборудования.

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

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

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

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

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

Просмотрите интегрированный пример кода main.c доступный в open_loop\STM32Code папка как ссылка.

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

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

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

    Например, для ссылочного контроллера STM32F302R8 и инвертора X-NUCLEO-IHM07M1, используйте генератор кода инициализации STM32CubeMX STM32Cube, чтобы сгенерировать и высветить двоичный файл.

Управляйте двигателем Используя хост модель Simulink

Выполните эти шаги, чтобы запустить трехфазный PMSM, использующий регулирование без обратной связи:

  1. Кликните по гиперссылке host model в целевой модели, чтобы открыть связанную модель хоста. Можно также дважды кликнуть open_loop_host.slx файл в open_loop папка.

  2. Во вкладке Serial 1 диалогового окна параметров блоков для блока Host Serial Setup выберите Port name и введите Baud rate для последовательной передачи.

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

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

  4. Поверните переключатель ползунка Motor к положению Start, чтобы начать запускать двигатель.

  5. Обновите значение задающей скорости в поле Speed Reference (RPM). Рекомендуется, чтобы вы установили скорость на значение, которое является приблизительно половиной расчетной скорости двигателя.

  6. После моторных запусков заметьте, что ADC значит Ia и токи Ib в осциллографе времени.

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

Выполните эти шаги, чтобы определить смещения ADC для датчиков тока:

  1. Отключите предоставление напряжения постоянного тока от оборудования.

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

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

  4. Заметьте, что ADC значит Ia и токи Ib в осциллографе времени. Средние значения количеств ADC являются коррекциями смещения ADC для токов Ia и Ib. Выполните эти шаги, чтобы получить средние (средние) значения количеств ADC:

    • В окне Scope перейдите к Tools> Measurements и выберите Signal Statistics, чтобы отобразить области Trace Selection и Signal Statistics.

    • Под Trace Selection выберите сигнал (Ia или Ib). Осциллограф времени отображает характеристики выбранного сигнала в области Signal Statistics. Вы видите среднее значение выбранного сигнала в поле Median.

    Обновите этот ADC (или ток) значение смещения в переменных inverter.CtSensAOffset и inverter.CtSensBOffset в скрипте инициализации модели, соединенном с Ориентированным на поле Управлением.

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

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