Rotfield.m
上传用户:eighthdate
上传日期:2014-05-24
资源大小:270k
文件大小:5k
源码类别:

其他行业

开发平台:

Matlab

  1. %  Copyright 1998 H. Saadat.
  2. ab=['                        ROTATING MAGNETIC FIELD                      '
  3.     '                                                                     '
  4.     '  The basis of operation of all polyphase ac machines is the rotating'
  5.     '  magnetic field.  All ac machines have a rotating part called rotor '
  6.     '  and a stationary part called stator. A set of balanced three-phase '
  7.     '  currents flowing through a symmetrical three-phase stator winding  '
  8.     '  produce a magnetic field that rotates at synchronous speed with    '
  9.     '  respect to the stator structure.  The synchronous machine rotor is '
  10.     '  excited by dc current producing fixed magnetic poles which rotate  '
  11.     '  in synchronism with the stator rotating field. This is the basis of'
  12.     '  synchronous machines. Torque is produced by the tendency of the two'
  13.     '  component magnetic fields to line up their magnetic axis.          '
  14.     '                                                                     '
  15.     '  In the case of an induction motor, the rotor will have currents    '
  16.     '  induced in it by the relative motion of the fields. The rotor      '
  17.     '  currents in turn produce a rotating magnetic field with the same   '
  18.     '  speed as that of the stator field, irrespective of the speed of the'
  19.     '  rotor.  The interaction of these fields produces a torque on the   '
  20.     '  rotor, and this is the basis of the induction motor.               '
  21.     '                                                                     '
  22.     '                                                                     '
  23.     '  Press Enter to see a demonstration of the rotating magnetic field  '
  24.     '  produced by three-phase currents flowing in the stator windings for'
  25.     '  phase sequence a-b-c and c-b-a.                                    '];
  26. disp(ab)
  27. pause
  28. offset=pi/10;
  29. tf=50;
  30. theta=pi-offset;
  31. theta=-pi/2;
  32. thetadot= 2*pi/tf;
  33. dt=1;  t =0;
  34. clf
  35. h1=axes('position',[.1 .55 .4 .4]);
  36. axis([0 2*pi -4 4]); axis('off');
  37. text(0.1, 3.5, 'fa'), text(2.1, 3.5, 'fb'),text(4.4, 3.5, 'fc'),
  38. text(0.5, 4.35,'Positive-phase sequence')
  39. line([0; 0],   [-4; 4],'color','w')
  40. line([0; 6.3], [0; 0],'color','w')
  41. text(-.3, 0,'0')
  42. Displ1=line('xdata',[],'ydata',[],'linestyle','-','color','r','erasemode','none');
  43. Displ2=line('xdata',[],'ydata',[],'linestyle','-','color','y','erasemode','non');
  44. Displ3=line('xdata',[],'ydata',[],'linestyle','-','color','b','erasemode','none');
  45. h2=axes('position',[.1 .05 .4 .4]);
  46. axis([0 2*pi -4 4]);axis('off');
  47. text(0.1, 3.5, 'fa'), text(2.1, 3.5, 'fc'),text(4.4, 3.5, 'fb'),
  48. text(0.5, 4.35,'Negative-phase sequence')
  49. line([0; 0],   [-4; 4],'color','w')
  50. line([0; 6.3], [0; 0],'color','w')
  51. text(-.3, 0,'0')
  52. Displ4=line('xdata',[],'ydata',[],'linestyle','-','color','r','erasemode','none');
  53. Displ5=line('xdata',[],'ydata',[],'linestyle','-','color','b','erasemode','non');
  54. Displ6=line('xdata',[],'ydata',[],'linestyle','-','color','y','erasemode','none');
  55. %h4=axes('position',[.58 .58 .4 .4]);
  56. h4=axes('position',[.58 .68 .3 .3]);
  57. axis([-2.  2. -2. 2.]);
  58. axis('equal')
  59. text(-1.75, -2.3,'Forward Rotating mmf')
  60. %text(-1.0, 2.3,'Forward Rotating mmf')
  61. data1=[0 0; 2 0 ];
  62. phi=0;
  63. R1=[cos(phi)  -sin(phi);  sin(phi)  cos(phi)];
  64. bar1=line('xdata',data1(1,:),'ydata',data1(2,:),'linewidth',2,'color','g','erase','xor');
  65. hinge1=line('xdata',0,'ydata',0,'linestyle','o','color','r'); %,'markersize',[4]);
  66. path1=line('xdata',[],'ydata',[],'linestyle','.','color','m','erasemode','none');
  67. %h3=axes('position',[.58 .05 .4 .4]);
  68. h3=axes('position',[.58  0 .3 .3]);
  69. axis([-2.  2. -2. 2.]);
  70. axis('equal')
  71. %text(-1.0, -2.3,'Reverse Rotating mmf')
  72. text(-1.75,  2.3,'Reverse Rotating mmf')
  73. data2=[0 0; -2 0 ];
  74. R2=[cos(phi)  sin(phi);  sin(phi)  cos(phi)];
  75. bar2=line('xdata',data2(1,:),'ydata',data2(2,:),'linewidth',2,'color','c','erase','xor');
  76. hinge2=line('xdata',0,'ydata',0,'linestyle','o','color','r');  %,'markersize',[4]);
  77. %hinge2=line('xdata',0,'ydata',0,'linestyle','o','color','r','markersize',[4]);
  78. path2=line('xdata',[],'ydata',[],'linestyle','.','color','m','erasemode','none');
  79. for k=1:1:50
  80. t=0:1:k;
  81. %while(t<tf);
  82. %t=t+dt;
  83. theta=theta+thetadot*dt;
  84. thetadot==thetadot-sin(theta);
  85. R1=[cos(theta)  (-sin(theta));  sin(theta)  cos(theta)];
  86. datanew=R1*data1;
  87. axes(h4); axis('off')
  88. set(path1,'xdata',datanew(1,1),'ydata',datanew(2,1));
  89. set(bar1,'xdata',datanew(1,:),'ydata',datanew(2,:));
  90. R2=[cos(theta)  (sin(theta));  sin(theta)  cos(theta)];
  91. datanew2=R2*data2;
  92. axes(h3); axis('off')
  93. set(path2,'xdata',datanew2(1,1),'ydata',datanew2(2,1));
  94. set(bar2,'xdata',datanew2(1,:),'ydata',datanew2(2,:));
  95. ia=3*cos(2*pi*t/tf);
  96. ib=3*cos(2*pi*t/tf -2*pi/3);
  97. ic=3*cos(2*pi*t/tf-4*pi/3);
  98. axes(h1);
  99. set(Displ1,'xdata',2*pi*t/50, 'ydata',ia);
  100. set(Displ2,'xdata',2*pi*t/50, 'ydata',ib);
  101. set(Displ3,'xdata',2*pi*t/50, 'ydata',ic);
  102. axes(h2);
  103. set(Displ4,'xdata',2*pi*t/50, 'ydata',ia);
  104. set(Displ5,'xdata',2*pi*t/50, 'ydata',ib);
  105. set(Displ6,'xdata',2*pi*t/50, 'ydata',ic);
  106. drawnow;
  107. end