北京理工大学珠海学院 《控制系统计算机仿真》
课程设计说明书
题目: 控制系统建模、分析、设计和仿真
学 院: 信息学院 专业班级: 学 号: 学生姓名: 指导教师: 胡 克
2016 年 6 月 日
北京理工大学珠海学院
课程设计任务书
2015 ~2016 学年 第 2学期
学生姓名: 专业班级: 指导教师: 胡 克 工作部门: 信息学院 一、课程设计题目
《控制系统建模、分析、设计和仿真》
本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。
学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为13xxxxxxxx2的学生必须选做[2号题]。
二、课程设计内容
(一)《控制系统建模、分析、设计和仿真》课题设计内容
最少拍有波纹控制系统
R(z) + _ E(z) D(z) U(z) G(z) Y(z)
2
[0号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)888(s2)(s5)s511s431s321s2用零阶保持器离散化,采样周期取0.1秒, 设计一单位加速度信号输入时的最少拍有波纹控制器D(z)。具体要求见(二)。
S^2[(s+1)(s+3)(s+7)]
[1号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
1000(s29s14)G(s)5s17s487s3135s2用零阶保持器离散化,采样周期取0.1秒,设计一单位加速度信号输入时的最少拍有波纹控制
器D(z)。具体要求见(二)。
[2号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)668 (s+2) (s+6)s2 (s+1) (s+5) (s+8)用零阶保持器离散化,采样周期取0.2秒,设计一单位加速度信号输入时的最少拍有波纹控制器D(z)。具体要求见(二)。
[3号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)789(s3)(s5)s514s456s364s23
用零阶保持器离散化,采样周期取0.2秒,设计一单位加速度信号输入时的最少拍有波纹控制
器D(z) 。具体要求见(二)。
[4号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
868(s210s16)G(s)5s9s423s315s2用零阶保持器离散化,采样周期取0.05秒,设计一单位加速度信号输入时的最少拍有波纹控
制器D(z) 。具体要求见(二)。
[5号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)968 (s+2) (s+9)s2 (s+1) (s+4) (s+8)用零阶保持器离散化,采样周期取0.05秒,设计一单位加速度信号输入时的最少拍有波纹 控制器D(z) 。具体要求见(二)。
[6号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)999(s2)(s5)s513s439s327s2用零阶保持器离散化,采样周期取0.01秒,设计一单位加速度信号输入时的最少拍有波纹 控制器D(z) 。具体要求见(二)。
[7号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
1818(s26s8)G(s)5s15s462s348s2用零阶保持器离散化,采样周期取0.01秒,设计一单位加速度信号输入时的最少拍有波纹 控制器D(z) 。具体要求见(二)。
[8号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
G(s)879(s1)(s6)s2(s2)(s5)(s7)4
用零阶保持器离散化,采样周期取0.02秒,设计一单位加速度信号输入时的最少拍有波纹 控制器D(z) 。具体要求见(二)。
[9号题] 控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
999s28991s17982G(s)5s14s456s364s2用零阶保持器离散化,采样周期取0.02秒,设计一单位加速度信号输入时的最少拍有波纹 控制器D(z) 。具体要求见(二)。
(二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】
1、求被控对象传递函数G(s)的MATLAB描述。(5分)
>> z=[-2 -5];p=[0 0 -1 -3 -7];k=888; >> Gs=zpk(z,p,k) 运行结果: Zero/pole/gain: 888 (s+2) (s+5) --------------------- s^2 (s+1) (s+3) (s+7)
2、求被控对象脉冲传递函数G(z)。(8分)
Matlab输入
>> Gz=c2d(Gs,0.1,'zoh') 运行结果 Zero/pole/gain:
0.13473 (z+3.403) (z-0.8187) (z-0.6065) (z+0.2408) --------------------------------------------------
(z-1)^2 (z-0.9048) (z-0.7408) (z-0.4966)
5
Sampling time: 0.1
3、转换G(z)为零极点增益模型并按z形式排列。(5分)
Matlab输入
>> [a,b,c]=zpkdata(Gz) 运行结果
a = [4x1 double] b = [5x1 double] c = 0.1347 Matlab输入
>> Gz=zpk(a,b,c,0.1,'variable','z^-1') 运行结果 Zero/pole/gain:
0.13473 z^-1 (1+3.403z^-1) (1-0.8187z^-1) (1-0.6065z^-1) (1+0.2408z^-1) -----------------------------------------------------------------------
Sampling time: 0.1
4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳 定的要求。(15分)
Matlab输入
>> syms z b0 b1 a0 a1 a2 a3
>> Gez=(1-z^-1)^3*(1+b0*z^-1) 运行结果
Gez = (1-1/z)^3*(1+b0/z)
5、确定闭环脉冲传递函数Gc(z)形式,满足控制器D(z)可实现、最少拍和实际闭环系统稳定的要求。 (17分)
Matlab输入
>> Gcz=z^-1*(1+3.403*z^-1)*(a0+a1*z^-1+a2*z^-2) 运行结果
Gcz = 1/z*(1+3403/1000/z)*(a0+a1/z+a2/z^2)
6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(20分)
1)选择Ge(z),按单位加速度信号输入,Ge(z)中应含有(1-z)因子,故设
6
-1
3
-1
(1-z^-1)^2 (1-0.9048z^-1) (1-0.7408z^-1) (1-0.4966z^-1)
Ge(z)=(1-z)F2(z)
2)选择Gc(z),因G(z)分子有z的因子,又有不稳定的零点因子(1+2.904z),所以设 Gc(z)= z(1+3.403z)F1(z);
根据Ge(z)中(1-z)因子为3阶,可知F1(z)中有3个未知数,故设 F1(z)=a0+a1z+a2z , 代入Gc(z):
Gc(z)= z(1+3.403z)F1(z)= z(1+3.403z)(a0+a1z+a2z)
3)根据Gc和Ge的最高阶应保持一致的原则,可设F2(z)=1+ b0z,代入Ge(z):
Ge(z)=(1-z)(1+ b0z)
4)因Ge = 1 - Gc,故只需求出a0,a1,a2,b0即可得出Gc(z)和Ge(z)的表达式
列方程求出a、b各系数:
1)对于Ge:当z=1时,Ge=0,Gc=1-Ge=1,Gc-1 = 0; 可列出下式f1 2)对于Ge的一阶导数:当z=1时,Ge’= Gc’= 0; 可列出下式f2 3)对于Ge的二阶导数:当z=1时,Ge”= Gc”= 0; 可列出下式f3 4)对于Gc:当z= -3.152时,Gc = 0,Ge-1 = 0; 可列出下式f4 5)对于Gc:当z趋于无穷时,Gc = 0,Ge-1 = 0
Matlab输入
>> f1=subs(Gcz,z,1)-1
f1 = 4403/1000*a0+4403/1000*a1+4403/1000*a2-1 >> f2=subs(diff(Gcz,1),z,1)
f2 = -3903/500*a0-12209/1000*a1-4153/250*a2 >> f3=subs(diff(Gcz,2),z,1)
f3 = 11209/500*a0+11709/250*a1+4003/50*a2 >> [a0j a1j a2j]=solve(f1,f2,f3) a0j =99706454000/85358358827 a1j = -126270272000/85358358827 a2j = 45950227000/85358358827 >> A=double([a0j a1j a2j]) A =
1.1681 -1.4793 0.5383 >> Gcz=subs(Gcz,[a0 a1 a2],A) Gcz =
-13
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
3
3
-1-2
-1-2
1/z*(1+3403/1000/z)*(2630310348345151/2251799813685248-3331078278342513/2251799813685248/z+2424383833506079/4503599627370496/z^2)
7
>> Gez=(1-z^-1)^3*(1+b0*z^-1) Gez =
(1-1/z)^3*(1+b0/z) >> f4=subs(Gez,z,- 3.403)-1 f4 =
45950227000/39408131827-85358358827000/134105872607281*b0 >> boj=solve(f4) boj =
156368622481/85358358827 >> B=double(boj) B = 1.8319
>> Gez=subs(Gez,[1 b0],[1 boj]) Gez =
(1-1/z)^3*(1+156368622481/85358358827/z)
7、求针对单位加速度信号输入的最少拍有波纹控制器D(z)并说明D(z)的可实现性。(10分)
>>Gz=0.13473*z^-1*(1+3.403*z^-1)*(1-0.8187*z^-1)*(1-0.6065*z^-1)*(1+0.2408*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.7408*z^-1)/(1-0.4966*z^-1)
Gz=13473/100000/z*(1+3403/1000/z)*(1-8187/10000/z)*(1-1213/2000/z)*(1+301/1250/z)/(1-1/z)^2/(1-1131/1250/z)/(1-463/625/z)/(1-2483/5000/z)
>> Dz=Gcz/Gez/Gz
Dz=100000/13473*(2630310348345151/2251799813685248-3331078278342513/2251799813685
248/z+2424383833506079/4503599627370496/z^2)/(1-1/z)/(1+156368622481/85358358827/z)/(1-8187/10000/z)/(1-1213/2000/z)/(1+301/1250/z)*(1-1131/1250/z)*(1-463/625/z)*(1-2483/5000/z)
8、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。(20分)
>> [N,D]=numden(simplify(Dz));
>> numD=sym2poly(N) numD = 1.0e+039 *
1.0963 -3.7368 5.1101 -3.5124 1.2136 -0.1682 >>denD=sym2poly(D) denD = 1.0e+038 *
1.2645 -0.4457 -3.3684 3.0561 -0.2295 -0.2770
8
>> [nums,dens]=zp2tf(z,p,k)
nums =
[ 0, 0, 0, 0, 0, 444*x-444*z+1/2*conj(888*x-888*z)] dens =
1 11 31 21 0 0
三、进度安排
6月27日: 下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定
设计方案和步骤。
6月28-30日: 编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、仿真结果,撰
写课程设计说明书。
7月1日: 完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答辩总结。
四、基本要求
1.学生应按照课程设计任务书的要求独立分析、解决问题,按计划完成课程设计任务; 2.不得抄袭或找人代做,否则按考试作弊处理;
3. 学生在完成课程设计时须提交不少于3000字课程设计说明书;说明书结构为: (1)封面, (2)目录 (3)任务书,
(4)摘要与关键词(中英对照 ), (5)课程设计的目的 (6)课程设计用的仪器与器件 (7)课程设计的内容
9
(8) 心得体会 (9)参考文献 (10)附录
教研室主任签名:苏 禹
2016年 6 月 15 日
1.0963 -3.7368 5.1101 -3.5124 1.2136 -0.1682 1.2645 -0.4457 -3.3684 3.0561 -0.2295 -0.2770
z=[-2 -5];p=[0 0 -1 -3 -7];k=888; Gs=zpk(z,p,k)
Gz=c2d(Gs,0.1,'zoh') [a,b,c]=zpkdata(Gz)
Gz=zpk(a,b,c,0.1,'variable','z^-1') syms z b0 a0 a1 a2
Gez=(1-z^-1)^3*(1+b0*z^-1)
Gcz=z^-1*(1+3.403*z^-1)*(a0+a1*z^-1+a2*z^-2) f1=subs(Gcz,z,1)-1
f2=subs(diff(Gcz,1),z,1) f3=subs(diff(Gcz,2),z,1) [a0j a1j a2j]=solve(f1,f2,f3) A=double([a0j a1j a2j]) Gcz=subs(Gcz,[a0 a1 a2],A) Gez=(1-z^-1)^3*(1+b0*z^-1) f4=subs(Gez,z,-3.403)-1 boj=solve(f4) B=double(boj)
Gez=subs(Gez,[1 b0],[1 boj])
Gz=0.13473*z^-1*(1+3.403*z^-1)*(1-0.8187*z^-1)*(1-0.6065*z^-1)*(1+0.2408*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.7408*z^-1)/(1-0.4966*z^-1) Dz=Gcz/Gez/Gz
[N,D]=numden(simplify(Dz)); numD=sym2poly(N) denD=sym2poly(D)
z=[-2 -5]';p=[0 0 -1 -3 -7]';k=888; %求G(s)的tf表达式的系数 [nums,dens]=zp2tf(z,p,k)
10
因篇幅问题不能全部显示,请点此查看更多更全内容