《控制系统设计》课程设计报告题目:倒立摆控制系统设计班级:姓名:学号:2011年03月09日课程设计(论文)任务书专业自动化班级学生指导教师题目倒立摆系统的PID控制设计时间2011年3月2日至2011年3月13日共2周设计要求设计(论文)的任务和基本要求,包括设计任务、查阅文献、方案设计、说明书(计算、图纸、撰写内容及规范等)、工作量等内容。1.建立一阶倒立摆数学模型2.做模型仿真试验(1)给出Matlab仿真程序。(2)给出仿真结果和响应曲线。3.倒立摆系统的PID控制算法设计设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:(1)稳定时间小于5秒(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度并作PID控制算法的MATLAB仿真4.倒立摆系统的最优控制算法设计用状态空间法设计控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度和小车位移x的稳定时间小于5秒(2)x的上升时间小于1秒(3)的超调量小于20度(0.35弧度)(4)稳态误差小于2%。指导教师签字:系(教研室)主任签字:2011年3月10日1.实验设备简介..........................................42.建立一阶倒立摆数学模型.................................43.PID控制原理...........................................74.模型仿真实验.........................................105.参考资料..............................................161.实验设备简介本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,课程设计包括三方面的内容:(1)建立一阶倒立摆的线性化数学模型;(2)倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;(3)倒立摆系统的最优控制器设计、MATLAB仿真及实物调试。一阶倒立摆系统的结构示意图如图1所示。小车滑轨皮带电机摆杆图1一阶倒立摆结构示意图系统组成框图如图2所示。图2一阶倒立摆系统组成框图系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带,带动小车运动,保持摆杆平衡。2.建立一阶倒立摆数学模型对系统建立数学模型是系统分析、设计的前提,而一个准确又简练的数学模型将大大简化后期的工作。为了简化系统分析,在实际的模型建立过程中,要忽略空气流动阻力,以及各种次要的摩擦阻力。这样,可将倒立摆系统抽象成小车和匀质刚性杆组成的系统,如下图所示。本系统内部各相关参数定义如下:M小车质量m摆杆质量b小车摩擦系数l摆杆转动轴心到杆质心的长度I摆杆惯量F加在小车上的力x小车位置摆杆与垂直向上方向的夹角摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)下图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。应用Newton方法来建立系统的动力学方程过程如下:分析小车水平方向所受的合力,可以得到以下方程:NxbFxM由摆杆水平方向的受力进行分析可以得到下面等式:22(sin)dNmxldt即:2cossinNmxmlml把这个等式代入上式中,就得到系统的第一个运动方程:FmlmlxbxmMsincos)(2(2-1)为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:22(cos)dPmgmldt即:2sincosPmgmlml力矩平衡方程如下:INlPlcossin注意:此方程中力矩的方向,由于sinsin,coscos,,故等式前面有负号。合并这两个方程,约去P和N,得到第二个运动方程:cossin)(2xmlmglmlI(2-2)1.微分方程模型设,当摆杆与垂直向上方向之间的夹角与1(单位是弧度)相比很小,即1时,则可以进行近似处理:1cos,sin,0)(2dtd。为了与控制理论的表达习惯相统一,即u一般表示控制量,用u来代表被控对象的输入力F,线性化后得到该系统数学模型的微分方程表达式:umlxbxmMxmlmglmlI)(2(2-3)2.传递函数模型对方程组(2-3)进行拉普拉斯变换,得到)()()()()()()()(22222sUssmlssbXssXmMssmlXsmglssmlI(2-4)注意:推导传递函数时假设初始条件为0。由于输出为角度,求解方程组(2-4)的第一个方程,可以得到)(])([)(22ssgmlmlIsX把上式代入方程组(2-4)的第二个方程,得到)()()()()()()(22222sUssmlsssgmlmlIbsssgmlmlImM整理后得到以输入力u为输入量,以摆杆摆角为输出量的传递函数:sqbmglsqmglmMsqmlIbssqmlsUssG232421)()()()(其中])())([(22mlmlImMq若取小车位移为输出量,可得传递函数:sqbmglsqmglmMsqmlIbsqmglsqmlIsUsXsG2324222)()()()()()(其中q=[(M+m)(I+ml2)-(ml)2]实际系统参数为M=1.096kgm=0.109kgb=0.1N/m/secl=0.25mI=0.0034kg*m23.PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制。常规PID控制系统原理框图如下图所示。系统由模拟PID控制器KD(S)和被控对象G(S)组成。PID控制器是一种线性控制器,它根据给定值)(tr与实际输出值()yt构成控制偏差)(te()()()etrtyt将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。其控制规律为dttdeTdtteTteKtuDtIP)()(1)()(0或写成传递函数的形式sTsTKsEsUsGDIP11)()()(式中:PK——比例系数;IT——积分时间常数;DT——微分时间常数。在控制系统设计和仿真中,也将传递函数写成sKsKKsEsUsGDIP)()()(式中:PK——比例系数;IK——积分系数;DK——微分系数。简单说来,PID控制器各校正环节的作用如下:(1)比例环节:成比例地反映控制系统的偏差信号)(te,偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数IT,IT越大,积分作用越弱,反之则越强。(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。2.摆杆角度控制这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。系统框图如下:图中)(sKD是控制器传递函数,)(sG是被控对象传递函数。考虑到输入0)(sr,结构图可以很容易地变换成该系统的输出为)())(())(()()())(())((1)()()(1)()(sFnumnumPIDdendenPIDdenPIDnumsFdendenPIDnumnumPIDdennumsFsGsKDsGsy其中:num——被控对象传递函数的分子项den——被控对象传递函数的分母项numPID——PID控制器传递函数的分子项denPID——PID控制器传递函数的分母项被控对象的传递函数是dennumsqbmglsqmglmMsqmlIbssqmlsUs23242)()()()(其中])())([(22mlmlImMqPID控制器的传递函数为denPIDnumPIDsKsKsKsKKsKsKDIPDIPD2)(只需调节PID控制器的参数,就可以得到满意的控制效果。3.小车位置控制小车位置作为输出时,系统框图如下:其中,)(1sG是摆杆传递函数,)(2sG是小车传递函数。由于输入信号0)(sr,所以可以把结构图转换成:其中,反馈环代表我们前面设计的摆杆的控制器。从此框图我们可以看出此处只对摆杆角度进行了控制,并没有对小车位置进行控制。小车位置输出为:)())()(())()(())()(()())(())((1)()()(1)()(212112112212sFdennumnumPIDdendendenPIDdendenPIDnumsFdendenPIDnumnumPIDdennumsFsGsKDsGsX其中,1num,1den,2num,2den分别代表被控对象1和被控对象2传递函数的分子和分母。numPID和denPID代表PID控制器传递函数的分子和分母。下面我们来求)(2sG,根据前面实验二的推导,有)(])([)(22ssgmlmlIsX可以推出小车位置的传递函数为sqbmglsqmglmMsqmlIbsqmglsqmlIsUsXsG2324222)()()()()()(其中])())([(22mlmlImMq可以看出,1den=2den=den,小车的算式可以简化成:)())(())(())(()(12sFnumnumPIDkdendenPIDdenPIDnumsX4.模型仿真实验MATLAB仿真程序如下:%---------------------trans.m-------------%-----------------倒立摆传递函数,开环极点及开环脉冲响应--------------%---------------输入倒立摆传递函数G(S)=num/den--------------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;%-------------计算并显示多项式形式的传递函数-------------num=[m*l/q00]den=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0]%计算并显示传递函数的极点p[r,p,k]=residue(num,den);s=p%----------------求传递函数的脉冲响应并显示---------------t=0:0.005:5;impulse(num,den,t)%--------显示范围:横坐标0-1,纵坐标0-60,此条语句参数可以根据仿真输出曲线调整------------axis([01060])%---------------end---------------执行上面文件,得到系统传递函数的分子(num)与分母(den)多项式的Matlab表示及系统的开环极点(s),显示结果如下所示:num=2.35100den=1.00000.0883-27.8285-2.30940s=