⑴ 一文搞懂PID控制演算法
PID(比例-積分-微分)控制演算法是工業控制系統中應用最為廣泛的演算法之一,它在閉環控制系統中扮演著自動調節的重要角色,能對控制系統進行快速而精確的修正。自19世紀末以來,PID控制演算法已經歷了超過一個世紀的發展,它在四軸飛行器、平衡小車、汽車定速巡航、溫度控制器等多種場合均有廣泛應用。
在之前的循跡車項目中,我們觀察到簡單的循跡控制存在較大的搖擺幅度,效果如下所示:
經過PID演算法的優化後,循跡車的穩定性得到了顯著提升,效果如下所示:
PID演算法由「比例(P)、積分(I)、微分(D)」三個基本控制動作組成,是一種用於維持穩定的控制策略。
常規的模擬PID控制系統的工作原理框圖如下所示:
基於此原理,我們可以得出控制輸出u(t)與控制誤差e(t)之間的關系:
其中:
- Kp:比例增益,用於調節控製作用;
- Ki:積分增益,用於調節積分作用;
- Kd:微分增益,用於調節微分作用;
- e:控制誤差,即設定值(SP)與反饋值(PV)之差;
- t:當前時間。
雖然數學公式可能顯得有些枯燥,但通過以下例子,我們可以更好地理解PID演算法的應用:
例如,控制一鍋水的溫度保持在50℃不變,當水溫低於50℃時,控制器會指令加熱;反之,高於50℃時則指令停止加熱。
這種簡單的控制方式在某些情況下或許可行,但如果應用於汽車速度控制,則存在明顯缺陷。如果汽車速度低於50km/h,控制器會指令加速至100%,導致汽車迅速超過目標速度,隨後又指令剎車至停止,這樣的控制方法顯然是不合適的。
因此,PID控制演算法在這種情況下就顯得尤為重要。它能夠有效地處理控制對象的慣性和其他影響因素,如感測器和控制器的響應時間。
接下來,我們將詳細探討PID控制演算法中的三個核心參數:Kp、Ki和Kd。
1. Kp(比例增益):Kp控制當前誤差,並與之乘以比例系數Kp。在控制水溫的例子中,當設定值與當前值之間的差距較小時,控制器會輕微加熱;當差距較大時,控制器會加大加熱力度,迅速將水溫提升至接近設定值。
2. Kd(微分增益):Kd控制未來誤差,通過計算誤差的一階導數並與Kd相乘。在P控制的基礎上,Kd能夠提供「阻尼」作用,使得控制對象的速度迅速減小,從而穩定系統。
3. Ki(積分增益):Ki控制過去誤差,將誤差的積分與Ki相乘。如水溫控制中,即使初始誤差不大,但隨著時間的推移,如果未達到目標溫度,積分項會逐漸增大,從而驅動控制器提高加熱功率,最終實現穩定控制。
PID演算法的參數調整是確保系統達到最佳控制效果的過程。穩定性是首要考慮的條件,同時,不同的系統和應用需求可能不同,甚至可能存在沖突。
PID演算法雖然只有三個參數,但其參數調試是一個復雜的過程,需要滿足特定的判據。不當的參數設置可能導致系統不穩定,輸出發散,甚至造成設備損壞。同時,PID控制器的最佳性能與過程變化和設定值變化有關,且會隨應用場景而變化。調整PID參數對系統的影響深遠,需要細致分析和調整。
⑵ PID鎺у埗鍣ㄧ畻娉曪紵
PID鐨勫為噺鍨嬪叕寮忥細
PID=Uk+KP*銆怑(k)-E(k-1)銆+KI*E(k)+KD*銆怑(k)-2E(k-1)+E(k-2)銆
PID綆楁硶鍏蜂綋鍒嗕袱縐嶏細涓縐嶆槸浣嶇疆寮忕殑 錛屼竴縐嶆槸澧為噺寮忕殑銆
浣嶇疆寮廝ID鐨勮緭鍑轟笌榪囧幓鐨勬墍鏈夌姸鎬佹湁鍏籌紝璁$畻鏃惰佸筫錛堟瘡涓嬈$殑鎺у埗璇宸錛夎繘琛岀瘡鍔狅紝榪欎釜璁$畻閲忛潪甯稿ぇ錛岃屾槑鏄炬病鏈夊繀瑕併傝屼笖灝忚濺鐨凱ID鎺у埗鍣ㄧ殑杈撳嚭騫朵笉鏄緇濆規暟鍊礆紝鑰屾槸涓涓鈻籌紝浠h〃澧炲氬皯錛屽噺澶氬皯銆傛崲鍙ヨ瘽璇達紝閫氳繃澧為噺PID綆楁硶錛屾瘡嬈¤緭鍑烘槸PWM瑕佸炲姞澶氬皯鎴栬呭噺灝忓氬皯錛岃屼笉鏄疨WM鐨勫疄闄呭箋傛墍浠ユ槑鐧藉為噺寮廝ID灝辮屼簡銆

