⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smss1b.m

📁 关于电机的.m程序
💻 M
字号:
%     DATA

Ra=eval(get(hRa,'String'));
Xd=eval(get(hXd,'String'));
Xq=eval(get(hXq,'String'));
Xal=eval(get(hXal,'String'));
V=eval(get(hVs,'String'));
I=eval(get(hIs,'String'));
pf=eval(get(hpf,'String'));
%
thetapf=acos(pf);
%                           Motor convention:
%              theta=thetapf    <=== under-excited motor (lagging pf).
%              theta=-thetapf   <=== over-excited motor  (leading pf).
%              theta=thetapf-pi <=== over-excited  generator (lagging pf).
%              theta=-thetapf+pi<=== under-excited  generator (leading pf).
 
%            Steady-state calculations:             
    j=sqrt(-1);          Xmd=Xd-Xal;
    Eq1=V-(Ra+j*Xq)*I*exp(-j*theta);Eq=abs(Eq1) ; delta0=-angle(Eq1);
    Ia=I*exp(j*(pi/2+delta0-theta)); Vt=V*exp(j*(pi/2+delta0)) ; 
    id0=real(Ia) ;   iq0=imag(Ia)  ;
    vd0=real(Vt) ;   vq0=imag(Vt)  ;
    vqp=Vt-j*Xq*Ia-Ra*Ia; vqpd=real(vqp); vqpq=imag(vqp);
    Ef0=vq0-Ra*iq0-Xd*id0; if0=Ef0/Xmd; Te0=Eq*iq0;
    P0=abs(Ia)*abs(Vt)*cos(theta);Q0=abs(Ia)*abs(Vt)*sin(theta);
disp(' SYNCHRONOUS MACHINE PHASOR DIAGRAM (Motor convention)')    
disp('          OPERATING POINT in dq coordinates')
disp(  [mode])
disp('    vd0       vq0      id0       iq0        if0       Te0 ')
disp([vd0 vq0 id0 iq0 if0 Te0]) 
disp('    delta0    theta0      PO       QO                   ')
disp([delta0*180/pi theta*180/pi P0 Q0])
disp('____________________________________________________________')
figure('Units','normalized','Position',[.45 .05 .49 .5],'Name','Phasor diagram','numbertitle','on');
vecarrow([0 0],[0 Ef0],'c'),grid,hold on
vecarrow([0 0],[if0 0],'g')
vecarrow([0 0],[vd0 vq0],'k')
vecarrow([0 0],[id0 iq0],'r')
vecarrow([vd0 vq0],[vqpd vqpq],'y')
title(' PHASORS  along d-q axes'),
text(0.5,1.1,mode),
h=findobj(gca,'Type','line');
set(h,'LineWidth',2)
hr=h(length(h):-1:1);
 legend(hr,'Ef','If','Vt','Ia','-(Ra+jXq)Ia')
 plot(0,0,'kx','MarkerSize',10,'linewidth',2)
 axis equal
 hold off
figure('Units','normalized', ...
    'Position',[.55 .65 .25 .25],'Name','Phasor diagram','numbertitle','off');
compass(Ef0,0,'w'),hold on
compass(if0,'g')
compass(Ia,'r')
compass(Vt,'k')
compass(j*Ef0,'c')
set(findobj(gca,'Type','line'),'LineWidth',2)
%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -