exponenta event banner

Оценка контрольных выигрышей от параметров двигателя

Выполните настройку параметров управления для петель управления скоростью и крутящим моментом, которые являются частью алгоритма полевого управления (ВОК). Motor Control Blockset™ предоставляет несколько методов вычисления выигрышей контура управления от системных или блочных функций передачи, доступных для двигателей, инвертора и контроллера:

  • Используйте блок Autotuner Field Oriented Control.

  • Используйте Design™ управления Simulink ®.

  • Используйте сценарий инициализации модели.

Autotuner для управления, ориентированного на область

Блок Autotuner Field-Oriented Control в блоке управления двигателем позволяет автоматически настраивать контуры управления PID в приложении Field-Oriented Control (FOC) в режиме реального времени. Можно автоматически настроить контроллеры PID, связанные со следующими контурами (дополнительные сведения см. в разделе Как использовать блок Autotuner с ориентацией на поле):

  • Контур тока прямой оси (d-оси)

  • Контур тока квадратурной оси (оси q)

  • Петля скорости

Для каждого цикла, который настраивает блок, блок Autotuner, ориентированный на полевое управление, выполняет эксперимент по автоматическому запуску в замкнутом цикле без использования параметрической модели, связанной с этим циклом. Блок позволяет указать порядок, в котором блок настраивает контуры управления. Когда эксперимент настройки выполняется для одного цикла, блок не влияет на другие циклы. Дополнительные сведения об autotuner ВОК см. в разделах Autotuner Field Oriented Control и Tune PI Controllers Using Field Oriented Control Autotuner.

Проект управления Simulink

Simulink Control Design позволяет проектировать и анализировать системы управления, смоделированные в Simulink. Можно автоматически настраивать произвольные архитектуры управления SISO и MIMO, включая контроллеры PID. Можно развернуть автоматическую загрузку PID во встроенное программное обеспечение для автоматического вычисления прироста PID в режиме реального времени.

Можно найти рабочие точки и вычислить точные линеаризации моделей Simulink при различных рабочих условиях. Модуль Simulink Control Design предоставляет инструменты, позволяющие вычислять частотные характеристики на основе моделирования без изменения модели. Дополнительные сведения см. в разделе https://www.mathworks.com/help/slcontrol/index.html.

Сценарий инициализации модели

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

  1. Откройте сценарий инициализации (.m) файла примера в MATLAB ®. Чтобы найти имя связанного файла сценария:

    1. Выберите меню «Моделирование» > «Параметры модели» > «Свойства модели», чтобы открыть диалоговое окно свойств модели.

    2. В диалоговом окне «Свойства модели» перейдите на вкладку «Обратные вызовы» > InitFcn, чтобы найти имя файла сценария, который Simulink открывает перед выполнением примера.

  2. На этом рисунке показан пример сценария инициализации (.m) файл.

  3. Используйте рабочую область для редактирования значений управляющих переменных. Например, для обновления сопротивления статора (Rs), используйте переменную pmsm для добавления значения параметра к Rs поле.

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

    Сценарий инициализации моделиФункция, вызываемая сценарием инициализации моделиОписание
    Сценарий, связанный с целевой моделью

    mcb_SetPMSMMotorParameters

    Входным сигналом функции является тип двигателя (например, BLY171D).

    Функция заполняет структуру с именем pmsm в рабочей области MATLAB, которая используется моделью.

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

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

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

    mcb_SetInverterParameters

    Вход в функцию является типом инвертора (например, BoostXL-DRV8305).

    Функция заполняет структуру с именем inverter в рабочей области MATLAB, которая используется моделью.

    Функция также вычисляет сопротивление инвертора для выбранного инвертора.

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

    mcb_SetProcessorDetails

    Входами в функцию являются тип процессора (например, F28379D) и частота переключения широтно-импульсной модуляции (ШИМ).

    Функция заполняет структуру с именем target в рабочей области MATLAB, которая используется моделью.

    Функция также вычисляет период счетчика ШИМ, который является параметром для блока ePWM в целевой модели.

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

    mcb_getBaseSpeed

    Входами в функцию являются параметры двигателя и инвертора.

    Функция вычисляет базовую скорость для PMSM.

    Напечатать help mcb_getBaseSpeed в окне команд MATLAB или см. раздел Получение базовой скорости для получения более подробной информации.

    mcb_SetPUSystem

    Входами в функцию являются параметры двигателя и инвертора.

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

    Функция заполняет структуру с именем PU_System в рабочей области MATLAB, которая используется моделью.

    mcb.internal.SetControllerParameters

    Входами в функцию являются параметры двигателя и инвертора, базовые значения на единицу системы, период переключения ШИМ, время выборки для системы управления и время выборки для регулятора скорости.

    Функция вычисляет параметры пропорционального интеграла (PI) (Kp, Ki) для реализации управления, ориентированного на поле.

    Функция заполняет структуру с именем PI_params в рабочей области MATLAB, которая используется моделью.

    Дополнительные сведения см. в разделе Получение выигрышей контроллера.

    mcb_updateInverterParameters

    Входами в функцию являются параметры двигателя и инвертора.

    Функция обновляет параметры инвертора на основе выбранных аппаратных средств и двигателя.

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

