计算机控制技术课程设计

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

计算机控制技术课程设计

课程名称计算机控制技术

学院自动化学院

专业班级自动化08(4)班

学号

姓名

2011 年6 月22 日

一、题目和要求

已知计算机控制系统结构图如图1所示,其中r(t)是系统的参考输入,e(t)是系统偏差,u(t)是系统的控制量,G0(s)是系统被控对象的传递函数,D(z)是待设计控制器的脉冲传递函数。

图1 计算机控制系统结构图

现假设系统采样周期T=0.5s,系统被控对象的传递函数为:

2

()

(2)

s

G s e

s s -

=

+

请针对上述被控对象,完成如下任务:

(一)、试分别采用不同的数字控制算法设计数字控制器D(z),使得输出跟踪不同的参考输入;在设计任务中要求采用如下四种数字控制算法:数字PID 控制算法、最少拍有纹波控制算法、最少拍无纹波控制算法和大林控制算法;设计每种算法时需要跟踪两种典型的参考输入,即:单位阶跃输入和单位速度输入;

(二)、针对每一种情况,编写计算机程序或者使用仿真软件作出相应的e(k),u(k)和y(k)的曲线,通过改变不同算法的控制参数观察控制效果的变化分析相应算法控制算法对系统控制性能的影响;

(三)、比较分析各种不同控制算法间的控制效果差异;

(四)、撰写心得和体会。

二、数字PID控制算法

1、单位阶跃输入

(1)、搭建sumilink

(2)、双击PID控制器

(3)、点击TUNE,让系统自动调整参数

(4)、调整得到满意参数(5)、编程模拟

s=tf('s');

Gs=200/(s*(s+40));

Ts=0.01;

Gz=c2d(Gs,Ts,'zoh'); [num,den]=tfdata(Gz,'v'); step=1000;

Kp=0.4411;

Ki=0.0019;

Kd=0.4694;

e=zeros(1,step);

y=zeros(1,step);

time=zeros(1,step);

r=zeros(1,step);

delta_u=zeros(1,step);

u=zeros(1,step);

for k=1:step r(k)=1;

time(k)=k*Ts;

end

for k=3:step

y(k)=y(k-1);

e(k)=r(k)-y(k);

delta_u(k)=Kp*(e(k)-e(k-1))+Ki*e (k)+Kd*(e(k)-2*e(k-1)+e(k-2)); u(k)=delta_u(k)+u(k-1);

y(k)=-den(2)*y(k-1)-den(3)*y(k-2

)+num(2)*u(k-1)+num(3)*u(k-2); end

plot(time,r,time,y)

仿真图如下示:

y(k)

u(k)

e(k) 2、单位速度输入

方法同单位阶跃输入

仿真图:

y(k)

u(k)

e(k) 编程模拟:

s=tf('s');

Gs=200/(s*(s+40));

Ts=0.01;

Gz=c2d(Gs,Ts,'zoh'); [num,den]=tfdata(Gz,'v'); step=1000;

Kp=0.9539;

Ki=0.0016;

Kd=0.3689;

e=zeros(1,step);

y=zeros(1,step);

time=zeros(1,step);

r=zeros(1,step);

delta_u=zeros(1,step);

u=zeros(1,step);

for k=1:step r(k)=k;

time(k)=k*Ts;

end

for k=3:step

y(k)=y(k-1);

e(k)=r(k)-y(k);

delta_u(k)=Kp*(e(k)-e(k-1))+Ki*e (k)+Kd*(e(k)-2*e(k-1)+e(k-2)); u(k)=delta_u(k)+u(k-1);

y(k)=-den(2)*y(k-1)-den(3)*y(k-2

)+num(2)*u(k-1)+num(3)*u(k-2); end

plot(time,r,time,y)

三、最少拍有纹波控制算法

广义传递函数:

12()(2)Ts

s

e G s e s s s ---=+ Z 变换:

11

2

110.184(10.717)()(1)(10.368)z z G z z z z -----+=--

1、单位阶跃输入

d=2 u=0 v=1 j=1 q=1 m=u+d=2 n=v-j+q=1

1121112()(1)(1)e z z f z f z ϕ---=-++

123

11

1211121(1)()f z f f z f z

---=+-+--

2121()z z f z ϕ--=

对比可得:f 11=1 f 12=1 f 21=1 故控制器的脉冲传递函数D (z )为:

1

11211

()0.184(10.717)(1)(1)(10.368)z D z z z z z z ------=

+++--

32

320.3680.1840.3160.3160.132z z z z z -=+++

仿真图如下图示。 2、单位速度输入

d=2 u=0 v=1 j=1 q=2 m=u+d=2 n=v-j+q=2

1212

1112()(1)(1)e z z f z f z ϕ---=-++

1234

1112111112121(2)(21)(2)f z f f z f f z f z ---=+-+-+--+212

2122()()z z f z f z ϕ---=+

对比可得:f 11=2 f 12=3 f 21=4 f 22=-3 故控制器的脉冲传递函数D (z )为:

相关文档
最新文档