0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PID相關公式介紹及三個參數(shù)的控制作用

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2022-05-17 17:10 ? 次閱讀

看起來PID高大尚,先被別人唬住,后被公式唬住,由于大多數(shù)人高數(shù)一點都不會或者遺忘,所以再一看公式,簡直嚇死。

直接從網(wǎng)上找了PID相關公式截圖如下。

26c2513c-d4f8-11ec-bce3-dac502259ad0.png

了解了很淺的原理后,結果公式看不懂,不懂含義,所以最終沒有透徹。我這里先對公式進行剖析,公式理解明白了,結合網(wǎng)上的一些PID講述的例子,就明白了。

先對PID這三個系數(shù)的含義進行簡單掃盲。同時也防止自己遺忘。P是比例系數(shù),I是積分系數(shù)、D是微分系數(shù)。

下面對PID這三個系數(shù)進行詳細說明:演示PID三個參數(shù)的控制作用。

比例系數(shù)P

比例系數(shù)P是干什么用,其實如果現(xiàn)在你是初中生的話,你一下子就懂了,比例系數(shù)就是用在穿過(0,0)這個坐標點直線的放大倍數(shù)k,k越大,直線的斜率越大,所以是用在y = k * x中的,其中的k就是比例系數(shù)p,大家都簡稱為kp,所以就變成了y = Kp * x。

x就是當前值currentValue和目標值totalValue的差值,簡稱誤差err,則err = currentValue - totalValue。y就是執(zhí)行器對應的輸出值U,所以執(zhí)行器對應的輸出值U = Kp * ( currentValue - totalValue ) 。

所以,如果說是使用比例進行調節(jié)。

則當前第1次調節(jié)時執(zhí)行器對應的輸出值為:

U1 = Kp * ( curentValue1 - totalValue1 )

第2次調節(jié)時執(zhí)行器對應的輸出值為:

U2 = Kp * ( currentValue2 - totalValue2 )

這就是比例系數(shù)P的應用,也就是大家說的比例調節(jié)。比例調節(jié)就是根據(jù)當前的值與目標值的差值,乘以了一個Kp的系數(shù),來得到一個輸出值,這輸出值直接影響了下次當前值的變化。如果只有比例調節(jié)的話,系統(tǒng)會震蕩的比較厲害。比如你的汽車現(xiàn)在運行的速度是60km/h,現(xiàn)在你想通過你的執(zhí)行器去控制這個汽車達到恒定的50km/h,如果你只用kp進行比例調節(jié)話。U = Kp * ( 60 - 50 ),假設Kp取值為1,此時得到U執(zhí)行器的輸出值是10,結果當你執(zhí)行器輸出后,發(fā)現(xiàn)汽車一下變成了35Km/h,此時U2 = Kp * (35 - 50),此時得到U執(zhí)行器的輸出值是-15,結果當你執(zhí)行器輸出后,發(fā)現(xiàn)汽車變成了55Km/h,由于慣性和不可預知的誤差因素,你的汽車始終無法達到恒定的50km/h。始終在晃動,相信如果你在車上,你一定吐的很厲害。所以光有比例系數(shù)進行調節(jié),在有些場合是沒有辦法將系統(tǒng)調穩(wěn)定的。所以可以為了減緩震蕩的厲害,則會結合使用比例P和微分D。

微分系數(shù)D

微分,實際上是對誤差進行微分。加入誤差1是err(1)。誤差2是err(2)。則誤差err的微分是 (err2 - err1)。乘上微分系數(shù)D,大家叫做KD,則當執(zhí)行器第1次調節(jié)后有了第1次的誤差,第2次調節(jié)后有了第2次的誤差,則結合P系數(shù)。就有了PD結合,根據(jù)每次調節(jié)時,誤差的值的經驗推算,你就能選取出D的系數(shù)。假如誤差是越來越小的,那么微分后肯定是一個負值。負值在乘以了一個D系數(shù) 加上了比例調節(jié)的值后肯定值要比單純使用比例調節(jié)的值要小,所以就啟到了阻尼的作用。有了阻尼的作用就會使得系統(tǒng)區(qū)域穩(wěn)定。

PD結合的公式經過上面的分析后為:

U(t) = Kp * err(t) + Kd * derr(t)/dt

積分系數(shù)I

積分,實際上是對誤差的積分,也就是誤差的無限和。如何理解積分系數(shù)I,這里引用網(wǎng)上的例子

以熱水為例。假如有個人把我們的加熱裝置帶到了非常冷的地方,開始燒水了。需要燒到50℃。

在P的作用下,水溫慢慢升高。直到升高到45℃時,他發(fā)現(xiàn)了一個不好的事情:天氣太冷,水散熱的速度,和P控制的加熱的速度相等了。

這可怎么辦?

P兄這樣想:我和目標已經很近了,只需要輕輕加熱就可以了。

D兄這樣想:加熱和散熱相等,溫度沒有波動,我好像不用調整什么。

