基于DSl8820的溫控系統(tǒng)冷熱調(diào)節(jié)設(shè)計(jì)
PID算法由積分分離PID算法實(shí)現(xiàn),采用積分分離的方法,在被控量開(kāi)始監(jiān)控時(shí)取消積分作用,在溫度值接近目標(biāo)值時(shí)才產(chǎn)生積分作用,有效降低系統(tǒng)啟、停次數(shù)頻繁給系統(tǒng)帶來(lái)的振蕩。積分分離PID算法為:
式中,Y(K)為溫度的目標(biāo)設(shè)定值,C(K)為經(jīng)數(shù)字濾波后的溫度測(cè)量值,△Y為設(shè)定的最大允許偏差值。根據(jù)此算法思想可用匯編語(yǔ)言編程實(shí)現(xiàn)積分分離PID算法。
DSl8820控制子程序按照DSl8820的通信協(xié)議編制,包括DSl8820初始化,DSl8820讀、寫(xiě)控制子程序,分別按照相應(yīng)的規(guī)則說(shuō)明進(jìn)行編程實(shí)現(xiàn)。
3.3 功能實(shí)現(xiàn)模塊
功能實(shí)現(xiàn)模塊包括溫度值設(shè)置、溫度顯示、固態(tài)繼電器通斷控制以及系統(tǒng)運(yùn)行狀態(tài)顯示等子程序,其中在溫度顯示子程序中要完成各個(gè)位置段碼的調(diào)用、數(shù)碼管的選通以及數(shù)據(jù)總線的穩(wěn)定(一般采用延時(shí)幾ms實(shí)現(xiàn))。
4 系統(tǒng)調(diào)試
系統(tǒng)調(diào)試主要進(jìn)行PID參數(shù)的整定和溫度值的系統(tǒng)誤差校正。PID參數(shù)及系統(tǒng)其它參數(shù)的整定首先采用經(jīng)驗(yàn)值,再逐個(gè)細(xì)調(diào),以滿足控制精度要求。根據(jù)表3的實(shí)驗(yàn)數(shù)據(jù),利用MATLAB進(jìn)行一維曲線擬合,校正系統(tǒng)誤差,從而得到更準(zhǔn)確的測(cè)量數(shù)據(jù)。本文引用地址:http://www.ex-cimer.com/article/163010.htm
MATLAB擬合過(guò)程和結(jié)果如圖5所示。圖5中“O”表示(檢測(cè)值,標(biāo)準(zhǔn)值),“*”表示(檢測(cè)值,擬合值),一維曲線擬合方程為:y=0.994 8x-O.399 6,經(jīng)數(shù)字濾波后的采樣值再采用此方程處理便可得到更為精確的測(cè)量值。
5 結(jié)束語(yǔ)
本文從應(yīng)用角度出發(fā),給出了溫控系統(tǒng)冷熱調(diào)節(jié)詳細(xì)的硬件和軟件設(shè)計(jì),充分利用DSl8820單總線測(cè)溫的準(zhǔn)確性和便捷性,并使用限速濾波、積分分離PID算法、MATLAB一維曲線擬合等方法來(lái)提高系統(tǒng)的可靠性和測(cè)量值的精確性。但信號(hào)傳輸線的抗干擾、鍵盤(pán)按鍵消抖等方面還不夠完善,而且采用MATLAB進(jìn)行處理的實(shí)驗(yàn)數(shù)據(jù)采樣不夠充分,未考慮在測(cè)量過(guò)高或過(guò)低溫度時(shí)的溫度漂移情況,因此系統(tǒng)的設(shè)計(jì)有待進(jìn)一步的深入與完善。
評(píng)論