论文研读报告特等奖和第五篇DOC
- 格式:doc
- 大小:301.78 KB
- 文档页数:19
第一次论文研读:2009A 特等奖: 问题一: 针对(一)
grGwgvGJwJvG222222121代入已给数据;
问题二: 针对(二)
1041033222412222r
rr
rrhdrhrddVdvdmrhdrrhdrrhdVrdmrJ
机械惯量=基础惯量+飞轮惯量之和 根据题意:基础惯量=103mkg
飞轮惯量=30、60、1203mkg 机械惯量:10 10+30=40 10+60=70 10+60+30=100 10+120=130 10+120+30=160 10+120+60=190 10+120+60+30=220 等效转量惯距=电动机电流控制提供的转矩[-30,30]+机械惯量; 52 -42(舍) 10 12 40 -18 70 -38(舍) 100 问题三: 公式(3)-(9)显然
trvvJJtrvJJrdtdvJJdtdwJJI00000)(5.1)(5.1)(5.1)(5.1
问题四: >> x=load('zhuansu.txt'); h=0.01; M=load('扭矩.txt'); n=load('转速.txt'); m=size(x); w=2*n*pi/60; w1=2*514.33*pi/60; f1=w1*40; w2=2*513.79*pi/60; f2=w2*40; W=(f1+f2)*h/2; for i=2:m-1 w(i+1)=2*pi*n(i+1)/60; f(i+1)=M(i+1)*w(i+1); W=W+(f(i)+f(i+1))*h/2; end wr=W; Wr=-wr
Wr = -4.9242e+004 >> 问题五: 控制方法一: 假设角速度变化率是连续的:
TwwJJTwwJJMIkkkkkdk21010)()(5.1)(5.15.1段用前一时间段代替此时
(16)+(13)=(17)展开整理即可; 由式(11)代入从0-kT时刻,用小时段积分的方法得到(19); 由于小时段内M是不变的,因此整理出式(20);
控制方法二: 假设扭矩的变化率是连续的:
)1(0)()1(5.15.1kzkdkMJJMI、
问题六(改进): 角速度补偿法:每个时间段的控制电流=原有控制电流+增加的补偿电流(当前角速度与理论角速度的差值); 改建方法一(减小误差,优化控制方法): 补偿电流来源:将每一段电流理想值与实际值的差作为下一时段的补偿电流; 作图x=0:0.1:5; m=size(x); w0=50/0.286; Wr=0; w=w0/50; E=0; for i=1:m-1 w(i)=w0-w*i; Wr=Wr+(w(i)+w(i-1))/2*0.1*505; Wz(i)=1/2*52*(w(i)^2-w0^2); E(i)=-Wr-Wz(i); e(i)=E(i)/(-Wr); end plot(x,E,'K');
J=52; J0=40; R=0.286; w0=50/3.6/R; M=w0/5*J; x=0:0.1:5; y=0.1:0.1:5; w(1)=w0-M*0.1/J0; w(2)=(2-J/J0)*w(1)+(J/J0-1)*w0-M*0.1/J0; for k=3:50 w(k)=(2-J/J0)*w(k-1)+(J/J0-1)*w(k-2)-M *0.1/J0; end plot(y,abs(w-(w0-M/J*y)),'r');
00.511.522.533.544.550.20.220.240.260.280.30.32 clear; J=52; J0=40; R=0.286; w0=50/3.6/R; M=w0/5*J; T=0.1; t=5;
x=0:T:t; y=T:T:t; w(1)=w0-M*T/J0; w(2)=(1-(J-J0)/J0)*w(1)+(J-J0)/J0*w0-M*T/J0; for k=3:t/T w(k)=(1-(J-J0)/J0)*w(k-1)+(J-J0)/J0*w(k-2)-M*T/J0; end
for k=1:t/T E(k)=(w0/2+sum(w(1:k))-w(k)/2)*T*M; Q(k)=J*(w0*w0-w(k)*w(k))/2; F(k)=(E(k)-Q(k)); f(k)=(E(k)-Q(k))/Q(k)*100; end plot(y,abs(F),'+') pause; plot(y,abs(f),'+') 00.511.522.533.544.550510152025 改进方法二: clear; J=52; J0=40; R=0.286; w0=50/3.6/R; M=w0/5*J; T=0.1; t=5;
x=0:T:t; y=T:T:t; w(1)=w0-M*T/J0; for k=2:t/T w(k)=w(k-1)-T/J*M end plot(y,abs(w-(w0-M/J*y)),'b*-') 00.511.522.533.544.550.29140.29140.29140.29140.29140.29140.29140.29140.2914 clear; J=52; J0=40; R=0.286; w0=50/3.6/R; M=w0/5*J; T=0.1; t=5;
x=0:T:t; y=T:T:t; w(1)=w0-M*T/J0; for k=2:t/T w(k)=w(k-1)-T/J*M end for k=1:t/T E(k)=(w0/2+sum(w(1:k))-w(k)/2)*T*M; Q(k)=J*(w0*w0-w(k)*w(k))/2; F(k)=(E(k)-Q(k)); f(k)=(E(k)-Q(k))/Q(k)*100; end plot(y,-F,'o') pause; plot(y,-f,'o') 00.511.522.533.544.550510152025 clear; J=48;%等效转矩 J0=35;%机械转矩 %R=0.286; w0=514*2*pi/60;%初始转速 Mz=load('扭矩.txt');%扭矩变化情况 Mz(1)=[]; Mz=Mz';
T=0.01;%时间间隔 t=length(Mz)*T;%最后一个时刻 x=0:T:t;%所有时刻,那0对应的时刻在哪里 y=T:T:t;%所要计算的时刻 z=1:10:t/T; %取每个0.1的点 Me(1)=0;%第一阶段的修正量为0,Me应该是修正量 %Mz=w0/5*J*ones(1,t/T);
w(1)=w0+T/J0*(-Mz(1)+Me(1));%第一阶段未有引入修正量 wh(1)=w(1); wl(1)=w(1); Me(2)=(2*J0/J-1)*Mz(1)-J0/T*(w(1)-w0);%第二个阶段修正后的转矩 w(2)=w(1)+T/J0*(-Mz(2)+Me(2)); wh(2)=wh(1)-Mz(2)*T/J; wl(2)=wl(1)-Mz(2)*T/J0; for k=3:t/T wh(k)=wh(k-1)-Mz(k)*T/J; wl(k)=wl(k-1)-Mz(k)*T/J0; Me(k)=-(2*J0/J-1)*Mz(k-1)-J0/T*(w(k-1)-w(k-2)); w(k)=w(k-1)+T/J0*(-Mz(k)+Me(k)); %Me(k+1)=(2*J0/J-1)*Mz(k)-J0/T*(w(k)-w(k-1)); end plot(y(z),wh(z),'-') hold on plot(y(z),wl(z),'-.') plot(y(z),w(z),'+') %sum(w'.*Mz)/100 value=Mz.*w; result=(-value(1)/2+sum(value)-value(length(value))/2)/100
pause; hold off; plot(y,w-wh,'b*'); pause; value=Mz.*w; for k=1:t/T E(k)=(sum(value(1:k)))*T; Q(k)=J*(w0*w0-w(k)*w(k))/2; F(k)=(E(k)-Q(k)); f(k)=(E(k)-Q(k))/Q(k)*100; end plot(y,F,'*') pause; plot(y(10:467),abs(f(10:467)),'-')