Параметризуйте постоянный магнит синхронный двигатель

Этот пример показывает, как оценить обратную эдс и константы крутящего момента постоянного магнита синхронного двигателя (PMSM) черного ящика с неизвестным потокосцеплением. Можно использовать или обратную эдс или закрутить постоянный, чтобы описать потокосцепление и параметризовать блок Simscape™ Electrical™ PMSM. Эта параметризация позволяет вам точно реплицировать поведение двигателя черного ящика в симуляцию.

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

Открытая модель

Откройте модель.

model='ee_pmsm_parameterization';
open_system(model)

Установите постоянную обратную эдс

Выберите опцию параметризации обратной эдс для симуляции PMSM и инициализируйте его значение к произвольному значению по умолчанию 0.1 V*s/rad.

Simulation_PMSM = [model,'/Simulation PMSM'];
Ke = 0.1;
set_param(Simulation_PMSM,'pmflux_param','3');

Также можно установить опцию параметризации обратной эдс и задать ее значение от маски блока PMSM путем выбора обратной эдс Specify при параметризации потокосцепления Постоянного магнита и определения постоянной Обратной эдс.

Сравните результаты

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

sim(model);
v_a_exp = simlog_ee_pmsm_parameterization.v_Ra_exp.V;
v_a_sim = simlog_ee_pmsm_parameterization.v_Ra_sim.V;
simscape.logging.plot({v_a_exp,v_a_sim},...
    'names',{'Experimental PMSM','Simulation PMSM'});
title('Voltage across a-winding')
ylabel('Voltage, V');

Вычислите постоянное напряжение

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

,

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

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

window_size = 100;
v_a_exp_filt = filter(1/window_size*ones(1,window_size),1,v_a_exp.series.values);
v_a_exp_peak = (max(v_a_exp_filt)-min(v_a_exp_filt))/2;

Угловая скорость может быть измерена непосредственно от исходного блока:

angular_velocity_exp = mean(simlog_ee_pmsm_parameterization.Experiment_Angular_Velocity_Source.w.series.values);

Постоянная обратная эдс может теперь быть вычислена от вышеупомянутых результатов:

Ke = v_a_exp_peak / angular_velocity_exp;
disp(Ke);
    0.1803

Измените постоянную обратную эдс

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

Simulation_PMSM = [model,'/Simulation PMSM'];
set_param(Simulation_PMSM,'pmflux_param','3');

Сравните новые результаты

Повторно моделируйте модель и постройте напряжение через обмотку. Новая параметризация постоянного напряжения улучшает способность PMSM's симуляции реплицировать поведение экспериментального PMSM.

sim(model);
v_a_exp = simlog_ee_pmsm_parameterization.v_Ra_exp.V;
v_a_sim = simlog_ee_pmsm_parameterization.v_Ra_sim.V;
simscape.logging.plot({v_a_exp,v_a_sim},...
    'names',{'Experimental PMSM','Simulation PMSM'});
title('Voltage across a-winding')
ylabel('Voltage, V');

Вычислите постоянный крутящий момент

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

,

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

i_a_exp = simlog_ee_pmsm_parameterization.Ra_exp.i;
i_a_sim = simlog_ee_pmsm_parameterization.Ra_sim.i;

T = abs(mean(simlog_ee_pmsm_parameterization.Experiment_Angular_Velocity_Source.t.series.values));

window_size = 100;
i_a_exp_filt = filter(1/window_size*ones(1,window_size),1,i_a_exp.series.values);
i_a_exp_peak = (max(i_a_exp_filt)-min(i_a_exp_filt))/2;

Kt = 2/3*T/i_a_exp_peak;
disp(Kt);

simscape.logging.plot({i_a_exp,i_a_sim},...
    'names',{'Experimental PMSM','Simulation PMSM'});
title('Current across a-winding')
ylabel('Current, A');
    0.1797

Сравните параметризацию потокосцепления

Как ожидалось измеренный крутящий момент и константы обратной эдс имеют приблизительно то же значение (0.18) и связаны с потокосцеплением постоянного магнита через количество пар полюса двигателя:

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

Узнать больше

Смотрите страницу блока PMSM для получения дополнительной информации.