張潔瓊,徐東明,付秀華,田野,邸旭
(1.長春理工大學 光電工程學院,長春 130022;2.東莞光陣顯示器制品有限公司,深圳 518000)
當前,傳感器技術正朝著智能化、網絡化的方向發(fā)展,無線傳感器網絡(Wireless Sensor Network,WSN)正是適應這種需求而出現的。它具有信息采集、數據處理和無線傳輸等多種功能[1,2,3]。本文論述了基于WSN的多點溫度采集系統(tǒng),由于具有聯線簡單、設置便捷的優(yōu)點,該系統(tǒng)可以在很多場合廣泛應用。
在環(huán)境溫度監(jiān)測系統(tǒng)中,由于存在較大局部溫度差異,采用單點測溫的方式不能準確反映一個測溫環(huán)境的實際情況,因此只能采用多點溫度采集的方式來解決局部溫度差異的問題。但由于多點采集溫度數據時測溫點的布局較為分散,傳統(tǒng)的有線溫度測量方式存在布線復雜,給測溫環(huán)境中的人造成不方便、更改采溫點麻煩等缺點,采用無線數據傳輸的多點溫度采集系統(tǒng)可以很好地解決上述問題。
本文詳細介紹了以AVR系列單片機Atmega16為主機,以MCS—51系列單片機STC12C2052為子機的無線多點溫度采集系統(tǒng),給出了無線多點溫度采集系統(tǒng)的具體設計方案。
圖1 多點溫度采集系統(tǒng)原理框圖Fig.1 General diagram of the multipoint temperature acquisition system
無線多點溫度采集系統(tǒng)由上位機和16個下位機構成,系統(tǒng)原理框圖如圖1所示。其中上位機用于完成溫度數據的收集管理、數據的顯示儲存以及人機交互等功能;下位機用于采集各點的實時溫度,并且在主機讀取時通過無線通信的方式將溫度數據發(fā)送給主機。
系統(tǒng)主要性能指標:
1.測溫點個數:16個;2.測量溫度范圍:-55℃~125℃;3.溫度測量精度:0.5℃;4.持續(xù)工作時間:>72小時;5.數據采集時間間隔:10秒~3600秒可變;6.無線通信距離:>150米;7.具有16路溫度及工作狀態(tài)顯示功能;8.存儲器容量:2GB。
無線多點溫度采集系統(tǒng)的主機部分由Atmel公司的高性能單片機ATMEGA16、觸摸液晶顯示屏、SD存儲器卡、無線數傳模塊ZF01、串行切換接口和電源等部分組成。系統(tǒng)主機的主要功能是完成工作模式的設定,各子機數據的讀取、存儲,溫度顯示、溫度曲線顯示,溫度數據簡單處理及與PC機數據通訊等。下面對部分硬件電路予以介紹。
為了滿足系統(tǒng)工作時數據存儲量較大的需要,采用SD卡存儲溫度數據。SD卡具有使用方便靈活、存儲容量大等優(yōu)點,在數據存儲與交換方面得到廣泛應用。存儲系統(tǒng)采用南京沁恒公司生產的CH375通用接口芯片,它支持SD卡的讀寫,可以方便地將存儲的數據傳送到上位機。CH375通用接口芯片的特點如下:
1.采用并行接口完成數據傳輸,包含8位數據總線,采用4線控制:讀選通、寫選通、片選輸入、中斷輸出。
2.工作電壓低,支持5V電源電壓和3.3V電源電壓,支持低功耗模式。
3.內置固件處理海量存儲設備的專用通訊協(xié)議,支持 Bulk-Only 傳輸協(xié)議和 SCSI、UFI、RBC或等效命令集的USB存儲設備(包括USB硬盤/USB 閃存盤/U盤)[4]。
CH375接口芯片的硬件電路如圖2所示:
圖2 CH375的硬件電路圖Fig.2 Hardware circuit diagram of CH375
Atmega16單片機只有一個串行通訊口,但系統(tǒng)連接的無線通信模塊、觸摸屏及PC通信都需要使用串行口通訊,為此系統(tǒng)設計了由CD4052構成的分時選通串行通信電路,串口分時選通電路如圖3所示,該電路將串行連接設備增加為4個,其中包括2個RS-232電平接口,1個TTL電平接口和1個RS-485接口。
為了使連接到串口上的外部設備在該口沒有選通的情況下不產生影響,需要使未選通的串口處于邏輯0狀態(tài)。為此,串口分時選通電路在CD4052的輸出端增加了4個上拉電阻。系統(tǒng)還可以通過RS-485通信接口輕松實現上位機組網功能。
上位機主要用于完成數據的接收、存儲、處理、顯示等功能,采用迪文觸摸顯示屏可以方便的實現人機交互,提高系統(tǒng)性能,便于用戶進行觀察操作。其具體功能如下:
1.實時溫度顯示功能:在觸摸液晶屏上可以同時顯示16個測溫點的溫度變化情況,并實時刷新溫度數據,便于用戶觀察操作,用戶可以根據需要顯示單個測溫點的溫度變化曲線。
2.采集點位置顯示功能:用VB編寫軟件,用戶根據所處的測溫環(huán)境,輸入采集點的位置,通過串口寫入觸摸屏內,并給采集點編寫序列號,如果需要修改采溫點的位置可以利用軟件重新寫入。當某個采集點不能正常工作時,上位機會報警,并顯示相應的采集點位置,便于查找維修。
3.實時監(jiān)測功能:用戶可以根據需要設定溫度測量的上下界限,將環(huán)境溫度限定在所要求的監(jiān)測范圍內,當所測溫度超出設定的范圍時,系統(tǒng)發(fā)出報警信號[3]。
4.求平均值功能:在系統(tǒng)的主顯示界面上,用戶可以根據需要任意選中某幾個采溫點,監(jiān)測其平均溫度,并將不同時刻的平均溫度值以曲線形式顯示。上位機可以根據不同時刻的溫度均值,做平穩(wěn)分析,精確監(jiān)測環(huán)境溫度。
圖3 串口分時選通電路Fig.3 Serial time-sharing electricity choose way
無線多點溫度采集系統(tǒng)的下位機終端由16個從機組成,每個從機的硬件結構設計完全相同,保證了下位機硬件的一致性。下位機由控制器芯片STC12C2052、無線數傳模塊ZF01、數字溫度傳感器DS18B20、太陽能電池及鋰電池等組成。
為了能夠使主機和16個從機分時進行數據傳輸,必須對下位機進行編碼,下位機地址碼的設定有軟件與硬件兩種方法。
軟件方法是通過修改軟件,給下位機設定一個地址碼,每一個下位機都有一個地址,軟件設計的優(yōu)點是沒有硬件開銷,可為從機CPU節(jié)省I/O口線,同時可以不受硬件限制隨意增加下位機的個數。但是由于每一個下位機的軟件各不相同,因此存在互換性差,不利于大批量生產的缺點。
硬件方法是在設計硬件電路時,加入撥碼開關,通過撥碼設定下位機的地址。每一個下位機都有一個獨立的撥碼,即具有唯一的地址。它的優(yōu)點是硬件的外觀可以通過撥碼作區(qū)分,不宜搞混;上電時下位機自動取地址碼,使用方便靈活,便于維護,同時省去了修改軟件的麻煩。它的缺點是設置撥碼開關,占用從機CPU的I/O口線(撥碼開關的位數受CPU的I/O口線的限制),同時限制了下位機的個數,如使用4位撥碼開關,則下位機的個數最多為16個。
綜上所述,用戶可以根據需要選擇以上兩種方法設定下位機的地址碼。本系統(tǒng)最終采用硬件方法,這樣就保證了下位機軟件與硬件的一致性,便于維護。
由于下位機采用電池供電,為了使下位機有大于72小時的工作時間,有效地利用電池電能。下位機采用兩種節(jié)能模式:無線數傳模塊ZF01休眠模式和太陽能充電模式。
1.無線數傳模塊ZF01休眠模式:電路圖如圖4所示,在下位機單元中,無線數傳模塊是功耗相對最大的設備,當上位機與下位機需要數據通信時,使P10為低電平,三極管TR1導通,無線數傳ZF01模塊上電工作;需要進入休眠模式時,使P10輸出高電平,三極管TR1截止,ZF01模塊處于斷電狀態(tài),為下位機節(jié)省電能。
圖4 節(jié)能電路Fig.4 Energy-saving circuit
2.太陽能充電模式:下位機采用鋰電池與太陽能電池配合供電。當所處環(huán)境中有太陽光照射時,太陽能電池自動地給鋰電池充電。實驗證明,在較強日光照射時,采用100mm*40mm的太陽能電池給鋰電池充電,最大輸出電壓為6V,最大輸出電流為75mA,充電效果十分明顯;無光照條件下,采用3000mA/h的鋰電池系統(tǒng)可以連續(xù)工作72小時。
從機安裝在各個測溫點,測量該點的溫度值,在主機讀取時,把溫度數據通過無線通信方式傳送到上位機。為提高測溫精度,在下位機測溫時,采用平均值濾波的方法,即每采集10次溫度數據為一組,然后求平均值,作為當前溫度數據,并將其保存到數據緩存區(qū)中。
用戶可以根據需要隨時更改下位機個數,上位機通過點名查詢方式向下位機發(fā)送地址碼,和設定地址一致,下位機將向上位機發(fā)送采集到的溫度數據;如果驗證不通過,則不做任何處理回到繼續(xù)接收狀態(tài)。考慮到溫度采集時間不會很快,點過名之后再次點到需要一段時間,軟件上、下位機完成一次通信后立即將ZF01無線數傳模塊關閉,使其進入休眠模式,在固定時間間隔前1S自動喚醒,等待下一次收發(fā)。
整個系統(tǒng)軟件包括兩個部分:上位機軟件和下位機軟件。
1.上位機軟件:上位機軟件重點是觸摸屏操作,按系統(tǒng)設計要求,上位機每間隔固定時間(如10秒)與下位機通信一次,與下位機通信完成后保證選通PC機等待PC的命令,因此,如果和每臺從機采樣間隔是10秒,在通信波特率為19200bps時,和從機的通信時間為1秒左右,在每個10秒內90%的時間在選通PC機等待PC的命令,因此PC的數據發(fā)送請求將得到充分的響應。每完成一次巡檢,把數據送到觸摸屏進行顯示,由于與觸摸屏通信采用115200bps的波特率,因此與觸摸屏的數據按200個字節(jié)計算,將在20ms以內完成。上位機軟件流程如圖5所示。
2.下位機軟件:主要部分是DS18B20數字溫度傳感器的初始化、地址接收校驗與數據發(fā)送。下位機軟件流程如圖6所示。
圖5 上位機系統(tǒng)流程圖Fig.5 PC system flow chart
圖6 下位機軟件流程圖Fig.6 The software flow chart of lower computer
系統(tǒng)采用的是一對多無線通信方式,上位機收發(fā)模塊在可靠通信范圍內分別與每個下位機通信。上位機與每個下位機都有唯一的地址,避免通信失誤。在通信過程中必須明確收發(fā)方的地址,因此系統(tǒng)采用通信協(xié)議,具體如表1所示。
表1 系統(tǒng)通信協(xié)議格式Tab.1 Format of system communication protocol
Head為數據包頭,Add為接收端地址,接下來根據數據類型(命令/數據)決定發(fā)送的數據內容,CRC 為校驗碼,最后是數據包尾[5]。系統(tǒng)設置時,若用戶設置采溫時間為1秒、時間間隔為10秒,則在10秒內上位機與下位機通訊一次,此時一幀數據包括10個有效數據,即一秒一個有效數據。
在試驗室條件下,本系統(tǒng)能準確顯示當前的實時溫度,并把記錄的溫度數據繪制成曲線顯示在觸摸屏上,方便比較觀察。在記錄好溫度數據后,能夠將溫度數據按日期保存起來,以便查詢、統(tǒng)計。系統(tǒng)運行穩(wěn)定,在空曠處傳輸距離可以達到150米以上。本系統(tǒng)可以根據需要方便的擴展通信節(jié)點的數量,實現較大范圍的溫度監(jiān)測,能夠用于諸多工業(yè)及民用領域。
[1]盛超華,陳章龍.無線傳感器網絡及應用[J].微型電腦應用,2005,21(6):10-13.
[2]李國華,沈樹群.自組織無線傳感器網絡的研究[J].數據通信,2004(4):1-4.
[3]譚量,胡冀.基于nRF9E5的多點無線溫度采集系統(tǒng)設計[J].杭州電子科技大學學報,2006(4):30-31.
[4]楊容.ch375[EB-OL].http://www.pudn.com/downloads33/so-urcecode/embed/detail106260.html,2005-08-06.
[5]董寧,楊昭,馮進良.多點無線溫度采集系統(tǒng)設計[J].長春理工大學學報:自然科學版,2010,32(4):118-119.