课程设计(论文)-基于双闭环PID控制的一阶倒立摆控制系统设计.doc_第1页
课程设计(论文)-基于双闭环PID控制的一阶倒立摆控制系统设计.doc_第2页
课程设计(论文)-基于双闭环PID控制的一阶倒立摆控制系统设计.doc_第3页
课程设计(论文)-基于双闭环PID控制的一阶倒立摆控制系统设计.doc_第4页
课程设计(论文)-基于双闭环PID控制的一阶倒立摆控制系统设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于双闭环PID控制的一阶倒立摆控制系统设计福州大学至诚学院本科生课程设计题 目: 基于双闭环PID控制的一阶 倒立摆控制系统设计 姓 名: 系 别: 电气工程及其自动化 专 业: 电气工程与自动化 目 录1 任务概述-12 系统建模-23 仿真验证-54 双闭环PID控制器设计-105 仿真实验 -136 检验系统的鲁棒性-157 结论-198 体会-191 任务概述1.1 设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。 图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。倒摆长度L不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒立摆的振子质量m不变,倒摆长度L从0.3m分别改变为0.5m、0.6m、0.2m、0.1m。2 系统建模2.1 对象模型 一阶倒立摆的精确模型的状态方程为:()/(+) ()/()若只考虑在其工作点0 = 0附近的细微变化,这时可以将模型线性化,这时可以近似认为:0,1;一阶倒立摆的简化模型的状态方程为:() /() ( ) /()2.2 模型建立及封装1、建立以下模型: 图2 模型验证原理图 2、 由状态方程可求得:Fcn:(4/3*u1+4/3*m*l*sin(u3)*power(u2,2)-10*m*sin(u3)*cos(u3)/(4/3*(1+m)-m*power(cos(u3),2)Fcn1:(cos(u3)*u1+m*l*sin(u3)*cos(u3)*power(u2,2)-10*(1+m)*sin(u3)/(m*l*power(cos(u3),2)-4/3*l*(1+m)Fun2:(4*u1-30*m*u3)/(4+m)Fun3:(u1-10*(1+m)*u3)/(m*l-4/3*l*(1+m)(其中J =mL2/3,小车质量M=1kg,倒摆振子质量m,倒摆长度2L,重力加速度g=10m/s2)将以上表达式导入函数。3、匡选要封装区后选择EditCreate Subsystem便得以下系统: 图3 子系统建立 4、鼠标右击子系统模块,在模块窗口选项中选择EditEdit MaskParameters,则弹出如下窗口,添加参数m和l。 图4 添加参数5、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证(输入信号是由阶跃信号合成的脉冲,幅值及持续时间为0.1s)。图5 系统模块封装3 仿真验证3.1 实验设计假定使倒立摆在(=0,x=0)初始状态下突加微小冲击力作用,则依据经验知,小车将向前移动,摆杆将倒下。3.2 编制绘图子程序 1、新建M文件输入以下程序并保存。clcload xy.matt=signals(1,:); %读取时间信号f=signals(2,:); %读取作用力F信号 x=signals(3,:); %读取精确模型中的小车位置信号q=signals(4,:); %读取精确模型中倒摆摆角信号xx=signals(5,:); %读取简化模型中的小车位置信号qq=signals(6,:); %读取简化模型中倒立摆摆角信号figure(1) %定义第一个图形 hf=line(t,f(:); %连接时间-作用力曲线grid on;xlabel(Time(s) %定义横坐标 ylabel(Force(N) %定义纵坐标axis(0 1 0 0.12) %定义坐标范围axet=axes(Position,get(gca,Position),. XAxisLocation,bottom,. YAxisLocation,right,color,none,. XColor,k,YColor,k); %定义曲线属性ht=line(t,x,color,r,parent,axet); %连接时间-小车位置曲线ht=line(t,xx,color,r,parent,axet); %连接时间-小车速度曲线ylabel(Evolution of the xposition(m) %定义坐标名称axis(0 1 0 0.1) %定义坐标范围title(Response x and xin meter to a f(t) pulse of 0.1 N ) %定义曲线标题名称gtext (leftarrow f (t),gtext (x (t) rightarrow) , gtext ( leftarrow x(t)figure (2)hf=line(t,f(:);grid onxlabel(Time)ylabel(Force(N)axis(0 1 0 0.12)axet=axes(Position,get(gca,Position),. XAxisLocation,bottom,. YAxisLocation,right,color,none,. XColor,k,YColor,k);ht=line(t,q,color,r,parent,axet);ht=line(t,qq,color,r,parent,axet);ylabel(Angle evolution (rad)axis(0 1 -0.3 0)title(Response theta(t)and theta in rad to a f(t) pulse of 0.1 N )gtext(leftarrow f (t), gtext (theta (t) rightarrow), gtext ( leftarrow theta(t)3.3 仿真验证2、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中输入m和l值,点击OK并运行,如图7所示。 图6 参数输入3、运行M文件程序,执行该程序的结果如图8所示。图7 模型验证仿真结果从中可见,在0.1N的冲击力下,摆杆倒下(由零逐步增大), 小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。同时,由图中也可以看出,近似模型在0.8s以前与精确模型非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。4 双闭环PID控制器设计一级倒立摆系统位置伺服控制系统如图10所示。图10 一级倒立摆系统位置伺服控制系统方框图 4.1内环控制器的设计内环采用反馈校正进行控制。图11 内环系统结构图控制器参数的整定:令:内环控制器的传递函数为:内环控制系统的闭环传递函数为:4.2外环控制器的设计外环系统前向通道的传递函数为:图12 外环系统结构图外环控制器采用PD形式,其传递函数为: 图13 系统仿真结构图 5 仿真实验1、根据已设计好的PID控制器,可建立图14系统,设置仿真时间为20ms,单击运行。(其中的对象模型为精确模型的封装子系统形式)图14 SIMULINK仿真框图2、新建M文件,输入以下命令并运行。%将导入到PID.mat中的仿真试验数据读出load PID.matt=signals(1,:);q=signals(2,:);x=signals(3,:);%drawing x(t) and thera(t) response signals%画小车位置和摆杆角度的响应曲线figure(1)hf=line(t,q(:);grid onxlabel (Time (s)axis(0 10 -0.3 1.2)ht=line(t,x,color,r);axis(0 10 -0.3 1.2)title(theta(t) and x(t) Response to a step input)gtext(leftarrow x(t),gtext(theta(t) uparrow)执行该程序的结果如图9所示,从中可见,双闭环PID控制方案是有效的。图15 系统仿真结果图6 检验系统的鲁棒性检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。61 编写程序求系统性能指标新建pid.m文件,输入以下命令并保存load PID.matclct=signals(1,:);x=signals(2,:);q=signals(3,:);figure(1)hf=line(t,q(:);grid onaxis(0 10 -0.3 1.2)ht=line(t,x,color,r);r=size(signals);e=r(1,2);C=x(1,e); %得到系统终值y_max_overshoot=100*(max(x)-C)/C %超调量计算r1=1;while (x(r1)0.1*C) r1=r1+1;endr2=1;while (x(r2)0.98*C&x(s)-0.02&q(s)0.02 s=s-1;endq_settling_time=t(s) %调整时间计算6.2 改变参数验证控制系统的鲁棒性倒摆长度L不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒立摆的振子质量m 不变,倒摆长度L 从0.3m 分别改变为0.5m、0.6m、0.2m、0.1m。在单位阶跃输入下,检验所设计系统的鲁棒性。1、双击subsistem改变输入参数并运行,再运行pid.m文件,得到响应曲线及性能指标,记录表1 图16 改变输入参数对象参数性能指标振子质量m/kg倒摆长度L/m最大超调量调节时间上升时间x xx10.314.11550.12515.60954.01001.26051.33311.50.310.24580.14064.92863.33811.11991.455020.35.17990.16494.10583.333810.77301.48572.50.38.35060.19625.71444.75580.68621.51690.80.315.45100.11967.40064.07931.26321.32770.50.317.28270.11668.05654.34151.34681.315410.511.98320.15515.27843.84021.13231.428610.612.02450.16935.60263.58671.23421.475210.215.16320.11027.13344.10971.31241.336310.116.23280.09737.58634.21721.27861.3264表1 性能坐标比较2、仿真实验的结果如图11所示:7 结论结论:1、原系统在0.1N的冲击力下,摆杆倒下(由零逐步增大), 小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。验证实验中,通过精确模型与简化模型比较,从图中可以看出,0.8s以前是非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。2、经过双闭环PID 控制的系统,能跟随给定并稳定下来,且终值为0使摆杆不倒。说明PID控制有效。3、改变倒立摆的摆杆质量m和长度L。从图11中可以看出,在参数变化的一定范围内系统保持稳定,控制系统具有一定的鲁棒性。遇到问题: 1、如何设计使m,l参数可改变。2、建立子系统时,子系统模块变成由两输入和两个输出。3、仿真验证时响应不合要求,加入PID控制后运行很久仍无结果。4、系统性能指标编程无从下手,对性能指标定义不明确。如何解决:1、请教老师后得知,可将已知参数代人模型,将m,l设为变量并封装即可。2、询问同学,他们也遇到同样问题,只要将精确模型仿真图和简化模型仿真图独立出来再建立子系统就可变成一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论