Это - первый рабочий процесс, который использует алгоритм, чтобы запустить трехфазный постоянный магнит синхронный двигатель (PMSM) с помощью регулирования без обратной связи. Рабочий процесс использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Прежде чем вы запустите модель хоста на хосте - компьютере, создадите и развернете целевой алгоритм модели (интегрированный с драйверами оборудования) к плате оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевым алгоритмом модели и запустить двигатель.
Расширьте open_loop
папка, чтобы получить доступ к этим файлам.
open_loop_algorithm.slx (предназначаются для модели),
open_loop_data.m (скрипт инициализации модели, сопоставленный с целевой моделью)
open_loop_host.slx (размещают модель),
После того, как вы открываете MATLAB® проект, дважды кликните open_loop_algorithm.slx
файл в open_loop
папка.
Выберите Modeling> Model Settings> Model Settings, чтобы открыть диалоговое окно Configuration Parameters.
В области Solver Selection вкладки Solver обновите поля Type и Solver.
Во вкладке Hardware Implementation диалогового окна Configuration Parameters сконфигурируйте параметры согласно своему оборудованию.
В панели инструментов Simulink целевой модели выберите Apps> Embedded Coder, чтобы открыть приложение Embedded Coder.
В панели инструментов Simulink выберите C Code> Code Interface> Default Code Mappings, чтобы открыть диалоговое окно Code Mappings - C.
В диалоговом окне Code Mappings - C откройте вкладку Functions.
Для перечисленной функции C кликните по гиперссылке в соответствии со столбцом Function Preview, чтобы открыть диалоговое окно Configure C Initialize Function Interface.
Используйте диалоговое окно Configure C Initialize Function Interface, чтобы сконфигурировать интерфейс и аргументы функции C.
Нажмите Apply и OK, чтобы завершить конфигурирование функции C.
Повторите шаги 10 - 12 для всех перечисленных функций.
В панели инструментов Simulink целевой модели выберите C Code> Generate Code> Build, чтобы создать модель и сгенерировать .c
файл для целевой модели.
Это изображение показывает пример сгенерированного кода для функции C.
Примечание
Сгенерированная функция C использует интерфейс, который вы сконфигурировали.
Для получения дополнительной информации о системе на модуль, используемой в алгоритме, смотрите систему в относительных единицах.
Можно использовать программное обеспечение генерации кода, поддержанное производителем оборудования, чтобы сгенерировать код для драйверов оборудования. Например, для ссылочного контроллера STM32F302R8 и инвертора X-NUCLEO-IHM07M1, можно использовать программное обеспечение генератора кода инициализации STM32CubeMX STM32Cube, чтобы сконфигурировать периферию и сгенерировать код С для драйверов оборудования. Пример также включает FOC_QEP.ioc
файл (созданный программным обеспечением STM32CubeMX) содержащий данные об инициализации аппаратного обеспечения для ссылочного оборудования.
В качестве альтернативы можно также использовать вручную записанный код драйвера.
Вызовите функции алгоритма управления из кода драйвера с помощью сконфигурированных параметров функции алгоритма управления. Это изображение показывает вызов алгоритма регулировки скорости C функция.
Используйте возвращаемое значение от вызова функции завершить интеграцию драйвера с алгоритмом регулятора.
Для получения дополнительной информации о структуре кода и потоке программного управления, используемом примерами Motor Control Blockset™, смотрите Поток Программного управления Примеров Motor Control Blockset.
Просмотрите интегрированный пример кода main.c
доступный в open_loop\STM32Code
папка как ссылка.
Завершите аппаратные связи.
Используйте генерацию кода и программное обеспечение развертывания, поддержанное производителем оборудования, чтобы скомпилировать, создать, и сгенерировать двоичный файл (например, .HEX
) файл из интегрированного кода. Используйте программное обеспечение, чтобы высветить двоичный файл к целевому компьютеру.
Например, для ссылочного контроллера STM32F302R8 и инвертора X-NUCLEO-IHM07M1, используйте генератор кода инициализации STM32CubeMX STM32Cube, чтобы сгенерировать и высветить двоичный файл.
Выполните эти шаги, чтобы запустить трехфазный PMSM, использующий регулирование без обратной связи:
Кликните по гиперссылке host model в целевой модели, чтобы открыть связанную модель хоста. Можно также дважды кликнуть open_loop_host.slx
файл в open_loop
папка.
Во вкладке Serial 1 диалогового окна параметров блоков для блока Host Serial Setup выберите Port name и введите Baud rate для последовательной передачи.
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.
Нажмите Run на вкладке Simulation, чтобы запустить модель хоста.
Поверните переключатель ползунка Motor к положению Start, чтобы начать запускать двигатель.
Обновите значение задающей скорости в поле Speed Reference (RPM). Рекомендуется, чтобы вы установили скорость на значение, которое является приблизительно половиной расчетной скорости двигателя.
После моторных запусков заметьте, что ADC значит Ia и токи Ib в осциллографе времени.
Остановите симуляцию модели хоста и поверните переключатель ползунка Motor к положению Stop, чтобы остановить двигатель.
Выполните эти шаги, чтобы определить смещения ADC для датчиков тока:
Отключите предоставление напряжения постоянного тока от оборудования.
Отсоедините провода трех фаз от аппаратных портов платы и затем повторно подключите предоставление напряжения постоянного тока к оборудованию.
Нажмите Run на вкладке Simulation, чтобы запустить модель хоста.
Заметьте, что 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 в скрипте инициализации модели, соединенном с Ориентированным на поле Управлением.
Чтобы вычислить смещение квадратурного датчика положений энкодера, присоединенного к двигателю, смотрите Квадратурную Калибровку Смещения Энкодера.