于是,水溫永遠地停留在45℃,永遠到不了50℃。

根據(jù)常識,我們知道,應該進一步增加加熱的功率??墒窃黾佣嗌僭撊绾斡嬎隳?

前輩科學家們想到的方法是真的巧妙。

設置一個積分量。只要偏差存在,就不斷地對偏差進行積分(累加),并反應在調節(jié)力度上。

這樣一來,即使45℃和50℃相差不太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加。系統(tǒng)就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!

到了目標溫度后,假設溫度沒有波動,積分值就不會再變動。這時,加熱功率仍然等于散熱功率。但是,溫度是穩(wěn)穩(wěn)的50℃。

kI的值越大,積分時乘的系數(shù)就越大,積分效果越明顯。

所以,I的作用就是,減小靜態(tài)情況下的誤差,讓受控物理量盡可能接近目標值。

I在使用時還有個問題:需要設定積分限制。防止在剛開始加熱時,就把積分量積得太大,難以控制。最后推薦下相關文章:PID到底是個啥?講個故事告訴你。

原文標題:PID算法終于弄明白了,沒有公式那么嚇人

文章出處:【微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PID
    PID
    +關注

    關注

    35

    文章

    1469

    瀏覽量

    85193
  • 參數(shù)
    +關注

    關注

    11

    文章

    1754

    瀏覽量

    32044

原文標題:PID算法終于弄明白了,沒有公式那么嚇人

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    pid控制三個參數(shù)作用

    ????在電機控制中,我們給電機輸出的是一PWM占空比的數(shù)值。 ????話不多說,直接上位置式PID基本公式: ????控制流程圖如下:
    的頭像 發(fā)表于 08-23 09:31 ?3525次閱讀
    <b class='flag-5'>pid</b><b class='flag-5'>控制</b>中<b class='flag-5'>三個</b><b class='flag-5'>參數(shù)</b>的<b class='flag-5'>作用</b>

    PID的比例,積分,微分三個參數(shù)怎么確定呢

    PID的比例,積分,微分三個參數(shù)怎么確定呢?
    發(fā)表于 04-29 16:02

    增量式PID公式介紹

    介紹的就以第二種來吧。(比例、積分、微分三個環(huán)節(jié)的作用這里就詳細展開,百度會有很多)硬件部分:控制系統(tǒng)的控制對象是4
    發(fā)表于 09-13 08:28

    PID控制中P、I、D參數(shù)作用是什么?

    PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    發(fā)表于 06-20 06:50

    什么是PID控制

    PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    的頭像 發(fā)表于 07-18 16:10 ?3.2w次閱讀
    什么是<b class='flag-5'>PID</b><b class='flag-5'>控制</b>?

    PID控制參數(shù)有什么作用

    PID控制器除了上述Ke、Ti、Td三個參數(shù)外,還有采樣周期Ts,其作用如下:
    發(fā)表于 07-21 10:15 ?1.5w次閱讀
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b>器<b class='flag-5'>參數(shù)</b>有什么<b class='flag-5'>作用</b>

    PID控制中P、I、D參數(shù)作用

    PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    的頭像 發(fā)表于 08-31 09:34 ?5038次閱讀
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b>中P、I、D<b class='flag-5'>參數(shù)</b>的<b class='flag-5'>作用</b>

    PID控制中P、I、D參數(shù)分別有什么作用

    ? PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    的頭像 發(fā)表于 12-25 17:24 ?1.6w次閱讀

    PID控制中P、I、D參數(shù)作用是什么

    PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    發(fā)表于 05-27 15:38 ?95次下載

    工頻變壓器線參數(shù)計算及相關公式

    工頻變壓器線參數(shù)計算及相關公式
    發(fā)表于 07-06 09:18 ?55次下載

    pid控制三個參數(shù)怎么調整

    pid控制三個參數(shù)怎么調整?
    發(fā)表于 09-19 09:08 ?4.9w次閱讀

    PID控制中P、I、D參數(shù)作用

    PID控制中有P、I、D三個參數(shù),只有明白這三個參數(shù)的含義和
    的頭像 發(fā)表于 09-27 15:27 ?4976次閱讀

    PID控制作用是什么

    PID控制作用是什么 PID控制及其控制器或智能PID控制
    發(fā)表于 03-09 14:09 ?2618次閱讀

    pid三個參數(shù)分別起到什么作用

    在計算機科學中,PID(進程標識符)是一用于唯一標識運行中的進程的整數(shù)值。PID主要具有以下三個參數(shù)
    的頭像 發(fā)表于 01-16 14:56 ?1.1w次閱讀

    什么是pid控制原理 pid各個參數(shù)對系統(tǒng)的影響

    參數(shù)對系統(tǒng)的影響。 一、PID控制原理 PID控制的基本原理是根據(jù)反饋信號來調整輸出控制量,使得
    的頭像 發(fā)表于 01-22 15:35 ?4877次閱讀