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

姓名:戴鹏指导老师:胡立坤成绩:学院:电气工程学院专业:自动化班级:自093------年------月-------日实验内容:基于双闭环PID控制的一阶倒立摆控制器的设计与验证实验其他组员:黄育尚【实验时间】 2013年1月18日星期五【实验地点】综合楼702【实验目的】1.理解一阶倒立摆的工作机理及其数学模型的建立及简化的方法;2.通过对一阶倒立摆的建模,掌握使用Matlab/Simulink软件对控制系统的建模方法;3.通过对一阶倒立摆控制系统的设计,理解和掌握双闭环PID控制系统的设计方法;4.掌握双闭环PID控制器参数整定的方法;5.掌握Simulink子系统的创建方法;6.理解和掌握控制系统设计中稳定性、快速性的权衡以及不断通过仿真实验优化控制系统的方法。
【实验原理】本实验的被控对象为固高公司的倒立摆实验系统,一阶倒立摆的结构原理图如图1所示,一阶倒立摆系统的组成框图如图2所示。
一阶倒立摆精确模型如图3所示。
一阶倒立摆系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。
光电码盘1 将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的位置、速度信号由光电码盘反馈给控制卡。
计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动,保持摆杆平衡。
运运运运运运运运运运运运运运运运运运运运运运运运运运1运运运运运运运运运2图1 一阶倒立摆的结构原理图图2 一阶倒立摆系统的组成框图图3 一阶倒立摆精确模型2一阶倒立摆系统建模,系统在平衡点附近近似模型为:2222222222()()()()()()()()()I ml bm gl I ml uI M m Mml I M m Mml I M m Mml mlbmgl M m mluI M m Mml I M m Mml I M m Mml x x x φφφ••••••-++=++++++++-+=++++++++实际系统的模型参数如下: M 小车质量 1.096 Kg m 摆杆质量 0.109 Kgb 小车摩擦系数 0 .1N/m/secl 摆杆转动轴心到杆质心的长度 0.2 5m I 摆杆惯量 0.0034 kg*m*m把上述参数代入,可以得到系统的实际模型。
控制系统仿真实验一

2.0 s 2 40 2.0 1 (20) 1.6 2 (KP2 KD2S ) s 40 64 2 s 64 K D 2 s 64 K P 2 40
0.4s 2 10 10 G1 ( s) 2 2 s s 近似条件为 c min(2.52,1.58) 1.58
17
3.3 双闭环PID控制器设计 (二)外环控制器的设计
2 控制器设计 下图为系统外环前向通道上传递函数的等效过程 ,我 们可以将外环系统设计成典型Ⅱ型的结构形式 。
2 仿真结果
我们还可以改变倒立摆系统的部分参数来检验系统是否具有一定 的鲁棒性。例如,我们将倒立摆的摆杆质量改为1.1kg,此时的仿真 结果如下图所示。从仿真结果可见:控制系统仍能有效的控制其保 持倒摆直立并使小车移动到指定位置。
23
3.4 仿真实验
2 仿真结果 为了进一步验证控制系统的鲁棒性能,并便于进行比较, 我们不妨改变倒立摆的摆杆质量和长度多作几组试验,部分实验 结果如下所示。可见,所设计的双闭环PID控制器在系统参数 的一定变化范围内能有效的工作,保持摆杆直立并使小车有效 定位,控制系统具有一定的鲁棒性。
X r ( s)
D1 ( s)
K p ( s 1)
W2 ( s)
(s)
G1 ( s )
X ( s)
D1 ( s )
K=1
19
3.3 双闭环PID控制器设计 (二)外环控制器的设计
2 控制器设计
根据典型Ⅱ型系统设计方法,确定外环调节器的两个参数
为 K P 0.12, 1 ,这样可得到完整的系统仿真结构如下图所 示:
基于双闭环PID控制的一阶倒立摆控制系统设计

自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (3)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (4)3仿真验证 (8)3.1 实验设计 (8)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (12)4.2外环控制器的设计 (13)5 仿真实验 (14)5.1简化模型 (14)5.2 仿真实验 (16)6 检验系统的鲁棒性 (18)6.1 编写程序求系统性能指标 (18)6.2 改变参数验证控制系统的鲁棒性 (19)7 结论 (22)附录 (22)1 任务概述1.1设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
基于双闭环PID控制的一阶倒立摆控制系统设计

