找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2119|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

飛控開(kāi)發(fā)基礎(chǔ)-[10] STM32 PID基礎(chǔ)原理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

PID基礎(chǔ)一、PID簡(jiǎn)介
PID控制是自動(dòng)控制系統(tǒng)中最常用的一種控制手段,它的誕生主要是為了解決自動(dòng)控制系統(tǒng)的快、穩(wěn)、準(zhǔn)的問(wèn)題。
PID控制中的P指的是Proportion(比例),即對(duì)輸入的偏差乘以一個(gè)系數(shù);I指的是Integral(積分),即對(duì)輸入偏差進(jìn)行積分運(yùn)算;而D指的是Derivative(微分),即對(duì)輸入偏差進(jìn)行微分運(yùn)算。通過(guò)比例、積分、微分結(jié)合適當(dāng)?shù)姆答伨涂梢孕纬梢惶追(wěn)定的閉環(huán)調(diào)節(jié)系統(tǒng)。如下圖所示為COCOFLYPID控制器的結(jié)構(gòu)圖。

其中期望角度(高度)由遙控器提供,角度環(huán)(高度環(huán))以及角速度環(huán)(高速度環(huán))由PID代碼處理,STM32輸出四路PWM到無(wú)人機(jī)的電機(jī)控制端口,IMU(慣性測(cè)量單元)以及飛行姿態(tài)提供反饋值。
二、PID控制原理
PID控制的過(guò)程,其實(shí)是不斷糾正偏差的過(guò)程,其中的偏差=當(dāng)前被控對(duì)象的反饋值-設(shè)定的期望值。
這里舉一個(gè)比較簡(jiǎn)單又經(jīng)典的PID控制的例子,比如需要控制一個(gè)機(jī)器人以PID的方式向前行走110步,然后停下來(lái)。此時(shí)這個(gè)110步則是設(shè)定的期望值。
如果按照P比例控制,就是控制機(jī)器人按照一定的比例走,然后停下。比如比例系數(shù)為108,則走一次就走了108步,再走一次的話(huà)就超過(guò)110步了,所以就不走了。從這里可得知P比例控制是一種最簡(jiǎn)單的控制方式,控制器的輸出與輸入誤差信號(hào)成比例關(guān)系。但是僅有比例控制時(shí)系統(tǒng)輸出存在穩(wěn)態(tài)誤差。比如上面的只能走到108,或者超過(guò)108步,無(wú)論怎樣都走不到110。
為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項(xiàng)I”。積分項(xiàng)對(duì)誤差的影響取決于時(shí)間的積分,隨著時(shí)間的增加,積分項(xiàng)會(huì)增大。這樣,即便誤差很小,積分項(xiàng)也會(huì)隨著時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大,從而使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于0。即在“積分項(xiàng)I”控制中,控制器的輸出與輸入誤差信號(hào)成正比關(guān)系,且比例+積分(PI)控制器可以使系統(tǒng)在進(jìn)入穩(wěn)態(tài)后無(wú)穩(wěn)態(tài)誤差。
也就是說(shuō),如果按照PI(比例、積分)控制的方式,則是控制機(jī)器人按照一定的步伐走到112步然后回頭接著走,走到108步位置時(shí),然后又回頭向110步位置走。在110位置處來(lái)回晃蕩幾次,最后停在110步的位置。
微分項(xiàng),主要用于預(yù)判誤差變化的趨勢(shì)從而作出對(duì)應(yīng)的改變。在自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過(guò)程中可能會(huì)出現(xiàn)振蕩甚至失穩(wěn),原因是存在較大慣性組件(環(huán)節(jié))或滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差作用的變化“超前”,即在誤差接近于零時(shí),抑制誤差的作用就應(yīng)該是零。這就是說(shuō),在控制器中僅引入“比例P”項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的幅值,而目前需要增加的是“微分項(xiàng)”,它能預(yù)測(cè)誤差變化的趨勢(shì)。這樣,具有比例+微分的控制器就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào)。所以對(duì)有較大慣性或滯后的被控對(duì)象,比例P+微分DPD)控制器能改善系統(tǒng)在調(diào)節(jié)過(guò)程中的動(dòng)態(tài)特性。
也就是說(shuō),如果按照PD比例、微分控制的方式,則為控制機(jī)器人按照一定的步伐走到一百零幾步后,再慢慢地走向110步的位置靠近,如果最后能精確停在110步的位置,就是無(wú)靜差控制;如果停在110步附近(如109步或111步位置),就是有靜差控制。由此得知在微分控制D中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。
前面說(shuō)到PID是為了解決自動(dòng)控制系統(tǒng)中的快、穩(wěn)、準(zhǔn)的問(wèn)題的。其中那么他們之間的關(guān)系以及對(duì)應(yīng)調(diào)節(jié)參數(shù)是什么呢?如下表所示。
特性
概述
關(guān)聯(lián)的參數(shù)
快速性
系統(tǒng)對(duì)動(dòng)態(tài)響應(yīng)的要求,由響應(yīng)時(shí)間的長(zhǎng)短來(lái)衡量。
PD可以提高響應(yīng)速度,I降低響應(yīng)速度。
穩(wěn)定性
在平衡狀態(tài)下,系統(tǒng)受到某個(gè)干擾后,經(jīng)過(guò)一段時(shí)間其被控量可以達(dá)到某一穩(wěn)定狀態(tài)。
PI降低系統(tǒng)穩(wěn)定性,D提高系統(tǒng)穩(wěn)定性。
準(zhǔn)確性
系統(tǒng)處于穩(wěn)態(tài)時(shí),其穩(wěn)態(tài)誤差。
PI提高穩(wěn)態(tài)精度,D無(wú)作用

三、PID代碼結(jié)構(gòu)
在飛控系統(tǒng)中PID是極為重要的一環(huán),在COCOFLY飛控系統(tǒng)中也多處應(yīng)用到了PID主要集中在AltCtrl.c、Ctrl.c中。如下圖所示為高度環(huán)PID控制源碼。
如下圖所示為高度速度環(huán)PID控制源碼。
如下圖所示為角度環(huán)PID控制源碼。
如下圖所示為角速率環(huán)PID控制源碼。


以上的pdf格式文檔51黑下載地址:
2.飛控開(kāi)發(fā)基礎(chǔ)-【10】PID基礎(chǔ)原理.pdf (793.7 KB, 下載次數(shù): 28)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表