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

pid演算法的matlab模擬

發布時間: 2022-09-11 19:36:14

⑴ 模糊PID控制器的MATLAB模擬程序

Digitally, the PID-controller can very simply be programmed according to
/* Simulating a PID-controller
The controller is programmed in the position form
as independent variables
*/
#include <iostream>
using namespace std;
#include <cmath>
#include <fstream>
// Parameters
const int kmax=50;
const int kstart=5;
int main()
{
int k;
double ubias=50; double sum=0;
// The controller parameters in ISA-form
double Kc=2; double Ti=5; double Td=5;
// The sampling time
double Tsamp=1;
// recalculating the controller parameters to independent variables
double Ki=Kc/Ti;
double Kd=Kc*Td;
double u[kmax]; // controller output
double y[kmax]; // actual value
double r[kmax]; // set-point
double e[kmax]; // control error
// Writing to a file
ofstream outFile;
outFile.open("c:\temp\testdata.txt");
// initial values for the variables
u[0]=50;
y[0]=50;
r[0]=50;
e[0]=0;
// the main loop
for (k=1; k<kmax; k++)
{
// simulating a change in the set-point
if (k < kstart)
r[k]=50;
else
r[k]=51;

// Actual value (fixed in this simulation)
y[k]=50;
// calculating the control error
e[k]=r[k]-y[k];
// calculating the integral
sum+=e[k];
// Calculating the controller output, independent variables
u[k]=ubias+Kc*e[k]+Ki*Tsamp*sum+Kd/Tsamp*(e[k]-e[k-1]);
// writing results to screen and to file
cout << k << "\t" << r[k] << "\t" << y[k] << "\t" <<
e[k] << "\t" << u[k] << "\n";
outFile << k << "\t" << r[k] << "\t" << y[k] << "\t" <<
e[k] << "\t" << u[k] << "\n";
}
return 0;
}

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

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

⑶ 基於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參數模擬設計

我來回答一下你的問題吧,你這個模塊不是Simulink中傳統的Sine wave模塊,而是Signal processing的模塊因此不是設置的問題,而是找錯庫了

⑸ 如何用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模塊觀察輸出波形;

⑹ 如何利用Matlab做PID閉環控制模擬

為了使控制系統滿足性能指標要求,PID 控制器一般地是依據設定值與實際值的誤差,利用比例(P)、積分(I)、微分(D)等基本控制規律,或者是三者進行適當地配合形成相關的復合控制規律,例如,PD、PI、PID 等。

⑺ 跪求:如何用matlab做專家PID控制的模擬

劉金琨的《智能控制》第12頁就有這個題,第14頁是具體程序代碼。

⑻ 如何利用Matlab做PID閉環控制模擬

為了使控制系統滿足性能指標要求,PID
控制器一般地是依據設定值與實際值的誤差,利用比例(P)、積分(I)、微分(D)等基本控制規律,或者是三者進行適當地配合形成相關的復合控制規律,例如,PD、PI、PID
等。

⑼ 如何用matlab軟體模擬pid控制"經驗試湊法

打開matlab,在主工具欄找到應用程序一欄,打開PID調節器選項

輸入模型
在輸入模型欄,點擊export輸入需要調節的模型。

選擇控制的類型
選擇具體的控制類型,如P、PI、PID、PIDF等,根據需求選擇即可

選擇作用域
選擇在時域范圍還是頻域范圍內調節

調節
根據具體系統的性能進行調節,同時可以再圖像中看出調節時變化的趨勢。

6
查看結果
如果調節好了,想看具體的參數。直接選擇show parameter選項即可。同時也可以看到相應的性能。

熱點內容
汽修汽配源碼 發布:2025-05-14 20:08:53 瀏覽:742
蜜蜂編程官網 發布:2025-05-14 19:59:28 瀏覽:57
優酷怎麼給視頻加密 發布:2025-05-14 19:31:34 瀏覽:635
夢三國2副本腳本 發布:2025-05-14 19:29:58 瀏覽:860
phpxmlhttp 發布:2025-05-14 19:29:58 瀏覽:434
Pua腳本 發布:2025-05-14 19:24:56 瀏覽:449
蘋果像素低為什麼比安卓好 發布:2025-05-14 19:13:23 瀏覽:461
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:272
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:971
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25