基于双闭环PID控制的一阶倒立摆控制系统设计.docx
自动控制原理课程设计说明书
基于双闭环PID控制得一阶倒立摆控制系统设计
姓名:
学号:
学院:
专业:
指导教师:
2018年1月
目录
TOC\o1-3\h\z\u1任务概述 2
1、1设计概述 2
1、2要完成得设计任务: 2
2系统建模 3
2、1对象模型 3
2、2模型建立及封装 3
3仿真验证 8
3、1实验设计 8
3、2建立M文件编制绘图子程序 8
4双闭环PID控制器设计 11
4、1内环控制器得设计 12
4、2外环控制器得设计 12
5仿真实验 14
5、1简化模型 14
5、2仿真实验 15
6检验系统得鲁棒性 17
6、1编写程序求系统性能指标 17
6、2?改变参数验证控制系统得鲁棒性 18
7?结论 21
附录 21
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=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)*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=mL23,小车质量M=1kg,倒摆振子质量m,倒摆长度2L
将以上表达式导入函数。
3、如下图框选后选择createsubsystem
图3封装
4、封装之后如下图
图4子系统建立
5、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证,注意add得符号就就是++,不就就是+-,网上其她得课设都就就是错得。(输入信号就就是由阶跃信号合成得脉冲,幅值为0、05,持续时间(steptime)为0、1s)。
图5系统模块封装
6、鼠标右击子系统模块,在模块窗口选项中选择Mask-editmask,则弹出如下窗口。
图6添加参数
7、点击左边菜单栏得edit,添加参数m和L,注意prompt中得m和L意思就就是之后对话框中得提示词,而name中得m和L就就是要被prompt中输入得值导入得