exponenta event banner

Создание параметров для блока PMSM на основе потока

С помощью инструментов MathWorks можно создавать таблицы поиска для контроллера синхронного двигателя с внутренним постоянным магнитом (PMSM), который характеризует ток d-оси и q-оси как функцию потока d-оси и q-оси.

Чтобы создать параметры потока для блока PMSM на основе потока, выполните следующие действия. Пример сценария CreatingIdqTable.m требования gridfit для моделирования текущей поверхности с использованием данных рассеянного или полурассеянного потока.

Технологический процессОписание

Шаг 1: Загрузка и предварительная обработка данных

Загрузка и предварительная обработка данных о нелинейном потоке двигателя, полученных в ходе испытания динамометра или анализа конечных элементов (МКЭ):

  • Ток по осям d- и q-

  • Поток по осям d- и q-

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

Шаг 2: Создание равномерно разнесенных данных таблицы на основе разбросанных данных

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

Шаг 3: Установка параметров блока

Задайте переменные рабочего пространства, которые можно использовать для параметров блока контроллера PM на основе потока.

Шаг 1: Загрузка и предварительная обработка данных

Загрузка и предварительная обработка данных о нелинейном потоке двигателя, полученных в ходе испытания динамометра или анализа конечных элементов (МКЭ):

  • Ток по осям d- и q-

  • Поток по осям d- и q-

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

  1. Открытие примера сценария CreatingIdqTable.m.

  2. Загрузка и предварительная обработка данных.

    % Load the data from a |mat| file captured from a dynamometer or 
    % another CAE tool.
    load FEAdata.mat;
    

  3. Определите минимальное и максимальное значения потока.

    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)) ;

  4. Постройте график текущих точек, используемых для сбора данных.

    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

  5. Постройте график текущих предельных точек сдвига и окружности.

    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

Шаг 2: Создание равномерно разнесенных данных таблицы на основе разбросанных данных

Таблицы потоков и могут иметь различные размеры шагов для токов. Равномерное разнесение строк и столбцов помогает повысить точность интерполяции. В этом сценарии используется сплайновая интерполяция.

  1. Задайте интервал для строк и столбцов таблицы.

    % Set the spacing for the table rows and columns
    flux_d_size = 50;
    flux_q_size = 50;

  2. Создайте линейные векторы с интервалами для точек останова.

    % 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);

  3. Создайте координаты сетки 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);

  4. Создайте таблицу для тока 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.

  5. Создайте таблицу для тока по оси 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.

Шаг 3: Установка параметров блока

Задайте для параметров блока эти значения, назначенные в примере сценария.

ПараметрКоманды MATLAB ®

Вектор потока d-оси, flux_d

flux_d=ParamFluxDIndex;

Вектор потока по оси q, flux_q

flux_q=ParamFluxQIndex;
Соответствующий ток d-оси, id
id=ParamIdLookupTable;

Соответствующий ток по оси q, iq

iq=ParamIqLookupTable;

Ссылки

[1] Ху, Дакай, Язан Алсмади и Лунъя Сюй. «Высокоточное нелинейное моделирование IPM на основе измеренной связи потока обмотки статора». Транзакции IEEE ® по отраслевым приложениям, том 51, № 4, июль/август 2015 г.

[2] Чэнь, Сяо, Цзябинь Ван, Бхаскар Сен, Панагиотис Ласари, Тяньфу Сунь. «Модель высокой точности и вычислительной эффективности для внутренних машин с постоянными магнитами, учитывающая магнитное насыщение, пространственную гармонику и эффект потерь железа». IEEE Transactions on Industrial Electronics, том 62, № 7, июль 2015 года.

[3] Оттоссон, Дж., М. Алакула. «Компактная реализация контроллера ослабления поля». Международный симпозиум по силовой электронике, электрическим приводам, автоматизации и движению, июль 2006 года.

См. также

|

Внешние веб-сайты