陳進京,姜志軒,王泓平
(中國礦業大學,北京,100083)
隨著科學技術的發展和現代工業技術的需要,測溫技術也在不斷地改進和提高。雖然溫度測量方法多種多樣,但在很多情況下,對于實際工程現場例如大棚溫度測量來講,要想得到準確可靠的結果并非易事,需要非常熟悉各種測量方法的原理及特點,結合被測對象要求選擇合適的測量方法才能完成。為了得到更加準確的數據,本文主要研究通過單片機STC89C52和PC串口通信來實現溫度采集。
本系統以單片機為核心,以DS18B20為溫度傳感器,主要由數據采集、數據報警、數據處理和數據存儲四大部分構成。本文的溫度檢測結構有由LabVIEW構成的PC上位機系統、串口通信接口和單片機下位機系統。其中上位機負責人機交互,串口通信實現PC機與單片機之間的轉換,下位機進行數據的交互與處理。
本次設計的硬件部分由51單片機(STC89C52)和8路溫度傳感器DS18B20構成。上位機采用LabVIEW編程實現,通過串口通信進行傳輸,簡單可靠。
51單片機是對兼容Intel8051指令系統的單片機的統稱。由于其較為完善的結構和豐富的指令系統,加之操作簡單易學,在高校相關課程中得到廣泛使用。本次設計使用的型號為STC89C52,由宏晶科技開發推出,指令代碼與其他8051單片機完全兼容。

圖1 系統總框架圖
單片機最小系統包括時鐘電路、電源和復位電路,是單片機工作的最低基本要求。
1.3.1 時鐘電路
STC89C52單片機內含增益反相放大器,可以通過石英晶振調節振蕩頻率。由于本次設計主要采用串口通信的方式,故采用11.0592M的晶振。為了穩定和調節晶振頻率,晶振上會并聯一個30pF左右的小電容。

圖2 主控芯片
1.3.2 復位電路
STC89C52單片機內含增益反相放大器,可以通過石英晶振調節振蕩頻率。由于本次設計主要采用串口通信的方式,故采用11.0592M的晶振。為了穩定和調節晶振頻率,晶振上會并聯一個30pF左右的小電容。
DS18B20是常用的數字溫度傳感器,輸出信號為數字信號,具有體積小,價格開銷低,抗干擾能力強,精度高的特點。
DS18B20還具有以下優點:(1)DS18B20與微處理器連接時通過單線連接即可實現與微處理器的雙向通訊;(2)供電方式靈活,工作電壓為3.0~5.5V,可通過數據線供電;(3)測溫范圍大,在-55℃~+125℃之間。分辨率高,可實現高精度測溫[1]。

圖3 溫度傳感器電路設計
電路板使用自鎖按鍵作為開關,并通過LED燈的亮滅指示電路的通斷,簡單有效。
電流倒灌是指電流流進相關引腳,為防止電路板燒毀,需要對這種異常情況進行考慮。為解決倒灌問題,本次設計加入了防倒灌電路,主要通過一個上拉電阻和二極管實現。利用二極管的特性控制高低電平,有效地解決了電流倒灌問題。

圖4 電源指示電路設計

圖5 串口防倒灌電路設計
在完成溫度采集系統硬件電路的設計后,必須再設計一個合適的軟件來實現溫度的采集與顯示,測量結果的記錄和處理等,構成一個完整的多點溫度采集系統。而傳統的上位機軟件通常采用VB編程語言,較為復雜,本系統采用由NI公司研發的國際上唯一一個圖形化編輯語言Labview編程語言來實現。它將復雜的代碼編程轉化成菜單的選擇功能或圖標,從而使得編程者采用連線的方式就能將所有功能和圖形連接起來[2],更容易實現程序的開發,大大提高編程效率。
本系統主要由數據采集、數據報警、數據處理和數據存儲四大部分構成。
數據采集環節,本系統采用DS18B20完成溫度采集,所以顯示范圍從-55℃到125℃,溫度分辨率設置為0.1℃。連上板子后并打開軟件后,測量者首先完成對串口選擇、采樣時間間隔和采樣數量的設定,選擇啟動后,單片機驅使DS18B20溫度傳感器采集到的溫度通過串口通信進入到VISA中,并通過VISA的讀取函數將信息傳遞到緩沖區中。

圖6 軟件界面圖
數據處理環節,Labview讀取數據緩沖區中的離散的溫度數據,并通過其圖形顯示控件逐點連線,實現不同通道的不同顏色溫度波形顯示,同時實時記錄各個通道溫度的最大值、最小值和平均值[3],以便更于直觀的觀察和分析數據。
數據報警環節,利用VISA寫入模塊將我們所設定的溫度報警上下限傳給單片機,當采集到的溫度大于門限時,系統會通過指示燈變紅和警報聲來實現超溫警告,并中斷控溫從而保證安全。
數據存儲環節,采用了NI公司特有的數據保存格式TDMS文件,實現初始數據存儲功能,以便后續隨時提取數據進行統計處理。
本設計主要分為硬件設計和軟件設計兩個部分:在硬件設計部分,通過多方面比對選擇合適的器件完成硬件的配置;在軟件設計部分,利用LabVIEW設計完成數據的采集、顯示等功能,使得溫度觀測更為直接。
在這個過程中我們了解了STC89C52單片機,了解了單片機的外圍電路設計,使我們加深了對LabVIEW虛擬儀器的各種控件的了解,使我們能更加熟練LabVIEW虛擬儀器,在系統軟件部分的設計過程中,我們提高了我們的編程能力。本次的系統設計提高了我們的獨立思考能力與實際動手能力,同時也提高了我們將理論知識與實踐結合起來的能力,為我們以后的發展奠定一個良好的基礎。