Sudden torque drop after 5000 rpm when i working IPMSM torque control simulation

2 views (last 30 days)
when I am intergeting PMSM feed forward block with current controller ,Machine torque dropped suddenly after 5000 rpm from 0.99 Nm to - ve torque.
my question is may i use or not use feed forward controller block in Current controller?.
and any mistake in my circuit design and input parameters?
my switching frequency is 16khz and sample time Ts is 6.25e-6 and Current controller sample time is 6.25e-5.
input parameter:
%%
clc;
clear;
%sample time
Fsw=16000; % SVPWM switching frequency (Hz)
Ts=6.25e-6;
TsC=6.25e-5;
% Battery parameter
Vdc_nom=40; % Nominal DC voltage(V)
%% Request Data For Torque Controller
Req_Speed=9549;
Tq_ref=0.99;
%% Machine Parameter
Ld =0.00008006; % D Axis inductance
Lq =0.00008748; % Q Axis inductance
psi_m=0.007298; % Magnetic Flux Linkage(Web)
Rs = 0.01556; % Phase Resistance 20e-3
Npp = 5; % Number of pole pairs
NoPoles=10;
J = 0.0005450; % Rotor inertia(Kg.m^2)4.5e-5
F = 0.000383659; % Friction coefficient(N.m.s)
Current_Limit=123; % Maximum Phase Current (Amp)
%% Control parameters
Kp_Id=0.4;
Ki_Id=10;
Kp_Iq=0.4;
Ki_Iq=10;

Accepted Answer

Sabin
Sabin on 13 Jul 2023
I believe this issue can be solved by decreasing the sample time. I see, you oversample 10 times to capture the PWM signals. With only 10 samples is likely to get very noisy results. As the speed goes up you also end up with fewer measurements per control sample time. At 5000rpm you get 38 samples per electrical revolution (according to provided parameters) which is probably enough. Probably by choosing Ts=6.25e-7 (that is 100 times oversampling) you may be able to get past the 5000rpm point but that would significantly slow down the simulation. I would instead use an Averaged Value Voltage Source Converter to keep the simulation fast and check that the control algorithm is working as expected. When this step is done you can explore option to include PWM signals (if that is needed). The feedforward strategy should not have a negative impact. One thing I noticed is that you are using measured id and iq in the feedforward control but reference id and iq should be used instead. We have the reference id and iq and the feedforward control will aim to compute the steady-state voltage which is then corrected by the PI controllers. I hope this helps.
  3 Comments
adhavan d
adhavan d on 14 Jul 2023
Edited: adhavan d on 14 Jul 2023
when I put sample time 6.25e-7 (switching frequency - 16 Khz )for PWM generator block & run the model ,torque was not dropped at any rpm condition.but in same condtion (sample tme is 6.25e-7),when I connected inductor near battery in serious condition,the torque was dropped in 5000 rpm .I have to add inductor near battery's +ve & -ve terminal.
battery internal resistance is 0.001 ohm.
when i apply average switch(converter),torque dropped in 5000 rpm
when i apply mosfet(converter),torque dropped in 5000 rpm
%%
%GLIDE 1.1KW DATA
clc;
clear;
%sample time
Fsw=16000; % SVPWM switching frequency (Hz)
Ts=6.25e-7;
TsC=6.25e-5;
% Battery parameter
Vdc_nom=40; % Nominal DC voltage(V)
%% Request Data For Torque Controller
Req_Speed=9549;
Tq_ref=0.99;
%% Machine Parameter
Ld =0.00008006; % D Axis inductance
Lq =0.00008748; % Q Axis inductance
psi_m=0.007298; % Magnetic Flux Linkage(Web)
Rs = 0.01556; % Phase Resistance 20e-3
Npp = 5; % Number of pole pairs
NoPoles=10;
J = 0.0005450; % Rotor inertia(Kg.m^2)4.5e-5
F = 0.000383659; % Friction coefficient(N.m.s)
Current_Limit=123; % Maximum Phase Current (Amp)
%% Control parameters
Kp_Id=0.4;
Ki_Id=10;
Kp_Iq=0.4;
Ki_Iq=10;
adhavan d
adhavan d on 25 Jul 2023
Hi ,
you answered 38 samples per electrical revolution for 5000 rpm.How To calculate sample value?

Sign in to comment.

More Answers (0)

Communities

More Answers in the  Power Electronics Control

Categories

Find more on Motor Parameter Estimation and Plant Modeling in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!