基于双闭环PID控制的一阶倒立摆控制系统设计一阶倒立摆是一种常见的控制系统,它由一个旋转臂和一个悬挂在旋转臂末端的摆杆组成。
控制目标是使摆杆保持垂直位置并保持在指定的角度范围内。
本文将基于双闭环PID控制设计一阶倒立摆控制系统,并对其进行详细的分析和讨论。
首先,我们需要明确控制系统的结构。
一阶倒立摆控制系统可以分为两个闭环:内环和外环。
内环用于控制旋转臂的角度,并将输出作为外环的输入。
外环用于控制摆杆的角度,并根据测量的摆杆角度和设定的目标角度来调整内环的输入。
在进行控制系统设计之前,我们需要先建立一阶倒立摆的数学模型。
假设倒立摆的质量集中在摆杆的一端,摆杆的长度为L,质量为m,摩擦系数为b,重力加速度为g。
通过应用牛顿第二定律,可以得到如下动力学方程:mL²θ¨ + bLθ˙ + mgLsinθ = u其中,θ是旋转臂的角度,u是旋转臂的扭矩。
为了简化方程,我们进行恒定参数修正和线性化处理,得到线性方程:θ¨ + 2ξωnθ˙ + ωn²θ = kru其中,ξ是阻尼比,ωn是无阻尼自然频率,kr是旋转臂的增益。
接下来,我们将按照以下步骤设计基于双闭环PID控制的一阶倒立摆控制系统:1.内环设计:-选择合适的内环闭环控制器类型。
对于一阶倒立摆,可以选择PID控制器。
-根据倒立摆的特性和性能要求,选择合适的PID参数。
可以使用试错法、经验法、系统辨识等方法进行参数调整。
-将PID控制器的输入设置为旋转臂角度误差,输出为旋转臂的扭矩。
2.外环设计:-选择合适的外环闭环控制器类型。
对于一阶倒立摆,可以选择PID控制器。
-根据倒立摆的特性和性能要求,选择合适的PID参数。
-将PID控制器的输入设置为摆杆角度误差,输出为旋转臂的角度设定值。
3.进行系统仿真和调试:-使用MATLAB等仿真工具建立一阶倒立摆的数学模型,并将设计的控制器与模型进行集成。
-调整控制器的参数,以满足性能指标和系统稳定性的要求。
基于双闭环PID控制的一阶倒立摆控制系统设计

