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