过程控制-第一到三章-作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
过程控制-第一到三章-作业
第一章作业
1.1 常用的评价控制系统动态性能的单项性能指标有哪些?它与误差积分指标各有何特点?
答:(1)衰减率ψ、超调量σ、稳态误差e ss、调节时间t s、振荡频率ω;(2)单项指标用若干特征参数评价系统优劣,积分指标用误差积分综合评价系统优劣。
1.2 什么是对象的动态特性?为什么要研究对象的动态特性?
答:(1)指被控对象的输入发生变化时,其输出(被调量)随时间变化的规律;
(2)实现生产过程自动化时,对象的动态特性可以为控制工程师设计出合理的控制系统满足要求提高主要依据。
1.3 通常描述对象动态特性的方法有哪些?
答:微分方程或传递函数。
1.4 过程控制中被控对象动态特性有哪些特点?
答:无振荡、稳定或中性稳定、有惯性或迟延、非线性但在工作点附近可线性化。
1.11 某水槽水位阶跃响应实验为:
t /s0 10 20 40 60 80 100 150 200 300 400
h /mm0 9.5 18 33 45 55 63 78 86 95 98
其中阶跃扰动量Δµ=20%。
(1)画出水位的阶跃响应曲线;
(2)若该水位对象用一阶惯性环节近似,试确定其增益K和时间常数T。
解:MATLAB编程如下:
%作出标幺后的响应曲线
t=[ 0 10 20 40 60 80 100 150 200 300 400 ];
h=[ 0 9.5 18 33 45 55 63 78 86 95 98 ];
x=0:0.01:400;
y=interp1(t,h,x,'spline'); %三次样条函数据己知的t、h插出x的值yy=y/y(end); %输出标幺
plot(x,yy,'k');
xlabel('t/s');
ylabel('h/mm');
title('阶跃响应曲线','fontsize',10);
grid;
%找出最接近0.39和0.63的点
less1=find(yy<=0.39);
more1=find(yy>=0.39);
front1=less1(1,end);
behind1=more1(1,1);
cha11=0.39-yy(1,front1);
cha12=yy(1,behind1)-0.39;
if cha11<=cha12
t1=x(1,front1)
else
t1=x(1,behind1)
end
less2=find(yy<=0.63);
more2=find(yy>=0.63);
front2=less2(1,end);
behind2=more2(1,1);
cha21=0.63-yy(1,front2);
cha22=yy(1,behind2)-0.63;
if cha21<=cha22
t2=x(1,front2)
else
t2=x(1,behind2)
end
%求增益K 和时间常数T
K=y(end)/20
T=2*(t2-t1)
(1)水位的阶跃响应曲线如图:
(2)计算结果如下:
>> GK1_11
t1 =
48.1700
t2 =
96.5900
K =
4.9
T = t/s
h
/m m
阶跃响应曲线
96.8400
则该水位对象用一阶惯性环节近似后,得其增益K=4.9,时间常数T≈96.84。
1.14 已知温度对象阶跃响应实验结果如下表:
t /s0 10 20 30 40 50 60 70 80 90 100 150 θ
0 0.16 0.65 11.5 1.52 1.75 1.88 1.94 1.97 1.99 2.0 2.0
/℃
其中阶跃扰动量Δq=1t/h。试用二阶或n阶惯性环节写出它的传递函数。解:由表可知,t =30 s时θ=11.5℃,显然存在粗大误差,故将此数据剔除。MATLAB编程如下:
%作出标幺后的响应曲线
t=[ 0 10 20 40 50 60 70 80 90 100 150 ];
theta=[ 0 0.16 0.65 1.52 1.75 1.88 1.94 1.97 1.99 2.00 2.00 ];
x=0:0.01:150;
y=interp1(t,theta,x,'pchip'); %三次函数据己知的t,theta插出x的值
yy=y/y(end); %输出标幺
plot(x,yy,'k'); xlabel('t/s'); ylabel('θ/℃');
title('阶跃响应曲线','fontsize',10); grid on;
%找出最接近0.4和0.8的点
less1=find(yy<=0.4); more1=find(yy>=0.4);
front1=less1(1,end); behind1=more1(1,1);
cha11=0.4-yy(1,front1); cha12=yy(1,behind1)-0.4;
if cha11<=cha12
t1=x(1,front1)
else
t1=x(1,behind1)