📄 smssdq1.m
字号:
% Synchronous motor start
% Steady-state conditions
clear,close all,clc
disp(' <<< SYNCHRONOUS MOTOR START >>> ')
disp(' Steady-state conditions ')
disp(' Enter machine parameters in per unit:')
R=input('[Rs Rf Rkd Rkq] default([0.02 0.115 0.20 0.15]) =');
if isempty(R)==1 R=[0.02 .115 .2 .15]; end;
X=input('[Xmd Xmq Xal Xfl Xkdl Xkql] default([1.0 0.55 0.15 0.2 0.32 0.26]) =');
if isempty(X)==1 X=[1.0 0.55 0.15 0.2 0.32 0.26]; end;
Vs=input('Voltage (default = 1.0) =');
if isempty(Vs) Vs=1.0; end;
fs=input('Frequency (default = 1.0) =');
if isempty(fs) fs=1.0; end;
j=sqrt(-1);
Ras=R(1);xal=X(3);Xmd=X(1);Xmq=X(2);Rf=R(2);xfl=X(4);Rkd=R(3);xkdl=X(5);
Rkq=R(4); xkql=X(6);
Xds=xal+Xmd;Xqs=xal+Xmq;Xf=xfl+Xmd;Xkd=xkdl+Xmd;Xkq=xkql+Xmq;
Vas=Vs;Vbs=-j*Vs ;
disp(' Ras xal Xmd Xmq Rf xfl Rkd xkdl Rkq xkql')
fprintf('%8.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f%10.3f\n',...
Ras,xal,Xmd,Xmq,Rf,xfl,Rkd,xkdl,Rkq,xkql);
disp(' Vas Vbs fs ')
exc=[Vas Vbs fs];
disp(exc)
wmm=[0:0.01:1]'; % adjust speed range on this line
for m=1:length(wmm) % # of steps
n=wmm(m); % pu speed
f=fs-n; % slip frequency
% ---------------------------------------------------------------------------------------
Z=[Ras+j*f*Xds -n*Xqs j*f*Xmd j*f*Xmd -n*Xmq
n*Xds Ras+j*f*Xqs n*Xmd n*Xmd j*f*Xmq
j*f*Xmd 0 Rf+j*f*Xf j*f*Xmd 0
j*f*Xmd 0 j*f*Xmd Rkd+j*f*Xkd 0
0 j*f*Xmq 0 0 Rkq+j*f*Xkq];
% ------------------------------------------------------------------------------------------
V=[Vas Vbs 0 0 0].';
I=Z\V;
spd(m)=n;
Ias(m)=abs(I(1)); If(m)=abs(I(3));
Te(m)=.5*real(Xmd*I(3)*conj(I(2))-Xmq*I(5)*conj(I(1))+Xmd*I(4)*conj(I(2))+(Xds-Xqs)*I(1)*conj(I(2)));
Tp(m)=.5*abs(Xmd*I(3)*I(2)-Xmq*I(5)*I(1)+Xmd*I(4)*I(2)+(Xds-Xqs)*I(2)*I(1));
end
% PLOTS
h=figure('Position',[13 34 490 420],'Name','Torque-Speed curve',...
'NumberTitle','off');
figure(h)
subplot(211),plot(spd,Te,'-r','linewidth',2),xlabel('SPEED'),ylabel('AVERAGE TORQUE'),grid;
subplot(212), plot(spd,Tp,'-b','linewidth',2),xlabel('SPEED'),ylabel('PULSATING TORQUE'),grid
h=figure('Position',[510 34 490 420],'Name','Current-speed curve',...
'NumberTitle','off');
figure(h)
subplot(211), plot(spd,Ias,'-r','linewidth',2),xlabel('SPEED'),ylabel('STATOR CURRENT'),grid
subplot(212), plot(spd,If,'-r','linewidth',2),xlabel('SPEED'),ylabel('FIELD CURRENT'),grid
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -