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

В этом примере показано, как оценить обратную эдс и константы крутящего момента постоянного магнита синхронного двигателя (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');

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

Вычислите напряжение, постоянное из черного ящика экспериментальный 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 для получения дополнительной информации.

Для просмотра документации необходимо авторизоваться на сайте