王芳原
(西安理工大學機械與精密儀器工程學院,陜西西安 710048)
隨著科學技術的發展和應用,測量溫度逐漸趨于智能化和高精度。在溫度控制行業國內外有不同類型的溫度測量與控制的方法,其中最重要的就是研發智能恒溫控制的傳感器。DS18B20 作為一種新型智能溫度傳感器在溫度檢測中被普遍應用,它的基本特點是體積很小,能夠適用較寬范圍的電壓,和單片機接口也十分簡單。它的測溫檢測范圍較寬,分辨率較高(0.5 ℃),采用12 位數字讀寫方式,內部主要由ROM、寄存器、報警觸發器、溫度傳感器等組成[1]。
智能恒溫控制系統采用STM32F103RCT6 作為主控芯片,溫度采用DS18B20 溫度傳感器對環境溫度進行實時采集。具體方法是將溫度傳感器接入電路中,利用感應器可將溫度轉換成輸出數字信號。通過單片機Keil 程序語言編程,將溫度信息在單片機顯示屏上進行顯示。上位機系統是利用LabVIEW 軟件來實現的。LabVIEW 軟件可以將所采集到的溫度數據變化以及溫度曲線實時顯示在顯示屏幕上,并保存在電腦中方便查詢分析以及智能化控制。
控制系統下位機主要由溫度傳感器及信號處理單元、A/D 轉換采樣單元、中央控制單元、溫度控制單元、顯示單元、輸入設備單元等組成[2]。
下位機以STM32F103RCT6 單片機作為系統溫度的控制核心單元,通過單片機程序執行溫度的自動化控制。溫度傳感器作為環境溫度的采集和數字輸出,通過單片機的OLED 顯示屏最終顯示環境溫度值。控制設計采用DS18B20 溫度傳感器組成溫度信號采集及信號處理單元檢測環境溫度,它本身就能將測量到的環境溫度轉換成數字信號,并將得到的數字信號通過采用“一線總線”接口通信輸送給STM32 單片機進行控制并輸出,STM32 單片機的顯示單元利用OLED 屏顯示出當前的環境溫度信息。方案采用價格便宜且性能穩定、抗干擾能力強、精度較高的器件。但由于傳感器和單片機本身具有一定的誤差,所以測量的結果可能會有一些誤差,但已經滿足諸多行業的實際應用[3]。
應用LabVIEW 簡便的圖形化編程的特點編輯上位機界面[4],LabVIEW 是美國NI 公司開發的一種圖形化編程軟件,用圖標來創建應用程序,產生的程序是框圖形式。LabVIEW 編程非常方便,給用戶內置了常用的控件,控件保持與傳統儀器相似的風格(如示波器、多用表),可用來方便地創立用戶界面(前面板)。并且能夠通過編程控制前面板上的控件完成界面的顯示功能。LabVIEW 軟件為STM32 開發了專門的接口工具包,把這個工具包和NI 軟件結合起來,通過LabVIEW軟件即可實現對STM32 的控制或交換數據。從下位機傳輸至上位機的數據都可以在LabVIEW 中實時顯示、繪制波形。在溫度傳感器檢測到相應的測量數據后,將數據打包發送至STM32 單片機,在處理數據后向上位機LabVIEW 發送數據,從而達到顯示數據的要求[5]。
STM32F103RCT6 芯片是ARM Cortex-M 內核的32 位微控制器,兼容標準MCS-51 指令系統,引腳也和80C51 引腳兼容,它的內部集成通用32 位中央處理器和ISPFlash 存儲單元,STM32F103RCT6 功能強大的微處理器能夠實現多種嵌入式控制應用系統的方案,它的性價比較高。STM32F103RCT6 芯片具有以下特性:①指令集和芯片引腳與Intel 公司的8051 兼容;②512 KB可編程Flash 程序存儲器;③時鐘頻率為0~72 MHz;④64 字節片內隨機讀寫存儲器(RAM);⑤64 個可編程輸入/輸出引腳;⑥84 個中斷源,2 級優先級;⑦全雙工串行通信接口;⑧監視定時器。

