自动控制作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
热工控制理论与技术
学院能源与环境学院
学号150376
姓名潘晗
指导老师张雨飞
课后作业1.1 :
1、在内部扰动作用下,Kp 的大小,对稳定性、稳态误差、过渡过程如何影响?
2、在外部扰动、设定值扰动时, Kp 的大小,对稳定性、稳态误差、过渡过程如何影响。 受控对象分别采用二阶有自平衡和无自平衡。
解答:
仿真对象:1.二阶有自平衡: 021(s)(12s)
G =+ 2.二阶无自平衡: 021(s)s(12s)G =
+
(1)Simulink 仿真模型:
二阶有自平衡:
二阶无自平衡:
(2)响应曲线:1、内扰作用:
有自平衡:
Kp↑调节速度快,总体动态偏差小,稳态误差小,稳定性较差无自平衡:
Kp↑调节速度快,总体动态偏差小,稳态误差小,稳定性较差2、给定值扰动:
有自平衡:
Kp↑调节速度快,总体动态偏差小,稳态误差小,稳定性较差无自平衡:
Kp↑调节速度快,总体动态偏差小,稳定性较差
3、外扰动作用:
有自平衡:
Kp↑调节速度快,总体动态偏差小,稳态误差小,稳定性较差无自平衡:
Kp ↑调节速度快,总体动态偏差小,稳定性较差
(3)总结
Kp 增大,调节作用增强,总体动态偏差减小,系统稳定性变差,稳态误差变小。并且,对于无自平衡对象,在给定值扰动以及外扰时稳态误差为0。但是,内扰情况下不可能实现稳态误差为0.
课后作业1.2:
PID 控制。使用matlab 的simulink ,进行控制仿真:
(1)改变Kp 、Ti 、Td 的大小,对稳定性、稳态误差、过渡过程的影响怎样?受控对象分别采用二阶有自平衡和无自平衡。
(2)改变对象的增益值k, 观察对控制过程的影响。
对象为: 二阶有自平衡: 021(s)(12s)
G =+ 二阶无自平衡: 021(s)s(12s)G =
+ (3) 改变对象的阶次,n=3,n=4,…,观察控制效果, 得出结论。
simulink仿真图
一、二阶有自平衡对象:
1、保持Ti=2,Td=1不变,调节Kp使之分别等于1,3。
结论:Kp↑调节速度快,总体动态偏差小,稳态误差小。
2、保持Kp=1,Td=1不变,调节Ti使之分别等于0.5,2。
结论:Ti↑调节速度慢,快速性变差,稳态误差变大,稳定性变好。
3、保持Kp=1,Ti=2不变,调节Td使之分别等于0.5,2 。
结论:Td增加可以加快调节作用的速度,增强稳定性,减小总体动态偏差。
4.改变对象增益,Kp=1 ,Ti=2 ,Td=0.5。
结论:对象增益K1的增大,使得快速性变好,稳定性变好。
5.改变对象阶次,Kp=1 ,Ti=0.5 ,Td=5,n=2/3/4。
结论:对象阶次的增高使得稳定性变差,快速性变差,过渡过程时间长。
二、二阶无自平衡对象:
1、
结论:Kp↑,调节速度快,稳定性较差。2、
结论:Ti↑,难以调平。
3.
结论:Td 增大 ,总体动态偏差减小, 快速性变好, 稳定性增强, 稳态误差增大。
课后作业1.3:
PID 控制编程实现,用MFC++6.0或.m 编程。受控对象分别采用二阶有自平衡和无自平衡。 仿真时, 对象也需要离散化, 采用后向差分。
1
02102
00102
0()(T s 1)1
()T (T s 1)a a K G s G s s =+=
+
,有自平衡 K =2,T =2,无自平衡 T =2,T =1
(1)用Z 变换对象离散化 有自平衡对象:
12
0(s)(s)(1s)K y u T =+
1
22212
00000222()
()
(12)(22)K y z T T T T T u z Z Z
T T T T T --=++-++22
20000012
22
(12)()(22)(1)(2)()T T T T T y k y k y k K u k T T
T
T T ++-+-+-=22
00022
1222
000000222(22)(k)()(1)(2)
(12)(12)(12)
T T T K T T T y u k y k y k T T T T T T T T T T T T
+=+---++++++
无自平衡对象:
12
0(s)(s)s(1s)
a K y u T T =+ 1
2
1
1
0(z)
(z)
11()1()a K y u Z Z T T T T --=⎡⎤--+⎢⎥
⎣⎦
22223
0000032220000000(34)32(k)()(1)(2)(3)
(12)(12)(12)
T T TT T TT T T y u k y k y k y k T T T T T T T T T T +++=+---+-++++++
(2)MATLAB 程序
clf; clear;
T0=1.5;k1=1;k2=1; T=0.04;
kp=1;Ti=1.5;Td=3; kp2=1;Ti2=1.5;Td2=3;
k11=kp*(1+Td/T+T/Ti); k12=-kp*(1+2*Td/T); k13=kp*Td/T;
ky1=k1/(1+2*T0/T+T0*T0/T/T);
ky2=(2*T0/T+2*T0*T0/T/T)/(1+2*T0/T+T0*T0/T/T); ky3=(T0*T0/T/T)/(1+2*T0/T+T0*T0/T/T);
k21=kp2*(1+Td2/T+T/Ti2); k22=-kp2*(1+2*Td2/T); k23=kp2*Td2/T;
kw1=k2*T^3/(T*T+T0*T0+2*T0*T);
kw2=(T*T+3*T0*T0+4*T0*T)/(T*T+T0*T0+2*T0*T); kw3=(3*T0*T0+2*T0*T)/(T*T+T0*T0+2*T0*T); kw4=(T0*T0)/(T*T+T0*T0+2*T0*T); r=1;
e=zeros(2,3); u=zeros(2,2); y=zeros(2,4);
a=zeros(2,100/T); for i=1:100/T a(1,i)=y(1,1);