电机转速调节截止到上一章节已经完成了,从pwm的输出,到编码器的采集,代码的实现已全部完成。但是光有这些很明显不够呀,接下来就开始进入到PID的学习了。 要想学会PID,不得不先学习一下简单的位式控制理论。 什么是位式控制?位式控制又称通断式控制,是将测量值与设定值相比较之差值经放大处理后,对调节对象作开或关控制的调节。 看定义不太好理解,下面我们就举个栗子。 假设我们现在在开车,切记该车非彼车。我们想让车速维持在100,如果要是用位式控制理论的思想来开车,是这样开的:
当我看到表盘车速表指针小于100时,我就一直踩着油门加速;只有当转速大于或等于100时,我才松开油门。 这样开车造成的现象,当车速小于100时,我们一直加速,当车速等于100时,我们松油门,但是此时车由于惯性,不会将速度保持在100,而是在大于100的某个值才开始降速。假设此时转速到达了101,我们不加油了,让车辆滑行。当转速从101降到小于100时,假设99.9999的时候我们开始加速,此时由于发动机产生的扭矩无法让车维持在100,总体还处于减速状态,那么车速会从我们加速时直接往上加吗(从99.9999往上加)?那肯定是不会的,车肯定是先降速,降到某种程度,比如99,发动机扭矩得以维持车辆加速时,才会往上加速,以此循环。这样就会造成车速无法维持在100,要么比100小,要么比100大。 想想你要是这样开车,会有美女愿意做你的车吗?答案是肯定没有。 位式控制的特点对上述现象进行分析,能总结出位式控制开车法会造成以下特点:
1.没有美女愿意坐你的车
2.车速要么大于100,要么小于100(会产生震荡)
3.无法保持车速为100(达到设定值后不能保持) PID算法的引入为了解决位式开车法的不足之处,我们就引入PID开车法。 PID开车法最大的特点就是加入了预判。为了能让副驾驶坐上人,我们不在像位式开车那样鲁莽,我们在将要达到目标转速时,提前松油门,但是不是全松开,慢慢松。当超过目标值时,我们轻踩刹车,将转速维持在目标值。当然实际情况中可能不会这样开车,这里只是举个简单例子让大家明白位式控制和PID控制的基本思想和差别。 顺便推荐一个PID视频,该视频我已经在B站上传了,视频内容从简到难,一步一步推理出PID的公式,讲的很不错,欢迎大家去B站观看。后面我会跟着该视频学习,并在这里写出我的学习心得。欢迎交流。
贴个链接:
看视频请点击这里
B站视频被官方下架了。。。 ̄□ ̄||
百度云链接
链接:https://pan.baidu.com/s/1RM9rel6rUUb8VCh-Xd3qSQ
提取码:atma
|