PID控制的一个简单模型

考虑一个桌面,安装一个弹簧振子系统。

O点位置是原位,此时弹簧恰好松弛(弹力为0)。小球向左或右移动都会让弹簧产生变形(从而产生压力)。
系统的控制目标是:小球位置与O点的距离偏差为0(小球保持在O点)。当一个外界干预(用手拉小球)让小球离开O点到A点。
松开手后,这个自动控制系统开始纠正偏差,U(t) = Kp * Err(t) 这个是胡克定律。在PID控制中,这个是比例控制。
偏差越大,"纠偏力"越大。很明显,只依靠胡克弹簧力,小球虽然能快速到达O点,但是因为惯性,小球会冲出去到B点。
最终结果是小球在O点附近来回震荡。

我们需要加入某种制动机制(阻尼力),让小球停下来。恒定的摩擦力当然可以小球停下来,但是我们可以设计一种更加智能的摩擦力。
当小球位于A点(速度为0,转向点)时,阻尼力为0;当小球位于O点(速度最大)时,阻尼力最大。这个设计的实现是把系统放入水中。
水的阻滞力与小球在水中的速度有关,速度越大,水的阻力越大,速度越小,水的阻力越小。U(t) =  Kp * Err(t) + Kd * ( Err(t) - Err(t-1) )
[Err(t) - Err(t-1)] / 1 恰好是速度。虽然水的阻力与流速不是1次方关系(是3次方关系),我们仍可以定性上说明阻尼概念。另一种阻尼设计:
我们打磨桌面,在不同的位置粉刷摩擦力不同的物质:在O点附近的摩擦系数最大的物质,在A或B点附近摩擦系数最小的物质。

最后一种考虑是当O点附近摩擦力很大,弹簧力忽略不计,则因为静摩擦的原因,小球可能不是恰好停止在O点上。这个东西叫做稳态误差。
处理稳态误差的方法,这个模型做不到。但是假设我们有个电路或者计算机系统能对误差积分操作,长时间的误差积分将出现客观的积分误差。
则:U(t) =  Kp * Err(t) + Kd * ( Err(t) - Err(t-1) ) + Ki * ∑ Err(t)  。可以想象有个自动的小杆轻轻波动了一下小球,让它离开稳态误差位置。

处理积分时,注意积分饱和问题,就是积分值过大(异常的大)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值