华北水利水电学院计算机控制技术课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制技术
课程设计
学院:电力学院
专业:自动化
班级:2009 班
姓名:
学号:2009
指导老师:徐俊红
华北水利水电学院
目录
一、设计内容
1.1 对象模型
1.2 设计目的
1.3 设计要求
二、设计方法及步骤
2.1 设计方法
2.2 设计具体步骤
2.3 matlab仿真结果展示
三、仿真设计程序
四、心得体会
控制系统的状态空间设计
1.1【设计对象】
系统的对象模型为:
1.2【设计目的】
A:试确定一个状态负反馈阵K,使相对于单位阵阶跃参考输入的输出过渡过程,满足如下的期望指标:超调量<=20%,峰值时间<=0.4s。
B:如果系统的状态变量在实际上无法测量,试确定一个状态观测器(全维状态观测器),使得通过基于状态观测器的状态反馈,满足上述期望的性能指标。
1.3【设计要求】
1.要求学生掌握当Gc(s)设计好后如何将其变换为离散算法Gc(Z)
以及如何将Gc(Z)转换在计算机上可完成计算的迭代方程。
2.要求学生能掌握工业中常用的基本PID算法。
3.掌握一阶向前,向后差分及双线性变换离散化的具体做法及应用
场合。
4.熟悉PID两种基本算法的计算公式:位置算法和增量算法。
5.熟练使用MATLAB软件,掌握其仿真的方法、步骤及参数设置。
6.了解计算机控制系统的组成及相应设备的选用等问题。
二.【设计方法及步骤】
1、利用Simulink进行仿真,判断是否满足期望的性能指标。
系统仿真方框图如下:
系统仿真结果如下:
有图可知,系统不满足期望的性能指标,需要进行配置。
1.判断系统的能控能观性,确定系统是否能够通过状态反馈实现极点任意配置。
能控性判别,能控性判别矩阵为
⎪⎪⎪
⎭
⎫ ⎝⎛---=112121121
010
0Q
系统的可控矩阵阶数为3,为满秩,则系统是能控的。
2.由期望的性能指标求出闭环系统的期望极点。
第一步:由典型二阶系统性能指标与系统参数之间的关系,确定系统参数,然后确定系统的主导极点和非主导极点。
要求确定的主导极点使得闭环系统至少满足前述性能指标。
由系统的性能指标:超调量<=20%,峰值时间<=0.4s 。
可以求出ζ=0.4559 Wn=8.82rad/s 。
因此可以选取ζ=0.46 Wn=8.9rad/s 。
可以求得:'
G (s) =
21
.792.81
2
++s s 第二步:由系统的特征方程可以求出系统的特征根:
9
.71.49.71.42
1j j S
S --=+-=
可以令非主导极点为:903-=S
确定状态反馈矩阵:受控系统的特征方程为F(s)=s s s 32122
3++;
121
=a , 32
2
=a
,a 3=0;
由期望的极点构成的特征多项式:
)(*s f =)21.792.8)(90(2+++s s s =9.712821.8172.9823+++s s s
2.98*1=a 21.817*
2=a =*3a 7128.9
所以状态反馈矩阵为:K =1
*
12*23*3,,a a a a a a ---=[]2.86,21.785,9.7128
3.确定输入放大系数 对应的闭环传递函数为: k W (s )=
9.712821.8172.982
3+++s s s L
要求跟踪阶跃信号的误差p
e =0,有
p
e =0=s s lim 0
→))
(1(s s W s k -=[])(1lim 0
s W k s -→=9,71289.7128L -
所以L=7128.9
对上面的初步结果,再用对跟踪速度信号的误差要求来验证,即
lim →=s v e ⎥
⎦⎤⎢⎣⎡-22)(1s s W s
s K =0.115 所以L 满足要求。
画出对应的能控规范型的闭环系统方块图
已知 k W (s )9.712821.8172.982
3+++s s s L
=9.712821.8172.989
.71282
3+++s s s
=
9
.7128)21.78532()2.8612(9
.712823+++++s s s
其中可设
=
)('s W k 9
.7128)21.78532()2.8612(1
2
3+++++s s s 对应的规范型状态方程为:
⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧∙∙∙321x x x =
⎪⎪⎪⎭⎫
⎝⎛
+-+--)2.8612()21.78532(9.7128100010 ⎪⎪⎭
⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧321x x x +
能控规范型的闭环系统方框图:
系统的阶跃响应如下:
3、配置状态观测器:
由于期望极点为:
P=[-6.3237+10.4720j,-6.3237-10.4720j,-94.856];又由于希望观测器的响应要快于原系统的响应,配置状态观测器的极点应尽量离原极点距离远一些,取的点为大于十倍距离。
①判断系统的能观性
由前可知系统能观测,可以进行配置。
②求状态观测器增益矩阵:
L =
1.0e+005 * ( 3.2441 -0.0172) ③求状态观测器
设G=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡g3g2g1
根据状态观测后的表达式写出特征式,与配置极点的特征式进行比较,求出 G = 1.0e+002 *
(-0.2213 + 0.3665j -0.2213 - 0.3665j -1.4228 )
T 绘制出带状态观测器的状态空间表达式如下图:
由上述图运行结果可知,系统的阶跃响应比原系统有较快的响应,且满足所设定的条件,即所构建的状态观测器是完全可行的,满足题目要求。
三.仿真设计程序
Num=1;
Den=[1 12 32 1];
Tf(num,den)
[A,B,C,D]=tf2ss(num,den);
N=length(A);
Q=ctrb(A,B)
N=rank(Q);
If m==n
Disp(‘system state variable can be totally controlled(系统可控)’)
P=[-4.1+j7.9,-4.1-j7.9,-90];
K=acker(A,B,P)
Else
End
S=size(A,1);
Z=[zeros([1,s])1];
N=inv([A,B,C,D])*Z;
Nx=N(1:s);
Nu=N(1+s);
Nbar=Nu+K*Nx
At=A-B*K
Bt=B*Nbar
Ct=C
Dt=D
step(At,Bt,Ct,Dt);hold on;
num=1;
den=[1 12 32 1];
tf(num,den)
[A,B,C,D]=tf2ss(num,den)
n=length(A);
Qo=obsv(A,C)
m=rank(Qo);
if m==n
disp('system state variable can be totally controlled(系统可观)')
P=[-10.5+7.85j -10.5-7.85j -100];
K=acker(A,B,P);L=place(A',C',P)';
else
end
s=size(A,1);
Z=[zeros([1,s]) 1];
N=inv([A,B;C,D])*Z';
Nx=N(1:s);
Nu=N(1+s);
Nbar=Nu+K*Nx;
At=[A-B*K B*K zeros(size(A)) A-L*C];
Bt=[B*Nbar zeros(size(B))];
Ct=[C zeros(size(C))];
Dt=D;
ss=sys(At,Bt,Ct,Dt);
step(ss);
hold on;
grid;
经过程序的仿真运行,与所求的系统的运行结果如下:
四.心得体会
课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力;实习又是对每一位大学生所学专业知识的一种拓展手段,它让我们学到了很多在课堂上根本就学不到的知识,不仅开阔了自己的视野,增战了自己的见识,也为我们以后进一步走向社会打下了坚实的基础,是我们走向以后走向工作岗位的奠基石。
计算机控制技术是一门以电子技术、自动控制技术、计算机应用技术为基础,以计算机控制技术为核心,综合可编程控制技术、单片机技术、计算机网络技术,从而实现生产技术的精密化、生产设备的信息化、生产过程的自动化及机电控制系统的最佳化的专门学科。
计算机控制系统技术的应用领
域非常广泛,不但国防、航空航天等高精尖学科必不可少的组成部分尖学科必不可少的组成部分,而且在现代化的工、农、医等领域也发挥着重要作用。
计算机控制作为一门理论与实践相结合并且具有极强的实用性的课程,其课程设计的重要性不言而喻,该次课程设计就显得尤为重要。
在徐俊红老师的带领下,我们进行了为期一周的计算机控制技术课程设计,使我在设计过程中收获很多:在设计过程中我们运用到MATLAB软件,我学会了怎样使用程序来完成要求;在设计过程中要从整体上把握,需要耐心;在设计过程中同学们之间的合作交流很重要,可以解决很多问题,并从中认识到自己学习和运用中的很多不足。