PID算法学习心得

PID算法学习心得

PID控制算法:一种能精确控制的实用性经典算法。

P-I-D 所代表的含义

P—比例 I—积分 D—微分

为什么要用pid算法?

因为它的特点就是能够精准控制,如果使用一些开环控制的话总是会达不到预期结果。
结果会在期望值附近上下波动。究其原因就是实际环境中会有很多干扰。例如温控,如果
只是用开环控制算法,温度达到预期温度后,其余热会使温度升高加热停止。而温度低于预期温度时
开始加热,但是得经过一段时间才能到达预期温度。又例如平衡车,,使用开环控制的话直接就反应不过来。
而PID算法则是一个闭环控制,通过输入一个预期值经过PID算法输出一个实际值,再由传感器采集数据回传
给pid算法进行输出的改进,从而达到一个循环控制的效果。

如果将他们单独拆开来进行控制:

首先,用户输入一个期望值Sv,而实际输出为Pv
误差设为Ek
则满足:

Ek = Sv - Pv

1.P—比例控制

引入一个参数:比例系数Kp
引入公式 输出:

POut = Kp*Ek+OUT0

(为常数,为了始终有一个输出的值)

其意义就是根据当前值的变化而变化。
比如实际值小与期望值时误差Kp*Ek为正值,
所以对POut进行了增幅,使其输出加快达到期望值。
反之。

目的:对当前值进行适当调整,使实际输出更快达到期望值。

2.I—积分控制

考虑从开机开始到当前的误差,求和总和为SEk:

SEk = E1+E2+E3+E4+......+Ek_1+Ek

引入公式:

IOut = Kp*SEk+OUT0

不能单独的进行积分控制:当前后误差值均为0的时候
积分控制失去作用,因为Ki*SEk为0。从而输出值为零,
系统失控。所以必须要加入OUT0使其存在输出。

其意义就是针对历史的输出来对实际输出进行调整

当实际输出小于期望值时:Ek都是正数,其输出给OUT0增幅,
使其输出值更快的达到期望值。
当实际输出大于期望值时:Ek都负数,OUT0减小,使输出值
降低到期望值。

缺点:不能单独控制,得与比例控制相配合;开机到达到其望值
积分值过大。因为这段时间内的Ek都是正值

3. D—微分控制

考虑前一次误差的现在误差的变化趋势,从而去预测未来的输出值
前后误差的差值DelEk:

DelEk = Ek_1-Ek

引入公式:

DOut = Kp*DelEk+OUT0

微分靠的是前后误差的变化趋势从而对其输出值进行增幅或者削弱
从是其趋向期望值
变化趋势==也就是前后误差的斜率
如果其值为正,就是对输出进行增幅。
如果其值为负,就是对输出进行削弱。
如果其中为0,不对输出进行增幅或削弱
反而导致误差的出现,所以要加上OUT0的辅助

一般情况下至少与比例控制配合。

最后将三种控制算法进行整合,相辅相成,就是传说
中的PID算法了

将前面的公式整合起来得到数学模型:

PID.Out=POut+IOut+DOut
            =(Kp*Ek+OUT0)+(Kp*SEk+OUT0)+(Kp*DelEk+OUT0)
            =Kp*(EK+SEK+DelEk)+OUT0

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值