Используя Model-Based Calibration Toolbox™, можно сгенерировать оптимизированные текущие таблицы для основанных на потоке моторных контроллеров. Используйте калибровочные таблицы для параметров блоков токового контроллера Flux-Based PM Controller Powertrain Blockset™.
На основе нелинейных моторных данных о потоке калибровочные таблицы оптимизируют:
Моторный КПД
Максимальный крутящий момент на ампер (MTPA)
Ослабление потока
Чтобы сгенерировать оптимизированные текущие таблицы, выполните эти шаги рабочего процесса.
Шаги рабочего процесса | Описание | MathWorks® Tooling |
---|---|---|
Соберите нелинейные моторные данные о потоке от тестирования динамометра или анализа конечных элементов (FEA). В данном примере файл
| Нет данных | |
Используйте одноэтапную модель, чтобы соответствовать данным. В частности:
| Model-Based Calibration Toolbox | |
Калибруйте и оптимизируйте данные с помощью целей и ограничений. В частности:
| Model-Based Calibration Toolbox | |
Используйте оптимизированные калибровочные таблицы токового контроллера для параметров токового контроллера блока Flux-Based PM Controller. | Powertrain Blockset |
Соберите эти нелинейные моторные данные о потоке от тестирования динамометра или анализа конечных элементов (FEA):
d-и q-текущая ось
d-и q-потокосцепление оси
Электромагнитный крутящий момент двигателя
Используйте собранную скорость передачи данных и частоту вращения двигателя, чтобы вычислить общий поток, максимальный поток и текущую величину:
Уравнения используют эти переменные:
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, в об/мин
В MATLAB®, на вкладке Apps, в группе Automotive, нажимают MBC Model Fitting.
В домашней странице Model Browser нажмите Import Data. Нажмите OK, чтобы открыть файл источника данных.
Перейдите к matlab\toolbox\mbc\mbctraining
папка. Открытый файл данных PMSMEfficiencyData.xlsx
. Редактор Данных открывается вашими данными.
Можно отфильтровать данные, чтобы исключить записи из подгонки модели. В этом примере, настроенном фильтр, чтобы включать только поток и текущие величины, которые меньше заданного порога. В частности:
Текущая величина, Is, меньше чем или равный 300
A.
Общий поток, Ψtotal, меньше чем или равный позволенному потоку Ψmax
В Редакторе Данных выберите Tools> Filters, чтобы открыть Filter Editor. Создайте эти фильтры:
Is <= 300
Flux <= Flux_allowed
Для детальных моделей необходимо задать тестовые группы. В примере задайте группы для крутящего момента двигателя и скорости. Установите погрешности так, чтобы группы Model-Based Calibration Toolbox маленькие изменения крутящего момента и скорости в той же рабочей точке.
В Редакторе Данных выберите Tools> Test Groups, чтобы открыть диалоговое окно Define Test Groupings. Создайте группы для крутящего момента двигателя и скорости.
Установите эти погрешности:
Крутящий момент двигателя, Trq, к 1.000
Частота вращения двигателя, n, к 10.000
В Редакторе Данных выберите File> Save & Close. Примите изменения в данных.
Соответствуйте данным к детальной модели с этими ответами, локальными входными параметрами и рабочими точками:
Ответы
текущая q-ось, Iq, в A
Локальные входные параметры
текущая d-ось, Id, в A
Рабочие точки
Частота вращения двигателя, n, в об/мин
Электромагнитный крутящий момент двигателя, Te, в N · m
В Model Browser выберите Fit Models.
В Fit Models сконфигурируйте Детальную модель с этими ответами и входными параметрами.
Ответы | Локальные входные параметры | Рабочие точки |
---|---|---|
|
|
|
Чтобы подбирать модель, выберите OK. При появлении соответствующего запроса примите изменения в данных. По умолчанию подгонка использует Гауссову модель процесса (GPM), чтобы соответствовать данным.
После того, как подгонка завершается, исследуйте модели ответа на Iq. Model Browser отображает информацию, которую можно использовать, чтобы определить точность подгонки модели.
В Model Browser выберите Iq
. Исследуйте поверхность ответа и диагностическую статистику. Эти результаты показывают на довольно точную подгонку. Можно просмотреть каждый тест, чтобы исследовать ответ на каждую рабочую точку скорости крутящего момента.
Сохраните свой проект. Например, выберите Files> Save Project. Сохраните gs_example.mat
к work
папка.
После того, как вы подбираете модель, создаете функции и таблицы, запускаете оптимизацию и заполняете калибровочные таблицы.
Для сравнения калибровочное тематическое исследование максимальной производительности PMSM содержит калибровочные результаты.
Импортируйте модели и создайте функции, чтобы использовать, когда вы оптимизируете калибровку. В этом примере, настроенных функциях для:
Текущая величина, Is
Закрутите на ампер, TPA
В MATLAB, на вкладке Apps, в группе Automotive, нажимают MBC Optimization.
В Браузере Клетки выберите Models. Если это уже не открыто в браузере MBC Model Fitting, откройте gs_example.mat
проект.
В Моделях Импорта нажмите OK. Закройте Import Tool CAGE.
На панели инструментов Cage Browser используйте мастер New Function Model, чтобы создать эти функции:
Is = sqrt(Id^2 + Iq^2)
TPA = Trq/Is
В Браузере Клетки проверьте что модели функции для Is
и TPA
имейте эти описания.
Выберите File> Save Project. Сохраните gs_example.cag
к work
папка.
Составьте таблицы что использование оптимизаторов Model-Based Calibration Toolbox, чтобы сохранить оптимизированные параметры. В данном примере таблицы:
текущая d-ось, Id, в зависимости от крутящего момента двигателя, Trq
, и частота вращения двигателя, n
.
текущая q-ось, Iq, в зависимости от крутящего момента двигателя, Trq
, и частота вращения двигателя, n
.
В Браузере Клетки выберите Lookup Tables and Tradeoff. В Создают Интерполяционные таблицы из Модели, выбирают Iq
. Нажмите Next.
В Создать Интерполяционных таблицах от мастера Модели:
Очистите Use model operating points.
Установите Table rows на 31
.
Установите Table columns на 29
.
Нажмите Next.
В создают интерполяционные таблицы из модели:
Выберите Id
и Iq
.
Нажмите Finish.
В Браузере CAGE исследуйте таблицы.
В этом примере запустите оптимизацию с этими техническими требованиями:
Текущая величина, Is, меньше чем или равный 300
A.
Максимизирует крутящий момент на ампер, TPA.
На Браузере Клетки домой, выберите Optimization.
В Создают Оптимизацию из Модели, выбирают TPA
и Next.
В создают оптимизацию из модели:
Выберите Id
.
Установите Objective type на Maximize
.
Нажмите Finish.
Добавьте ограничение оптимизации для текущей величины, Is. В Браузере CAGE выберите Optimization> Constraints> Add Constraints, чтобы открыть Ограничение Редактирования. Используйте диалоговое окно, чтобы создать ограничение на ток.
Is <= 300
В Браузере Клетки тщательно проверьте Цели и Ограничения.
В Браузере Клетки выберите Run.
Результаты оптимизации похожи на них.
В Браузере CAGE выберите Fill Lookup Tables.
Используйте Интерполяционную таблицу, Заполняющую от Мастера Результатов оптимизации, чтобы заполнить Id_Table
и Iq_Table
таблицы.
Для Id_Table
, заполните с Id
.
Для Iq_Table
, заполните с Iq
.
Нажмите Next. Для Fill Method выберите Clip Fill (column-based)
.
Нажмите Finish.
Рассмотрите результаты для Iq_Table
. Результаты похожи на них.
Рассмотрите результаты для Id_Table
. Результаты похожи на них.
Выберите File> Save Project. Сохраните gs_example.cag
к work
папка.
Выберите File> Export> Calibration.
Использование Экспортирует Калибровочные Данные, чтобы выбрать элементы, чтобы экспортировать и отформатировать. Например, экспортируйте таблицы 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
Установить параметры блоков:
Запустите.m
файл, который содержит калибровочные результаты Model-Based Calibration Toolbox для токового контроллера. Например, в командной строке MATLAB, запустите gs_example.m
:
% Access data from MBC current controller calibration
gs_example
Присвойте параметры точки останова данным, содержавшимся в.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'; |