Сгенерируйте параметры токового контроллера

Используя Model-Based Calibration Toolbox™, можно сгенерировать оптимизированные текущие таблицы для основанных на потоке моторных контроллеров. Используйте калибровочные таблицы для параметров блоков токового контроллера Flux-Based PM Controller Powertrain Blockset™.

На основе нелинейных моторных данных о потоке калибровочные таблицы оптимизируют:

  • Моторный КПД

  • Максимальный крутящий момент на ампер (MTPA)

  • Ослабление потока

Чтобы сгенерировать оптимизированные текущие таблицы, выполните эти шаги рабочего процесса.

Шаги рабочего процессаОписаниеMathWorks® Tooling

Соберитесь и сообщение обрабатывают моторные данные

Соберите нелинейные моторные данные о потоке от тестирования динамометра или анализа конечных элементов (FEA). В данном примере файл PMSMEfficiencyData.xlsx содержит данные, в которых вы нуждаетесь:

  • Общий поток, Ψtotal, в Wb

  • Позволенный поток, Ψmax, в Wb

  • поток d-оси, Ψd, в Wb

  • поток q-оси, Ψq, в Wb

  • текущая d-ось, Id, в A

  • текущая q-ось, Iq, в A

  • Текущая величина, Is, в A

  • Крутящий момент двигателя, Te, в N · m

  • Частота вращения двигателя, n, в об/мин

Нет данных

Моторные данные модели

Используйте одноэтапную модель, чтобы соответствовать данным. В частности:

  • Импортируйте данные

  • Фильтрация данных

  • Подбирайте модель

Model-Based Calibration Toolbox

Сгенерируйте калибровку

Калибруйте и оптимизируйте данные с помощью целей и ограничений. В частности:

  • Создание функций.

  • Составьте таблицы из модели.

  • Запустите оптимизацию.

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

Model-Based Calibration Toolbox

Установите параметры блоков

Используйте оптимизированные калибровочные таблицы токового контроллера для параметров токового контроллера блока Flux-Based PM Controller.

Powertrain Blockset

Соберитесь и сообщение обрабатывают моторные данные

Соберите эти нелинейные моторные данные о потоке от тестирования динамометра или анализа конечных элементов (FEA):

  • d-и q-текущая ось

  • d-и q-потокосцепление оси

  • Электромагнитный крутящий момент двигателя

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

ψtotal=ψd2+ψq2is=id2+iq2n=60ωe2πPψmax=Vdc3ωe

Уравнения используют эти переменные:

id, iq

d-и q-текущая ось, соответственно

is,Текущая величина
Ψd, Ψq

d-и q-потокосцепление оси, соответственно

Ψtotal, ΨmaxОбщий и позволенный поток, соответственно
ωe

Электрическая моторная угловая скорость, rad/s

n

Частота вращения двигателя, об/мин

Vdc

Напряжение на шине инвертора

P

Количество пар полюсов

Наконец, для каждой точки данных, создайте файл, содержащий:

  • Общий поток, Ψtotal, в Wb

  • Позволенный поток, Ψmax, в Wb

  • поток d-оси, Ψd, в Wb

  • поток q-оси, Ψq, в Wb

  • текущая d-ось, Id, в A

  • текущая q-ось, Iq, в A

  • Текущая величина, Is, в A

  • Крутящий момент двигателя, Te, в N · m

  • Частота вращения двигателя, n, в об/мин

Для этого примера:

  • Пары полюса, P, равняются 4

  • Напряжение на шине инвертора, Vdc, 500

файл данных matlab\toolbox\mbc\mbctraining\PMSMEfficiencyData.xlsx содержит моторные данные о потоке.

Моторные данные модели

Чтобы смоделировать моторные данные, используйте приложение MBC Model Fitting, чтобы импортировать, отфильтровать, и соответствовать данным детальной моделью. В данном примере файл данных PMSMEfficiencyData.xlsx содержит большой набор данных. Вы могли рассмотреть использование проекта эксперимента (DOE), чтобы ограничить данные. Однако набор данных представляет типичные результаты анализа FEA.

С тех пор существует простое отношение между d-и токами q-оси для фиксированных рабочих точек скорости крутящего момента, детальная модель обеспечивает точную подгонку.

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

Импортируйте данные

