亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9389|回復: 2
收起左側

pid算法講解

[復制鏈接]
ID:664153 發表于 2020-10-7 17:56 | 顯示全部樓層 |閱讀模式
總所周知,PID算法是個很經典的東西。而做自平衡小車,飛行器PID是一個必須翻過的坎。因此本節我們來好好講解一下PID,根據我在學習中的體會,力求通俗易懂。并舉出PID的形象例子來幫助理解PID。

一、首先介紹一下PID名字的由來:

P:Proportion(比例),就是輸入偏差乘以一個常數。

I  :Integral(積分),就是對輸入偏差進行積分運算。

D:Derivative(微分),對輸入偏差進行微分運算。

注:輸入偏差=讀出的被控制對象的值-設定值。比如說我要把溫度控制在26度,但是現在我從溫度傳感器上讀出溫度為28度。則這個26度就是”設定值“,28度就是“讀出的被控制對象的值”。然后來看一下,這三個元素對PID算法的作用,了解一下即可,不懂不用勉強。

P,打個比方,如果現在的輸出是1,目標輸出是100,那么P的作用是以最快的速度達到100,把P理解為一個系數即可;而I呢?大家學過高數的,0的積分才能是一個常數,I就是使誤差為0而起調和作用;D呢?大家都知道微分是求導數,導數代表切線是吧,切線的方向就是最快到至高點的方向。這樣理解,最快獲得最優解,那么微分就是加快調節過程的作用了。


二、然后要知道PID算法具體分兩種:一種是位置式的 ,一種是增量式的。在小車里一般用增量式,為什么呢?位置式PID的輸出與過去的所有狀態有關,計算時要對e(每一次的控制誤差)進行累加,這個計算量非常大,而明顯沒有必要。而且小車的PID控制器的輸出并不是絕對數值,而是一個△,代表增多少,減多少。換句話說,通過增量PID算法,每次輸出是PWM要增加多少或者減小多少,而不是PWM的實際值。所以明白增量式PID就行了。



三、接著講PID參數的整定,也就是PID公式中,那幾個常數系數Kp,Ti,Td等是怎么被確定下來然后帶入PID算法中的。如果要運用PID,則PID參數是必須由自己調出來適合自己的項目的。通常四旋翼,自平衡車的參數都是由自己一個調節出來的,這是一個繁瑣的過程。本次我們可以不管,關于PID參數怎么確定的,網上有很多經驗可以借鑒。比如那個經典的經驗試湊口訣:

                          參數整定找最佳, 從小到大順序查。

                          先是比例后積分, 最后再把微分加。

                          曲線振蕩很頻繁, 比例度盤要放大。

                          曲線漂浮繞大彎, 比例度盤往小扳。

                          曲線偏離回復慢, 積分時間往下降。

                          曲線波動周期長, 積分時間再加長。

                          曲線振蕩頻率快, 先把微分降下來。

                          動差大來波動慢, 微分時間應加長。

                          理想曲線兩個波, 前高后低四比一。

                          一看二調多分析, 調節質量不會低。


四、接下來我們用例子來輔助我們把常用的PID模型講解了。(PID控制并不一定要三者都出現,也可以只是PI、PD控制,關鍵決定于控制的對象。)(下面的內容只是介紹一下PID模型,可以不看,對理解PID沒什么用)

例子:我們要控制一個人,讓他一PID的控制方式來行走110步后停下來。

1)P比例控制,就是讓他按照一定的比例走,然后停下。比如比例系數為108,則走一次就走了108步,然后就不走了。

說明:P比例控制是一種最簡單的控制方式,控制器的輸出與輸入誤差信號成比例關系。但是僅有比例控制時系統輸出存在穩態誤差。比如上面的只能走到108,無論怎樣都走不到110。

2)PI積分控制,就是按照一定的步伐走到112步然后回頭接著走,走到108步位置時,然后又回頭向110步位置走。在110位置處來回晃蕩幾次,最后停在110步的位置。說明:在積分I控制中,控制器的輸出與輸入誤差信號的積分成正比關系。對一個自動控制系統來說,如果在進入穩態后存在穩態誤差,則稱這個控制系統是有穩態誤差的或簡稱有差系統。為了消除穩態誤差,在控制器中必須引入“積分項”。積分項對誤差的影響取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大,從而使穩態誤差進一步減小,直到等于0。因此,比例+積分(PI)控制器可以使系統在進入穩態后無穩態誤差。

