球杆系统稳定性分析实习报告.docx
《球杆系统稳定性分析实习报告.docx》由会员分享,可在线阅读,更多相关《球杆系统稳定性分析实习报告.docx(18页珍藏版)》请在冰豆网上搜索。
球杆系统稳定性分析实习报告
球杆系统稳定性分析实习报告
实验地点:
自动化专业实验室
实验日期:
2013-7.8—2013.7.20
小组成员:
指导教师:
一、球杆系统简述
二、球杆系统数学模型
三、球杆系统在Simulink下的模型建立
四、控制器设计和仿真
1.P控制
2.PD控制
3.PID控制
4.根轨迹控制
5.频率响应法控制
一、系统简述
球杆系统(Ball&Beam)是为自动控制原理等基础控制课程的教学实验而设计的实验设备。
该系统涵盖了许多经典的和现代的设计方法。
这个系统有一个非常重要的性质——它是开环不稳定的。
不稳定系统的控制问题成了大多数控制系统需要克服的难点,有必要在实验室中研究。
但是由于绝大多数的不稳定控制系统都是非常危险的,因此成了实验室研究的主要障碍。
而球杆系统就是解决这种矛盾的最好的实验工具,它简单、安全并且具备了一个非稳定系统所具有的重要的动态特性。
整个装置由球杆执行系统、控制器和直流电源等部分组成。
该系统对控制系统设计来说是一种理想的实验模型。
正是由于系统的结构相对简单,因此比较容易理解该模型的控制过程。
球杆执行系统(如图1所示)由一根V型轨道和一个不锈钢球组成。
V型槽轨道一侧为不锈钢杆,另一侧为直线位移电阻器。
当球在轨道上滚动时,通过测量不锈钢杆上输出电压可测得球在轨道上的位置。
V型槽轨道的一端固定,而另一端则由直流电机(DCmotor)的经过两级齿轮减速,再通过固定在大齿轮上的连杆带动进行上下往复运动。
V型槽轨道与水平线的夹角可通过测量大齿轮转动角度和简单的几何计算获得。
这样,通过设计一个反馈控制系统调节直流电机的转动,就可以控制小球在轨道上的位置。
GBB1004型球杆系统由三大部分组成:
IPM100智能驱动器、球杆装置和控制计算机。
图1球杆系统执行机构原理图
在一长约0.4米的轨道上放置一不锈钢球,轨道的一侧为不锈钢杆,另一侧为直线位移传感器,当球在轨道上滚动时,通过测量不锈钢杆上输出的电压信号可获得球在轨道上的位置x。
电机转动带动齿轮系驱动杠杆臂LeverArm转动,轨道Beam随杠杆臂的转动与水平方向也有一偏角α,球的重力分量会使它沿着轨道滚动,设计一个控制系统通过调节伺服角度θ使得不锈钢球在Beam上的位置能被控制。
此系统为一个单输入(电机转角θ)、单输出(小球位置)系统,输入量θ利用伺服电机自带角度编码器来测量,输出量x由轨道上电位器的电压信号来获得。
系统组成框图如下:
图2球杆系统组成原理图
系统包括计算机、IPM100智能伺服驱动器、球杆本体和光电码盘、线性传感器几大部分,组成了一个闭环系统。
光电码盘将杠杆臂与水平方向的夹角、角速度信号反馈给IPM100智能伺服驱动器,小球的位移、速度信号由直线位移传感器反馈。
智能伺服控制器可以通过RS232接口和计算机通讯,利用鼠标或键盘可以输入小球的控制位置和控制参数,通过控制决策计算输出(电机转动方向、转动速度、加速度等),并由IPM100智能伺服驱动器来实现该控制决策,产生相应的控制量,使电机转动,带动杠杆臂运动,使球的位置得到控制。
控制程序流程图:
二、球杆系统的数学模型
传递函数
由前面分析,得到球杆系统从齿轮角度θ(s)和小球位置(R(s))的传递函数:
状态空间方程
线性化的系统方程还可以用状态空间方程来表示。
我们将小球的位置(r)和速度(r的一阶导数)作为变量,将齿轮角度θ作为输入,状态方程如下所示:
在本实验中,我们不用角度θ,而是用α的二阶导数来控制小球位置,这本质上就是控制横梁的转矩。
状态方程变为:
三、球杆系统在Simulink下的模型建立
在Simulink下可以很方便、形象的建立系统的模型,以下是建立系统模型的步骤:
i.在Simulink环境下新建一个模型窗口;
ii.插入两个Linearblock库中的积分模块和一个输出模块;
iii.连接并标识各个模块如下图所示
图1-3Matlab仿真模型图1
iv.按式(2-1)添加一个非线性函数计算
,其中u[1],u[2],u[3],u[4]分别代表r,d/dt(r),α,d/dt(α)。
(-1/0.0112+0.028)*(0.028*(-9.8)*sin(u[3])-0.028*u[1]*(u[4]^2))
图1-4Matlab仿真模型图2
Matlab仿真模型图3
v.添加一个乘积模块,并把r和d/dt(r)信号引入到乘积模块。
Matlab仿真模型图4
vi.计算α并引入乘积模块
Matlab仿真模型图5
vii.将以上建立的球杆系统模型封装成“BallandBeamModel”
Matlab仿真模型图6
viii.添加一个阶跃信号和一个显示模块,观察系统的开环响应。
Matlab仿真模型图7
Matlab仿真结果图8
ix.添加一个控制器如下图所示,运行仿真观察结果。
Matlab仿真模型图9
四、控制器设计和仿真
1.P控制
P控制分析对于具有比例控制作用的控制器,控制器的输出u(t)与误差作用信号e(t)之间的关系为:
或者表示成拉普拉斯变换量的形式如下:
式中Kp称为比例增益。
控制系统如下图所示:
单位负反馈系统的闭环传递函数为:
是一个二阶系统
在matlab下进行阶跃响应分析:
Matlab下的m程序如下:
m=0.11;
R=0.015;
g=-9.8;
L=0.40;
d=0.04;
J=0.4*m*R^2;
K=(m*g*d)/(L*(J/R^2+m));%simplifiesinput
num=[-K];
den=[100];
plant=tf(num,den)
kp=3;
sys_cl=feedback(kp*plant,1)%建立闭环系统
(0.25*sys_cl)%阶跃响应
P控制下阶跃响应
可以看出,添加P控制器后,系统并不能稳定。
改变Kp的值后,系统还是不稳定的,可以看出,对于一个惯性系统,在P控制器作用下,系统会保持一个等幅振荡。
1)在MATLABSimulink环境下运行演示程序
2)将控制器设置为P控制器。
3)设置目标位置为200mm
4)用手指将小球拨动到100mm的地方。
5)松开小球,系统将对小球的位置进行平衡。
6)改变并观察其响应,实验结果如下,比较实验结果和仿真结果的区别。
(建议参数不要设置过大)
实验结果:
Kp=6.525;
Kp=5.115
从结构可以看出,系统实际输出和matlab仿真结果很相似,但是由于参数不一样,系统忽略了很多次要因素,而在实际系统中,这些因素又在起作用,所以有时候振幅会收敛(阻力),有时候发散(比例系数过大,并有迟延环节作用).
2.PD控制
PD控制器的控制作用可以由下列方程定义:
其传递函数为:
式中Kp为比例增益,而Td称为微分时间常数,Kp,Td都可以调节,微分控制作用也称为速率控制,它是控制器输出中与作用误差信号变化率成比例的一部分,微分时间Td是速率控制作用超前于比例控制作用效果的时间间隔,微分控制作用
具有预测的优点,但是它也具有缺点,因为它放大了噪声信号,并且还可能在执行器中造成饱和效应。
微分控制作用不能单独使用,因为它仅仅在瞬态过程中才是有效的。
控制系统如下图所示:
图3-1球杆系统PD控制器原理图
可以得到单位负反馈系统的闭环传递函数为:
在matlab下仿真:
其中Kp=8.45;Kd=6.48;
可以看出,惯性系统在PD控制下是一个减幅振荡输出,系统可以稳定。
通过改变控制器的参数,可以调整系统的响应速度、稳定时间和超调等。
(增加Kd可以降低超调量,减少调节时间。
增加Kp可以减少调节时间,但也增大了超调量。
)
实验结果:
Kp=10.5;Kd=6.5
Kp=8.45Kd=6.48
在PD控制器的作用下,系统可以很快的平衡,但是稳态误差比较大
3.PID控制
传递函数为:
式中Kp为比例增益,Ti为积分时间,Td为微分时间。
控制系统如下图所示:
图4-1球杆系统PID控制器原理图
可以得到单位负反馈系统的闭环传递函数为:
仿真结果:
PID控制下阶跃响应
实验结果
Kp=10.92;Ki=1.12;Kd=10.38
Kp=11.35;Ki=1.00;Kd=10.30
改变PID参数进行实验,比较理论和实际实验结果的区别,分析各参数和性能指标的关系,明显的减少了系统的稳态误差,基本上满足了设计要求,对于这个特定的控制问题,不需要积分控制就可以稳定系统,但是,对于一个控制系统,往往会有很多的控制器设计方法,可以尝试不同的控制参数,直到得到满意的控制效果。
对于不同的球杆系统,由于摩擦阻力和别的不确定因素,在相同的参数控制下,系统的响应可能不一样。
4.根轨迹算法控制
根轨迹的主要思想就是通过分析系统的开环零极点位置,来分析闭环系统的特性,通过增加极点或零点的方法(校正器),根轨迹以及闭环系统的响应都将发生改变。
开环传递函数为:
设计标准:
∙稳定时间小于3秒
∙超调量小于5%
带有控制器的闭环系统框图如下所示:
运行m文件得到如下根轨迹:
可以看到系统在原点有两个极点沿虚轴伸向无穷远处。
MATLAB仿真
1)在MATLABSimulink中打开仿真的M文件,双击如下图的“RootLocusMFile“
2)打开M文件界面
3)点击““运行程序(在运行仿真后,将MATLAB的路径改为如下的”CurrentDirectory”路径,以便实时控制程序可以顺利运行。
4)运行结果如下
改变控制器参数
5.频率响应法控制
频率响应法的主要思想是根据开环传递函数的Bode图,给系统添加一个控制器,改变开环系统的Bode图,从而改变闭环系统的响应,使其达到期望的性能。
。
建立以下m文件并在matlabcommand窗口运行:
m=0.11;R=0.015;g=-9.8;L=0.4;d=0.04;
J=2*m*R^2/5;K=(m*g*d)/(L*(J/R^2+m));%simplifiesinput
num=[-K];den=[100];plant=tf(num,den);
bode(plant)
运行结果如下
从图上可以看出相位裕度是0。
0相位裕度意味着系统是不稳定的。
我们要使用超前补偿控制器来增加相位裕度。
相位超前控制器
相位超前补偿器具有如下形式:
仿真步骤如下:
设置控制器的参数为刚才的仿真结果,运行程序,得到如下的结果:
五、实验总结及体会
这次实训是自主完成的一个实验,虽然说过程比较繁琐,但是当发现理论与实际结合的如此完美的时候,兴趣和成就感就再一次被培养。
通过这次球杆实验使我对控制系统有了更深刻更直观的认识,了解到控制系统在实际生活特别是自动化生产中有着重要的作用。
日常生活中的水温控制,驾驶系统,以至于点点滴滴都会应用到反馈系统的理论。
一个控制系统往往会有很多的控制器设计方法,根轨迹、PID、Bode图等。
在实验中,不管用什么方法都需要反复尝试不同的控制参数,直到得到满意的控制效果。
本实验也让我对PID控制的认识有了深化,但PID的调节过程比较繁琐,需要不断的尝试各种参数,发现其中规律,并最终寻找到最合适的系统参数。
在实验中,发现图像中存在很多瑕疵,可见系统总要受到外界环境的影响,在实际系统的设计中,有时候需要考虑各种外界干扰的存在,尽可能减少它们的作用。