Реализуйте управление частотой вращения двигателя Используя Ориентированное на поле управление (FOC)

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

Регулировка скорости и управление крутящим моментом являются обычно используемыми режимами управления FOC. Режим управления положения менее распространен. Большинство приложений тяги использует режим управления крутящего момента, в котором система блока управления приводом следует за ссылочным значением крутящего момента. В режиме регулировки скорости моторный контроллер следует за ссылочным значением скорости и генерирует ссылку крутящего момента для управления крутящим моментом, которое формирует внутреннюю подсистему. В режиме управления положения контроллер скорости формирует внутреннюю подсистему.

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

Этот рисунок показывает Ориентированную на поле Архитектуру управления для PMSM.

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

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

Блок Sliding Mode Observer (SMO) генерирует скользящее движение при ошибке между измеренным и предполагаемым положением. Блок производит ориентировочную стоимость, которая тесно пропорциональна измеренному положению. Блок использует напряжения статора (, ) и токи (, ) как входные параметры и оценивает электродвижущую силу (эдс) модели электродвигателя. Это использует эдс, чтобы далее оценить положение ротора и скорость ротора. Блок Flux Observer использует идентичные входные параметры (, , , ), чтобы оценить поток статора, сгенерированный крутящий момент и положение ротора.

Модели

Мы предоставляем эти модели, чтобы реализовать sensorless FOC для PMSM:

  • mcb_pmsm_foc_sensorless_f28069MLaunchPad

  • mcb_pmsm_foc_sensorless_f28379d

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

open_system('mcb_pmsm_foc_sensorless_f28069MLaunchPad.slx');

Для имен модели, которые можно использовать в различных аппаратных конфигурациях, смотрите Необходимую Аппаратную тему в Сгенерировать Коде и Разверните Модель в раздел Target Hardware.

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

  • Симулировать модель:

    1. Для модели: mcb_pmsm_foc_sensorless_f28069MLaunchPad

      • Motor Control Blockset™

      • Fixed-Point Designer™

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

      • Motor Control Blockset

  • Сгенерировать код и развернуть модель:

    1. Для модели: mcb_pmsm_foc_sensorless_f28069MLaunchPad

      • Motor Control Blockset

      • Embedded Coder®

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

      • Fixed-Point Designer

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

      • Motor Control Blockset

      • Embedded Coder

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

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

Предпосылки

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

    Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать, при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Оценочные Моторные Параметры при помощи Motor Control Blockset Parameter Estimation Tool

    Инструмент оценки параметра обновляет motorParam переменная (в рабочей области MATLAB(R)) предполагаемыми моторными параметрами.

  2. Если вы получаете моторные параметры из таблицы данных или других источников, обновляете моторные параметры и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink. Для инструкций обновить скрипт, смотрите Оценочные Усиления Управления от Моторных Параметров.

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

Симулируйте модель

Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.

  1. Откройте модель, включенную с этим примером.

  2. Чтобы симулировать модель, нажмите Run во вкладке Simulation.

  3. Чтобы просмотреть и анализировать результаты симуляции, нажмите Data Inspector во вкладке Simulation.

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

В этом разделе приведены вам команду генерировать код и запускать алгоритм FOC на целевом компьютере.

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

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

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

  • Контроллер LAUNCHXL-F28069M + инвертор BOOSTXL-DRV8305: mcb_pmsm_foc_sensorless_f28069MLaunchPad

  • Контроллер LAUNCHXL-F28379D + инвертор BOOSTXL-DRV8305: mcb_pmsm_foc_sensorless_f28379d

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

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

  1. Симулируйте целевую модель и наблюдайте результаты симуляции.

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

  3. Модель автоматически вычисляет Аналого-цифровой конвертер (ADC) или текущие значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите значение 0 к переменной inverter.ADCOffsetCalibEnable в скрипте инициализации модели.

    В качестве альтернативы можно вычислить значения смещения ADC и обновить его вручную в скриптах инициализации модели. Для инструкций вычислить смещение ADC, смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.

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

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

  6. Нажмите Build, Deploy & Start во вкладке Hardware, чтобы развернуть целевую модель в оборудование.

  7. В целевой модели кликните по гиперссылке host model, чтобы открыть связанную модель хоста. Можно также использовать команду open_system, чтобы открыть модель хоста. Например, используйте эту команду в F28069M, базирующемся контроллер:

    open_system('mcb_pmsm_foc_host_model_f28069m.slx');

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

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

  9. Обновите Ссылочное значение Скорости в модели хоста.

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

  11. Смените положение переключателя Start / Stop Motor к На, чтобы начать запускать двигатель.

    Примечание

    Не запускайте двигатель (использующий этот пример) в условии разомкнутого цикла в течение долгого времени длительность. Двигатель может чертить токи высокого напряжения и произвести избыточное тепло.

  12. Наблюдайте сигналы отладки от подсистемы RX в Осциллографе Времени модели хоста.

    Примечание

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

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