基于双闭环PID控制的一阶倒立摆控制系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于双闭环PID控制的一阶倒立摆控制系统设计福州大学至诚学院本科生课程设计题目:基于双闭环PID控制的一阶倒立摆控制系统设计姓名:系别:电气工程及其自动化专业:电气工程与自动化目录1任务概述-----------------------------------------------------12系统建模-----------------------------------------------------23仿真验证-----------------------------------------------------54双闭环PID控制器设计----------------------------------105仿真实验-----------------------------------------------------136检验系统的鲁棒性-----------------------------------------157结论--------------------------------------------------------------------198体会--------------------------------------------------------------------1911任务概述1.1设计概述如图1所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。图1一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。1.2要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;2(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;一阶倒立摆的简化模型的状态方程为:(θ)/()(θ)/()32.2模型建立及封装1、建立以下模型:图2模型验证原理图2、由状态方程可求得:Fcn:(4/3*u[1]+4/3*m*l*sin(u[3])*power(u[2],2)-10*m*sin(u[3])*cos(u[3]))/(4/3*(1+m)-m*power(cos(u[3]),2))Fcn1:(cos(u[3])*u[1]+m*l*sin(u[3])*cos(u[3])*power(u[2],2)-10*(1+m)*sin(u[3]))/(m*l*power(cos(u[3]),2)-4/3*l*(1+m))Fun2:(4*u[1]-30*m*u[3])/(4+m)Fun3:(u[1]-10*(1+m)*u[3])/(m*l-4/3*l*(1+m))(其中J=mL^2/3,小车质量M=1kg,倒摆振子质量m,倒摆长度2L,重力加速度g=10m/s^2)4将以上表达式导入函数。3、匡选要封装区后选择[EditCreateSubsystem]便得以下系统:图3子系统建立4、鼠标右击子系统模块,在模块窗口选项中选择[EditEditMaskParameters],则弹出如下窗口,添加参数m和l。图4添加参数55、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证(输入信号是由阶跃信号合成的脉冲,幅值及持续时间为0.1s)。图5系统模块封装3仿真验证3.1实验设计假定使倒立摆在(θ=0,x=0)初始状态下突加微小冲击力作用,则依据经验知,小车将向前移动,摆杆将倒下。3.2编制绘图子程序1、新建M文件输入以下程序并保存。clcloadxy.matt=signals(1,:);%读取时间信号f=signals(2,:);%读取作用力F信号x=signals(3,:);%读取精确模型中的小车位置信号q=signals(4,:);%读取精确模型中倒摆摆角信号6xx=signals(5,:);%读取简化模型中的小车位置信号qq=signals(6,:);%读取简化模型中倒立摆摆角信号figure(1)%定义第一个图形hf=line(t,f(:));%连接时间-作用力曲线gridon;xlabel('Time(s)')%定义横坐标ylabel('Force(N)')%定义纵坐标axis([0100.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('Evolutionofthexposition(m)')%定义坐标名称axis([0100.1])%定义坐标范围title('Responsexandx''inmetertoaf(t)pulseof0.1N')%定义曲线标题名称gtext('\leftarrowf(t)'),gtext('x(t)\rightarrow'),gtext('\leftarrowx''(t)')7figure(2)hf=line(t,f(:));gridonxlabel('Time')ylabel('Force(N)')axis([0100.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('Angleevolution(rad)')axis([01-0.30])title('Response\theta(t)and\theta''inradtoaf(t)pulseof0.1N')gtext('\leftarrowf(t)'),gtext('\theta(t)\rightarrow'),gtext('\leftarrow\theta''(t)'3.3仿真验证82、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中输入m和l值,点击OK并运行,如图7所示。图6参数输入3、运行M文件程序,执行该程序的结果如图8所示。9图7模型验证仿真结果从中可见,在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。同时,由图中也可以看出,近似模型在0.8s以前与精确模型非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。104双闭环PID控制器设计一级倒立摆系统位置伺服控制系统如图10所示。图10一级倒立摆系统位置伺服控制系统方框图4.1内环控制器的设计内环采用反馈校正进行控制。图11内环系统结构图1()Ds2()Ds1.61()Gs220.410ss2240s()Xs()s2()Gs2'()Ds1'()Ds()Fs()rXs--一级倒立摆内环外环1.6()s2()Gs2'()Ds--K()rs()Ds+反馈校正采用PD控制器,设其传递函数为2'12()DsKsK,为了抑制干扰,在前向通道上加上一个比例环节2()DsK。11控制器参数的整定:令:内环控制器的传递函数为:内环控制系统的闭环传递函数为:4.2外环控制器的设计外环系统前向通道的传递函数为:图12外环系统结构图设2()Ds的增益20K,则内环控制系统的闭环传递函数为:222'2212()64()1()()646440ssKKGsWsKKGsDssKsK0.7216440646420.764KK120.1751.625KK2'()0.1751.625Dss2264()11.264Wsss2212264(0.410)()()(11.264)sWsGssss1()Ds()rXs-3(1)Ks2()Ws1()GsK=11'()Ds()Xs()s12外环控制器采用PD形式,其传递函数为:图13系统仿真结构图对外环模型进行降阶处理,若忽略2()Ws的高次项,则近似为一阶传递函数为:264()11.264Wss对模型1()Gs进行近似处理,则1()Gs的传递函数为:1210()Gss采用单位反馈构成外环反馈通道,即1'()1Ds,则系统的开环传递函数为2113257()()()()(1)(57)WsWsGsDsKsss采用基于Bode图法的希望特性设计方法,得30.12,0.877K,取1,则外环控制器的传递函数为:1()0.12(1)Dss0.12(1)s1.6()Ws()Xs()s()Fs()rXs--一级倒立摆-200.1751.625sX调节器θ调节器13()(1)DsKs135仿真实验1、根据已设计好的PID控制器,可建立图14系统,设置仿真时间为20ms,单击运行。(其中的对象模型为精确模型的封装子系统形式)图14SIMULINK仿真框图2、新建M文件,输入以下命令并运行。%将导入到PID.mat中的仿真试验数据读出loadPID.matt=signals(1,:);q=signals(2,:);x=signals(3,:);%drawingx(t)andthera(t)responsesignals%画小车位置和摆杆角度的响应曲线figure(1)14hf=line(t,q(:));gridonxlabel('Time(s)')axis([010-0.31.2])ht=line(t,x,'color','r');axis([010-0.31.2])title('\theta(t)andx(t)Responsetoastepinput')gtext('\leftarrowx(t)'),gtext('\theta(t)\uparrow')执行该程序的结果如图9所示,从中可见,双闭环PID控制方案是有效的。图15系统仿真结果图156检验系统的鲁棒性检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。6.1编写程序求

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功