基于频率响应法的倒立摆控制器设计.docx
《基于频率响应法的倒立摆控制器设计.docx》由会员分享,可在线阅读,更多相关《基于频率响应法的倒立摆控制器设计.docx(13页珍藏版)》请在冰豆网上搜索。
基于频率响应法的倒立摆控制器设计
自动化专业综合设计报告
设计题目:
基于频率响应法的倒立摆控制器设计
所在实验室:
运动控制实验室
指导教师:
杨世勇
学生姓名
班级学号
撰写时间:
2012.3.9成绩评定:
一、设计目的
掌握频率响应校正法及其在MATLAB环境下的实现方法。
二、设计要求
已知给定一级倒立摆系统模型如下:
M=1.096;
m=0.109;
b=0.1;
I=0.0034;
g=9.8;
l=0.25;
q=(M+m)*(I+m*l^2)-(m*l)^2;%simplifiesinput
num=[m*l/q00]
den=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0]
t=0:
0.05:
5;
impulse(num,den,t)
axis([01060])
要求利用频率响应法设计倒立摆平衡控制系统。
三、设计内容与实验结果分析
建立单级倒立摆的数学模型(角度传递函数);频率响应法设计控制器;仿真实现倒立摆(角度)的稳定控制。
1、建立倒立摆的数学模型得原先系统频率特性图
(1)开环传递函数
由给出系统数学模型得倒立摆角度开环传递函数:
num=[2.356600];
den=[1.00000.0883-27.8285-2.30940];
sys=tf(num,den)
传递函数为:
2.357s^2
--------------------------------------
s^4+0.0883s^3-27.83s^2-2.309s
由上式再进行如下变换,得系统校正前系统零极点:
G=tf([2.356600],[1.00000.0883-27.8285-2.30940]);
sys=zpk(G)
零极点形式的传递函数为:
2.3566s^2
---------------------------------
s(s-5.273)(s+5.278)(s+0.08299)
由上式得到原系统模型的初始零极点分别为:
零点:
00
极点:
05.273-5.2780.08299
由上面可得有右平面一个极点故需要奈奎斯特曲线要逆时针包围(-1,j0)点一圈系统才会稳定!
(2)原系统奈奎斯特图:
num=[2.356600];
den=[1.00000.0883-27.8285-2.30940];
nyquist(num,den)
由图可知没有包围(-1,j0)点,故原系统不稳定
2、频率响应法设计控制器;仿真实现倒立摆(角度)的稳定控制
由步骤一得到系统不稳定,编写程序对系统开环传递函数零极点进行配置,通过对频率曲线的观察相应的修改零极点最终达到系统稳定。
%更改零极点:
clear;
num=[2.356600];
den=[1.00000.0883-27.8285-2.30940];
z=roots(num);%多项式=0的求解即,即:
2.3566s^2+0*s+0=0的解,求零点
p=roots(den);%求极点
za=[z];
pa=[p];
k=2.3566;
sys=zpk(za,pa,k);
nyquist(sys)
figure
sysc=sys/(1+sys);%闭环传递函数
t=0:
0.05:
5;
Impulse(sysc,t)
axis([01060])
奈奎斯特图如下:
由图知没有包围(-1,j0)点,系统不稳定
脉冲响应图形如下:
由脉冲响应图形亦知系统不稳定
为了使系统稳定,首先通过控制器引入一个积分环节,使得原点处的零点被对消掉,程序如下:
%引入积分环节消除零点
clear;
num=[2.356600];
den=[1.00000.0883-27.8285-2.30940];
z=roots(num);
p=roots(den);
za=[z];
pa=[p;0];%引入积分环节消除零点
k=2.3566;
sys=zpk(za,pa,k)
nyquist(sys)
figure
sysc=sys/(1+sys);
t=0:
0.05:
5;
Impulse(sysc,t)
axis([01060])
曲线变成如下图的情况:
图中Nyquist曲线顺时针方向绕-1点一圈,现在右半平面有两个极点,我们需要增相位使曲线逆时针绕-1点一周。
增加零点可以增加相位,因此给控制器增加一个位于-1点的零点(即将上面程序中语句za=[z],改为za=[z;-1]),则图形如下:
可以看出,相位仍然不够,绕-1的曲线还是顺时针方向的。
那么,我们再增加第二个零点-2,(即将上面程序中语句za=[z;-1],改为za=[z;-1;-2])使得图形成为如下形式:
Nyquist曲线仍然是顺时针绕-1点。
我们采用增加增益的方法(增益增大5-10倍,将增益k=2.3566,修改为k=20),使得Nyquist曲线被向左侧拉伸,最终使曲线逆时针方向的圆圈围绕-1点。
图形如下:
Nyquist曲线逆时针绕-1点一圈,系统是稳定的。
达到控制要求。
四、结论
频域法设计控制器,对系统进行控制,首先得到系统的传递函数,再利用频率特性曲线,从而判定其稳定性以及相位裕度是否满足系统要求,已知本系统有右半平面的一个极点,所以要使系统稳定,其奈奎斯特曲线必须要逆时针绕-1点一圈。
由于本系统原Nyquist曲线没有包围-1点,所以闭环系统是不稳定的。
为了使系统稳定,首先通过控制器引入一个积分环节,使得原点处的零点被对消掉得到
Nyquist曲线顺时针方向绕-1点一圈,现在右半平面有两个极点,我们需要增相位使曲线逆时针绕-1点一周。
增加零点可以增加相位,因此给控制器增加一个位于-1点的零点,相位仍然不够,绕-1的曲线还是顺时针方向的。
我们再增加第二个零点-2,但Nyquist曲线仍然是顺时针绕-1点。
我们采用增加增益的方法(增益增大5-10倍,将增益k=2.3566,修改为k=20),使得Nyquist曲线被向左侧拉伸,最终使曲线逆时针方向的圆圈围绕-1点,系统稳定。
五、设计感受
开始刚刚拿到课题,感觉一头雾水无从下手,之后,在老师指导下,通过资料的查阅、学习,以及实验指导书的参考,逐渐的对设计题目有了很好的把握,之后一步一步的进行编程,仿真,实验,对整个课题的认识进一步的加深。
我们首先把设计的整体思路确定下来,然后按照计划进行仿真,最后直到得到实验的最终结果。
但是中间也遇到了很多的问题,有Matlab编程的语句使用错误,导致编译失败,不能得到理想的仿真结果,我们就翻阅书籍,将试验中用到的函数单独尝试使用,最终掌握特殊函数的使用方法,修正编程中的错误。
还有最重要的,如何利用频域法进行系统控制器设计,对传递函数进行零极点的设置,通过以前学过的自动控制原理的再学习,不仅解决了当前的设计问题,还使得我们对知识加深了理解,获益匪浅。
整个设计过程感觉收获还是不少的,有对知识的加深学习,也有同学之间的深厚友谊。
最后,我们实验能够圆满完成也离不开老师的细心指导,在此对老师表示感谢,谢谢老师!