当前位置:   article > 正文

PID控制算法通俗理解_initmcu();

initmcu();

本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。

(一)首先,为什么要做PID?

由于外界原因,小车的实际速度有时不稳定,这是其一,

要让小车以最快的时间达达到既定的目标速度,这是其二。

速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一,这是其三.

    小车调速肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用P就可以了。

比如在PWM=60%时,速度是2M/S,那么你要它3M/S,就把PWM提高到90%。因为90/60=3/2,这样一来太完美了。

完美是不可能的。

    那么不是线性的,要怎么怎么控制PWM使速度达到即定的速度呢?即要快,又要准,又要狠。(即快准狠

)系统这个速度的调整过程就必须通过某个算法调整,一般PID就是这个所用的算法。

    可能你会想到,如果通过编码器测得现在的速度是2.0m/s,要达到2.3m/s的速度,那么我把pwm增大一点不

就行了吗?是的,增大pwm多少呢?必须要通过算法,因为PWM和速度是个什么关系,对于整个系统来说,谁也

不知道。要一点一点的试,加个1%,不够,再加1%还是不够,那么第三次你还会加1%吗?很有可能就加2%了。

通过PID三个参数得到一个表达式:△PWM=a *△V1+b *△V2+c *△V3,a b c是通过PID的那个长长的公式展开

,然后约简后的数字,△V1 ,△V2 ,△V3 此前第一次调整后的速度差 ,第二次调整后的速度差,第三次。。

。。。一句话,PID要使当前速度达到目标速度最快,需要建立如何调整pwm和速度之间的关系。

 

输入输出是什么:

输入就是前次速度,前前次速度,前前前次速度。

输出就是你的PWM应该增加或减小多少。

 

(二)为了避免教科书公式化的说明,本文用口语化和通俗的语言描述。虽然不一定恰当,但意思差不多,就是那个事。如果要彻头彻尾地弄PID,建议多调试,写几个仿真程序。

     PID一般有两种:位置式PID和增量式PID。在小车里一般用增量式,为什么呢?位置式PID的输出与过去的所有状态有关,计算时要对e(每一次的控

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/510332
推荐阅读
相关标签
  

闽ICP备14008679号