一级倒立摆课程设计--倒立摆pid控制及其matlab仿真
(12页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
倒立摆倒立摆 PIDPID 控制及其控制及其 MatlabMatlab 仿真仿真 学生姓名:: 学 院:: 电气信息工程学院电气信息工程学院 专业班级:: 专业课程:: 控制系统的控制系统的 MATLABMATLAB 仿真与设计仿真与设计 任课教师:: 2014 年 6 月 5 日 倒立摆 PID 控制及其 Matlab 仿真 1 倒立摆 PID 控制及其 Matlab 仿真 Inverted PenduInverted Pendulum PID Controllum PID Control and Itsand Its MatlabMatlab S Simulationimulation 摘 要 倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,对倒立摆的控制研究无论在理论上和方法上都有深远的意义。 本论文以实验室原有的直线一级倒立摆实验装置为平台,重点研究其 PID控制方法,设计出相应的 PID 控制器,并将控制过程在 MATLAB 上加以仿真。 本文主要研究内容是:首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性;研究倒立摆系统的几种控制策略,分别设计了相应的控制器,以 MATLAB 为基础,做了大量的仿真研究,比较了各种控制方法的效果;借助固高科技 MATLAB 实时控制软件实验平台;利用设计的控制方法对单级倒立摆系统进行实时控制,通过在线调整参数和突加干扰等,研究其实时性和抗千扰等性能;对本论文进行总结,对下一步研究作一些展望。 关键词:倒立摆;PID 控制器;MATLAB 仿真 设计报告正文设计报告正文 倒立摆 PID 控制及其 Matlab 仿真 2 1. 简述一级倒立摆系统的工作原理; 倒立摆是一个数字式的闭环控制系统,其工作原理为:角度、位移信号检测电路获取后,由微分电路获取相应的微分信号。这些信号经 A/D 转换器送入计算机,经过计算及内部的控制算法解算后得到相应的控制信号,该信号经过 D/A变换、 再经功率放大由执行电机带动皮带卷拖动小车在轨道上做往复运动,从而实现小车位移和倒立摆角位移的控制。 2. 依据相关物理定理,列写倒立摆系统的运动方程; 小车质量为M,倒立摆的质量为m,摆长为2l,小车的位置为x,摆的角度为?,作用在小车水平方向上的力为F,1O为摆杆的质心。 F F2l2l O1倒立摆 PID 控制及其 Matlab 仿真 3 摆杆绕其重心的转动方程 ???cossinlFlFJxy??? ?摆杆重心的水平运动方程 )sin(22 ?lxdtdmFx??摆杆重心的垂直运动方程 )cos(22 ?ldtdmmgFy??小车水平方向运动方程 22dtxdMFFx??一级倒立摆系统的动力学模型 ?????????????????????????))((cossinlg)(cossincoscos))((cossinsin)()(2222222222222222mMlmJlmmmMlmFmllmmMmlJglmmlJlmFmlJx????????????f=signals(2,:);x=signals(3,:);q=signals(4,:);xx=signals(5,:);qq=signals(6,:); figure(1) hf=stairs(t,f(:));grid on axis([0 1 0 0.12]);xlabel('时间(s)');ylabel('控制力(N)'); 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','b','parent',axet); axis([0 1 0 0.1]);ylabel('x位置的变化(m)') title('f(t)=0.1N和x''的脉冲响应曲线') 倒立摆 PID 控制及其 Matlab 仿真 5 gtext('\leftarrow f(t)'),gtext('x(t)\rightarrow'),gtext('\leftarrow x''(t)') figure(2) hf=stairs(t,f(:));grid on; axis([0 1 0 0.12]); xlabel('时间(s)');ylabel('控制力(N)') 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','b','parent',axet); axis([0 1 -0.3 0]) ;ylabel('角度变化(弧度)') title(' f(t)=0.1N时\theta(t)ºÍ\theta''(t)的脉冲响应曲线') gtext('\leftarrow f(t)'),gtext('\theta(t)\rightarrow'),gtext('\leftarrow \theta''(t)') 仿真结果如下图所示,从中可以看出,在 0.1N 的冲击力作用下,摆杆倒下(?由 0 逐渐增大) ,小车位移逐渐增加,因此在一定程度上可以认为“一阶倒立摆系统”的数学模型是有效的。 f(t)=0.1N 时 x 和x’的脉冲响应曲线 倒立摆 PID 控制及其 Matlab 仿真 6 f(t)=0.1N 时?和?’的脉冲响应曲线 4. 结合单位反馈控制系统的控制原理,为被控对象设计 PID 控制器。 (1)双闭环 PID 控制器设计 一级倒立摆系统位置伺服控制系统方框图 1( )D s2( )D s1.61( )G s220.410s s??22 40s? ?( )X s( ) s?2( )G s2'( )D s1'( )D s( )F s( )rXs--一级倒立摆内环外环倒立摆 PID 控制及其 Matlab 仿真 7 (2)内环控制器的设计 内环采用反馈校正进行控制 反馈校正采用 PD 控制器,设其传递函数为2' 12( )D sK sK??,为了抑制干扰,在前向通道上加上一个比例环节2( )D sK?。 1) 控制器参数的整定 设2( )D s的增益20K ??,则内环控制系统的闭环传递函数为: 40646464 )()(1)()(212' 222 2??????KsKssDsGKKsGKKsWSS令7 . 0?? ??????????647 . 026464406412KK???????625. 1175. 021KK内环控制器的传递函数为: 625. 1175. 0)(' 2??ssD 内环控制系统的闭环传递函数为: 1.6( ) s?2( )G s2'( )D s--K( )rs?( )D s+倒立摆 PID 控制及其 Matlab 仿真 8 642 .1164)(22???sssW2) 外环控制器的设计 外环系统前向通道的传递函数为: )642 .11()104 . 0(64)()(22212?????sssssGsW外环系统结构图 对外环模型进行降阶处理,若忽略2( )W s的高次项,则近似为一阶传递函数为: 642 .1164)(2??ssW 对模型1( )G s进行近似处理,则1( )G s的传递函数为: 2110)(ssG?外环控制器采用 PD 形式,其传递函数为: ) 1()(31??sKsD? 采用单位反馈构成外环反馈通道,即1'( )1D s ?,则系统的开环传递函数为 1( )D s ( )rXs-3(1)Ks??2( )W s1( )G sK=11'( )D s( )X s( ) s?倒立摆 PID 控制及其 Matlab 仿真 9 ) 1()57(57)()()()(32112????sKsssDsGsWsW? 采用基于 Bode 图法的希望特性设计方法,得30.12,0.877K???,取1??,则外环控制器的传递函数为: ) 1(12. 0)(1??ssD 一级倒立摆双闭环控制系统的方框图 (3)系统仿真 对一级倒立摆双闭环控制系统进行仿真。 一级倒立摆双闭环控制系统 Simulink 仿真结构图 运行如下 MATLAB 程序,得到如下图所示仿真曲线 clear all load PID.mat t=signals(1,:);q=signals(2,:);x=signals(3,:); figure(1) 0.12(1)s?1.6( )W s( )X s ( ) s?( )F s( )rXs--一级倒立摆-200.1751.625s?X调节器θ调节器倒立摆 PID 控制及其 Matlab 仿真 10 ht=line(t,q(:)); grid on; xlabel('时间(s)'); ylabel('摆角变化(rad)'); axis([0,10,-0.3,1.2]); axet=axes('Position',get(gca,'Position'),'XAxisLocation','bottom',... 'YAxisLocation','right','color','None','XColor','k','YColor','k'); ht=line(t,x,'color','r','parent',axet); ylabel('x位置变化(m)'); axis([0,10,-0.3,1.2]); title('\Theta(t) 和x(t)的阶跃响应曲线') gtext('\leftarrow x(t)'),gtext('\Theta(t)\uparrow'); 5. 分析综述比例 P、积分 I、微分 D 三个调节参数对系统控制性能的影响。 PID控制方式由比例,积分,微分三种作用组成在一起体现出来的。P的优点:响应该速度快,调节动作迅速。I的优点:消除余差。D的优点:根据偏差信号的变化,趋势提前动作。先把微分作用取消掉,只保留PI,先调比例,再调积分,最后加倒立摆 PID 控制及其 Matlab 仿真 11 上微分再调。如果振荡过快,加大P。如果振荡后过很久才稳定,减小P,减少积分时间。 如果振荡的周期太长,加大积分时间。如果对调节对象变化反应过慢,增大D。所以采用PID控制方式能很有效的实现倒立摆控制,减少超调量,有效控制小车的运动和摆棍的摆动,实现倒立摆的控制 图 5-1不同比例的响应曲线图 图 5-2 不同微分下的仿真图 关 键 词: 一级 倒立 课程设计 pid 控制 及其 matlab 仿真
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:一级倒立摆课程设计--倒立摆pid控制及其matlab仿真
链接地址: https://www.wenku365.com/p-9446517.html