clear all
close all
clc
%%%%%%%%% Parametros da rede de entrada %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
V = 200; %RMS
f = 60; %frequencia da tens�o de entrada na maq.
%%%%%%%%% Parametros do motor %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Poles = 1;
Rs = 0.183;
Ls = 0.0553;
Rr = 0.277;
Lr = 0.056;
Lm = 0.0538;
P = 5*736; %Potencia
J = 0.002; %inertia do rotor
B = 0.0002; %coef. de atrito do motor
T1 = 0.001; % Torque de carga (pg 222 Krishnan)
rpm = 1800;
%%%%%%%% Parametros da Simula頒o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
h=1e-4; % passo para metodo de Euler
ts=0:h:1; % tempo de simula頒o
L=length(ts);
%##################### SIMULA冰O %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
w = 2*pi*f;
Vabc = [V*sqrt(2)*cos(w*ts);
V*sqrt(2)*cos(w*ts+2*pi/3); %Iabc
V*sqrt(2)*cos(w*ts-2*pi/3)];
wc = 123*ones(1,L); %Velocidade arbitraria para transforma頒o dq0 neste caso
%123
L=length(ts);
thc(1) = 0;
thr(1) = 0;
wr(1) = 0;
I(:,1) = [0;
0;
0;
0];
Te(1) = 0;
beta(1) = 0;
Idq0s(:,1) = [0;
0;
0];
Iabc(:,1) = [0;
0;
0];
for k=1:1:L-1
t = k+1;
thc(t) = thc(t-1) + h*wc(t-1);
thr(t) = thr(t-1) + h*wr(t-1);
beta(t) = thc(t) - thr(t);
%%% Matriz trans. vel arbitraria
Ks=2/3*[cos(thc(t)) cos(thc(t)-2*pi/3) cos(thc(t)+2*pi/3);
sin(thc(t)) sin(thc(t)-2*pi/3) sin(thc(t)+2*pi/3);
0.5 0.5 0.5 ]; %Matriz transforma頒o;
%%% Matriz trans. rotor
Kr=2/3*[cos(beta(t)) cos(beta(t)-2*pi/3) cos(beta(t)+2*pi/3);
sin(beta(t)) sin(beta(t)-2*pi/3) sin(beta(t)+2*pi/3);
0.5 0.5 0.5 ]; %Matriz transforma頒o;
Vs=[Vabc(1,t-1);
Vabc(2,t-1);
Vabc(3,t-1)];
%% Tensao dq0 stator
Vdq0s=Ks*Vs;
Vds(t)=Vdq0s(1,1);
Vqs(t)=Vdq0s(2,1);
V0s(t)=Vdq0s(3,1);
%% Tensao dq0 rotor (sempre 0 pois no rotor gaiola de esquilo sempre os aneis est�o em curto
Vr=[0; 0; 0];
Vdq0r=Kr*Vr;
Vdr(t)=Vdq0r(1,1);
Vqr(t)=Vdq0r(2,1);
V0r(t)=Vdq0r(3,1);
V = [Vqs(t);
Vds(t);
Vqr(t);
Vdr(t)];
% delta = (Ls*Lr - Lm^2);
% k1 = wc(t-1)*(Ls*Lr - Lm^2);
%
% B1 = (1/delta)*[Lr 0 -Lm 0;
% 0 Lr 0 -Lm;
% -Lm 0 Ls 0;
% 0 -Lm 0 Ls];
%
% A1 = -(1/delta)*[Rs*Lr k1 + wr(t-1)*Lm^2 -Rr*Lm wr(t-1)*Lr*Lm;
% -k1 - wr(t-1)*Lm^2 Rs*Lr -wr(t-1)*Lr*Lm -Rr*Lm;
% -Rs*Lm -wr(t-1)*Lm*Ls Rr*Ls k1 - wr(t-1)*Ls;
% wr(t-1)*Lm*Ls -Rs*Lm -k1 + wr(t-1)*Lr*Ls Rr*Ls];
%
% I(:,t) = I(:,t-1) + h*(A1*I(:,t-1) + B1*V);
Q1 = [Rs wc(t-1)*Ls 0 wc(t-1)*Lm;
-wc(t-1)*Ls Rs -wc(t-1)*Lm 0;
0 (wc(t-1) - wr(t-1))*Lm Rr (wc(t-1) - wr(t-1))*Lr;
-(wc(t-1) - wr(t-1))*Lm 0 -(wc(t-1) - wr(t-1))*Lr Rr];
P1 = [Ls 0 Lm 0;
0 Ls 0 Lm;
Lm 0 Lr 0;
0 Lm 0 Lr];
I(:,t) = I(:,t-1) + h*(inv(P1)*(V - (Q1*I(:,t-1))));
iqs = I(1,t);
ids = I(2,t);
iqr = I(3,t);
idr = I(4,t);
Idq0s = [iqs; ids; 0];
Idq0r = [iqr; idr; 0];
Iabc(:,t) = inv(Ks)*Idq0s;
Te(t) = (3/2)*(Poles/2)*Lm*(iqs*idr - ids*iqr);
wr(t) = wr(t-1) + h*((Te(t) - (T1) - (B*wr(t-1)))/J);
end
plot(ts,I);
legend('Iqs','Ids','Iqr','Idr');
xlabel('Tempo em segundos'); % x-axis label
ylabel('Corrente dq0'); % y-axis label
figure;
plot(ts,Te);
legend('Te');
xlabel('Tempo em segundos'); % x-axis label
ylabel('Torque eletromecanico'); % y-axis label
figure;
plot(ts,wr);
legend('wr');
xlabel('Tempo em segundos'); % x-axis label
ylabel('Velocidade angular (rad/s)'); % y-axis label
figure;
plot(ts,Iabc);
legend('ia','ib','ic');
xlabel('Tempo em segundos'); % x-axis label
ylabel('Correntes no estator (A)'); % y-axis label
评论0