




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生课程设计题 目: 基于双闭环pid控制的一阶倒立摆控制系统设计 姓 名: 学 号: 系 别: 电气工程系 专 业: 电气工程与自动化 年 级: 07级 指导教师: 2010 年 4 月 28 日目 录1、系统模型的建立 3.2、模型验证. 4.3、设计的内外环的pid控制器 10.4、simulin仿真. 13.5、检测系统的鲁棒性 16.6、遇到问题 19.7、心得体会.20.8、结论.21.9、参考文献.22.1. 系统模型的建立如图01所示的“一阶倒立摆控制系统”中,设计一个能通过检测小车的位置与摆杆的摆动角,来适当控制电动机驱动力的大小的控制系统。图011)对模型的理论分析建立一阶倒立摆的精确模型(实际模型)如下所示:2) .点进行线性化后得到(近似模型): 若只考虑摆角在工作点等零附近的细微变化,这是可以将模型线性化,得到近似模型,将j=m(l2)/3,m=1kg代入即可得到要求的关于参数m、l的模型,让后再进行线性化表达式在模型验证中。二.模型验证1)子系统的建立 实际模型 图1fcn:(4*m*(l2)/3)*u1+l*m*(4*m*(l2)/3)*sin(u3)*(u22)-10*(m2)*(l2)*sin(u3)*cos(u3)/(4*m*(l2)/3)*(1+m)-(m2)*(l2)*power(cos(u3),2) fcn1:(m*l*cos(u3)*u1+(m2)*(l2)*sin(u3)*cos(u3)*(u22)-10*(1+m)*m*l*sin(u3)/(m2)*(l2)*power(cos(u3),2)-(1+m)*(4*m*(l2)/3)线性模型 图2fcn2:(30*(1+m*u2-3*u1)/(l*(4+m)fcn3:(5*u1-30*m*u2)/(4+m)做完以上之后点击鼠标左键不放对图形进行选定,接着右击creat subsystem如下图所示: 图32)模型的封装:倒立摆的振子质量m和倒摆长度l作为子系统的参数:图4 双击函数模块: 图5 欲改变其中的任一个参数只要点击其中二者之一的函数方块就行,在其中的m,l改就行了。 有两种实现的方法:一种是利用示波器观察如下图所示,另一种是采用绘图程序实现。1)示波器实现如图6: 图6示波器显示结果如图7所示图72)用程序实现:%inerted pendulum%model test in open loop%signals recuperation%将导入到xy.mat中的仿真试验数据读出load xy.matt=signals(1,: ); %读取时间信号f=signals(2,: ); %读取作用力f信号x=signals(3,: ); %读取精确模型中的小车位置信号q=signals(4,: ); %读取精确模型中的倒摆摆角信号xx=signals(5,: ); %读取简化模型中的小车位置信号qq=signals(6,: ); %读取简化模型中的倒立摆摆角信号%drawing control and x(t) response signals%画出在控制力的作用下的系统响应曲线%定义曲线的纵坐标、标题、坐标范围和曲线的颜色等特征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,yclor,k); %定义曲线属性ht=line(t,x,color,r,parent,axet); %连接时间-小车位置曲线ht=line(t,xx,color,r,parent,axet); %连接时间-小车速度曲线ylabel(evolution of the x position (m) %定义坐标名称axis(0 1 0 0.1) %定义坐标范围title(response x and x in meter to a f (t)pulse of 0.1 n)%定义曲线标题名称gtext ( leftarrow f (t),gext(x (t) rightarrow),gtext ( leftarrow x(t)%drawing control and theta (t)response singalsfigure (2)hf=line (t, f (:);grid onxlabel(time)ylabel(force in n)axet=axes(position,get (gca,position),. xaxislocation,bottom,.yaxislocation,right,color,none,. xcolor,k,yclor,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(responsetheta (t) and theta (t)in rad to a f (t)pulse of 0.1 n)gtext ( leftarrow f (t),gext(theta (t) rightarrow),gtext ( leftarrowtheta (t)在m文件里写入如上程序,在运行该程序之前,先运行系统。之后再运行此程序得出波形图如图所示。观察结果如图8所示: 图8 三、设计的内外环的pid控制器一阶倒立摆系统为“自不稳定的非最小相位系统”。将系统小车位置作为“外环”,将摆杆摆角作为“内环”,设计的内外环的pid控制器。其模型图如图9所示: 图93.1 内环控制器设计对系统内环采用反馈校正进行控制 ,其方框图如图6所示。图6 内环反馈校正方框图反馈校正采用pd控制器,设其传递函数为,为了抑制干扰,在前向通道上加上一个比例环节。设的增益,则内环控制系统的闭环传递函数为:令 则内环控制器的传递函数为内环控制系统的闭环传递函数为:3.2 外环控制器设计图7 外环系统结构图由图7可知外环系统前向通道的传递函数为:可见,系统开环传递函数为一个高阶且带不稳定零点的“非最小相位系统”。因此,首先对系统外环模型进行降阶处理,若忽略w2 (s)的高次项,则可近似为一阶传递函数为:其次,对模型 1g (s)进行近似处理,则1g (s)的传递函数为:外环控制器也采用 pd 形式,其传递函数为为了使系统有较好的跟随性,采用单位反馈构成外环反馈通道,即1d (s) =1,则系统的开环传递函数为采用第十章基于 bode 图法的希望特性设计方法,得k3 = 0.12, = 0.877,取 =1,则外环控制器的传递函数为:一级倒立摆双闭环控制系统的方框图如图8所示。图8 一级倒立摆双闭环控制系统的方框图 4、 在单位阶跃输入下,进行的simulink仿真如下以及用示波 器观察的结果:1)用示波器现实结果如图10所示: 图10 2)程序结果:load pid.matt=signals(1,: );q=signals(2,: );x=signals(3,: );%drawing x(t)and theta(t) response signals%画小车位置和摆杆角度的响应曲线figure(1)hf=line(t,q);grid on;xlabel(time (s)ylabel(angle evolution(rad)axis(0 10 -0.3 1.2)axet=axes(position,get (gca,position),. xaxislocation,bottom,.yaxislocation,right,color,none,. xcolor,k,yclor,k);ht=line(t,x,color,r,parent,axet);ylabel(evolution of the x potion(m)axis(0 1 -0.3 1.2)title( theta (t) and x (t)response to a step input)gtext ( leftarrow x (t),gext(theta (t)uppwrrow)同上可知,得出的波形图如图11所示: 图113) 编程求解系统性能指标:最大超调量( max_overshoot)、 调节时间(settling_time)、 上升时间(rise_time)。load pid2049.matt=ans(1,:);y=ans(2:3,:);figure(1)hf=line(t,q(:);grid onaxis(0 10 -0.3 1.2)ht=line(t,y,color,r);c=1;c=dcgain(y); max_overshoot=100*(max_y-c)/c %超调量计算 s=length(t); %调整时间计算while y(s)0.98*c&y(s)1.02*cs=s-1;endsettling_time=t(s)r1=1; %上升时间计算,以从稳态值的10%上升到90%定义while (y(r1)0.1*c) r1=r1+1;endr2=1;while (y(r2)0.9*c) r2=r2+1;endrise_time=t(r2)-t(r1) step(sys) 运行完原理图之后,打开程序pid2049.m文件运行。之后会出现波形,把波形图复制在word里,而在matlab中会出现x与theta的最大超调量( max_overshoot)、调节时间(settling_time)、 上升时间(rise_time)。数据,把这些数据记录在报告书中。y_max_overshoot = 15.7314y_rise_time = 1.2981y_settling_time = 7.8013q_max_overshoot = 0.0979q_rise_time = 1.3267q_settling_time = 4.2530 五、 检验系统的鲁棒性将对象作如下变换后,同样在单位阶跃的输入下,检验所设计控制系统的鲁棒性能,列表比较系统地性能指标(最大超调量、调节时间、上升时间)。倒摆长度l不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8、0.5kg。22m=1,l=0.3m=1.5,l=0.3m=2,l=0.3m=2.5,l=0.3m=0.8,l=0.3m=0.5,l=0.3 m=1,l=0.5m=1,l=0.6 m=1,l=0.1 m=1,l=0.2倒摆长度l不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8kg、0.5kg;(2)质量m不变,倒摆长度l从0.3m分别改变为0.5m、0.6m、0.2、0.1m。对象参数性能指标振子质量m/kg倒摆长度l/m最大超调量调节时间上升时间xxx10.313.81980.12617.00104.05241.29571.34011.50.310.18480.14155.02563.77541.29571.356420.35.02820.16383.99873.32371.03881.49572.50.39.09210.19545.05284.85281.05111.52570.80.315.10140.12057.70644.08230.68661.33160.50.316.89040.11278.22824.21661.38561.320010.511.89280.15585.41763.81931.34381.431410.611.94340.16965.58314.58311.13331.478710.214.85770.11047.49494.13351.19931.343210.115.73140.09797.80134.25301.29811.3267六、遇到的问题及解决1.函数表达式语法的错误。比如u32*cos(u3),应该改为(u32)*cos(u3)2.在仿真之前应该对m和l的值进行相应的赋值,不然会出现错误。3. xy.mat文件中的variable name 与程序中的变量取名要一直,比如xy.mat文件中的variable name 的名字是ans 而程序中的变量名是signals ,则系统会提示找不到signals变量值。要查看空间变量可以用who命令。4.起先以为说是按照课本的要求画图就可以了,于是就按照课本画出模型的原理图与利用子系统封装后的框图。而且还按照课本要求把函数输入进去。可是运行的时候发现错误。提示说是函数输入有误,于是就很认真的对照课本跟自己输入的函数是否一致。发现算是粗心大意了,原来该模型的函数算是比较繁琐的,在输函数的时候一定要注意认真的对待每个括弧。5.在画模型图时,由于对simulink有一点点的熟悉,所以画图比较快,但是却忘记在输出端加入示波器而按照课本里面的图形进行运行,发现运行出来不懂哪里去看波形,我百般不得起解,于是课余,我问同学,同学跟我说得在输出端加入示波器,运行的时候才能自动跳出波形图。6.模型验证完之后,就是采用程序进行绘图,事先我糊里糊涂的桉书上程序照搬,可是发现程序好像有错。之后问同学才知道说要在封装的系统双击把“ans”改成“signals”才能把程序运行出来。7.做到pid内外环设计的时候,首先遇到的就是比例系数如何确定,这边也是在老师的提示下我才明白要用公式去推,其实真正的意义上是要懂得他代表什么。还有就是所用的函数快要的是精确的模型才是正确。8.在进行编程实现性能指标(超调量、上升时间、调整时间、终值)的要求上,对程序的编写以及理解能力提出了要求整个过程下来,还是懵懵懂懂的,我想这些都需要的是时间,最终在终值的问题上为难了我,不过还是同学帮我解决了。七、心得体会在设计的过程中,遇到了很多问题,在经过一次次测试、认真思考和讨论的过程中得到了解答。总之一周的课设,让我觉得很累,但从中收获了很多,最终的成功让我觉得累也是值得的。在此,感谢同学们的帮助以及老师在此次实验中的指导。到大三下学期了,已经做过很多课程设计,而且也都是跟软件有关系的,发现像工科的课程每一门都有一款软件与之关系。我们在平时的学习当中只是存在在教室里面,看着老师ppt上面的每个窗口,而没有亲身体验,我觉得是得不到知识,得不到动手自己实现输出结果的东西的。每天坐在教室里只会让我们纸上谈兵而已,以上我犯的错误我认为都是没有平时亲身体验的结果,导致了做课设的时候按照课本按部就班的操作着,而后才知道是错误的,有的也是多此一举的。matlab跟其他语言不一样(我用的比较多的编程语言,除了matlab就应该是c或c了,vb和delphi也接触过,我想版面(matlab版)大部分人也差不多),如果你抱着“把其他语言的思想运用在matlab里面”的话,那么我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生活污水处理工程可行性研究报告
- 许昌烟草机械有限责任公司考试真题2025
- 中国含氟高聚物材料项目投资计划书
- 大队干部考试题目及答案
- 词语搭配考试题型及答案
- 技术协议书是合同
- 2025餐厅经理劳动合同模板
- 模组调焦协议书
- 回弹法考试试题及答案
- 商品房买卖合同补充协议书范本
- 新能源概论新能源及其材料课件
- 2016年-中国PCI冠脉介入指南专业解读
- 2021年唐山交通发展集团有限公司校园招聘笔试试题及答案解析
- 高中历史必修上 《第6课 从隋唐盛世到五代十国》集体备课课件
- 幼儿园教学课件小班社会《孤独的小熊》课件
- 煤矿岗位安全安全操作规程
- 成语故事——井底之蛙课件PPT
- 《鼻咽癌肺癌》ppt课件
- (完整)采光板施工方法
- 函数的单调性第一课时
- 房屋转让协议书 (2)
评论
0/150
提交评论