當前位置:首頁 » 操作系統 » pid控制演算法模擬

pid控制演算法模擬

發布時間: 2023-03-25 09:59:35

㈠ 用演算法優化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演算法優化取決於具體應用場景和工程師的個人喜好和熟練程度。

㈡ 基於PID演算法的單片機溫度控制系統設計(實現製冷效果)

看看我以前回答過的一個問題,或許有幫助。
所謂PID指的是Proportion-Integral-Differential。翻譯成中文是比例-積分-微分。
記住兩句話:
1、PID是經典控制(使用年代久遠)
2、PID是誤差控制()
壓縮泵轉速進行控制:
1、變頻器-作為壓縮機驅動;2、溫度感測器-作為輸出反饋。
PID怎麼對誤差控制,聽我細細道來:
所謂「誤差」就是命令與輸出的差值。比如你希望控制壓縮機轉速為1500轉(「命令電壓」=6V),而事實上控制壓縮機轉速只有1000轉(「輸出電壓」=4V),則誤差: e=500轉(對應電壓2V)。如果泵實際轉速為2000轉,則誤差e=-500轉(注意正負號)。
該誤差值送到PID控制器,作為PID控制器的輸入。PID控制器的輸出為:誤差乘比例系數Kp+Ki*誤差積分+Kd*誤差微分。
Kp*e + Ki*∫edt + Kd*(de/dt) (式中的t為時間,即對時間積分、微分)
上式為三項求和(希望你能看懂),PID結果後送入電機變頻器或驅動器。
從上式看出,如果沒有誤差,即e=0,則Kp*e=0;Kd*(de/dt)=0;而Ki*∫edt 不一定為0。三項之和不一定為0。
總之,如果「誤差」存在,PID就會對變頻器作調整,直到誤差=0。
評價一個控制系統是否優越,有三個指標:快、穩、准。
所謂快,就是要使壓力能快速地達到「命令值」(不知道你的系統要求多少時間)
所謂穩,就是要壓力穩定不波動或波動量小(不知道你的系統允許多大波動)
所謂准,就是要求「命令值」與「輸出值」之間的誤差e小(不知道你的系統允許多大誤差)
對於你的系統來說,要求「快」的話,可以增大Kp、Ki值
要求「准」的話,可以增大Ki值
要求「穩」的話,可以增大Kd值,可以減少壓力波動
仔細分析可以得知:這三個指標是相互矛盾的。
如果太「快」,可能導致不「穩」;
如果太「穩」,可能導致不「快」;
只要系統穩定且存在積分Ki,該系統在靜態是沒有誤差的(會存在動態誤差);
所謂動態誤差,指當「命令值」不為恆值時,「輸出值」跟不上「命令值」而存在的誤差。不管是誰設計的、再好的系統都存在動態誤差,動態誤差體現的是系統的跟蹤特性,比如說,有的音響功放對高頻聲音不敏感,就說困廳明功放跟蹤性能不好。
調整PID參數有兩種方法:1、模擬法;2、「試湊法」
模擬法我想你是不會的,介紹一下「試湊法」
「試湊法」設置PID參數的建議步驟:
1、把Ki與Kd設為0,不要積分與微分;
2、把Kp值從0開始慢慢增大,觀察壓力的反應速度是否在你的要求內;
3、當壓力的反應速度達到擾賣你的要求,停止增大Kp值;
4、在該Kp值的基礎上減少10%;
5、把Ki值從0開始慢慢增大;
6、當壓力開始波動,停止增大Ki值;
7、在該Ki值的基礎上減少10%;
8、把Kd值從0開始慢慢緩尺逗增大,觀察壓力的反應速度是否在你的要求內;

㈢ 數字PID演算法研究及模擬

等著我來~

㈣ PID演算法實現該系統控制

增量式PID控製程序:
%Increment PID Controller
clear all
close all
ts=0.005;
sys=tf([0.1,10],[0.0004,0.0454,0.555,1.51,11],'inputdelay',0.2);
dsys=c2d(sys,ts,'z');
[num den]=tfdata(dsys,'v');
for k=1:44
yout(k)=0;
end
u_1=0;u_2=0;u_3=0;u_4=0;
y_1=0.0;y_2=0.0;y_3=0.0;y_4=0.0;
x=[0,0,0];error_1=0,error_2=0;
kp=0.016;ki=0.056;kd=1
for k=45:1000
time(k)=k*ts;
kp=0.55,ki=0,kd=0;
rin(k)=1.0;
(k)=kp*x(1)+kd*x(2)+ki*x(3);
u(k)=u_1+(k);
yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3-den(5)*y_4+num(1)*u_1+num(2)*u_2+num(3)*u_3+num(4)*u_4
error=rin(k)-yout(k);
u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_4=y_3;y_3=y_2;y_2=y_1;y_1=yout(k);
x(1)=error-error_1; %calculating p
x(2)=error-2*error_1+error_2; %calculating d
x(3)=error; %calculating i
error_2=error_1;error_1=error;
end
figure(1);
plot(time,rin,'b',time,yout,'r');
xlabel('time(s)'),ylabel('rin,yout');
title('單位階躍響應曲線')

Z-N法整定:
clear all
close all
ts=0.005;
sys=tf([0.1,10],[0.0004,0.0454,0.555,1.51,11],'inputdelay',0.2);
dsys=c2d(sys,ts,'z');
rlocus(dsys)

㈤ 用單片機做PID演算法控制問題

1.可以直接套用PID公式,無論增量還是絕對的。PID演算法是根據誤差來控制的演算法,不依賴系統的模型,故不用算系統的傳遞函數。有的書提到傳遞函數,一般是用於理論建模模擬,從而直接用Matlab一類的模擬軟體進行PID參數調試。得到的參數可以為實際應用提供一定參考價值。

2.PID參數整定有一套原則。首先要了解各個參數的作用。具體的整定方法,隨便找本自控原理的書都會提到,我不太記得了,大致是有一個倍數關系。但實際操作,一般不會是用這個數,是需要根據系統的反應,改變各個參數來試的。盡信書不如無書啊~
另外,不同系統的參數肯定不一樣。就算同一個系統,稍微有一些改變,可能最好的那組參數就會變化。因此衍生了很多先進PID演算法,如神經PID、專家PID、模糊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 控制技術的條件是:當我們對目標系統或被控對象的內部特徵不完全清楚時,或者是系統的全部參數不能經過有效的測量手段來獲取,同時必須依賴於經驗和現場調試來確定系統控制器的結構參數情況下採用該技術。

㈦ MATLAB用增量式PID控制演算法編寫模擬程序

你把18-20行的%去掉,就能運行出來了~

熱點內容
金融的配置是什麼 發布:2025-05-20 04:41:07 瀏覽:466
解壓擠耳朵 發布:2025-05-20 04:37:02 瀏覽:886
QP演算法包 發布:2025-05-20 04:31:54 瀏覽:968
ps3連ftp 發布:2025-05-20 04:19:11 瀏覽:817
計算機編譯干什麼的 發布:2025-05-20 04:05:18 瀏覽:47
安卓如何調手機時間 發布:2025-05-20 04:01:31 瀏覽:917
風扇轉壓縮機不轉 發布:2025-05-20 03:57:47 瀏覽:284
安卓手機如何測網速慢 發布:2025-05-20 03:55:49 瀏覽:496
用電腦做機房的伺服器 發布:2025-05-20 03:55:48 瀏覽:14
如何修改文件夾修改日期 發布:2025-05-20 03:44:08 瀏覽:831