自动统造本理课程安排证明书籍之阳早格格创做鉴于单关环PID统造的一阶倒坐晃统造系统安排姓名:教号:教院:博业:指挥西席:2018年1月目录1 任务概括2错误!未定义书签。
1.2 要完毕的安排任务:22系统修模32.1 对于象模型32.2 模型修坐及启拆43仿真考证53.1 真验安排53.2 修坐M文献体例画图子步调54 单关环PID统造器安排7错误!未定义书签。
错误!未定义书签。
5 仿真正在验8错误!未定义书签。
5.2 仿真正在验96 考验系统的鲁棒性96.1 编写步调供系统本能指标96.2 改变参数考证统造系统的鲁棒性117 论断12附录121任务概括如图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附近的细微变更,那时不妨将模型线性化,那时不妨近似认为:一阶倒坐晃的简化模型的状态圆程为:2.2 模型修坐及启拆上边的图是透彻模型,下边的是简化模型.图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)-1 0*(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 =,小车品量M=1kg,倒晃振子品量m,倒晃少度2L,沉力加速度g=10m/)将以上表白式导进函数.3、如下图框选后采用createsubsystem图3启拆4、启拆之后如下图图4子系统修坐5、将透彻模型subsystem战简化模型subsystem1拉拢成以下系统以供考证,注意add的标记是++,不是+-,网上其余的课设皆是错的.(输进旗号是由阶跃旗号合成的脉冲,幅值为0.05,持绝时间(step time)为0.1s).图5系统模块启拆6、鼠标左打子系统模块,正在模块窗心选项中采用Mask->edit mask,则弹出如下窗心.图6增加参数7、面打左边菜单栏的edit,增加参数m战L,注意prompt 中的m战L意义是之后对于话框中的提示词汇,而name中的m战L是要被prompt中输进的值导进的变量,如果name 中挖错了,那么之后的值将无法导进.图7编写参数8、正在系统模型中,单打子系统模块,则会弹出一个新窗心,正在新窗心中不妨输进m战L的值,之后将会输进,如图8所示.图8输进参数3仿真考证3.1 真验安排假定使倒坐晃正在(θ=0,x=0)初初状态下突加微弱冲打力效率,则依据体味知,小车将背前移动,晃杆将倒下.3.2 修坐M文献体例画图子步调图9画图子步调(提示:附录中有子步调便当大家Ctrl+c(^_^),上边不过为了便当对于照).1、正在系统模型中,单打子系统模块,则会弹出一个新窗心,正在新窗心中输进m战l值,面打OK并运止,如图10所示.图10 输进参数2、如图树坐tofile模块的参数,Variablename的名字便是M 步调中的函数名,那里如果不是signals的话步调是无法运止的.Save format要采用Array,果为步调是按数组形式调与变量的,不采用Array的话运止步调会出现“索引超出矩阵维度”的过失.图11 tofile参数树坐3、运止M文献步调,真止该步调的截止如图8所示.图12 模型考证仿真截止从中可睹,正在0.1N的冲打力下,晃杆倒下(θ由整逐步删大),小车位子渐渐减少,那一截止切合前述的真验安排,故不妨正在一定程度上确认该“一阶倒坐晃系统”的数教模型是灵验的.共时,由图中也不妨瞅出,近似模型正在0.8s往日与透彻模型非常交近,果此,也不妨认为近似模型正在一定条件下不妨表白本系统模型的本量.4 单关环PID统造器安排一级倒坐晃系统位子伺服统造系统如图13所示.图13 一级倒坐晃系统位子伺服统造系统圆框图内环采与反馈矫正举止统造.图14 内环系统结构图反馈矫正采与PD统造器,设其传播函数为,为了压造搞扰,正在前背通讲上加上一个比率关节=K 统造器参数的整定:设的删益K=-20,则内环统造系统的关环传播函数为内环统造器的传播函数为:内环统造系统的关环传播函数为:中环系统前背通讲的传播函数为:图12 中环系统结构图对于中环模型举止落阶处理,若忽略的下次项,则近似为一阶传播函数为:对于模型举止近似处理,则的传播函数为:中环统造器采与PD形式,其传播函数为:采与单位反馈形成中环反馈通讲,则,则系统的启环传播函数为:采与鉴于Bode图法的期视个性安排要领,得,τ= 0.87,与τ= 1,则中环统造器的传播函数为图13 系统仿真结构图5 仿真正在验1、根据已安排佳的PID统造器,可修坐图14系统,树坐仿真时间为10ms,单打运止.那个仿真是为了便于明白.图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')真止该步调的截止如图15所示图15 仿真截止5.2 仿真正在验注意,图中子系统为简化模型而不是粗稀模型(MMP网上的写的粗稀模型,调了佳暂才创造).图16 SIMULINK仿真框图图17系统仿真截止图6 考验系统的鲁棒性考验系统的鲁棒性:将对于象的个性搞如下变更后,共样正在单位阶跃输进下,考验所安排统造系统的鲁棒本能,列表比较系统的本能指标(最大超调量、安排时间、降下时间).6.1 编写步调供系统本能指标新修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; end r2=1;while (x(r2)<0.9*C)r2=r2+1;endx_rise_time=t(r2)-t(r1) %降下时间估计s=length(t);while x(s)>0.98*C&&x(s)<1.02*Cs=s-1;endx_settling_time=t(s) %安排时间估计C1=q(1,e);[max_y,k]=max(q);q_max_overshoot=max(q)-C1%超调量估计q_rise_time=t(k) %降下时间估计s=length(t);while q(s)>-0.02&&q(s)<0.02s=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、改变输进参数并运止,再运止pid.m文献,得到赞同直线及本能指标,记录表1图18 改变输进参数表1 本能坐标比较2、仿真正在验的截止如图19所示:图19改变倒坐杆品量战少度时系统仿真截止7 论断论断:1、本系统正在0.1N的冲打力下,晃杆倒下(θ由整逐步删大),小车位子渐渐减少,那一截止切合前述的真验安排,故不妨正在一定程度上确认该“一阶倒坐晃系统”的数教模型是灵验的.考证据验中,通过透彻模型与简化模型比较,从图中不妨瞅出,0.8s往日利害常交近,果此,也不妨认为近似模型正在一定条件下不妨表白本系统模型的本量.2、通过单关环PID 统造的系统,能跟随给定并宁静下去,且θ末值为0使晃杆不倒.证明PID统造灵验.3、改变倒坐晃的晃杆品量m战少度L.从图11中不妨瞅出,正在参数变更的一定范畴内系统脆持宁静,统造系统具备一定的鲁棒性.附录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 x''in 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)')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' )。
一级倒立摆【控制专区】系统设计