Примечание

Можно попробовать запустить MATLAB в режиме администратора в системе Windows ®, если не удается обновить сценарии инициализации модели, связанные с примерами моделей.

Категория управляющих параметровИмя управляющего параметраПеременная рабочей области MATLAB
Параметры двигателяНомер модели производителяpmsm.model
Серийный номер производителяpmsm.sn
Пары полюсовpmsm.p
Сопротивление статора (Ом)pmsm.Rs
индуктивность обмотки статора d-оси (Генрих)pmsm.Ld
индуктивность обмотки статора по оси q (Генрих)pmsm.Lq
Обратная постоянная ЭДС (V_line (пик )/krpm)pmsm.Ke
Инерция двигателя (кг.м2)pmsm.J
Постоянная трения (N.m.s)pmsm.F
Поток постоянного магнита (WB)pmsm.FluxPM
Tratedpmsm.T_rated
Nbasepmsm.N_base
Iratedpmsm.I_rated
Декодеры положенияКоррекция индекса QEP и смещения положения Холлаpmsm.PositionOffset
Квадратурные щели кодировщика на оборотpmsm.QEPSlits
Параметры инвертораНомер модели производителяinverter.model
Серийный номер производителяinverter.sn
Напряжение линии постоянного тока инвертора (В)inverter.V_dc
Максимально допустимые токи инвертора (А)inverter.I_trip
Сопротивление МОП (Ом)inverter.Rds_on
Шунтирующее сопротивление для измерения тока (Ом)inverter.Rshunt
Межфазное сопротивление платы, видимое двигателем (Ом)inverter.R_board
Смещения АЦП для датчика тока (Ia и Ib)

inverter.CtSensAOffset

inverter.CtSensBOffset

Максимальный предел автоматически калиброванных смещений АЦП для датчика тока (Ia и Ib)inverter.CtSensOffsetMax
Минимальный предел автоматически калиброванных смещений АЦП для датчика тока (Ia и Ib)inverter.CtSensOffsetMin
Включить автоматическую калибровку для АЦП текущего считыванияinverter.ADCOffsetCalibEnable
Коэффициент усиления АЦП, сконфигурированный SPIinverter.ADCGain

Тип инвертора:

1 - Активный высокоактивный инвертор

0 - Активный низкоактивный инвертор

inverter.EnableLogic

Тип усилителя измерения тока:

1 - Неинвертирующий усилитель

-1 - Инвертирующий усилитель

inverter.invertingAmp
Опорное напряжение для схемы измерения тока инвертора (В)inverter.ISenseVref

Выходное напряжение тока инвертора ощущение схемы, соответствующей току 1 ампера (V/A)

Этот параметр можно вычислить, используя значения текущего сопротивления шунтированию (inverter.Rshunt) и усилителем измерения тока инвертора.

inverter.ISenseVoltPerAmp = inverter.Rshunt ✖ коэффициент усиления усилителя измерения тока

inverter.ISenseVoltPerAmp
Максимальный измеряемый пиковый нейтральный ток с помощью схемы измерения тока инвертора (A)inverter.ISenseMax
ПроцессорНомер модели производителяtarget.model
Серийный номер производителяtarget.sn
Частота ЦПtarget.CPU_frequency
Частота ШИМtarget.PWM_frequency
Период счетчика PWMtarget.PWM_Counter_Period
Опорное напряжение для АЦП (В)Target.ADC_Vref
Максимальный выход счетчика для 12-разрядного АЦПTarget.ADC_MaxCount
Скорость передачи для последовательной связиTarget.SCI_baud_rate
Система на единицу измеренияБазовое напряжение (В)PU_System.V_base
Базовый ток (A)PU_System.I_base
Базовая скорость (об/мин)PU_System.N_base
Базовый крутящий момент (Нм)PU_System.T_base
Базовая мощность (Вт)PU_System.P_base
Тип данных для целевого устройстваВыбор типа данных (фиксированная или плавающая точка)dataType
Значения времени выборкиЧастота переключения для преобразователяPWM_frequency
Период времени переключения ШИМT_pwm
Время выборки для контроллеров токаTs
Время отбора проб для контроллера скоростиTs_speed
Время образца моделированияTs_simulink
Время моделирования образца для двигателяTs_motor
Время имитации образца для инвертораTs_inverter
Параметры контроллераПропорциональный коэффициент усиления для Iq-контроллераPI_params.Kp_i
Интегральное усиление для Iq-контроллераPI_params.Ki_i
Пропорциональный коэффициент усиления для контроллера IdPI_params.Kp_id
Интегральное усиление для контроллера IdPI_params.Ki_id
Пропорциональный коэффициент усиления для контроллера скоростиPI_params.Kp_speed
Интегральный коэффициент усиления для контроллера скоростиPI_params.Ki_speed
Пропорциональный коэффициент усиления для контроллера ослабления поляPI_params.Kp_fwc
Интегральное усиление для контроллера ослабления поляPI_params.Ki_fwc
Параметры задержки датчикаЗадержка датчика токаDelays.Current_Sensor
Задержка датчика скоростиDelays.Speed_Sensor
Задержка фильтра нижних частотDelays.Speed_Filter
Параметры задержки контроллераКоэффициент демпфирования (start) контура регулирования токаDelays.OM_damping_factor
Симметричный оптимальный коэффициент контура регулирования скоростиDelays.SO_factor_speed

