Оцените усиления управления от моторных параметров

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

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

  • Используйте Simulink® Control Design™.

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

Ориентированный на поле автотюнер управления

Блок Field-Oriented Control Autotuner Motor Control Blockset позволяет вам автоматически настроить циклы управления ПИДа в своем приложении Ориентированного на поле управления (FOC) в режиме реального времени. Можно автоматически настроить ПИД-регуляторы, сопоставленные со следующими циклами (для получения дополнительной информации, смотрите ПИД-регуляторы Мелодии при помощи Ориентированного на поле Автотюнера Управления):

  • Прямая ось (d - ось) текущий цикл

  • Квадратурная ось (q - ось) текущий цикл

  • Цикл скорости

Для каждого цикла, который настраивает блок, блок Field-Oriented Control Autotuner выполняет автоматически настраивающийся эксперимент способом с обратной связью, не используя параметрическую модель, сопоставленную с тем циклом. Блок позволяет вам задать порядок, в котором блок настраивает циклы управления. Когда настраивающиеся запуски эксперимента для одного цикла, блок не оказывает влияния на другие циклы. Для получения дополнительной информации об автотюнере FOC, смотрите Поле Ориентированные ПИ-контроллеры Автотюнера и Мелодии Управления при помощи Поля Ориентированный Автотюнер Управления.

Simulink Control Design

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

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

Скрипт инициализации модели

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

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

    1. Выберите Modeling> Model Settings> Model Properties, чтобы открыть диалоговое окно свойств модели.

    2. В диалоговом окне Model Properties перейдите к вкладке Callbacks> InitFcn, чтобы найти имя файла скрипта, который Simulink открывает прежде, чем запустить пример.

  2. Этот рисунок показывает пример скрипта инициализации (.m) файл.

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

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

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

    mcb_SetPMSMMotorParameters

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

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

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

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

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

    mcb_SetInverterParameters

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

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

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

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

    mcb_SetProcessorDetails

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

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

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

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

    mcb_getBaseSpeed

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

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

    Введите help mcb_getBaseSpeed в окне команды MATLAB или дополнительную информацию см. в разделе Obtain Base Speed.

    mcb_SetPUSystem

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

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

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

    mcb.internal.SetControllerParameters

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

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

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

    Дополнительную информацию см. в разделе Obtain Controller Gains.

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

Примечание

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

Управляйте категорией параметраУправляйте названием параметраПеременная рабочего пространства MATLAB
Моторные параметрыНомер модели производителяpmsm.model
Порядковый номер производителяpmsm.sn
Пары полюсаpmsm.p
Сопротивление статора (Ом)pmsm.Rs
статор d-оси извилистая индуктивность (Генри)pmsm.Ld
статор q-оси извилистая индуктивность (Генри)pmsm.Lq
Постоянная обратная эдс (V_line (пик)/krpm)pmsm.Ke
Моторная инерция (kg.m2)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
Напряжение ссылки DC инвертора (V)inverter.V_dc
Максимальные измеримые токи ADCs (A)inverter.I_max
Максимальные допустимые токи инвертором (A)inverter.I_trip
Сопротивление на состоянии МОП-транзисторов (Ом)inverter.Rds_on
Шунтируйте сопротивление для текущего обнаружения (Ом)inverter.Rshunt
Сопротивление платы на фазу замечено двигателем (Ом)inverter.R_board
Текущее масштабированиеinverter.MaxADCCnt
Смещения ADC для датчика тока (Ia и Ib)

inverter.CtSensAOffset

inverter.CtSensBOffset