PID鎺у埗鍘熺悊錛
鏈緋葷粺閫氳繃鎽嗘潌錛堣緤錛夊弽棣堢殑浣嶇疆淇″彿瀹炵幇鍚屾ユ帶鍒躲傛敹綰挎帶鍒墮噰鐢ㄥ疄鏃惰$畻鐨勫疄闄呭嵎寰勫礆紝閫氳繃鍗峰緞鐨勫彉鍖栦慨姝PID鍓嶉堥噺錛屽彲浠ヤ嬌鏁翠釜緋葷粺鍑嗙『銆佺ǔ瀹氳繍琛屻
PID緋葷粺鐗圭偣錛
1銆佷富椹卞姩鐢墊満閫熷害鍙浠ラ氳繃鐢典綅鍣ㄦ潵鎺у埗錛屾妸S350璁劇疆涓篠VC寮鐜鐭㈤噺鎺у埗錛屽皢妯℃嫙杈撳嚭絝瀛怓M璁懼畾涓鴻繍琛岄戠巼錛屼粠鑰岀粰瀹氭敹鍗風敤鍙橀戝櫒鐨勪富閫熷害銆
2銆佹敹鍗風敤S350鍙橀戝櫒鐨勪富閫熷害鏉ヨ嚜鏀懼嵎錛堜富椹卞姩錛夌殑妯℃嫙杈撳嚭絝鍙c傛憜鏉嗙數浣嶅櫒妯℃嫙閲
淇″彿閫氳繃CI閫氶亾浣滀負PID鐨勫弽棣堥噺銆係350鐨勯戠巼婧愰噰鐢ㄤ富棰戠巼鈪ュ拰杈呭姪棰戠巼婧怭ID鍙犲姞鐨勬柟寮忋傞氳繃璋冩暣榪愯岃繃紼婸ID鍙傛暟錛屽彲浠ヨ幏寰楃ǔ瀹氱殑鏀舵斁鍗鋒晥鏋溿
3銆佹湰緋葷粺鍚鐢ㄩ昏緫鎺у埗鍜屽嵎寰勮$畻鍔熻兘錛岃兘浣跨郴緇熷湪浠繪剰鍗峰緞涓嬪鉤紼沖惎鍔錛屽悓鏃朵袱緇凱ID鍙傛暟鍙紜淇濈敓浜у叏紼嬫憜鏉嗘帶鍒舵晥鏋滅ǔ瀹氥
⑶ 位置式PID解釋(含公式拆解、物理解釋、C語言框架)
位置式PID解釋,涉及公式拆解、物理解釋及C語言框架。PID原理涵蓋了三種控制演算法:比例、積分及微分控制。
公式展示如下:[公式]、[公式]、[公式],其中[公式]分別代表比例時間、積分時間及微分時間系數。這些系數將公式變為:[公式]、[公式]、[公式]。
比例控制演算法:[公式],其輸出是根據當前值與目標值的差,乘以比例系數的結果。以裝滿水的量筒為例,假設目標是100ml,量筒已有20ml水,而使用的容器(假設50ml)每加入一次水,實際會損失部分水。通過比例系數,我們可以計算實際應加入的水量,從而逐步達到目標值。
積分控制演算法:[公式],此演算法考慮了誤差的累積。在比例控制演算法中,系統可能無法准確達到目標值,這時,積分控制通過計算誤差的累積,增加輸出,幫助系統消除靜差,提高控制精度。
微分控制演算法:[公式],通過計算誤差的變化率,演算法起到削弱比例控制影響的作用,幫助系統減小震盪,提高穩定性。
C語言代碼框架涉及單片機編程,包括PID結構體定義、初始化、輸入輸出函數、定時器初始化、中斷處理以及主函數。
總結,PID控制以P(比例)主管響應,I(積分)減小靜差,D(微分)抑制震盪,但參數調校與實際應用選擇需綜合考量。