圖1 溫度傳感器
美國達拉斯半導體公司的DS18B20 智能型溫度傳感器是具有“一線總線”方式的新型智能型溫度傳感器,采用“一線總線”的連接方式后,接線簡化,ST32單片機采用通信的方式來對DS18B20 溫度數據等進行讀取操作。DS18B20 也不需要使用外部元器件就能給總線提供電源,正常工作電壓在3.0~5.5 V,它的測量溫度范圍最低可達-55 ℃、最高是+125 ℃。如果溫度在-10~+85 ℃的范圍內,它的測量精度能達到±0.5 ℃。可編程溫度傳感器的分辨率為9~12 位,溫度轉換成最大值為750 ms 的12 位數字格式。因為DS18B20 在出廠時候就有了不同的身份識別號,所以在使用上就非常方便的在一條總線上可以同時連接多個DS18B20 傳感器。DS18B20 傳感器有不同的引腳封裝方式,而且具備在惡劣環境中工作,可以應用到許多不同的場合還能夠組成網絡。由于是“一線總線”方式通信,在程序編寫時候就需要多ROM 事先編程設定,這樣可以使用傳感器的記憶控制功能。在使用中用戶也可自己設定非易失性溫度報警范圍。它的應用范圍非常廣泛,可以應用在食品冷凍庫、藥品儲存、電信機房、生產車間、家用電器等領域,也可以適用狹小空間的工業設備的測溫控溫,也能作為供熱/制冷管道熱量計量。其主要技術性能如下[6]:測溫范圍-55~+125 ℃,固有測溫誤差1 ℃;支持多點組網功能,多個DS18B20 傳感器可在唯一的三線上并聯,最多只能并聯8 個,實現多點測溫,若數量過多則會造成供電電壓過低,造成信號傳遞不穩定;工作電源:DC 3.0~5.5 V(可以數據線寄生電源);使用過程中不需要任何外設部件;以9~12 位的數字量串行傳送測量結果;不銹鋼保護管直徑Φ6 mm;適用于各種介質工業管道及DN15~DN25、DN40~DN250 的狹小空間設備測溫;標準安裝螺紋任選;PVC 線直接出線或德式球形接線盒出線,與其他電器設備連接方便。

圖2 系統軟件流程
系統軟件設計流程包括開始配置程序、初始化程序、DS18B20 查詢、ROM 操作命令、存取操作命令、讀取溫度值等程序塊主要實現使用單片機對溫度傳感器數據采集和讀取操作,主要過程是STM32F103RCT6 單片機的初始化配置,檢測溫度傳感器是否存在,根據編寫的單片機程序進行工作,讀取環境溫度值并在單片機顯示屏上展示溫度。同時上傳到上位機上,將溫度變化曲線顯示出來。在LabVIEW 上位機中設置好串口信息并點擊串口開關,可以把從下位機監測到的數據顯示到上位機的波形圖上,并將數據保存在數據讀取緩沖區等待讀取。同時,數據文件還能保存在Excel 文件中,便于后期查詢歷史數據。部分程序代碼如下:
溫度傳感器原理及上位機LabVIEW 與STM32 串口通信配置如圖3 所示。DS18B20 對溫度的采集更為準確。LabVIEW 程序能夠實現上位機的實時數據和曲線的顯示和保存,在LabVIEW 上位機中設置好串口信息并點擊串口開關,可以把從下位機監測到的數據顯示到上位機的波形圖上,并將余量數據保存在數據讀取緩沖區等待讀取。同時,數據文件還能保存在Excel文件中,便于后期查詢歷史數據。

圖3 溫度傳感器原理和LabVIEW 串口配置
智能恒溫控制作為測控技術與儀器專業的前沿技術,在計算機硬件與軟件技術不斷發展進步下,智能恒溫控制的深入研究已經步入了一個全新的智能化階段,設計的基于LabVIEW 和DS18B20 智能恒溫控制系統設計,只是對溫度控制系統做了一個比較基礎的設計方案,但整個設計還是具有較好的實用性,精確度更高、功耗更低、集成度更高、接口電路簡單等優點,可以很方便地應用到各行業的溫度控制系統中。該方案的設計參考了經典的恒溫控制技術,同時借鑒了先進的智能自動控溫技術,集成了傳感器技術、控制技術、微處理器技術、軟件技術等,實現了對溫度的智能監測和調節,具有一定的實用價值。