Используя инструменты MathWorks, можно создать интерполяционные таблицы для внутреннего контроллера с синхронным двигателем на постоянных магнитах (PMSM), который характеризует токи d-оси и q-оси как функцию d-оси и q-оси.
Чтобы сгенерировать параметры потока для блока Flux-Based PMSM, выполните эти шаги рабочего процесса. Пример скрипта CreatingIdqTable.m
вызывает gridfit
для моделирования текущей поверхности с использованием данных о рассеянном или полурассеянном потоке.
Рабочий процесс | Описание |
---|---|
Загрузите и предварительно обработайте эти данные о нелинейном потоке двигателя из проверки динамометра или анализа конечных элементов (FEA):
| |
Шаг 2: Сгенерируйте равномерно разнесенные данные таблицы из данных , имеющих разбросов |
Используйте |
Установите переменные рабочей области, которые можно использовать для параметров Flux-Based PM Controller блоков. |
Загрузите и предварительно обработайте эти данные о нелинейном потоке двигателя из проверки динамометра или анализа конечных элементов (FEA):
d- и q- ток оси
d- и q- потоки по оси
Крутящий момент двигателя
Откройте пример скрипта CreatingIdqTable.m
.
Загрузка и предварительная обработка данных.
% Load the data from a |mat| file captured from a dynamometer or % another CAE tool. load FEAdata.mat;
Определите минимальное и максимальное значения потока.
flux_d_min = min(min(FEAdata.flux.d)) ; flux_d_max = max(max(FEAdata.flux.d)) ; flux_q_min = min(min(FEAdata.flux.q)) ; flux_q_max = max(max(FEAdata.flux.q)) ;
Постройте график текущих точек протягивания, используемых для сбора данных.
for i = 1:length(FEAdata.current.d) for j = 1:1:length(FEAdata.current.q) plot(FEAdata.current.d(i),FEAdata.current.q(j),'b*'); hold on end end
Постройте график текущих предельных точек протягивания и окружности.
for angle_theta = pi/2:(pi/2/200):(3*pi/2) plot(300*cos(angle_theta),300*sin(angle_theta),'r.'); hold on end xlabel('I_d [A]') ylabel('I_q [A]') title('Sweeping Points'); grid on; xlim([-300,0]); ylim([-300,300]); hold off
Таблицы потоков и могут иметь различные размеры шагов для токов. Равномерный интервал строк и столбцов помогает улучшить точность интерполяции. Этот скрипт использует сплайн интерполяцию.
Установите интервалы между строками и столбцами таблицы.
% Set the spacing for the table rows and columns
flux_d_size = 50;
flux_q_size = 50;
Сгенерируйте линейные разнесенные векторы для точек останова.
% Generate linear spaced vectors for the breakpoints
ParamFluxDIndex = linspace(flux_d_min,flux_d_max,flux_d_size);
ParamFluxQIndex = linspace(flux_q_min,flux_q_max,flux_q_size);
Создайте 2-D координаты сетки на основе токов по оси D и оси Q.
% Create 2-D grid coordinates based on the d-axis and q-axis currents
[id_m,iq_m] = meshgrid(FEAdata.current.d,FEAdata.current.q);
Составьте таблицу для тока по оси D.
% Create the table for the d-axis current id_fit = gridfit(FEAdata.flux.d,FEAdata.flux.q,id_m,ParamFluxDIndex,ParamFluxQIndex); ParamIdLookupTable = id_fit'; figure; surf(ParamFluxDIndex,ParamFluxQIndex,ParamIdLookupTable'); xlabel('\lambda_d [v.s]');ylabel('\lambda_q [v.s]');zlabel('id [A]');title('id Table'); grid on; shading flat;
d-составляющая тока, Id, как функция q-составляющей потока, λq и d-составляющей потока, λd.
Составьте таблицу для тока q-оси.
% Create the table for the q-axis current iq_fit = gridfit(FEAdata.flux.d,FEAdata.flux.q,iq_m,ParamFluxDIndex,ParamFluxQIndex); ParamIqLookupTable = iq_fit'; figure; surf(ParamFluxDIndex,ParamFluxQIndex,ParamIqLookupTable'); xlabel('\lambda_d [v.s]');ylabel('\lambda_q [v.s]');zlabel('iq [A]'); title('iq Table'); grid on; shading flat;
q-составляющая тока, Iq, как функция q-составляющей потока, λq и d-составляющей потока, λd.
Установите параметры блоков на эти значения, присвоенные в скрипте примера.
Параметр | MATLAB® Команды |
---|---|
Vector of d-axis flux, flux_d |
flux_d=ParamFluxDIndex; |
Vector of q-axis flux, flux_q |
flux_q=ParamFluxQIndex; |
Corresponding d-axis current, id |
id=ParamIdLookupTable; |
Corresponding q-axis current, iq |
iq=ParamIqLookupTable; |
[1] Hu, Dakai, Yazan Alsmadi, and Longya Xu. «Высокоточное нелинейное моделирование IPM на основе измеренных редактирований потока обмотки статора». IEEE® Сделки по отраслевым приложениям, том 51, № 4, июль/август 2015 года.
[2] Чен, Сяо, Джиэбин Ван, Bhaskar сенатор, Панайотис Лазари, Tianfu Солнце. «Высокочастотная и в вычислительном отношении эффективная модель для внутренних машин постоянного магнита, рассматривая магнитное насыщение, пространственную гармонику и эффект потери в железе». Сделки IEEE по промышленной электронике, том 62, № 7, июль 2015 года.
[3] Оттоссон, Дж., М. Алакула. «Компактная реализация контроллера ослабления поля». Международный симпозиум по степени, электроприводам, автоматизации и движению, июль 2006 года.
Flux-Based PM Controller | Flux-Based PMSM