裴勇+袁家厚+劉洋
摘要:介紹基于DS18B20的糧倉(cāng)無線檢溫系統(tǒng)的硬件與軟件設(shè)計(jì)。該測(cè)溫系統(tǒng)以單片機(jī)STC89C58RD為控制核心,采用模塊化設(shè)計(jì),結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠、滿足精度要求,具有較高的性價(jià)比,適宜在糧倉(cāng)溫度檢測(cè)中應(yīng)用推廣。
關(guān)鍵詞:無線檢溫系統(tǒng);模塊化結(jié)構(gòu);硬件;軟件
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-1161(2014)12-0014-04
糧食溫度檢測(cè)是糧食日常保管的重要環(huán)節(jié)?,F(xiàn)有糧食檢溫系統(tǒng)復(fù)雜,接點(diǎn)連線多,安裝調(diào)試?yán)щy,急需一種廉價(jià)、穩(wěn)定、可靠、高質(zhì)、簡(jiǎn)單易用的檢溫系統(tǒng),以徹底解決糧庫(kù)的檢溫難題。為此,采用單總線數(shù)字測(cè)溫元件,設(shè)計(jì)一種簡(jiǎn)單實(shí)用的測(cè)溫系統(tǒng)。該系統(tǒng)接線少,組合方便,并可把檢溫結(jié)果實(shí)時(shí)地傳送到遠(yuǎn)端的計(jì)算機(jī)中進(jìn)行處理和打印。
1 系統(tǒng)結(jié)構(gòu)及工作原理
1.1 系統(tǒng)組成
該測(cè)溫系統(tǒng)主要由測(cè)溫電纜(含傳感器)、測(cè)溫終端和微機(jī)組成。系統(tǒng)結(jié)構(gòu)框圖如圖 1所示。
1.2 工作原理
控制室由計(jì)算機(jī)經(jīng)USB-RS485轉(zhuǎn)換器通過無線數(shù)據(jù)收發(fā)器向現(xiàn)場(chǎng)發(fā)布命令,由現(xiàn)場(chǎng)的無線數(shù)據(jù)收發(fā)器傳送給單片機(jī),單片機(jī)接到命令后進(jìn)行處理。單片機(jī)與測(cè)溫元件DS18B20進(jìn)行雙向通訊,可以進(jìn)行溫度的單點(diǎn)檢測(cè)、單線纜檢測(cè)、單倉(cāng)檢測(cè)與全部檢測(cè),也可以進(jìn)行狀態(tài)傳輸、數(shù)據(jù)維護(hù)等,現(xiàn)場(chǎng)的各個(gè)終端都具有各自獨(dú)立的地址。傳輸方式更加靈活,在不便于施工架線或儲(chǔ)糧現(xiàn)場(chǎng)與管理部門距離較遠(yuǎn)時(shí),可以使用無線數(shù)據(jù)傳輸方式,若干個(gè)終端電路共用一個(gè)RS485無線模塊。
2 硬件設(shè)計(jì)
該測(cè)溫系統(tǒng)的所有元件均采用耐-40 ℃低溫的元件,各電路均采用模塊化設(shè)計(jì)。檢測(cè)裝置在保證功能可靠的前提下,盡量利用單片機(jī)本身的資源,以軟代硬。單片機(jī)處理電路選用STC89C58RD,其最高時(shí)鐘頻率可達(dá)85 MHz,60 Kflash存儲(chǔ)器,1 280 Byte RAM,16 K E2PROM,4 kV ESD保護(hù),在系統(tǒng)可編程,這些特點(diǎn)決定了幾乎不需要額外擴(kuò)展接口電路,就可以完全滿足要求。該系統(tǒng)采用11.059 2 MHz的系統(tǒng)時(shí)鐘,這樣可充分發(fā)揮STC89C58RD的資源優(yōu)勢(shì),降低成本。
2.1 主電路
實(shí)際現(xiàn)場(chǎng)中各終端可能相距較遠(yuǎn),因此采用RS485標(biāo)準(zhǔn)通信,采用光電耦合器與單片機(jī)系統(tǒng)進(jìn)行隔離,以保證通訊的可靠性。為降低成本,現(xiàn)場(chǎng)的若干個(gè)單元電路共用一個(gè)RS485無線模塊。為防止現(xiàn)場(chǎng)各種干擾造成通訊差錯(cuò),在數(shù)據(jù)傳輸過程中使用CRC校驗(yàn),以便在通訊錯(cuò)誤發(fā)生時(shí)能夠及時(shí)發(fā)現(xiàn)并予以更正。
2.2 傳感器模塊
溫度傳感器采用Maxim公司的1-wire數(shù)字測(cè)溫元件DS18B20,克服了引線長(zhǎng)短不同造成的測(cè)量誤差,并且使應(yīng)用設(shè)計(jì)上省略了信號(hào)調(diào)理、A/D轉(zhuǎn)換、濾波等電路,一致性好,無需調(diào)試。其特點(diǎn)是:1) 可用數(shù)據(jù)線供電,電壓范圍3.0~5.5 V; 2) 測(cè)溫范圍
-55.0~125.0 ℃,在-10.0~85.0 ℃時(shí)精度為±0.5 ℃;3) 可編程的分辨率為9~12位,12位分辨率時(shí)可在750 ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字;4) 每一個(gè)元件都具有全球唯一的64位序列號(hào)。
DS18B20的外形及引腳說明如圖2所示,其內(nèi)部結(jié)構(gòu)如圖3所示。DS18B20接線少,只用3根引線就可以掛接十幾個(gè)測(cè)溫元件,通過序列號(hào)對(duì)這十幾個(gè)測(cè)溫元件準(zhǔn)確完整無誤地管理,能夠分辨出每個(gè)測(cè)溫點(diǎn)的位置。
檢測(cè)電路如圖4所示。U2是具有光電隔離的RS485模塊,采用隔離電源以減少干擾,直接連在通訊總線上或者連接在無線通訊模塊上。P0,P2口外接16路檢溫電纜,傳輸距離為50 m,每根電纜可掛接20個(gè)DS18B20。SW1為8位地址選設(shè)置開關(guān)。
3 軟件設(shè)計(jì)
該測(cè)溫系統(tǒng)的應(yīng)用程序在結(jié)構(gòu)上與硬件配置相適應(yīng),采用模塊化結(jié)構(gòu)。主程序調(diào)用不同的子程序組成完整的系統(tǒng)程序。計(jì)算機(jī)管理程序以VB編寫,具有檢測(cè)、查詢、管理、打印功能。
檢測(cè)終端電路由初始化程序、主程序、DS18B20單字節(jié)讀寫子程序、序列號(hào)匹配子程序、通訊子程序、數(shù)據(jù)校驗(yàn)子程序、故障代碼處理子程序等構(gòu)成,能完成單點(diǎn)檢測(cè)、單線纜檢測(cè)、單倉(cāng)檢測(cè)、巡回采集等。終端電路主程序框圖如圖 5 所示。
在各種子程序設(shè)計(jì)中,單總線器件DS18B20難度較大,時(shí)序配合嚴(yán)密,否則極易造成通訊失敗,下面給出了調(diào)試通過的DS18B20單字節(jié)讀/寫子程序及延時(shí)子程序清單。
4 系統(tǒng)運(yùn)行可靠性
為了保證系統(tǒng)的可靠運(yùn)行,必須采取有效的抗干擾措施。在硬件方面,將測(cè)量與控制電路電源分開,采用光電耦合器隔離。在軟件方面,采用程序陷阱技術(shù)、CRC校驗(yàn)、程序冗余技術(shù)和看門狗技術(shù)(watchdog),保證當(dāng)程序跑飛時(shí)能有效復(fù)位。
5 系統(tǒng)實(shí)際運(yùn)行情況
某糧倉(cāng)有5根電纜,每根電纜10個(gè)測(cè)溫點(diǎn),檢測(cè)結(jié)果見表1。
由表1的檢測(cè)結(jié)果可以看出,同一電纜的溫度環(huán)境基本相同,重復(fù)性相當(dāng)好。
目前該測(cè)溫系統(tǒng)已投入應(yīng)用,工作溫度為-35.0~70.0 ℃,在-30.0~70.0 ℃的范圍內(nèi)無修正時(shí)精度可達(dá)±0.5 ℃。實(shí)際使用結(jié)果表明,該系統(tǒng)抗干擾性強(qiáng),檢溫精度高,溫度反應(yīng)靈敏。
6 結(jié)語
可靠有效的糧食溫度監(jiān)測(cè)是安全儲(chǔ)糧的關(guān)鍵。本文研發(fā)的測(cè)溫系統(tǒng),以數(shù)字測(cè)檢溫元件取代模擬測(cè)溫元件,將常見的主機(jī)—分機(jī)—分線器的3級(jí)結(jié)構(gòu)簡(jiǎn)化為單級(jí)結(jié)構(gòu)并行檢測(cè)終端,軟硬件均采用模塊化結(jié)構(gòu),簡(jiǎn)單可靠,數(shù)據(jù)傳輸方式靈活,安裝調(diào)試方便,具有較高的性價(jià)比,能滿足生產(chǎn)實(shí)際要求。