Этот пример реализует метод ориентированного на поле управления (FOC), чтобы контролировать скорость трехфазного постоянного магнита синхронного двигателя (PMSM). Алгоритм FOC требует обратной связи положения ротора, которая получена датчиком Холла. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Этот пример использует датчик Холла, чтобы измерить положение ротора. Датчик эффекта Холла варьируется свое выходное напряжение на основе силы прикладного магнитного поля. PMSM состоит из трех датчиков Холла, расположенных электрически 120 градусов независимо. PMSM с этой настройкой может обеспечить шесть допустимых комбинаций бинарных состояний (например, 001,010,011,100,101, и 110). Датчик обеспечивает угловое положение ротора во множителях 60 градусов, которые диспетчер используется для расчета скорости вращения. Диспетчер может затем использовать скорость вращения, чтобы вычислить точное угловое положение ротора.
Пример включает эти модели:
Можно использовать эти модели и для симуляции и для генерации кода. Можно также использовать open_system команду, чтобы открыть модель Simulink®. Например, используйте эту команду для F28069M, базирующегося контроллер:
open_system('mcb_pmsm_foc_hall_f28069m.slx');
Для имен модели, которые можно использовать для различных аппаратных конфигураций, смотрите тему "Необходимое аппаратное обеспечение" в разделах "Генерация кода" и "Развертывание модели на целевом аппаратном обеспечении".
Симулировать модель:
1. Для модели: mcb_pmsm_foc_hall_f28069m
Motor Control Blockset™
Fixed-Point Designer™
2. Для модели: mcb_pmsm_foc_hall_f28379d
Motor Control Blockset™
Сгенерировать код и развернуть модель:
1. Для модели: mcb_pmsm_foc_hall_f28069m
Motor Control Blockset™
Embedded Coder®
Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
Fixed-Point Designer™
2. Для модели: mcb_pmsm_foc_hall_f28379d
Motor Control Blockset™
Embedded Coder®
Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
Fixed-Point Designer™ (только необходимый для генерации оптимизированного кода)
1. Получите параметры двигателя. Мы предоставляем параметрам двигателя по умолчанию модель Simulink®, которую можно заменить на значения или от моторной таблицы данных или от других источников.
Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать, при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Estimate Motor Parameters Using Motor Control Blockset Parameter Estimation Tool.
Инструмент оценки параметра обновляет motorParam переменную (в рабочей области MATLAB®) с предполагаемыми параметрами двигателя.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляете параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленной motorParam переменной рабочей области.
Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.
1. Откройте модель, включенную с этим примером.
2. Чтобы симулировать модель, нажмите, работает на вкладке Simulation.
3. Чтобы просмотреть и анализировать результаты симуляции, нажмите Data Inspector на вкладке Simulation.
В этом разделе приведены вам команду генерировать код и запускать алгоритм FOC на целевом компьютере.
Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Необходимое условие, чтобы использовать модель хоста должно развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевой моделью Simulink® и запустить двигатель в управлении с обратной связью.
Необходимое оборудование
Этот пример поддерживает эти аппаратные конфигурации. Можно также использовать целевое имя модели, чтобы открыть модель для соответствующей аппаратной конфигурации от командной строки MATLAB®.
Плата контроллера F28069M + инвертор DRV8312-69M-KIT: mcb_pmsm_foc_hall_f28069m
Для связей, связанных с предыдущей аппаратной конфигурацией, см. настройку платы управления F28069.
Контроллер LAUNCHXL-F28069M + инвертор BOOSTXL-DRV8305: mcb_pmsm_foc_hall_f28069m
Контроллер LAUNCHXL-F28379D + (BOOSTXL-DRV8305 или BOOSTXL-3PHGANINV) инвертор: mcb_pmsm_foc_hall_f28379d
Для связей, связанных с предыдущими аппаратными конфигурациями, см. LAUNCHXL-F28069M и Настройки LAUNCHXL-F28379D.
Сгенерируйте код и запущенную модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные связи.
3. Модель автоматически вычисляет Аналого-цифровой конвертер (ADC) или текущие значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите значение 0 к переменной inverter.ADCOffsetCalibEnable в скрипте инициализации модели.
В качестве альтернативы можно вычислить значения смещения ADC и обновить его вручную в скриптах инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.
4. Вычислите значение смещения датчика Холла и обновите его в скрипте инициализации модели, сопоставленном с целевой моделью. Для инструкций смотрите Калибровку Смещения Холла для Двигателя PMSM.
5. Откройте целевую модель для аппаратной конфигурации, которую вы хотите использовать. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию для модели, смотрите Параметры конфигурации Модели.
6. Загрузите пример программы к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx), чтобы гарантировать, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные для CPU1.
7. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть модель в оборудование.
8. В целевой модели кликните по гиперссылке модели хоста, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста. Например, используйте эту команду для F28069M, базирующегося контроллер:
open_system('mcb_host_model_f28069m.slx');
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.
9. В маске блока Host Serial Setup модели хоста выберите имя Port.
10. Обновите значение Задающей скорости в модели хоста.
11. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
12. Смените положение переключателя Start / Stop Motor к На, чтобы начать запускать двигатель.
ПРИМЕЧАНИЕ: Когда вы запускаете этот пример на оборудовании в низкой Задающей скорости, из-за известной проблемы, PMSM не может следовать за низкой Задающей скоростью.
13. Наблюдайте сигналы отладки от подсистемы RX в Time Scope модели хоста.
ПРИМЕЧАНИЕ: Если вы используете F28379D, базирующийся контроллер, можно также выбрать сигналы отладки, что вы хотите контролировать.