I dont get any results from this code ?
4 views (last 30 days)
Show older comments
Hello,I'm trying to simulate a PTC(Predictive Torque Control) of an induction motor.However all i get in results is zeros in all outputs(rotor speed, stator currents and Electromagnetique Torque) .You'll find in attached files a model in simulink showing the schema of the simulation . This is the code i'm using for PTC :
%
function [Sa,Sb,Sc] = control(T_ref,sflux_ref,wm,i_meas)
% Variables defined in the parameters file
global Ts Rs Lr Lm Ls p tr kr r_sigma t_sigma lambda v states
persistent x_opt Fs
if isempty(x_opt)
x_opt = 1;
end
if isempty(Fs)
Fs = 0.79 + 0i*1;
end
% Stator flux estimate
Fs = Fs + Ts*(v(x_opt) - Rs*i_meas);
% Rotor flux estimate
Fr = Lr/Lm*Fs+i_meas*(Lm-Lr*Ls/Lm);
g_opt = 1e10;
for i = 1:8
% i-th voltage vector for current prediction
v_o1 = v(i);
% Stator flux prediction at instant k+1
Fsp1 = Fs + Ts*v_o1 - Rs*Ts*i_meas;
% Stator current prediction at instant k+1
Isp1 = (1+Ts/t_sigma)*i_meas+Ts/(t_sigma+Ts)*(1/r_sigma*((kr/tr-kr*1i*wm)*Fr+v_o1));
% Torque prediction at instant k+1
Tp1 = 3/2*p*imag(conj(Fsp1)*Isp1);
% Cost function
g = abs(T_ref - Tp1)+ lambda*abs(sflux_ref-abs(Fsp1));
if (g<g_opt)
g_opt = g;
x_opt = i
end
end
[~, x_opt] = min(g);
%**************************************
% Output switching states
Sa = states(x_opt,1);
Sb = states(x_opt,2);
Sc = states(x_opt,3);
6 Comments
Birdman
on 28 Mar 2018
It says
Undefined function or variable 'Xmlstar'
when I try to run it. I am sure there is more than one like this.
Answers (1)
khoudir kakouche
on 30 Oct 2020
it is this instruction ([~, x_opt] = min(g)) that will cause the problem.
0 Comments
See Also
Categories
Find more on Specialized Power Systems 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!