В данном примере PMSMEfficiencyData.xlsx содержит эти моторные данные контроллера:

  • Общий поток, Ψtotal, в Wb

  • Позволенный поток, Ψmax, в Wb

  • поток d-оси, Ψd, в Wb

  • поток q-оси, Ψq, в Wb

  • текущая d-ось, Id, в A

  • текущая q-ось, Iq, в A

  • Текущая величина, Is, в A

  • Крутящий момент двигателя, Te, в N · m

  • Частота вращения двигателя, n, в об/мин

  1. В MATLAB®, на вкладке Apps, в группе Automotive, нажимают MBC Model Fitting.

  2. В домашней странице Model Browser нажмите Import Data. Нажмите OK, чтобы открыть файл источника данных.

  3. Перейдите к matlab\toolbox\mbc\mbctraining папка. Открытый файл данных PMSMEfficiencyData.xlsx. Редактор Данных открывается вашими данными.

Фильтрация данных

Можно отфильтровать данные, чтобы исключить записи из подгонки модели. В этом примере, настроенном фильтр, чтобы включать только поток и текущие величины, которые меньше заданного порога. В частности:

  • Текущая величина, Is, меньше чем или равный 300 A.

  • Общий поток, Ψtotal, меньше чем или равный позволенному потоку Ψmax

  1. В Редакторе Данных выберите Tools> Filters, чтобы открыть Filter Editor. Создайте эти фильтры:

    • Is <= 300

    • Flux <= Flux_allowed

Определение тестовых групп

Для детальных моделей необходимо задать тестовые группы. В примере задайте группы для крутящего момента двигателя и скорости. Установите погрешности так, чтобы группы Model-Based Calibration Toolbox маленькие изменения крутящего момента и скорости в той же рабочей точке.

  1. В Редакторе Данных выберите Tools> Test Groups, чтобы открыть диалоговое окно Define Test Groupings. Создайте группы для крутящего момента двигателя и скорости.

  2. Установите эти погрешности:

    • Крутящий момент двигателя, Trq, к 1.000

    • Частота вращения двигателя, n, к 10.000

  3. В Редакторе Данных выберите File> Save & Close. Примите изменения в данных.

Подбирайте модель

Соответствуйте данным к детальной модели с этими ответами, локальными входными параметрами и рабочими точками:

  • Ответы

    • текущая q-ось, Iq, в A

  • Локальные входные параметры

    • текущая d-ось, Id, в A

  • Рабочие точки

    • Частота вращения двигателя, n, в об/мин

    • Электромагнитный крутящий момент двигателя, Te, в N · m

  1. В Model Browser выберите Fit Models.

  2. В Fit Models сконфигурируйте Детальную модель с этими ответами и входными параметрами.

    ОтветыЛокальные входные параметрыРабочие точки

    Iq

    Id

    Trq

    n

  3. Чтобы подбирать модель, выберите OK. При появлении соответствующего запроса примите изменения в данных. По умолчанию подгонка использует Гауссову модель процесса (GPM), чтобы соответствовать данным.

  4. После того, как подгонка завершается, исследуйте модели ответа на Iq. Model Browser отображает информацию, которую можно использовать, чтобы определить точность подгонки модели.

    • В Model Browser выберите Iq. Исследуйте поверхность ответа и диагностическую статистику. Эти результаты показывают на довольно точную подгонку. Можно просмотреть каждый тест, чтобы исследовать ответ на каждую рабочую точку скорости крутящего момента.

  5. Сохраните свой проект. Например, выберите Files> Save Project. Сохраните gs_example.mat к work папка.

Сгенерируйте калибровку

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

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

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

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

  • Текущая величина, Is

  • Закрутите на ампер, TPA

  1. В MATLAB, на вкладке Apps, в группе Automotive, нажимают MBC Optimization.

  2. В Браузере Клетки выберите Models. Если это уже не открыто в браузере MBC Model Fitting, откройте gs_example.mat проект.

  3. В Моделях Импорта нажмите OK. Закройте Import Tool CAGE.

  4. На панели инструментов Cage Browser используйте мастер New Function Model, чтобы создать эти функции:

    • Is = sqrt(Id^2 + Iq^2)

    • TPA = Trq/Is

  5. В Браузере Клетки проверьте что модели функции для Is и TPA имейте эти описания.

  6. Выберите File> Save Project. Сохраните gs_example.cag к work папка.

Создайте интерполяционные таблицы из модели

