ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:1.30MB ,
资源ID:2359063      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2359063.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于双闭环PID控制的一阶倒立摆控制系统设计-自动控制原理课程设计说明书.doc)为本站会员(为人民服务)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于双闭环PID控制的一阶倒立摆控制系统设计-自动控制原理课程设计说明书.doc

1、自动控制原理课程设计说明书基于双闭环 PID 控制的一阶倒立摆控制系统设计姓 名: 学 号: 学 院: 专 业: 指导教师: 2018 年 1 月目录1 任务概述 21.1 设计概述 21.2 要完成的设计任务: 22 系统建模 32.1 对象模型 32.2 模型建立及封装 33 仿真验证 83.1 实验设计 83.2 建立 M 文件编制绘图子程序 84 双闭环 PID 控制器设计 114.1 内环控制器的设计 124.2 外环控制器的设计 125 仿真实验 145.1 简化模型 145.2 仿真实验 156 检验系统的鲁棒性 1761 编写程序求系统性能指标 176.2 改变参数验证控制系统

2、的鲁棒性 187 结论 21附录 211 任务概述1.1 设计概述如图 1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。图 1 一阶倒立摆控制系统这是一个借助于“SIMULINK 封装技术子系统”,在模型验证的基础上,采用双闭环 PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量 m 和倒摆长度 L 作为子系统的参数,可以由用户

3、根据需要输入; (2)设计实验,进行模型验证; (3)一阶倒立摆系统为“自不稳定的非最小相位系统”。将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的 PID 控制器; (4)在单位阶跃输入下,进行 SIMULINK 仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间; (6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。 倒摆长度 L 不变,倒立摆的振子质量 m 从 1kg 分别改变为1.5kg、2kg、2.5kg、0

4、.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*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)F

5、cn1:(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 = ,小车质量 M=1kg,倒摆振子质量 m,倒摆长度 2L,重力加速度 g=10m/ )将以上表达式导入函数。3、如下图框选后选择 create subsystem图 3 封装4、封装之后如下图图 4 子系统建立5、将精确模型 subsystem 和简化模型 s

6、ubsystem1 组合成以下系统以供验证,注意 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、在系统

7、模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中可以输入 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 na

8、me 的名字就是 M 程序中的函数名,这里如果不是 signals 的话程序是无法运行的。Save format 要选择 Array,因为程序是按数组形式调取变量的,没有选择 Array 的话运行程序会出现“索引超出矩阵维度”的错误。图 11 to file 参数设置3、 运行 M 文件程序,执行该程序的结果如图 8 所示。图 12 模型验证仿真结果从中可见,在 0.1N 的冲击力下,摆杆倒下( 由零逐步增大), 小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。同时,由图中也可以看出,近似模型在 0.8s 以前与精确模型非常接近,因此

9、,也可以认为近似模型在一定条件下可以表达原系统模型的性质。4 双闭环 PID 控制器设计一级倒立摆系统位置伺服控制系统如图 13 所示。图 13 一级倒立摆系统位置伺服控制系统方框图4.1 内环控制器的设计内环采用反馈校正进行控制。图 14 内环系统结构图反馈校正采用 PD 控制器,设其传递函数为 ,为了抑制干扰,在 前向通道上加上一个比例环节 = K控制器参数的整定:设 的增益 K = -20,则内环控制系统的闭环传递函数为令 = 0.7内环控制器的传递函数为:内环控制系统的闭环传递函数为:4.2 外环控制器的设计外环系统前向通道的传递函数为:图 12 外环系统结构图对外环模型进行降阶处理,

10、若忽略 的高次项,则近似为一阶传递函数为:对模型 进行近似处理,则 的传递函数为:外环控制器采用 PD 形式,其传递函数为:采用单位反馈构成外环反馈通道,则 ,则系统的开环传递函数为:采用基于 Bode 图法的希望特性设计方法,得 ,= 0.87,取 = 1,则外环控制器的传递函数为图 13 系统仿真结构图5 仿真实验5.1 简化模型1、 根据已设计好的 PID 控制器,可建立图 14 系统,设置仿真时间为 10ms,单击运行。这个仿真是为了便于理解。2、 图 14 SIMULINK 仿真框图3、 新建 M 文件,输入以下命令并运行%将导入到 PID.mat 中的仿真试验数据读出 load P

11、ID.mat t=signals(1,:); q=signals(2,:); x=signals(3,:); %drawing x(t) and thera(t) response signals %画小车位置和摆杆角度的响应曲线 figure(1)hf=line(t,q(:); grid on xlabel (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),g

12、text(theta(t) uparrow)执行该程序的结果如图 15 所示图 15 仿真结果5.2 仿真实验注意,图中子系统为简化模型而不是精密模型(MMP 网上的写的精密模型,调了好久才发现)。图 16 SIMULINK 仿真框图图 17 系统仿真结果图6 检验系统的鲁棒性检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。6 1 编写程序求系统性能指标新建 pid.m 文件,输入以下命令并保存load PID.mat clc t=signals(1,:); x=signals(2,:);

13、 q=signals(3,:); figure(1) hf=line(t,q(:); grid on axis(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.98*C end q_settling_time=t(s) %调整时间计算6.2 改变参数验证控制系统的鲁棒性倒摆长度 L 不变,倒立摆的振子质量 m 从 1kg 分别改变为1.5kg、2kg、2.5kg、

14、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 的冲击力下,摆杆倒下( 由零逐步增大), 小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。验证实验中,通过精确模型与

15、简化模型比较,从图中可以看出,0.8s 以前是非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。 2、经过双闭环 PID 控制的系统,能跟随给定并稳定下来,且 终值为 0 使摆杆不倒。说明 PID 控制有效。 3、改变倒立摆的摆杆质量 m 和长度 L。从图 11 中可以看出,在参数变化的一定范围内系统保持稳定,控制系统具有一定的鲁棒性。附录q=signals(4,: ); %读取精确模型中倒摆摆角信号xx=signals(5,: ); %读取简化模型中的小车位置信号 qq=signals(6,: ); %读取简化模型中倒立摆摆角信号 figure(1) %定义第一个图形

16、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,pa

17、rent,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 on xlabel(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 )

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报