溫度控制的PID算法-及C程序實現_第1頁
溫度控制的PID算法-及C程序實現_第2頁
溫度控制的PID算法-及C程序實現_第3頁
溫度控制的PID算法-及C程序實現_第4頁
溫度控制的PID算法-及C程序實現_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

溫度控制與PID算法溫度控制與PID算法j較為復雜,下面結合實際淺顯易懂的闡述一下PID控制理論,將溫度控制及PID算法作一個簡單的描述。溫度控制的框圖這是一個典型的閉環控制系統,用于控制加熱溫區的溫度(PV)保持在恒定的溫度設定值(SV)。系統通過溫度采集單元反饋回來的實時溫度信號(PV)獲取偏差值(EV),偏差值經過PID調節器運算輸出,控制發熱管的發熱功率,以克服偏差,促使偏差趨近于零。例如,當某一時刻爐內過PCB板較多,帶走的熱量較多時,即導致溫區溫度下降,這時,通過反饋的調節作用,將使溫度迅速回升。其調節過程如下:溫度控制的功率輸出采用脈寬調制的方法。固態繼電器SSR的輸出端為脈寬可調的電壓UOUT。當SSR的觸發角觸發時,電源電壓UAN通過SSR的輸出端加到發熱管的兩端;當SSR的觸發角沒有觸發信號時,SSR關斷。因此,發熱管兩端的平均電壓為Ud=(t/T)*UAN=K*UAN其中K=t/T,為一個周期T中,SSR觸發導通的比率,稱為負載電壓系數或是占空比,K的變化率在0-1之間。一般是周期T固定不便,調節t,當t在0-T的范圍內變化時,發熱管的電壓即在0-UAN之間變化,這種調節方法稱為定頻調寬法。下面將要描述的PID調節器的算式在這里的實質即是運算求出一個實時變化的,能夠保證加熱溫區在外界干擾的情況下仍能保持溫度在一個較小的范圍內變化的合理的負載電壓系數K。2.溫度控制的兩個階段溫度控制系統是一個慣性較大的系統,也就是說,當給溫區開始加熱之后,并不能立即觀察得到溫區溫度的明顯上升;同樣的,當關閉加熱之后,溫區的溫度仍然有一定程度的上升。另外,熱電偶對溫度的檢測,與實際的溫區溫度相比較,也存在一定的滯后效應。這給溫度的控制帶來了困難。因此,如果在溫度檢測值(PV)到達設定值時才關斷輸出,可能因溫度的滯后效應而長時間超出設定值,需要較長時間才能回到設定值;如果在溫度檢測值(PV)未到設定值時即關斷輸出,則可能因關斷較早而導致溫度難以達到設定值。為了合理地處理系統響應速度(即加熱速度)與系統穩定性之間地矛盾,我們把溫度控制分為兩個階段。PID調節前階段*描述:PID調節子程序*采用PID-PD算法。在偏差絕對值大于△e時,用PD算法,以改善動態品質。*當偏差絕對值小于△e時,用PID算法,提高穩定精度。*PIDout=kp*e(t)+ki*[e(t)+e(t-1)+...+e(1)]+kd*[e(t)-e(t-1)]*============================================================================*入口:無*出口:無*改變:PID_T_Run=加熱時間控制*****************************************************************************/voidPID_Math(void){ signedlongee1;//偏差一階 //signedlongee2;//偏差二階 signedlongd_out;//積分輸出 if(!Flag_PID_T_OK) return; Flag_PID_T_OK=0; Temp_Set=3700;//溫度控制設定值37.00度 PID_e0 =Temp_Set-Temp_Now;//本次偏差 ee1 =PID_e0-PID_e1;//計算一階偏差 //ee2=PID_e0-2*PID_e1+PID_e2;//計算二階偏差 //一階偏差的限制范圍 if(ee1>500) ee1=500; if(ee1<-500) ee1=-500; PID_e_SUM+=PID_e0;//偏差之和 //積分最多累計的溫差 if(PID_e_SUM>200) PID_e_SUM=200; if(PID_e_SUM<-200) PID_e_SUM=-200; PID_Out=PID_kp*PID_e0+PID_kd*ee1; //計算PID比例和微分輸出 if(abs(PID_e0)<200) //如果溫度相差小于1.5度則計入PID積分輸出 { if(abs(PID_e0)>100){ //如果溫度相差大于1度時積分累計限制 if(PID_e_SUM>100) PID_e_SUM=100; if(PID_e_SUM<-100) PID_e_SUM=-100; } d_out=PID_ki*PID_e_SUM; //積分輸出 if(PID_e0<-5){ //當前溫度高于設定溫度0.5度時積分累計限制 if(PID_e_SUM>150) PID_e_SUM=150; if(PID_e_SUM>0) d_out>>=1; //當前溫度高于設定溫度0.5度時削弱積分正輸出 } PID_Out+=d_out; //PID比例,積分和微分輸出 } else PID_e_SUM=0; PID_Out/=100; //恢復被PID_Out系數放大的倍數 if(PID_Out>200) PID_Out=200; if(PID_Out<0) PID_Out=0; if(PID_e0>300) PID_Out=200; //當前溫度比設定溫度低3度則全速加熱 if(PID_e0<-20) PID_Out=0; //當前溫度高于設定溫度0.2度則關閉加熱 Hot_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論