黃斌
(電子科技大學 四川 成都 610054)
溫度是表征物體冷熱程度的物理量,是工業生產過程中監測的重要參數,溫度過高或過低都會對產品的質量造成影響,甚至使產品報廢、設備損壞。因此對溫度進行監測具有十分重要的作用,特別在冶金和化工領域。隨著傳感器技術和單片機技術等不斷發展,為智能溫度測溫系統精度的提高和穩定性改善等提供了條件。溫度監測系統在工業生產、科學研究和人們的生活領域中,得到了廣泛應用。本文以ATmega16單片機為核心,以及液晶顯示器、數字溫度傳感器DS1624、報警裝置和串行通訊設備來實現對溫度的監測。這種溫度監測系統系統性能可靠,不僅軟件設計靈活簡單,而且還具有精度高、穩定性好的特點。
ATmega16是基于增強的A VR RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega16的數據吞吐率高達1 MIPS/MHz,從而可以減緩系統在功耗和處理速度之間的矛盾。ATmega16 AVR內核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與運算邏單元相連接,使得一條指令可以在一個時鐘周期內同時訪問兩個獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數據吞吐率[1]。因此文中采用ATmega16單片機可以保證很好進行數據傳送以及對溫度的采集。
DS1624是美國DALLAS公司[2]生產的集成了測量系統和存儲器于一體的芯片。數字接口電路簡單,與I2C總線兼容,且可以使用一片控制器控制多達8片的DS1624。DS1624可工作在最低2.7 V電壓下,適用于低功耗應用系統,除此之外,DS1624還具有以下優點:
1)無需外圍元件即可測量溫度;
2)測量范圍為-55~+125℃,精度為 0.031 25℃;
3)測量溫度的結果以13位數字量(兩字節傳輸)給出;
4)測量溫度的典型轉換時間為1 s;
5)集成了256字節的E2PROM非易性存儲器;
6)數據的讀出和寫入通過一個2-線(I2C)串行接口完成;
7)采用8腳DIP或SOIC封裝。
T6963C是一個用在LCD控制驅動集成電路(LSI)和數據顯示存儲器上的LCD控制器。它有一個8位的并行數據總線和控制線與MPU接口進行讀寫操作,它除了可以直接與80系列的8位微處理器相連接以外,還有以下特點:
1)字符字體可由硬件或軟件設置,字體有 4種:5×8、6×8、7×8、8×8;
2)T6963C的占空比可從1/16到1/128;
3)T6963C具有字符發生器 ROM,共有 128種字符,T6963C可管理64K顯示緩沖區;
4)T6963C可以圖形方式、文本方式及圖形和文本合成方式進行顯示,以及文本方式下的特征顯示,還可以實現圖形拷貝操作。
為了能實現監測系統與上位機通訊的功能,本系統采用MAX232接口模式[3],利用單片機內部集成的UART收發器進行與上位機實現通訊功能。當單片機通過串口與上位機[4]相連,工作過程中一旦檢測到上位機發來的命令,單片機便將當前溫度值傳送給上位機,方便了數據的存儲與處理。
設計的溫度監測系統如圖1所示,首先單片機通過鍵盤輸入得到所需要的最低工作溫度和最高工作溫度,然后單片機每隔一秒讀取溫度傳感器的溫度值,并將溫度傳感器的當前溫度、最低工作溫度和最高工作溫度都通過液晶顯示器實時顯示出來;當單片機[5-7]所讀取的當前溫度大于最高工作溫度或者小于最低工作溫度時,單片機就會控制報警電路發出警報聲;另外,溫度監測系統采用MAX232接口模式,使用ATmega16內部集成的UART收發器進行與上位機全雙工通訊,波特率采用9 600 bps,單片機通過接口可以將數據傳輸至上位機存儲,這樣便于以后的數據對比分析;實際的溫度監測系統電路如圖2所示。

