目录
1 任务概述-----------------------------------------------------1
2 系统建模-----------------------------------------------------2
3 仿真验证-----------------------------------------------------5
4 双闭环PID控制器设计----------------------------------10
5 仿真实验-----------------------------------------------------13
6 检验系统的鲁棒性-----------------------------------------15
7 结论--------------------------------------------------------------------19
8 体会--------------------------------------------------------------------19
1 任务概述
设计概述
如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统
这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
要完成的设计任务:
(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;
(2)设计实验,进行模型验证;
(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;
(4)在单位阶跃输入下,进行SIMULINK仿真;
(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;
(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
倒摆长度L不变,、2kg、、、;
倒立摆的振子质量m不变,、、、。
2 系统建模
对象模型
一阶倒立摆的精确模型的状态方程为:
()/(+)
()/()
若只考虑θ在其工作点θ0 = 0附近的细微变化,这时可以将模型线性化,这时可以近似认为:
0,θ,1;
一阶倒立摆的简化模型的状态方程为:
(θ) /()
( θ) /()
模型建立及封装
1、建立以下模型:
图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)
将以上表达式导入函数。
3、匡选要封装区后选择[Edit>>Create Subsystem]便得以下系统:
图3 子系统建立
4、鼠标右击子系统模块,在模块窗口选项中选择[Edit>>Edit Mask>>Parameters],则弹出如下窗口,添加参数m和l。
图4 添加参数
5、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证(输入信号是由阶跃信号合成的脉冲,)。
图5 系统模块封装
3 仿真验证
实验设计
假定使倒立摆在(θ=0,x=0)初始状态下突加微小冲击力作用,则依据经验
基于双闭环PID控制的一阶倒立摆控制系统设计 来自淘豆网m.daumloan.com转载请标明出处.