计算机控制工程实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机控制工程实验
一 实验目的 试验目的:
1了解计算机控制系统的基本构成结构和掌握计算机控制系统的原理;熟悉计算机控制系统的设计过程。

2掌握控制器的设计方法;能够利用最小拍有纹波,最小拍无纹波,大林算法,数字PID 四种方法设计数字控制器。

并体会四种算法设计的不同。

比较不同控制器的设计方法的区别,在编程和仿真的过程中,学习MATLAB 软件的使用,通过Matlab 工具仿真控制效果,掌握不同控制器的特点;
3 通过本实验积累在具体控制工程中分析与解决具体问题的能力,并熟悉设计控制系统的过程。

4 对仿真结果进行分析,体会不同的设计思想,加深对计算机控制系统设计的理解 二 实验任务 实验对象结构:
D(z)是待设计的数字控制器,G(s)是被控对象的连续传递函数,G h (s)是零阶保持
器,T 为采样周期
G(s)有两种:传函G 1:()S
e s G S S s G Ts
h --=+=1)(,)2(2
传函G 2:()S
e s G S e s G Ts
h S ---=+=1)(,22 T=0.5 试分别设计控制算法(D(z))使输出Y(t)能够跟踪v(t)参考输入,v (t )有三种:
1单位阶跃 2单位速度
3随动信号:设输入信号包含上升、平顶和下降阶段或改用加速度信号
设计4种控制器:
1数字PID
2大林算法
3最小拍(最速跟踪) 4最小拍无纹波
三 数字控制器的设计、实验设计与仿真结果 1 有纹波的最小拍控制器
(1)传函G 1的最小有纹波控制器设计
广义对象的Z 传递函数为:

输入阶跃信号时被控对象为G 1(s)的控制器设计
对单位阶跃信号,1=q 所以,
因为, 且)('
1z F 的首项为1,所以有,)('
1z F =1, 即
则数字控制器为: 输入阶跃信号时被控对象为G 1(s)的控制器设计:
)368.01)(1()
717.01(184.0)2(21)(1
111-------+=⎥⎦
⎤⎢⎣⎡+⋅-=z z z z s s s e Z z G Ts 1
1111=-===---j z N M d ,,,)
()('1z F z z -=φ)
()1()('11z F z z e --=φ01)(deg '
1=-+=-m d z F )
1()(1--=z z e φ1
)(1)(-=-=z z z e φφ)717.01()368.01(43.5)()()(1)(11--+-=
⋅=z z z z z G z D e
φφ
输入阶跃信号时被控对象为G 1(s)的仿真结果:
输入速度信号时被控对象为G 1(s)的控制器设计
对单位速度信号,2=q 所以,
因为, 且)('
1z F 的首项为1,所以有,)('
1z F =1, 即
则数字控制器为:
输入速度信号时被控对象为G 1(s)的控制器设计:
)
()('1z F z z -=φ)
()1()('121z F z z e --=φ01)(deg '
1=-+=-m d z F 2
1)1()(--=z z e φ2
12)(1)(---=-=z z z z e φφ)
717.01)(1()
368.01)(5.01(86.10)()()(1)(1111----+---=
⋅=z z z z z z z G z D e φφ
输入速度信号时被控对象为G 1(s)的仿真结果:
输入随动信号时被控对象为G 1(s)的控制器设计
设计的随动信号是有单位速度信号叠加而成的,最高阶次为2,设计的控制器与单位速度信号相同。

数字控制器为:
输入随动信号时被控对象为G 1(s)的控制器设计:
)
717.01)(1()
368.01)(5.01(86.10)()()(1)(1111----+---=
⋅=z z z z z z z G z D e φφ
输入随动信号时被控对象为G 1(s)的仿真结果:
(2)传函G 2的最小有纹波控制器设计
输入阶跃信号时被控对象为G 2(s)的控制器设计
数字控制器为: 输入阶跃信号时被控对象为G 2(s)的控制器设计
:
输入阶跃信号时被控对象为G 2(s)的仿真结果为:
1
582.0582.1)()()(1)(32
3--=⋅=
z z z z z z G z D e φφ
● 输入速度信号时被控对象为G 2(s)的控制器设计
数字控制器为:
输入速度信号时被控对象为G 2(s)的控制器为:
输入速度信号时被控对象为G 2(s)的仿真结果为:
● 输入随动信号时被控对象为G 2(s)的控制器设计
数字控制器为:
输入随动信号时被控对象为G 2(s)的控制器为:
896
.1528.2632.0104.1472.44)()()(1)(4234+-+-=
⋅=z z z z z z z z G z D e φφ896
.1528.2632.0104.1472.44)()()(1)(42
34+-+-=
⋅=z z z z z z z z G z D e φφ
输入随动信号时被控对象为G 2(s)的仿真结果为:
2 无纹波的最小拍控制器
(1)传函G 1的最小拍无纹波控制器设计
广义对象的Z 传递函数为:

输入阶跃信号时被控对象为G 1(s)的控制器设计
对单位阶跃信号,1=q 所以,
因为,
于是,
因为, 1718.1)1('
0==f φ,有,582.0'0=f
所以,
1
1717.01111=-=+==---j z N z M d ,,,)()717.01()('11z F z z z --+=φ)
()1()('
1
1
z F z z e --=φ11)(deg '
1=-+=m d z F )368.01)(1()
718.01(184.0)2(21)(1
111-------+=⎥⎦
⎤⎢⎣⎡+⋅-=z z z z s s s e Z z G Ts 01)(deg 0'
=-+=-
n q z F '
011)718.01()(f z z z --+=φ)
718.01(582.0)(11--+=z z z φ
则数字控制器为: 输入阶跃信号时被控对象为G 1(s)的控制器设计:
输入阶跃信号时被控对象为G 1(s)的仿真结果:
输入速度信号时被控对象为G 1(s)的控制器设计
对单位速度信号,2=q 所以,
因为,
于是,
2
111417.0582.01)
368.01)(1(163.3)()()(1)(--------=
⋅=z z z z z z z G z D e φφ)
()1()('121z F z z e --=φ2
1417.0582.01)(1)(----=-=z z z z e φφ11)(deg '
1=-+=m d z F 1
1)(deg 0'
=-+=-
n q z F )
)(718.01()(1'1'011---++=z f f z z z φ)
()717.01()('11z F z z z --+=φ
列方程组: 解得, 所以,
则数字控制器为:
输入速度信号时被控对象为G 1(s)的控制器设计:
输入速度信号时被控对象为G 1(s)的仿真结果:
)
717.01)(1()
368.01)(586.01(652.7)()()(1)(1111----+---=
⋅=z z z z z z z G z D e φφ⎪⎩
⎪⎨⎧=++++-=-==+==-0]718.1)(718.0)(718.1[)1)(()1('1)(718.1)1('1'1'0'1'012
1'1'0f f f f f z z dz d f f z φφφ⎪⎩⎪⎨⎧-==826
.0408.1'1'
0f f )
826.0408.1)(718.01()(111----+=z z z z φ)
592.01()1()(121--+-=z z z e φ
● 输入随动信号时被控对象为G 1(s)的控制器设计
设计的随动信号是有单位速度信号叠加而成的,最大阶次为2,设计的控制器与单位速度信号相同。

数字控制器为:
输入随动信号时被控对象为G 1(s)的控制器设计:
输入随动信号时被控对象为G 1(s)的仿真结果:
(2)传函G 2的最小拍无纹波控制
● 输入阶跃信号时被控对象为G 2(s)的控制器设计
数字控制器为:
)
717.01)(1()
368.01)(586.01(652.7)()()(1)(1111----+---=
⋅=z z z z z z z G z D e φφ1
582.0582.1)()()(1)(32
3--=⋅=z z z z z z G z D e φφ
输入阶跃信号时被控对象为G 2(s)的仿真结果为:
输入速度信号时被控对象为G 2(s)的控制器设计
数字控制器为:
输入速度信号时被控对象为G 2(s)的仿真结果为:
896
.1528.2632.0104.1472.44)()()(1)(42
34+-+-=
⋅=z z z z z z z z G z D e φφ
输入随动信号时被控对象为G 2(s)的控制器设计
数字控制器为:
输入随动信号时被控对象为G 2(s)的仿真结果为:
3 数字PID 控制器 (1)PID 算法推导
数字PID 控制器的全量算法:
896
.1528.2632.0104.1472.44)()()(1)(42
34+-+-=
⋅=z z z z z z z z G z D e φφ
∑=--++=k
i D I p k e k e K i e K k e K k u 0
)]
1()([)()()(∑-=---++-=-1
)]
2()1([)()1()1(k i D I p k e k e K i e K k e K k u

得PID 控制器的增量式算法
(2)参数整定
1.扩充临界比例度法
扩充临界比例度法适用于有自衡特性的受控对象,是对连续时间PID 控制器参数整定的临界比例度的扩充,其主要步骤如下:
1)选择一足够短的采样周期T(一般应在被控对象纯时延时间的十分之一以下),作纯比例控制。

2)逐渐加大比例系数 ,直到系统达到临界等幅振荡,记下此时的振荡周期
,以及增益
(3)参数整定结果 %lab3_1 clear all; close all; ts=0.5;
sys=tf(2,[1,2,0]);
)]
2()1(2)([])()1()([)(-+--++--=∆k e k e k e K k e K k e k e K k u D I p )
()1()(k u k u k u ∆+-=p K s T s K
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
u_1=0.0; u_2=0.0;
y_1=0.0; y_2=0.0;x=[0;0;0];
error_1=0;
error_2=0;
for k=1:1:1000
time(k)=k*ts;
r(k)=1.0;
kp=0.126;
ki=0.004;
kd=1.26;
du(k)=kp*x(1)+kd*x(2)+ki*x(3);
u(k)=u_1+du(k);
if u(k)>=10 u(k)=10; end
if u(k)<=-10 u(k)=-10; end
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; error=r(k)-yout(k);
u_2=u_1; u_1=u(k);
y_2=y_1; y_1=yout(k);
x(1)=error-error_1;
x(2)=error-2*error_1+error_2;
x(3)=error;
error_2=error_1;
error_1=error;
end
plot(time,r,'b',time,yout,'r');
xlabel('time(s)');
ylabel('r,yout');
将r(k)=1.0;改为r(k)=k*ts;得速度信号下的仿真结果:
将r(k)=1.0;改为
if(k<=100) r(k)=k*ts;end
if(k>=100&k<=400) r(k)=50;end
if(k>=400&k<=500) r(k)=50-(k-400)*ts;end
if(k>=500) r(k)=0.0;end
%lab3_2
clear all;
close all;
ts=0.5;
sys=tf(2,[1,2],'inputdelay',1); dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
u_1=0.0; u_2=0.0;u_3=0.0;
y_1=0.0; y_2=0.0;y_3=0.0;x=[0;0;0]; error_1=0;
error_2=0;
for k=1:1:100
time(k)=k*ts;
rin(k)=1;
kp=0.2;
ki=0.3;
kd=0.2;
du(k)=kp*x(1)+kd*x(2)+ki*x(3);
u(k)=u_1+du(k);
if u(k)>=10 u(k)=10; end
if u(k)<=-10 u(k)=-10; end
yout(k)=-den(2)*y_1+num(2)*u_3; error=rin(k)-yout(k);
u_3=u_2;u_2=u_1;u_1=u(k);
y_1=yout(k);
x(1)=error-error_1;
x(2)=error-2*error_1+error_2; x(3)=error;
error_2=error_1;
error_1=error;
end
plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');
ylabel('rin,yout');
阶跃信号下的仿真结果:
将r(k)=1.0;改为r(k)=k*ts;得速度信号下的仿真结果:
将r(k)=1.0;改为if(k<=50) rin(k)=0;end
if(k>=50&k<=100) rin(k)=(k-50)*ts;end
if(k>=100&k<=150) rin(k)=25;end
if(k>=150&k<=200) rin(k)=25-(k-150)*ts;end
if(k>=200) rin(k)=0.0;end
速度信号下的仿真结果:
4 大林控制器
(2)被控对象为G 2(s)的控制器设计
被控对象为:()2
2+=-s e s G s
则可取期望闭环系统为: (),25.01s
e s W s
+=
- 所以,控制器的传递函数为:
对于数字大林控制器,则应当先对W(s)、G(s)进行离散化,求出数字控制系统的闭环z 传递函数W(z)和控制对象的z 传递函数G(z),然后再解出数字控制
器D(z): 选择合适的采样周期T ,使 nT =τ 解得,
输入阶跃、速度和随动信号时被控对象为G 2(s)的控制器设计:
s
p e s G s W s W s D τ--=)()](1[)()()]
(1)[()
()(z W z G z W z D -=1
)
368.0(5.0)(--=z z z D
输入速度信号时被控对象为G
(s)的仿真结果:
2
输入速度信号时被控对象为G
(s)的仿真结果:
2
输入随动信号时被控对象为G
(s)的仿真结果:
2
四结果分析
最小拍有纹波控制系统仅要求在采样点无稳态误差,不能保证采样点之间的误差也为零。

按最小拍有纹波系统设计的控制器,只保证了在最少的几个采样周
,.
期后系统的响应在采样点无静差,而不能保证任意两个采样点之间的稳态误差为零,系统输出信号有纹波存在。

最小拍有纹波系统在稳定性、准确性、快速性等方面,都优于同类的连续控制系统,且数字控制器D(z)在工程实现上,简单易行。

其缺点主要是对各种典型输入函数的适应性差,在稳态过程中采样点间有纹波。

而最小拍无纹波系统不仅在采样点是无静差的,在稳态过程中采样点之间也是无误差的,无纹波的必要条件:被控对象G(s)中含有足够的积分环节,最小拍无纹波系统对典型输入的适应性也不好,但比有纹波系统要好一些。

系统对其它典型输入,进入稳态后输出响应和控制量无纹波。

用计算机实现PID控制,可以根据系统的实际要求,用计算机软件实现数字控制器,具有方便、简单等优点,对PID算法灵活改变,达到提高调节品质的目的。

在实际的应用中,相当一部分工业对象具有较大的纯滞后特性,纯滞后环节降低了系统的稳定性,增加了系统的超调量。

大林算法为具有纯滞后特性的被控对象设计数字控制器,以降低系统的超调量。

五实验体会
通过MATLAB的仿真实验,了解计算机控制系统的基本构成结构和计算机控制系统的设计过程,完成了对最小拍有纹波数字控制器、最小拍无纹波数字控制器、大林算法和数字PID数字控制器的设计,更加深刻的理解了不同控制器的特点,熟悉设计控制系统的过程,加深对计算机控制系统设计的理解。

;..。

相关文档
最新文档