Примечание

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

Сценарий инициализации модели использует следующие функции для выполнения вычислений:

Категория управляющих параметровФункцияФункциональность
Базовая скорость двигателяmcb_getBaseSpeed

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

Для получения подробной информации введите help mcb_getBaseSpeed в командной строке MATLAB или см. раздел Получение базовой скорости.

Характеристики двигателя для данного двигателя и инвертораmcb_getCharacteristics

Получить эти характеристики двигателя.

  • Крутящий момент в отличие от характеристик скорости

  • Мощность в отличие от характеристик скорости

  • Iq в отличие от скорости и Id в отличие от характеристик скорости

Для получения подробной информации введите help mcb_getCharacteristics в командной строке MATLAB.

Параметры алгоритма управленияmcb.internal.SetControllerParameters

Вычислите выигрыш для этих контроллеров PI:

  • Коэффициенты усиления контура регулирования тока (крутящего момента) (Kp, Ki) для токов Id и Iq

  • Коэффициенты усиления контура регулирования скорости (Kp, Ki)

  • Управляющие коэффициенты ослабления поля (Kp, Ki)

Дополнительные сведения см. в разделе Получение выигрышей контроллера.

Анализ управления для используемого двигателя и инвертораmcb_getControlAnalysis

Выполняет анализ частотной области для вычисленных коэффициентов усиления PI-контроллеров, используемых в полевой системе управления электродвигателями.

Примечание

Для этой функции требуется Toolbox™ системы управления.

Для получения подробной информации введите help mcb_getControlAnalysis в командной строке MATLAB.

Получение базовой скорости

Функция mcb_getBaseSpeed вычисляет базовую скорость PMSM при заданном напряжении питания. Базовая частота вращения - максимальная частота вращения двигателя при номинальном напряжении и номинальной нагрузке вне области ослабления поля.

При вызове этой функции (например, base_speed = mcb_getBaseSpeed(pmsm,inverter)), она возвращает базовую скорость (в об/мин) для данной комбинации PMSM и инвертора. Функция принимает следующие входные данные:

  • Структура параметров PMSM.

  • Структура параметров инвертора.

Эти уравнения описывают вычисления, которые выполняет функция:

Ограничение напряжения инвертора определяется вычислением напряжений d-оси и q-оси:

vdo = starteLqiq

vqo = starte ( Ldid + λ pm)

vmax  =  vdc  3  Rsimax  vdo2 + vqo2

Текущий предельный круг определяет текущее ограничение, которое может рассматриваться как:

imax2  =  id 2 + iq2

В предыдущем уравнении id равен нулю для поверхностных PMSM. Для внутренних PMSM учитываются значения id и iq, соответствующие MTPA.

Используя предыдущие взаимосвязи, мы можем вычислить базовую скорость как:

λ base  =  1p⋅ vmax (Lqiq) 2 + ( Ldid + λ pm) 2

где:

  • starte - электрическая скорость, соответствующая частоте напряжений статора (радиан/с).

  • λ base - механическая базовая скорость двигателя (радиан/сек).

  • id - ток по оси d (Ампер).

  • iq - ток по оси q (Ампер).

  • vdo - напряжение по оси d, когда id равно нулю (Вольты).

  • vqo - напряжение по оси q, когда iq равно нулю (Вольты).

  • Ld - индуктивность обмотки d-оси (Генри).

  • Lq - индуктивность обмотки по оси q (Генрих).

  • Rs - сопротивление обмотки фазы статора (Ом).

  • λ pm - связь постоянного магнитного потока (Weber).

  • vd - напряжение по оси d (вольт).

  • vq - напряжение по оси q (вольт).

  • vmax - максимальная основная линия к нейтральному напряжению (пику), подаваемому на двигатель (Вольты).

  • vdc - напряжение постоянного тока, подаваемое на инвертор (В).

  • imax - максимальный фазовый ток (пик) двигателя (Ампер).

  • p - число пар полюсов двигателя.

