關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于DS18B20的溫控系統(tǒng)冷熱調(diào)節(jié)設(shè)計(jì)

基于DS18B20的溫控系統(tǒng)冷熱調(diào)節(jié)設(shè)計(jì)

作者: 時(shí)間:2010-07-11 來源:網(wǎng)絡(luò) 收藏

  3.1主程序模塊

  主程序模塊采用循環(huán)查詢直至中斷退出,以達(dá)到冷熱自動(dòng)控制的目的。主程序流程如圖3所示。

主程序流程

  3.2運(yùn)算控制模塊

  運(yùn)算控制模塊包括數(shù)字濾波、PID算法、溫度傳感器控制3個(gè)子程序。數(shù)字濾波由限速濾波實(shí)現(xiàn),限速濾波能充分利用每一個(gè)采樣值,保證了采樣的實(shí)時(shí)性和采樣值變化的連續(xù)性。限速濾波子程序流程如圖4所示。

限速濾波子程序流程

  PID算法由積分分離PID算法實(shí)現(xiàn),采用積分分離的方法,在被控量開始監(jiān)控時(shí)取消積分作用,在溫度值接近目標(biāo)值時(shí)才產(chǎn)生積分作用,有效降低系統(tǒng)啟、停次數(shù)頻繁給系統(tǒng)帶來的振蕩。積分分離PID算法為:

積分分離PID算法

  式中,Y(K)為溫度的目標(biāo)設(shè)定值,C(K)為經(jīng)數(shù)字濾波后的溫度測量值,△Y為設(shè)定的最大允許偏差值。根據(jù)此算法思想可用匯編語言編程實(shí)現(xiàn)積分分離PID算法。

  控制子程序按照的通信協(xié)議編制,包括D初始化,DS18B20讀、寫控制子程序,分別按照相應(yīng)的規(guī)則說明進(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)確的測量數(shù)據(jù)。

一維曲線擬合

  MATLAB擬合過程和結(jié)果如圖5所示。圖5中“O”表示(檢測值,標(biāo)準(zhǔn)值),“*”表示(檢測值,擬合值),一維曲線擬合方程為:y=0.9948x-0.3996,經(jīng)數(shù)字濾波后的采樣值再采用此方程處理便可得到更為精確的測量值。

MATLAB擬合過程和結(jié)果

  5結(jié)束語

  本文從應(yīng)用角度出發(fā),給出了詳細(xì)的硬件和軟件設(shè)計(jì),充分利用DS18B20單總線測溫的準(zhǔn)確性和便捷性,并使用限速濾波、積分分離PID算法、MATLAB一維曲線擬合等方法來提高系統(tǒng)的可靠性和測量值的精確性。但信號傳輸線的抗干擾、鍵盤按鍵消抖等方面還不夠完善,而且采用MATLAB進(jìn)行處理的實(shí)驗(yàn)數(shù)據(jù)采樣不夠充分,未考慮在測量過高或過低溫度時(shí)的溫度漂移情況,因此系統(tǒng)的設(shè)計(jì)有待進(jìn)一步的深入與完善。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