3)PD微分控制,就是按照一定的步伐走到一百零幾步后,再慢慢地走向110步的位置靠近,如果最后能精確停在110步的位置,就是無靜差控制;如果停在110步附近(如109步或111步位置),就是有靜差控制。

說明:在微分控制D中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。

       自動控制系統在克服誤差的調節過程中可能會出現振蕩甚至失穩,原因是存在較大慣性組件(環節)或滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差作用的變化“超前”,即在誤差接近于零時,抑制誤差的作用就應該是零。這就是說,在控制器中僅引入“比例P”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢。這樣,具有比例+微分的控制器就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例P+微分D(PD)控制器能改善系統在調節過程中的動態特性。



五、用小明來說明PID:

        小明接到這樣一個任務:有一個水缸有點漏水(而且漏水的速度還不一定固定不變),要求水面高度維持在某個位置,一旦發現水面高度低于要求位置,就要往水缸里加水。 小明接到任務后就一直守在水缸旁邊,時間長就覺得無聊,就跑到房里看小說了,每30分鐘來檢查一次水面高度。水漏得太快,每次小明來檢查時,水都快漏完了,離要求的高度相差很遠,小明改為每3分鐘來檢查一次,結果每次來水都沒怎么漏,不需要加水,來得太頻繁做的是無用功。幾次試驗后,確定每10分鐘來檢查一次。這個檢查時間就稱為采樣周期。 開始小明用瓢加水,水龍頭離水缸有十幾米的距離,經常要跑好幾趟才加夠水,于是小明又改為用桶加,一加就是一桶,跑的次數少了,加水的速度也快了,但好幾次將缸給加溢出了,不小心弄濕了幾次鞋,小明又動腦筋,我不用瓢也不用桶,老子用盆,幾次下來,發現剛剛好,不用跑太多次,也不會讓水溢出。這個加水工具的大小就稱為比例系數。

        小明又發現水雖然不會加過量溢出了,有時會高過要求位置比較多,還是有打濕鞋的危險。他又想了個辦法,在水缸上裝一個漏斗,每次加水不直接倒進水缸,而是倒進漏斗讓它慢慢加。這樣溢出的問題解決了,但加水的速度又慢了,有時還趕不上漏水的速度。于是他試著變換不同大小口徑的漏斗來控制加水的速度,最后終于找到了滿意的漏斗。漏斗的時間就稱為積分時間。

        小明終于喘了一口,但任務的要求突然嚴了,水位控制的及時性要求大大提高,一旦水位過低,必須立即將水加到要求位置,而且不能高出太多,否則不給工錢。小明又為難了!于是他又開努腦筋,終于讓它想到一個辦法,常放一盆備用水在旁邊,一發現水位低了,不經過漏斗就是一盆水下去,這樣及時性是保證了,但水位有時會高多了。他又在要求水面位置上面一點將水缸要求的水平面處鑿一孔,再接一根管子到下面的備用桶里這樣多出的水會從上面的孔里漏出來。這個水漏出的快慢就稱為微分時間。


六、在代碼中理解PID:(好好看注釋,很好理解的。注意結合下面PID的公式)

首先看PID的增量型公式:

PID=Uk+KP*【E(k)-E(k-1)】+KI*E(k)+KD*【E(k)-2E(k-1)+E(k-2)】

在單片機中運用PID,出于速度和RAM的考慮,一般不用浮點數,這里以整型變量為例來講述PID在單片機中的運用。由于是用整型來做的,所以不是很精確。但是對于一般的場合來說,這個精度也夠了,關于系數和溫度在程序中都放大了10倍,所以精度不是很高,但是大部分的場合都夠了,若不夠,可以再放大10倍或者100倍處理,不超出整個數據類型的范圍就可以了。一下程序包括PID計算和輸出兩部分。當偏差>10度時全速加熱,偏差在10度以內時為PID計算輸出。

程序說明:下面的程序,先看main函數。可知在對定時器0初始化后就一直在執行PID_Output()函數。在PID_Output()函數中先用iTemp變量來得到PID運算的結果,來決定是啟動加熱絲加熱還是不啟動加熱絲。下面的if語句結合定時器來決定PID算法多久執行一次。PID_Operation()函數看似很復雜,其實就一直在做一件事:根據提供的數據,用PID公式把最終的PID值算出來。
回復

使用道具 舉報

ID:514317 發表于 2020-10-9 09:57 | 顯示全部樓層
沒發全啊
回復

使用道具 舉報

ID:666011 發表于 2020-10-28 00:14 | 顯示全部樓層

百度有
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表