基于双闭环PID控制的一阶倒立摆控制系统设计一、设计目的倒立摆是一个非线性、不稳定系统,经常作为研究比较不同控制方法的典型例子。
设计一个倒立摆的控制系统,使倒立摆这样一个不稳定的被控对象通过引入适当的控制策略使之成为一个能够满足各种性能指标的稳定系统。
二、设计要求倒立摆的设计要求是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。
当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。
实验参数自己选定,但要合理符合实际情况,控制方式为双PID控制,并利用MATLAB进行仿真,并用simulink对相应的模块进行仿真。
三、设计原理倒立摆控制系统的工作原理是:由轴角编码器测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至控制计算机。
计算机根据一定的控制算法,计算出空置量,并转化为相应的电压信号提供给驱动电路,以驱动直流力矩电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。
四、设计步骤首先画出一阶倒立摆控制系统的原理方框图一阶倒立摆控制系统示意图如图所示:分析工作原理,可以得出一阶倒立摆系统原理方框图:一阶倒立摆控制系统动态结构图下面的工作是根据结构框图,分析和解决各个环节的传递函数!1.一阶倒立摆建模在忽略了空气流动阻力,以及各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如下图所示,其中: M :小车质量 m :为摆杆质量 J :为摆杆惯量 F :加在小车上的力 x :小车位置θ:摆杆与垂直向上方向的夹角 l :摆杆转动轴心到杆质心的长度根据牛顿运动定律以及刚体运动规律,可知: (1) 摆杆绕其重心的转动方程为(2) 摆杆重心的运动方程为得sin cos ..........(1)y x J F l F l θθθ=-2222(sin ) (2)(cos ) (3)x y d F m x l d td F mg m l d t θθ=+=-(3)小车水平方向上的运动为22..........(4)x d xF F M d t-=联列上述4个方程,可以得出一阶倒立精确气模型:()()()()()()()2222222222222222sin .sin cos cos cos .sin cos .lg sin cos J ml F ml J ml m l g x J ml M m m l ml F m l M m m m l M m J ml θθθθθθθθθθθθ⎧+++-⎪=++-⎪⎨+-+⎪=⎪-++⎩式中J 为摆杆的转动惯量:32ml J =若只考虑θ在其工作点附近θ0=0附近(︒︒≤≤-1010θ)的细微变化,则可以近似认为:⎪⎩⎪⎨⎧≈≈≈1cos sin 02θθθθ ⎪⎪⎩⎪⎪⎨⎧++-+=++-+=2..2222..)(lg )()()(Mml m M J mlF m m M Mml m M J g l m F ml J x θθθ 若取小车质量M=2kg,摆杆质量m=1kg,摆杆长度2 l =1m,重力加速度取g=2/10s m ,则可以得 一阶倒立摆简化模型:....0.44 3.330.412x F F θθθ⎧=-⎪⎨⎪=-+⎩即 G 1(s)= ; G 2(s)=一阶倒立摆环节问题解决!2.电动机驱动器选用日本松下电工MSMA021型小惯量交流伺服电动机,其有关参数如下:222()0.4()12() 1.110()s F s s x s s s s θθ-⎧=⎪-⎪⎨-+⎪=⎪⎩驱动电压:U=0~100V 额定功率:PN=200W 额定转速:n=3000r/min 转动惯量:J=3×10-6kg.m2 额定转矩:TN=0.64Nm 最大转矩:TM=1.91Nm 电磁时间常数:Tl=0.001s 电机时间常数:TM=0.003s经传动机构变速后输出的拖动力为:F=0~16N ;与其配套的驱动器为:MSDA021A1A ,控制电压:UDA=0~±10V 。
基于双闭环PID控制的一阶倒立摆控制系统设计

自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (4)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (5)3仿真验证 (9)3.1 实验设计 (9)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (13)4.2外环控制器的设计 (13)5 仿真实验 (15)5.1简化模型 (15)5.2 仿真实验 (17)6 检验系统的鲁棒性 (18)6.1 编写程序求系统性能指标 (18)6.2 改变参数验证控制系统的鲁棒性 (19)7 结论 (22)附录 (22)1 任务概述1.1设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
一阶直线倒立摆双闭环PID控制仿真报告

目录摘要 (2)一、一阶倒立摆系统建模 (3)1、对象模型 (3)2、电动机、驱动器及机械传动装置的模型 (4)二、双闭环PID控制器设计 (5)1、仿真验证 (6)2、内环控制器的设计 (9)3、系统外环控制器设计 (12)三、仿真实验 (15)1、绘图子程序 (15)2、仿真结果 (16)四、结论 (18)摘要本报告旨在借助Matlab 仿真软件,设计基于双闭环PID 控制的一阶倒立摆控制系统。
在如图0.1所示的“一阶倒立摆控制系统”中,通过检测小车的位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC )完成。
图0.1 一阶倒立摆控制系统分析工作原理,可以得出一阶倒立摆系统原理方框图:图0.2 一阶倒立摆控制系统动态结构图本报告将借助于“Simulink 封装技术——子系统”,在模型验证的基础上,采用双闭环PID 控制方案,实现倒立摆位置伺服控制的数字仿真实验。
一、一阶倒立摆系统建模1、对象模型如图1.1所示,设小车的质量为m 0,倒立摆均匀杆的质量为m ,摆长为2l ,摆的偏角为θ,小车的位移为x ,作用在小车上的水平方向的力为F ,O 1为摆角质心。
θxyOFF xF x F yF yllxO 1图1.1 一阶倒立摆的物理模型根据刚体绕定轴转动的动力学微分方程,转动惯量与角加速度乘积等于作用于刚体主动力对该轴力矩的代数和,则 1)摆杆绕其中心的转动方程为θθθcos sin y l F l F J x-= (1-1) 2)摆杆重心的水平运动可描述为)sin (22x θl x dtd m F += (1-2)3)摆杆重心在垂直方向上的运动可描述为)cos (22y θl dtd m mg F =- (1-3)4)小车水平方向上的运动可描述为220dtxd m F F x =- (1-4)由式(1-2)和式(1-4)得F ml x m m =⋅-⋅++)sin (cos )(20θθθθ (1-5) 由式(1-1)、(式1-2)和式(1-3)得θθθsin g cos 2ml x ml ml J =⋅++ )( (1-6) 整理式(1-5)和式(1-6),得⎪⎪⎩⎪⎪⎨⎧++-+-⋅+⋅=-++-⋅+++=))((cos sin )(cos sin cos cos ))((cos sin sin )()(x 2022202222220222222m l J m m l m m l m m l m F m l l m m m m l J g l m m l J lm F m l J θθθθθθθθθθθθ(1-7) 以上式1-7为一阶倒立摆精确模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (3)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (4)3仿真验证 (9)3.1 实验设计 (9)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (13)4.2外环控制器的设计 (14)5 仿真实验 (15)5.1简化模型 (15)5.2 仿真实验 (17)6 检验系统的鲁棒性 (18)6.1 编写程序求系统性能指标 (18)6.2 改变参数验证控制系统的鲁棒性 (19)7 结论 (22)附录 (22)1 任务概述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附近的细微变化,这时可以将模型线性化,这时可以近似认为:一阶倒立摆的简化模型的状态方程为:2.2 模型建立及封装上边的图是精确模型,下边的是简化模型。
图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)*s in(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 =,小车质量M=1kg,倒摆振子质量m,倒摆长度2L,重力加速度g=10m/)将以上表达式导入函数。
3、如下图框选后选择create subsystem图3 封装4、封装之后如下图图4 子系统建立5、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证,注意add的符号是++,不是+-,网上其他的课设都是错的。
(输入信号是由阶跃信号合成的脉冲,幅值为0.05,持续时间(step time)为0.1s)。
图5 系统模块封装6、鼠标右击子系统模块,在模块窗口选项中选择Mask->edit mask,则弹出如下窗口。
图6 添加参数7、点击左边菜单栏的edit,添加参数m和L,注意prompt中的m和L意思是之后对话框中的提示词,而name中的m和L是要被prompt中输入的值导入的变量,如果name中填错了,那么之后的值将无法导入。
图7 编辑参数8、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中可以输入m和L的值,之后将会输入,如图8所示。
图8 输入参数3仿真验证3.1 实验设计假定使倒立摆在(θ=0,x=0)初始状态下突加微小冲击力作用,则依据经验知,小车将向前移动,摆杆将倒下。
3.2 建立M文件编制绘图子程序图9 绘图子程序(提示:附录中有子程序方便大家Ctrl+c (^_^),上边只是为了方便对照)。
1、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中输入m和l值,点击OK并运行,如图10所示。
图10 输入参数2、如图设置to file模块的参数,Variable name的名字就是M程序中的函数名,这里如果不是signals的话程序是无法运行的。
Save format要选择Array,因为程序是按数组形式调取变量的,没有选择Array的话运行程序会出现“索引超出矩阵维度”的错误。
图11 to file参数设置3、运行M文件程序,执行该程序的结果如图8所示。
图12 模型验证仿真结果从中可见,在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。
同时,由图中也可以看出,近似模型在0.8s以前与精确模型非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。
4 双闭环PID控制器设计一级倒立摆系统位置伺服控制系统如图13所示。
图13 一级倒立摆系统位置伺服控制系统方框图内环采用反馈校正进行控制。
图14 内环系统结构图反馈校正采用PD控制器,设其传递函数为,为了抑制干扰,在前向通道上加上一个比例环节 = K控制器参数的整定:设的增益K = -20,则内环控制系统的闭环传递函数为令ξ= 0.7内环控制器的传递函数为:内环控制系统的闭环传递函数为:外环系统前向通道的传递函数为:图12 外环系统结构图对外环模型进行降阶处理,若忽略的高次项,则近似为一阶传递函数为:对模型进行近似处理,则的传递函数为:外环控制器采用PD形式,其传递函数为:采用单位反馈构成外环反馈通道,则,则系统的开环传递函数为:采用基于Bode图法的希望特性设计方法,得,τ= 0.87,取τ= 1,则外环控制器的传递函数为图13 系统仿真结构图5 仿真实验5.1简化模型1、根据已设计好的PID控制器,可建立图14系统,设置仿真时间为10ms,单击运行。
这个仿真是为了便于理解。
2、图14 SIMULINK仿真框图3、新建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')执行该程序的结果如图15所示1.41.210.80.60.40.2012345678910图15 仿真结果5.2 仿真实验注意,图中子系统为简化模型而不是精密模型(MMP网上的写的精密模型,调了好久才发现)。
图16 SIMULINK仿真框图012345678910 00.20.40.60.811.21.4图17系统仿真结果图6 检验系统的鲁棒性检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
6.1 编写程序求系统性能指标新建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; end r2=1;while (x(r2)<0.9*C)r2=r2+1;endx_rise_time=t(r2)-t(r1) %上升时间计算s=length(t);while x(s)>0.98*C&&x(s)<1.02*Cs=s-1;endx_settling_time=t(s) %调整时间计算C1=q(1,e);[max_y,k]=max(q);q_max_overshoot=max(q)-C1 %超调量计算q_rise_time=t(k) %上升时间计算s=length(t);while q(s)>-0.02&&q(s)<0.02s=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、改变输入参数并运行,再运行pid.m文件,得到响应曲线及性能指标,记录表1图18 改变输入参数x θx θx θ10.314.11550.1251 5.6095 4.01 1.2605 1.33331.50.310.24580.1649 4.1058 3.33380.773 1.485720.38.35060.1962 5.7144 4.75580.6862 1.51692.50.315.45010.11967.4006 4.0793 1.2632 1.32770.80.317.27280.11668.0565 4.3415 1.3468 1.31540.50.311.98320.1551 5.2784 3.8402 1.1323 1.428610.512.02450.1693 5.6026 3.5867 1.2342 1.475210.615.16320.11027.1334 4.1097 1.3124 1.336310.216.23280.09737.5863 4.2172 1.2786 1.326410.1 5.17990.61494.1058 3.33380.773 1.4857振子质量倒摆长度对象参数性能指标最大超调量调节时间上升时间表1 性能坐标比较2、 仿真实验的结果如图19所示:图19改变倒立杆质量和长度时系统仿真结果7结论结论:1、原系统在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。