用STM32F407玩控制—史密斯预估补偿控制

标签:
史密斯预估补偿控制纯滞后仿真旋转队列微分导前环节杂谈 |
史密斯预估补偿控制的原理如图1所示,图1中传递函数Ksgs(s)称为预估补偿器(这个图来自网络,文献可以看金以慧《过程控制》),从原理上说,要使Ksgs(s)=Kpgp(s)(1-exp(-τd*s)),这样闭环传递函数G(s)=KpGc(s)gp(s)exp(-τd*s)/(1+KpGc(s)gp(s)),这时,特征方程中不再包含延滞项,也就是说,控制系统的调节品质不再受到时间延滞的影响,当然,这是理论上的,实际上,我们无法正确辨识出过程对象的数学模型Kpgp(s)exp(-τd*s),况且,过程对象可能是非线性的或者是时变的,例如,随着设备的老化,过程对象模型无可避免的会发生变化,在蒸汽加热系统中,疏水器性能的变差,就会导致过程对象模型发生变化,蒸汽中含水量也会引起过程对象模型发生变化,这些都不一而足,而恰恰史密斯预估补偿控制对模型误差十分敏感,因而有了各种改进型,其中一种是增益自适应补偿方案,如图2所示,它增加了一个除法器、一个微分导前环节和一个乘法器,在这种方案中,就是模型有误差,控制效果仍然较好,见图2,
通常来说, 模型不准的情况下,预估器中时间延滞要小一些,小的物理含义是提早通知调节器。由于过程控制中通常将过程对象近似为一阶系统加纯滞后环节,那么在STM32F407上实现史密斯预估补偿控制,需要做:1.仿真一个一阶系统环节,2.仿真一个纯滞后环节,3.仿真一个微分导前环节,一阶系统环节仿真前面已经说过,这里略去,纯滞后环节可以用个队列来实现,并且是用旋转队列来实现,这样,1则降低时间复杂度,2则也略微减少了代码,微分导前环节将其转换为差分方程,再进行数值仿真,这个前面也讲过,不展开了。STM32F407上实现的增益自适应补偿方案控制效果如图3和图4所示,被控对象是个大纯滞后系统,图3是没干扰情况下的控制响应,图4是有干扰情况下的控制响应,很明显有干扰时控制效果差了许多,而图3中控制效果极好,响应速度快、无超调,简直完美无缺。