4.3 一级倒立摆系统的PID控制算法仿真 4.3.1 PID控制器结构 PID控制器的数学表达式为:
1u(t)?kP(e(t)?Tit?e(t)d??Td0de(t)) dt
其传递函数为:
2kikds?kps?kinumPID KD(s)?kds?kp???ssdenPID加大比例系数KP,一般将加大系统的响应,在有静差的情况下有利于减小静差。但增大比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间TI,有利于减小超调,减小振荡,使系统更加稳定,但系统静差消除将随之减慢。增大微分时问TD,有利于加快系统的响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,多扰动有较敏感的响应。PID的控制器的控制质量如何,很大程度取决于PID的三个参数KP,TI,TD。 4.3.2 PlD参数整定
PID控制器参数整定通常用Ziegler—Nichols规则。用此规则确定比例增益KP,积分时问常数TI和微分时间常数TD,是建立在已知被控对象的动态响应特性的基础上。在这里,我衍采用ziegler一Nichols的第二种方法一临界比例度法来实现对倒立摆模型的PID整定的,主要过程如下:
1.将Ki、Kd设为0,Kp置较小的值计为K。我们给系统加以阶跃响应,使系统投入运行:
2.逐渐增大Kp,直到系统出现等幅振荡,即临界振荡,记录此时临界振荡K和临界振荡周期T;
3.按经验公式计算参数的整定值:Kp=0.6K:Ti=0.5T;Td=0.125T由以上可知,被
第 31 页 共 43 页
控对象传递函数为:
ml2s?(s)q ?2U(s)b(I?ml)3(M?m)mgl2bmgls4?s?s?sqqq倒立摆系统的参数如下:
q?(M?m)(I?ml2)?(ml)2,I?ml2/3,m=0.109kg,,l=0.25m,M=1.096kg,g=10m/s2,b=0.1N/m/s,将以上参数代入传递函数,代入数据并按以上方法来确定K和T的值,经反复实验,得出一组参数为Kp=100,Ki=1,Kd=20作为PID控制器的控制参数。
4.3.3 PID控制器仿真
仿真实验建立在Matlab中的simulink工具箱,其控制效果如下:
图4.6摆杆角度阶跃响应(PID)
第 32 页 共 43 页
图4.7小车位置阶跃响应(PID)
其中杆的摆角、小车位置的阶跃响应曲线如图4.6、图4.7。
要使整个倒立摆系统得到控制,即既要使摆杆直立,又能使小车达到指定的位置,并且在整个过程中,杆不能倒下。从图4.5中可以看出,利用PID方法可以满足系统对摆角的控制,而从图4.6中可以看出小车以恒定的速度向相反的方向滑动,即不能对小车位置进行控制,最终系统还是不能平衡,其原因在于传统的PID控制方式(建立在传递函数上)只适应于单输入单输出系统,而要使实际倒立摆系统得到控制,必须采用其它的控制方法。
下面,基于单级倒立摆系统的状态空间方程,利用PID控制方法进行仿真, 其Simulink仿真原理如图所示[25]:
第 33 页 共 43 页
图4.8 Simulink仿真原理图
其效果如下:
图4.9 摆杆角度阶跃响应(PID)
第 34 页 共 43 页
图4.10摆杆角速度阶跃响应(PID)
图4.11 小车位置阶跃响应(PID)
第 35 页 共 43 页