Включите Автокалибровку для текущего смысла ADCsinverter.ADCOffsetCalibEnable
ПроцессорНомер модели производителяtarget.model
Порядковый номер производителяtarget.sn
Частота центрального процессораtarget.CPU_frequency
Частота PWMtarget.PWM_frequency
PWM противостоят периодуtarget.PWM_Counter_Period
Система на модульБазовое напряжение (V)PU_System.V_base
Базируйтесь текущий (A)PU_System.I_base
Основная скорость (об/мин)PU_System.N_base
Основной крутящий момент (Nm)PU_System.T_base
Основная степень (Ватты)PU_System.P_base
Тип данных для целевого устройстваТип данных (Фиксированная точка Или С плавающей точкой) выборdataType
Значения шага расчетаПереключение частоты для конвертераPWM_frequency
Период времени переключения PWMT_pwm
Шаг расчета для текущих контроллеровTs
Шаг расчета для контроллера скоростиTs_speed
Шаг расчета симуляцииTs_simulink
Шаг расчета симуляции для двигателяTs_motor
Шаг расчета симуляции для инвертораTs_inverter
Параметры контроллераПропорциональное усиление для контроллера IQPI_params.Kp_i
Интегральное усиление для контроллера IQPI_params.Ki_i
Пропорциональное усиление для контроллера АйдахоPI_params.Kp_id
Интегральное усиление для контроллера АйдахоPI_params.Ki_id
Пропорциональное усиление для контроллера СкоростиPI_params.Kp_speed
Интегральное усиление для контроллера СкоростиPI_params.Ki_speed
Пропорциональное усиление для Полевого контроллера ослабленияPI_params.Kp_fwc
Интегральное усиление для Полевого контроллера ослабленияPI_params.Ki_fwc

Примечание

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

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

Управляйте категорией параметраФункцияФункциональность
Основная скорость двигателяmcb_getBaseSpeed

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

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

Моторные характеристики для данного двигателя и инвертораmcb_getCharacteristics

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

  • Закрутите в противоположность характеристикам скорости

  • Степень в противоположность характеристикам скорости

  • Iq в противоположность скорости и Id в противоположность характеристикам скорости

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

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

Вычислите усиления для этих ПИ-контроллеров:

  • Текущий (крутящий момент) усиления цикла управления (Kp, Ki) для текущего ID и IQ

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

  • Поле, ослабляющее усиления управления (Kp, Ki)

Для получения дополнительной информации смотрите раздел Obtain Controller Gains.

Управляйте анализом для двигателя и инвертора, который вы используетеmcb_getControlAnalysis

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

Примечание

Эта функция требует Control System Toolbox™.

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

Получите основную скорость

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

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

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

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

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

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

vdo= ωeLqiq

vqo=ωe(Ldid+ λpm)

vmax= vdc 3 Rsimax  vdo2+ vqo2

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

imax2= id 2+ iq2

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

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

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

где:

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

  • ωbase механическая основная скорость двигателя (Радианы / секунда).

  • id d - ось, текущая (Амперы).

  • iq q - ось, текущая (Амперы).

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

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

  • Ld d - ось извилистая индуктивность (Генри).

  • Lq q - ось извилистая индуктивность (Генри).

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

  • λpm потокосцепление постоянного магнита (Вебер).

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

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

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

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

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

  • p количество моторных пар полюса.

Получите моторные характеристики

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

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

  • Закрутите в противоположность Скорости

  • Степень в противоположность Скорости

  • Iq в противоположность Скорости

  • Id в противоположность Скорости

Получите усиления контроллера

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

Когда вы вызываете эту функцию (например, PI_params = mcb.internal.SetControllerParameters(pmsm,inverter,PU_System,T_pwm,Ts_control,Ts_speed)), это возвращает усиления этих ПИ-контроллеров, используемых в алгоритме FOC:

  • Прямая ось (d - ось) текущий цикл

  • Квадратурная ось (q - ось) текущий цикл

  • Цикл скорости

  • Ослабляющий поле цикл управления

Функция принимает эти входные параметры:

  • pmsm object

  • inverter object

  • PU system params

  • T_pwm

  • Ts_control

  • Ts_speed

Функция не строит характеристики.

Проект компенсаторов зависит от классического анализа частотной характеристики, применился к системам блока управления приводом. Мы использовали основанный на Оптимуме модуля (MO) проект в текущих контроллерах и основанный на Симметричном оптимуме (SO) проект для контроллера скорости.

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

Выполните анализ управления

Функциональный mcb_getControlAnalysis выполняет основной анализ управления FOC PMSM текущая система управления. Функция выполняет анализ частотного диапазона для вычисленных усилений ПИ-контроллера, используемых в ориентированных на поле системах блока управления приводом.

Примечание

Эта функция требует Control System Toolbox.

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

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

  • Корневой годограф

  • Диаграмма Боде

  • Запасы устойчивости (PM & GM)

  • Переходной процесс

  • Карта PZ

Графики функций соответствующие графики:

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