1. PID算法控制运用在哪些地方?
PID:比列(Proportion),积分(Integral),微分(Differential)
PID算法可以用来控制温度,压强,流量,化学成分,速度等等。汽车的定速巡航;伺服驱动器中的速度位置控制;冷却系统的温度;液压系统的压力等都可以通过PID算法实现,很好的保证系统的稳定性。
2. PID算法的原理
先了解几个概念:
偏差 e:某时刻的系统的输出值(output)和目标值(target)之差
Kp: 比列系数
Ki: 积分系数
Kd: 微分系数
Ti: 积分时间
Td: 微分时间
原理图:

如图,当得到输出后,将输出和输入的差值作为偏差,将这个偏差信号经过比列,积分,微分3种运算方式叠加后再以一定的方式加入到输入中,从而控制最终的结果,达到想要的输出值。
比例系数Kp:
增大比例系数使系统反应灵敏,调节速度加快,并且可以减小稳态误差。但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定。
比例控制不能消除稳态误差。
积分系数Ki:
使系统消除稳态误差,提高无差度。积分控制的作用是,只要系统有误差存在,积分调节就进行,积分控制器就不断地积累,输出控制量,直至无差,积分调节停止,积分调节输出一常值。因而,只要有足够的时间,积分控制将能完全消除误差,使系统误差为零,从而消除稳态误差。积分作用的强弱取决于积分时间常数Ti,Ti越小,积分作用就越强,积分作用太强会使系统超调加大,甚至使系统出现振荡,反之Ti大则积分作用弱。加入积分调节可使系统稳定性下降,动态响应变慢。
微分系数Kd:
微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
微分的控制作用跟偏差的变化的速度有关,微分控制能够预测偏差,产生 超前的校正作用,有助于减少超调。
PID的公式原理:

如果需要在计算机上实现,需要将其离散化:

可以看出,某一个偏差的PID值只跟相邻的三个偏差相关。
3. PID算法的python实现
首先建立一个PID的算法模块,算法原理就是上面的式子,保存为PID.py,如下:
AI代码解释

最低0.47元/天 解锁文章
1130

被折叠的 条评论
为什么被折叠?



