pid演算法模擬
① 基於matlab的pid控制系統模擬的建模具體步驟
1. PID 控制系統原理及演算法
當我們不能將被控對象的結構和參數完全地掌握,或者是不能得到精確的數學模型時,在這種情況下最便捷的方法便是採用PID 控制技術。為了使控制系統滿足性能指標要求,PID 控制器一般地是依據設定值與實際值的誤差,利用比例(P)、積分(I)、微分(D)等基本控制規律,或者是三者進行適當地配合形成相關的復合控制規律,例如,PD、PI、PID 等。
圖1 是典型PID 控制系統結構圖。在PID 調節器作用下,對誤差信號分別進行比例、積分、微分組合控制。調節器的輸出量作為被控對象的輸入控制量。
圖1 典型PID控制系統結構圖
PID 控制器主要是依據給定值r(t)與實際輸出值y(t)構成控制偏差,用公式表示即e(t)=r(t)-y(t),它本身屬於一種線性控制器。通過線性組合偏差的比例(P)、積分(I)、微分(D),將三者構成控制量,進而控制受控對象。控制規律如下:
其傳遞函數為:
式中:Kp--比例系數; Ti--積分時間常數; Td--微分時間常數。
2. PID 控制器的MATLAB 模擬
美國MathWorks 公司推出的MATLAB 是一套具備高性能的數值計算和可視化軟體。由於MATLAB 可以將矩陣運算、圖形顯示、信號處理以及數值分析集於一體,構造出的用戶環境使用方便、界面友好,因此MATLAB 受到眾多科研工作者的歡迎。本文利用MATLAB 模擬工具箱Simulink 的功能,在基於模擬環境Matlab/Simulink 工具上用圖形化方法直接建立模擬系統模型,啟動模擬過程,將結果在示波器上顯示出來。
3. 模擬實例分析
3.1 建立數學建模
設被控對象等效傳遞函數為
3.2 模擬建模
模擬建模的目的就是將數學模型轉換成計算機能夠執行的模型,運用Simulink 可以達到此目的。圖2 是綜合圖1 和給定計算公式運用Simulink 建立的PID 控制的連續系統的模擬模型(建模步驟略)。
圖2 Simulink模擬建模
3.3 模擬實驗
在傳統的PID 調節器中,參數的整定問題是控制面臨的最主要的問題,控制系統的關鍵之處便是將Kp、Ti、Td三個參數的值最終確定下來。而在工業過程式控制制中首先需要對PID 控制中三參量對系統動態性的影響進行實際深入地了解,才能確定怎樣將三參數調節到最佳狀態。在本實驗中,對各參量單獨變化對系統控製作用的影響進行討論,其中在對一個參量變化引發的影響進行討論時,需要將其餘兩個參數設定為常數。
3.3.1 P 控製作用分析
分析比例控製作用。設Td= 0、Ti=∞、Kp= 3 ~ 10.輸人信號階躍函數,分別進行模擬,如圖3 所展示的系統的階躍響應曲線。
圖3 顯示的模擬結果表明:系統的超調量會隨著Kp值的增大而加大,系統響應速度也會會隨Kp值的增大而加快。但是系統的穩定性能會隨著Kp的增大而變差。
圖3 單閉環調速系統P控制階躍響應曲線
3.3.2 比例積分控製作用的分析
設比例積分調節器中Kp= 1,討論Ti= 0.01 ~ 0.05 時。輸人信號階躍函數,分別進行模擬,如圖4 所展示的系統的系統的階躍響應曲線。
圖4 單閉環調速系統PI控制階躍給定響應曲線
系統的超調量會隨著Ti值的加大而減小,系統響應速度隨著Ti值的加大會略微變慢。
3.3.3 微分調節作用的分析
設Kp= 1、Ti= 0.01,討論Td= 10 ~ 100 時對系統階躍響應曲線的影響。輸人信號階躍函數,分別進行模擬,如圖5 所展示的系統的階躍響應曲線。
圖5 單閉環調速系統PID控制階躍給定響應曲線
圖5 所顯示的模擬結果表明:根據單閉環調速系統的參數配合情況,起始上升段呈現較尖銳的波峰,Kp= 1、Ti= 0.01不變時,隨著Td值的加大,閉環系統的超調量增大,響應速度變慢。
4 .結論
(1)對於PID 參數採用MATLAB 進行整定和模擬,使用起來不僅快捷、方便,而且更為直觀,同時也避免了傳統方法反復修改參數調試。
(2)系統的響應速度會隨Kp值的增大而加快,同時也有助於靜差的減小,而Kp值過大則會使系統有較大超調,穩定性變壞;此外,系統的動作會因為過小的Kp值減慢。
(3)超調的減小、振盪變小以及系統穩定性的增加都取決於積分時間Ti的增大,但是系統靜差消除時間會因為Ti的增大而變長。
(4)增大微分時間Td對於系統的穩定性、系統響應速度的加快以及系統超調量的減小都會有所幫助。但是如果Td過大,則會使得調節時間較長,超調量也會增大;如果Td過小,同樣地也會發生以上狀況。
(5)總之PID 參數的整定必須考慮在不同時刻三個參數的作用以及彼此之間的作用關系。
5.結語
PID 控制應用領域極為廣泛,可將其應用於電力、化工、輕工、冶金以及機械等工業過程式控制制中。通常情況下,最適合採用PID 控制技術的條件是:當我們對目標系統或被控對象的內部特徵不完全清楚時,或者是系統的全部參數不能經過有效的測量手段來獲取,同時必須依賴於經驗和現場調試來確定系統控制器的結構參數情況下採用該技術。
② 溫控PID演算法的具體實現(一)
經過本人發表的上一篇文章《幾種溫度演算法的比較與總結》可知,分段式PID演算法既可以提高溫控系統的響應速度,又可以提高溫控系統的控溫精度,現將以增量式PID演算法為例總結一下其具體的實現步驟或過程,希望能夠給奮顫培襪戰在PID演算法的同仁們提供一些有價值的內容。
一、溫控模型的建立
是選擇一階延遲控溫系統還是選擇二階延遲控溫系統,需要根據自己的實際控溫系統來確定;
二、溫控模型中K、T、τ的確定
茄激 溫控模型一旦確定,接下來就是確定K、T、τ的值。溫控模型中K、T、τ等值的確定方法有以下幾種方法:
1、系統辨識法
設定採集數據的時間間隔,PWM波形的占空比等參數後,記錄隨時間變化的溫度數據(注意:是在開環狀態下),溫度數據量越多越好,根據測試的數據利用Matlab的系統辨識工具箱進行辨識求得K、T、τ的值。
2、公式計演算法1
對溫控系統輸入固定占空比的PWM波,以固定時間間隔(比如1s)採集記錄溫度數據,然後利用兩點法計算公式計算出K、T、τ的值。
K = (y(∞) - y(0))/(Δu);
T = 1.5*(t(0.632) - t(0.28));
τ = 1.5 * ( t(0.28) - t(0.632)/3)。
注意:(1)、y(0)為室溫值,y(∞)溫度穩定後的溫度值。
(2)、Δy = y(∞) - y(0)。
(3)、 t(0.28)為室溫升溫至y(0) +0.28* Δy的時間值。
(4)、t(0.632)為室溫升溫至y(0) +0.632* Δy的時間值。
3、公式計演算法2
原理同公式計演算法1,只不過選中缺取的參考點不同,這里選取的參考點是t(0.39)和t(0.632),K的計算公式同公式計演算法1,以下是T和τ的計算公式:
T = 2*(t(0.632) - t(0.28));
τ = 2* t(0.28) - t(0.632)。
三、P、I、D參數的確定
1、Matlab模擬試驗法
通過在Matlab中輸入溫控模型和建立PID控制模塊,然後模擬查看溫控的曲線情況確定PID參數。
2、公式計演算法
根據以上測得的溫度數據,由Z-N或C-C公式算出PID參數。
3、現場調試法
根據調試人員對PID參數整定的經驗調試PID參數,通過現場PID的控溫情況確定PID參數值。
通過以上三種PID參數整定方法的比較,當然還有其他的有待驗證其可行性的PID參數整定方法,個人覺得綜合以上三種PID參數整定方法,最好的PID參數整定方法是:先用公式計演算法計算出PID參數值,然後在Matlab中驗證整定的PID參數情況,最後再根據現場的實際控溫情況進行微調,最終確定PID參數的值。
③ 如何用matlab進行增量型PID模擬
在MATLAB命令窗口中鍵入Simulink命令;
在Simulink的瀏覽工具條選擇「新建」按鈕,打開一個空白的模型創建窗口;
在Simulink庫瀏覽器中單擊Source庫,選中Step模塊,單擊Step模塊並將其拖入到新建的模型窗口中,然後釋放,完成;
按照步驟3選擇Continuous庫添加Transport Delay模塊,Derivative模塊,Integrator模塊,Transfer Fcn模塊;選擇Math Operations庫添加三個Gain模塊,兩個Add模塊;
用滑鼠定位在模塊的埠,按住滑鼠左鍵將相連的模塊連線;
設置各個模塊的參數,將雙擊Add模塊,出現參數對話框,在Main中的list of
Signs中內容設置為「+-」,同理Add1模塊設置為「+++」雙擊Transfer Fcn模塊,在Numerator coefficients中添加[8],在denominator coefficients中添加[360 1]則傳遞函數為8/(360s+1),延時模塊時間設置為10;
保存Simulink模型。
2)對剛剛建立的模型進行模擬
在Simulation菜單下的Configuration Parameters命令,打開參數的對話框設置模擬參數,start time設置為0,終止時間設置為500;
Type參數設置為Variable—step,Solver參數設置為ode45(Domand-Prince),其他參數默認值即可。
設置Gain三個模塊的值
在Simulation菜單下選擇Start,通過Scope模塊觀察輸出波形;
④ 用演算法優化PID參數時都要用matlab與simulink結合嗎
不一定。雖然Matlab和Simulink是常用的PID演算法設計和模擬工具,但也可以使用其他編程語言和模擬軟體進行PID演算法設計和優化。
Matlab和Simulink具有以下優點:
豐富的PID工具箱和庫:Matlab提供了豐富的PID演算法工具箱和庫,包括自動調節工具、系統辨識工具和PID控制工具。這些工具可以幫助設計師更快遲兆速、更精確地設計和優化PID參數。
模擬環境:Simulink提供了一個直觀的模擬環境,可以方便地建立模型、模擬、調試和分析PID控制器的性能。
易於使用:Matlab和Simulink的用戶界面友好,容易上手,且具有廣泛的社區支持和學習資源。
但是,其他編程語言和模擬軟體亮旦納也可以用於PID演算法的設計和優化。例如,Python具有強大的科學計算庫和機器學習工具,可以用於PID參數自適應控制器的設計和優化。同時,模擬軟體如LabVIEW、Ansys、OpenModelica等也可以用於PID控制器的建模和仿敬沒真。
因此,是否使用Matlab和Simulink進行PID演算法優化取決於具體應用場景和工程師的個人喜好和熟練程度。