Получение характеристик двигателя

Функция mcb_getCharacteristics вычисляет характеристики крутящего момента и частоты вращения двигателя, что помогает разработать алгоритм управления двигателем.

Функция возвращает следующие характеристики для данного PMSM:

  • Крутящий момент в отличие от скорости

  • Мощность в отличие от скорости

  • Iq в отличие от скорости

  • Id в отличие от Speed

Получить выигрыш контроллера

Функция mcb.internal.SetControllerParameters вычисляет коэффициенты усиления для ПИ-контроллеров, используемых в полевых системах управления электродвигателями.

Эту команду можно использовать для вызова функции. mcb.internal.SetControllerParameters:

PI_params = mcb.internal.SetControllerParameters(pmsm,inverter,PU_System,T_pwm,Ts,Ts_speed);

Функция возвращает коэффициенты усиления этих PI-контроллеров, используемых в алгоритме ВОК:

  • Контур тока прямой оси (d-оси)

  • Контур тока квадратурной оси (оси q)

  • Петля скорости

  • Контур управления ослаблением поля

Функция принимает следующие входные данные:

  • pmsm object

  • inverter object

  • PU system params

  • T_pwm

  • Ts_control

  • Ts_speed

Функция не отображает какой-либо признак.

Конструкция компенсаторов зависит от классического анализа частотной характеристики, применяемого к системам управления двигателем. Мы использовали конструкцию на основе модуля Optimum (MO) для контроллеров тока и конструкцию на основе симметричного оптимума (SO) для контроллера скорости.

Функция автоматически вычисляет другие требуемые параметры (например, задержки, коэффициент демпфирования) на основе входных аргументов.

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

PI_params = mcb.internal.SetControllerParameters(pmsm,inverter,PU_System,T_pwm,Ts,Ts_speed,Delays);

Коэффициент демпфирования (start) определяет динамическое поведение стандартной формы системы второго порядка, где 0 < ζ < 1 [1]. Система с пониженным демпфированием приближается к конечному значению быстрее, чем система с критическим демпфированием или система с избыточным демпфированием. Среди систем, которые реагируют без колебаний, система с критическим демпфированием показывает самую быструю реакцию. Система с избыточным усилением всегда медленно реагирует на любые входные сигналы. Этот параметр имеет значение по умолчанию 12.

Симметричный оптимальный коэффициент (a) определяет размещение частоты пересечения на геометрическом среднем двух угловых частот, чтобы получить максимальный запас по фазе, который приводит к оптимальному демпфированию контура скорости, где a > 1 [2]. Этот параметр имеет значение по умолчанию 1.2.

В этом примере объясняется, как настроить параметры:

% Sensor Delays
Delays.Current_Sensor = 2*Ts;           %Current Sensor Delay
Delays.Speed_Sensor = Ts;               %Speed Sensor Delay
Delays.Speed_Filter = 20e-3;            %Delay for Speed filter (LPF)

% Controller Delays
Delays.OM_damping_factor = 1/sqrt(2);   %Damping factor for current control loop
Delays.SO_factor_speed = 1.5;           %Symmetrical optimum factor 1 < x < 20

% Controller design
PI_params = mcb.internal.SetControllerParameters(pmsm,inverter,PU_System,T_pwm,Ts,Ts_speed,Delays);

Выполнение контрольного анализа

Функция mcb_getControlAnalysis выполняет базовый контрольный анализ системы регулирования тока ВОК ПМСМ. Функция выполняет анализ частотной области для вычисленных коэффициентов усиления PI-контроллера, используемых в полевых системах управления электродвигателями.

Примечание

Для выполнения этой функции требуется панель инструментов системы управления.

При вызове этой функции (например, mcb_getControlAnalysis(pmsm,inverter,PU_System,PI_params,Ts,Ts_speed)) выполняет следующие функции для контура или подсистемы управления током:

  • Передаточная функция системы регулирования тока замкнутого контура

  • Корневой локус

  • Блок-схема

  • Пределы устойчивости (PM&GM)

  • Ответ на шаг

  • Карта PZ

Функция выводит на график соответствующие графики:

Ссылки

[1] Огата, К. (2010). Современная техника управления. Зал Прентиса.

[2] Леонхард, У. (2001). Управление электроприводами. Springer Science & Business Media. стр 86.