. . . .
w. . .v
. . . .
界面设计及组态:
六、实验思考
1、运动物体动态组态如何实现? 2、如何实现平面运动组态?
w. . .v
. . . .
实验五 时滞对象PID位置算法控制实验
一、实验目的
1、掌握PID位置算法如何用程序来实现 2、掌握零阶保持器的作用及离散化方法 3、掌握过程输出如何仿真 4、Matlab程序设计方法及调试。 二、实验要求
具体要求如下:
1、模拟PID的离散化方法。 2、程序设计实现。 3、过程输出仿真。 三、实验原理
控制对象及参数如下
位置式PID控制算法: . ?tkoe(t)d t?T?ej j?0
de(t)ek?edt?k?1TSku?KeTTDkP[k?ST?ej?T(ek?ek?1)]?u0 Ij?0S位置式控制算法提供执行机构的位置 uk,需要累计ek G(z)?(1?z?1)??G(s)??s??w. . .v
. . . .
零阶保持器处理方法: 四、实验参考程序
clear all; %??3yμ??ùóD???t close all; %1?±??ùóD???t Ts=20; %?¨ò?ê±??
Tlay plant ?¨ò??ó3ùoˉêy K=1; Tp=60; tol=80; %?3?μ
sys=tf((K),[Tp,1],'inputdelay',tol); %?¨ò??μí3′?μYoˉêy dsys=c2d(sys,Ts,'zoh'); %×a?ˉ3édzoˉêy
[num,den]=tfdata(dsys,'v'); %??μ?Z′?μYoˉêyμ?·?×ó·??? u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0; %??0£?ê1?μí33?ê??ˉ e_1=0; ei=0; y_1=0.0;
for k=1:1:300 %2é?ù±è£??ú1?a300£??ò??·ù?a1????2é?ù time(k)=k*Ts; %?¨ò?time(k)oˉêy
yd(k)=1.0; %Tracting Step Signal ×·×ù?×??D?o? y(k)=-den(2)*y_1+num(2)*u_5; %ê?3?oˉêy e(k)=yd(k)-y(k); %2?·?·?3ì de(k)=(e(k)-e_1)/Ts; ei=ei+Ts*e(k); delta=0.885; %??2?μt?ó TI=160; TD=40; %?3?μ
u(k)=delta*(e(K)+1/TI*ei+TD*de(k)); %?¨ò???2?u(k)oˉêy e_1=e(k);
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); %??D??¨ò?D?2?êy y_1=y(k); end
figure(1); %í?1
plot(time,yd,'r',time,y,'k:','linewidth',2); %?-í?
xlabel('time(s)');ylabel('yd and y'); %x?á±íê?time(s)£?y?á±íê?yd and y legend('ideal position signal','position tracking'); %êμ??±íê?time(s)£?Dé??±íê?yd and y
w. . .v
. . . .
1.4ideal position signalposition tracking 1.21yd and y0.80.60.40.20 0100020003000time(s)400050006000
Simulink仿真:
五、实验思考题
1、PID位置算法如何实现? 2、过程输出如何仿真?
3、当tol=120 时,程序如何修改?
4、PID位置算法对时滞对象控制品质效果影响如何?有没有更好的方法?如何实现并检验控制效果?
w. . .v