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

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

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

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

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

model='ee_pmsm_parameterization';
open_system(model)
set_param(find_system('ee_pmsm_parameterization','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off')

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

Выберите опцию параметризации обратной эдс для симуляции 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');

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

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

$K_e=\frac{V_{a,pk}}{\omega}$,

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

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

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

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

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

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

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

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

$K_t = \frac{2}{3}\left(\frac{T}{I_{a,pk}}\right)$,

то, где$I_{a,pk}$ максимальный ток через обмотку и$T$ полный механический крутящий момент, управляет 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) и связаны с потокосцеплением постоянного магнита$\psi_m$ через количество пар полюса$N$ двигателя:

$$K_e=K_t=N\psi_m .$$

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

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

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