• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求大神解释下PID算法,怎么学习和入手

crustycrab 2017-07-25 浏览量:756
PID算法是微分,积分,比例,求懂得大哥哥,漂亮姐姐们告知一下,怎么去学习和理解
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 以小车纵向控制举例说明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应该增加或减小多少。

    http://www.eefocus.com/jinshaomin/blog/14-03/302333_20af9.html

    • 发布于 2017-07-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8

  • 这个算法最开始是只有一个比例的,就是只有P,但是在单纯使用比例放大时会遇到一些问题,比如偏离原控制目标,于是后来有了PD和PI两种控制方法。PD即比例微分控制,此种控制方法具有超前预见性,能够根据信号变化的趋势及时做出调整,但是会将高频干扰信号加以放大;PI即比例加积分控制,此种控制方法能够引入一个开环零点,有效改善稳态性能。最后人们结合这两种控制方法的特点提出了PID算法。
    • 发布于2017-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 比例響應
    PID 控制原理的第一個重要概念是比例響應。比例元件僅會因設定點與程序變數之間的差異而有所不同。 這項差異稱為「誤差項」。 「比例增益」(Kc) 決定了錯誤訊號對輸出響應的比例。 例如,當誤差項程度達到 10 時,5 的比例增益會產生 50 的比例響應。一般而言,增加比例增益會同時增加控制系統響應速度。 不過,當比例增益太大時,程序變數就會開始震盪。 當 Kc 進一步增加時,震盪幅度會變得更大,系統也會變得不穩定,甚至造成震盪失控。


    圖 4. 基本 PID 控制演算法的程式圖。



    積分響應
    積分響應是了解 PID 控制教學中的第二個重要概念。積分元件會在一段時間後將誤差項加總。結果會變成就算是小小的誤差項,也會導致積分元件緩慢增加。 積分響應會隨著時間經過持續增加 (但誤差為零時則例外),因此其影響在於讓穩態誤差趨近於零。 「穩態誤差」指的是程序變數與設定點之間的最終差異。 當積分動作滿足控制器的過程中,不會導致控制器使誤差訊號趨於零時,就會產生稱為「積分終結」的現象。

    微分響應
    PID 控制原理的第三個重要概念是微分響應。當程序變數快速增加時,微分元件會讓輸出減少。 微分響應與程序變數的變更速率成比例增減。 增加微分時間 (Td) 參數會導致控制系統對誤差項中的變化反應更加強烈,而且會增加整體控制系統響應的速度。 大多數實務上的控制系統都使用很小的微分時間 (Td),這是因為微分響應對於程序變數訊號中的雜訊非常敏感。 當感測器反饋訊號出現雜訊,或當控制迴圈速率太慢,微分響應會讓控制系統變得不穩定

    • 发布于2017-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 其實可以看NI的說明

    601.PNG

    6000.PNG

    • 发布于2017-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • PID就是一个算法啦 其实不用理解的太深 会用就行,如果要用到P,I,D三个参数的话就调这三个参数的值就行了,一般分为增量式PID,位置式PID,绝对式这些等。比如控制小车速度,则要求快,准,稳,用PID算法就能解决。
    • 发布于2017-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 网上有调节PID参数的口诀,但是还是理解各个参数的作用比较有用
    • 发布于2017-10-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求大神解释下PID算法,怎么学习和入手