Составьте таблицы что использование оптимизаторов Model-Based Calibration Toolbox, чтобы сохранить оптимизированные параметры. В данном примере таблицы:

  • текущая d-ось, Id, в зависимости от крутящего момента двигателя, Trq, и частота вращения двигателя, n.

  • текущая q-ось, Iq, в зависимости от крутящего момента двигателя, Trq, и частота вращения двигателя, n.

  1. В Браузере Клетки выберите Lookup Tables and Tradeoff. В Создают Интерполяционные таблицы из Модели, выбирают Iq. Нажмите Next.

  2. В Создать Интерполяционных таблицах от мастера Модели:

    • Очистите Use model operating points.

    • Установите Table rows на 31.

    • Установите Table columns на 29.

    • Нажмите Next.

  3. В создают интерполяционные таблицы из модели:

    • Выберите Id и Iq.

    • Нажмите Finish.

  4. В Браузере CAGE исследуйте таблицы.

Запустите оптимизацию

В этом примере запустите оптимизацию с этими техническими требованиями:

  • Текущая величина, Is, меньше чем или равный 300 A.

  • Максимизирует крутящий момент на ампер, TPA.

  1. На Браузере Клетки домой, выберите Optimization.

  2. В Создают Оптимизацию из Модели, выбирают TPA и Next.

  3. В создают оптимизацию из модели:

    • Выберите Id.

    • Установите Objective type на Maximize.

    • Нажмите Finish.

  4. Добавьте ограничение оптимизации для текущей величины, Is. В Браузере CAGE выберите Optimization> Constraints> Add Constraints, чтобы открыть Ограничение Редактирования. Используйте диалоговое окно, чтобы создать ограничение на ток.

    • Is <= 300

  5. В Браузере Клетки тщательно проверьте Цели и Ограничения.

  6. В Браузере Клетки выберите Run.

    Результаты оптимизации похожи на них.

Заполните интерполяционные таблицы

  1. В Браузере CAGE выберите Fill Lookup Tables.

  2. Используйте Интерполяционную таблицу, Заполняющую от Мастера Результатов оптимизации, чтобы заполнить Id_Table и Iq_Table таблицы.

    • Для Id_Table, заполните с Id.

    • Для Iq_Table, заполните с Iq.

    Нажмите Next. Для Fill Method выберите Clip Fill (column-based).

    Нажмите Finish.

  3. Рассмотрите результаты для Iq_Table. Результаты похожи на них.

  4. Рассмотрите результаты для Id_Table. Результаты похожи на них.

  5. Выберите File> Save Project. Сохраните gs_example.cag к work папка.

Экспортируйте результаты

  1. Выберите File> Export> Calibration.

  2. Использование Экспортирует Калибровочные Данные, чтобы выбрать элементы, чтобы экспортировать и отформатировать. Например, экспортируйте таблицы Id и Iq и точки останова к файлу MATLAB gs_example.m.

Установите параметры блоков

Оптимизированные калибровочные таблицы токового контроллера являются функциями крутящего момента двигателя и частоты вращения двигателя. Используйте таблицы для этих параметров блоков Flux-Based PM Controller:

  • Corresponding d-axis current reference, id_ref

  • Corresponding q-axis current reference, iq_ref

  • Vector of speed breakpoints, wbp

  • Vector of torque breakpoints, tbp

Установить параметры блоков:

  1. Запустите.m файл, который содержит калибровочные результаты Model-Based Calibration Toolbox для токового контроллера. Например, в командной строке MATLAB, запустите gs_example.m:

    % Access data from MBC current controller calibration
    gs_example

  2. Присвойте параметры точки останова данным, содержавшимся в.m файл. В этом примере данные о скорости находятся в об/мин. Чтобы использовать калибровочные данные для параметров блоков, преобразуйте точки останова скорости от об/мин до rad/s.

    ПараметрКоманды MATLAB
    Vector of speed breakpoints, wbp
    tbp=Trq_norm.X;
    Vector of speed breakpoints, wbp
    % MBC data for speed is in rpm.  
    % For the block parameter, use rad/s
    nbp=n_norm.X;
    conversion=(2*pi/60.);
    wbp=conversion.*nbp;
    Corresponding d-axis current reference, id_ref
    id_table=Id_Table.Z;
    id_ref=id_table';
    Corresponding q-axis current reference, iq_ref
    iq_table=Iq_Table.Z;
    iq_ref=iq_table';