圖1 溫度監測系統框圖Fig.1 Temperature monitoring system diagram
本系統運用C語言進行單片機程序設計,采用結構化程序設計思想[8]。把整體任務分成一個個子任務,每個子程序都完成其規定的功能,明確輸入輸出。將這些程序連接起來就構成整體流程圖。模塊化編程,每個模塊結構完整,相互獨立的程序段。這些程序可以任意調用、修改,使整個程序結構清晰,組合靈活,維護調試方便。所設計的軟件流程圖如圖3所示,當開始初始化時,單片機的定時器1每隔一秒讀取溫度傳感器的溫度值,并將溫度值實時的顯示出來。如果單片機所讀取溫度傳感器的溫度值大于最大溫度時,定時器0中斷,此時發光二極管閃爍,蜂鳴器發出報警聲;同理,如果單片機所讀取溫度傳感器[9-10]的溫度值小于最小溫度時,定時器2中斷,發光二極管閃爍,蜂鳴器發出報警聲。

圖2 溫度監測系統電路Fig.2 Circuit of temperature monitoring system

圖3 軟件流程圖Fig.3 Software flaw chart
為了檢驗監測系統測量的溫度精度,我們專門用該系統所測到的溫度值與實際溫度計測量到的溫度值進行對比,如表1所示。由此表的數據可知,該監測系統測量的溫度與實際溫度計測量的溫度的誤差不超過0.5℃,因此可以滿足工業生產的要求。

表1 溫度對比Tab.1 Comparison of temperature data
實驗證明,該系統以ATmega16單片機為核心,利用DS1624進行測溫,具有硬件電路簡單、測量溫度精度高、功能強、簡單靈活等優點。它可以應用于監測溫度在-55~+125℃之間的各種場合,而且監測的溫度精度保持在±0.5℃,能夠滿足工業生產的要求。此外,該系統可以通過與上位機之間的通訊來保存溫度數據,以便于將來進行對比分析數據。
[1]田國棟,李強.基于ATmegal6單片機的實時溫度采集與分析系統[J].電子設計工程,2012(7):151-153.
TIAN Guo-dong,LI Qiang.System of current time temperature gather and analysis based on ATmagel6-microcontroller[J].Electronic Design Engineering,2012(7):151-153.
[2]馬明.基于DS18B20的溫度采集平臺設計[J].江蘇科技信息,2011(7):54-56.
MA Ming.The design of temperature acquisition platform based on DS18B20 [J].Jiangsu Science& Technology Information,2011(7):54-56.
[3]MAO Yu-rong.Realization of serial communication between SCM and computer[J].Instruments and analysis and monitoring,2007(1):3-6.
[4]張維君,王珠忠,索世文.基于PC機串口與DS18B20的單線多點溫度測量[J].儀表技術與傳感器,2009(4):52-55.
ZHANG Wei-jun,WANG Zhu-zhong,SUO Shi-wen.1-Wire Multidrop temperature measuring technology based on of DS18B20 and PC Com[J].Instrument Technology and Sensors,2009(4):52-55.
[5]馬潮.AVR單片機嵌入式系統原理與應用實踐 [M].北京:北京航空航天大學出版社,2007.
[6]XU Yan,GUO Tao,ZHU Jie,et al.Based on single-chip microcomputer temperature and humidity data acquisition system design.IEEE,2011:2-310-2-313.
[7]WANG Ruilan.The design of temperature and humidity control system in multi incubators based on single-chip.IEEE,2011:4466-4469.
[8]吳新杰.AVR單片機項目教程——基于C語言[M].北京:北京航空航大大學出版社,2011.
[9]王黎明,周晉,陳昌龍.GIS微水監測濕度傳感器自校驗平臺的設計[J].陜西電力,2012(4):11-15.
WANG Li-ming,ZHOU Jin,CHEN Chang-long.Design of adaptive equipment for humidity sensor of GIS moisture content monitoring[J].Shaanxi Electric Power,2012(4):11-15.
[10]黃華東,郭張軍,彭鵬.基于分布式多傳感器融合技術的壩基地下水宏觀動態監測數據分析[J].陜西電力,2011(3):13-16.
HUANG Hua-dong,GUO Zhang-jun,PENG Peng.Study on macroscopic regime of groundwater under dam section based on distributed multi-sensor data fusion theory[J].Shaanxi Electric Power,2011(3):13-16.