溫控算法的實現:四


時至今日,我終於算是大體上完成了溫控的算法,現在就將具體的實現總結如下。

一:matlab的仿真。

matlab可以用來實現離散PID的模擬仿真,從而用來整定最后的參數。

(1)matlab溫升曲線的擬合

當滿功率加熱時,溫度上升擬合的曲線如下所示:

所以由擬合結果可知,K=141.1 B=38 C=60.04

但是實際上溫度的起點約為20℃,而溫度的終點差不多為210℃,所以我們可以大體上以傳遞方程

200/38*s+1作為擬合的方程。

(2)臨界比例法整定PID參數

在閉環控制系統里,將調節器置於純比例作用下,從小到大逐漸改變調節器的比例系數,得到等幅振盪的過渡過程。此時的比例系數稱為臨界比例系數,相鄰兩個波峰間的時間間隔,稱為臨界振盪周期Tu。
臨界比例度法步驟:
1、將調節器的積分時間置於最大(Ti = ∞),微分時間置零(Td = 0),比例系數適當,平衡操作一段時間,把系統投入自動運行。
2、將比例系數逐漸增大,得到等幅振盪過程,記下臨界比例系數Ku和臨界振盪周期Tu值。
3、根據和值,采用經驗公式,計算出調節器各個參數,即Ti和Td的值。
經驗公式為:

Ts = 0.14 * Tu Kp = 0.63 * Ku  Ti = 0.49 * Tu  Td = 0.14 * Tu 

(3)matlab得到Ku和Tu

function PID_1(M)
% M為輸出圖形的橫坐標最大值;
ts=0.05;%采樣時間 50ms
G=tf(200,[38,1])
Gd=c2d(G,ts,'z') %Z變換
[num,den]=tfdata(Gd,'v')
c_1=0;
y_1=0;
e_1=0;e_2=0;
kp=7.6;Ti=inf;Td=0;
ki=kp*ts/Ti;
kd=kp*Td/ts;
A=kp*(1+ts/Ti+Td/ts);
B=-kp*(1+2*Td/ts);
C=kp*Td/ts;
for k=1:1:M*20
t(k)=k*ts;

r(k)=1;
y(k) = -den(2)*y_1 + num(2)*c_1 ;
e(k) = r(k) - y(k);
c(k) = (A*e(k) + B*e_1 + C*e_2);

c(k) = c_1 + c(k);
c_1 = c(k);
y_1 = y(k);
e_2 = e_1;
e_1 = e(k);
end
plot(t,y,'r',t,r,'b')

grid on;

得到等幅震盪

所以可知Tu = 100ms   Ku = 7.6 。

(4)確定Kp ,Ti ,Tu。

由經驗公式可知,Ts = 0.14 * Tu = 14ms , Kp = 0.63 * 7.6 = 4.788 , Ti = 0.49 * Tu =  49ms

Td = 0.14 * Tu = 14ms

所以仿真

function PID_1(M)
%a選則輸入信號,M為輸出圖形的橫坐標最大值;
ts=0.014;%采樣時間 50ms
G=tf(200,[38,1])
Gd=c2d(G,ts,'z') %Z變換
[num,den]=tfdata(Gd,'v')
c_1=0;
y_1=0;
e_1=0;e_2=0;
kp=4.788;Ti=0.049;Td=0.014;
ki=kp*ts/Ti;
kd=kp*Td/ts;
A=kp*(1+ts/Ti+Td/ts);
B=-kp*(1+2*Td/ts);
C=kp*Td/ts;
for k=1:1:M*71
t(k)=k*ts;

r(k)=100;
y(k) = -den(2)*y_1 + num(2)*c_1 ;
e(k) = r(k) - y(k);
c(k) = (A*e(k) + B*e_1 + C*e_2);

c(k) = c_1 + c(k);
c_1 = c(k);
y_1 = y(k);
e_2 = e_1;
e_1 = e(k);
end
plot(t,y,'r',t,r,'b')

plot(t,c,'r')

grid on;

仿真結果為

     

右圖為變量c的仿真結果,在實際中對應着PWM波的占空比,由圖中可以知道,這個數值遠大於1,所以需要歸一化。

那么可以在程序中設置一個幅值為200的階躍信號,得到的c曲線為:

c_max < 2500, 所以可以設置系數為 0.0004。

最后再經過調整,可以將Ti設置為8s , Td設置為14ms , Kp設置為4.788 。此時仿真結果為

r(k) = 100

r(k) = 150

所以Kp= 4.788   Ki = Kp * Ts / Ti = 0.00839  Kd = Kp * Td / Ts = 4.788

 

二: 實際驗證

將以上參數寫入單片機中,采集溫度數據,觀測溫升曲線,然后調試,修改各參數。

最后 將Kp,Kd修正為15,Ki修正為0.2635。比例因子修正為為0.00005,這樣可以得到較好的溫控效果 。

溫度控制效果如下所示:

(1)溫度設置為60℃時:

(2)溫度設置為100℃時:

(3)溫度設置為150℃時

(4)設置溫度為180℃時

由上述的測量數據可知,此系統可以2分鍾實現溫度穩定,穩定誤差約為±0.5℃。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM