安衛,張虹
(1.中國科學院 國家授時中心,西安 710600;2.中國科學院 時間頻率基準重點實驗室,西安 710600)
中國科學院國家授時中心保持著我國獨立的地方原子時尺度TA(NTSC),承擔著我國標準時間UTC(NTSC)的產生、保持與發播任務[1]。時間尺度長期、連續、高性能的保持依賴于守時系統的穩定可靠運行,而守時系統的核心是原子鐘及其相關測量比對設備,它們要求工作環境盡可能穩定,尤其是氫原子鐘對環境變化極其敏感,其溫度系數達到10-14℃,溫濕度變化是直接影響其頻率穩定度的主要因素之一,也會影響輸出信號的品質,從而導致原子鐘性能下降,進而降低時間尺度的性能指標[2-5]。提高溫濕度變化監測水平是實驗室環境控制的關鍵,傳統的溫濕度監測大多采用人工與模擬溫度計相結合的記錄方式,測量精度低、工作量大、自動化程度低,數據采樣間隔大且無法保證測量數據等間隔,因此迫切需要一種高精度、數字化、自動測量的溫濕度監測和記錄設備。
隨著科技的不斷發展,溫濕度傳感器從傳統的模擬溫濕元件向集成化、數字化方向快速發展。新一代的數字溫濕度傳感器具有體積小、功耗低、響應速度快、超長的信號傳輸距離等特點[6-7]。筆者重點研究利用溫濕度傳感器AM2302研制的溫濕度監測系統,該系統從2016年起用于時間頻率基準室守時系統的溫濕度監測,運行結果表明溫濕度監測系統具有精度高、可靠性好、性價比高等優點。
AM2302數字溫濕度傳感器是一種新型溫度傳感器,它集溫濕度測量、A/D轉換于一體。單線制串行接口,使系統集成變得簡易快捷。
AM2302是應用領域廣泛的數字溫濕度傳感器,其主要基本指標如下:溫度量程范圍為-40~80 ℃;分辨率0.1 ℃;溫度測量精度<±0.5 ℃;濕度量程范圍0%~99.9% RH;分辨率0.1% RH;濕度測量精度<±2% RH;AM2302低功耗;單總線數字輸出;信號傳輸距離遠可達15 m;AM2302數字溫濕度傳感器采用的數字模塊采集技術,具有很高的可靠性與穩定性[8-10]。AM2302數字溫濕度傳感器采用4針單排引腳封裝,電路連接簡潔方便,引腳如圖1所示。

注:VDD為3.3~6 V直流電源供電;DATA為串行數據傳輸線;NC為引腳懸空;GND為接地
AM2302溫濕度監測系統主要由AM2302溫濕度傳感器、STC89C52單片機、PC機等部分組成。如圖2所示,系統通過STC89C52單片機采集AM2302傳感器參數,并通過串口發送給PC機,利用VB編寫的軟件實現溫濕度實時顯示、實時曲線、定時保存記錄、報警等功能。

圖2 監測系統框圖
硬件構成主要以STC89C52單片機最小系統作為核心控制電路[11],控制AM2302溫濕度傳感器DATA數據管腳采集溫濕度數據。利用MAX232芯片進行電平轉換,使用標準的R-232接口與上位機進行通信,將采集的溫濕度數據發送到PC機。AM2302溫濕度傳感器采用簡化的單總線通信,系統中的數據交換、控制均由DATA數據管腳完成。STC89C52單片機與AM2302的連接應用電路如圖3所示,AM2302溫濕度傳感器DATA數據管腳與單片機的I/O端口P0.0相連。STC89C52單片機與 AM2302之間的通訊和同步采用單總線數據格式,一次傳送40位數據,高位先出。由于它們是主從結構,只有主機呼叫傳感器時,傳感器才會應答,因此主機訪問傳感器都必須嚴格遵循單總線序列,如果出現序列混亂,傳感器無數據輸出并等待下一次主機訪問。

圖3 C51單片機與AM2302的應用電路
AM2302單總線具體通信時序如圖4所示。AM2302溫濕度傳感器空閑時總線為高電平,STC89C52單片機拉低總線800 μs后釋放總線,拉高延時20 μs后主機開始檢測AM2302溫濕度傳感器的響應信號。

圖4 AM2302單總線具體通信時序
AM2302溫濕度傳感器即輸出75 μs的低電平與一個75 μs的高電平作為應答信號,如主機接收到溫濕度傳感器的響應信號則通知外設準備接收數據,數據是由低高兩個電平組成。首先是一個50 μs的低電平,表示數據位的開始,隨后的高電平長度決定數據數值是“1”或“0”,高電平70 μs左右代表“1”,高電平30 μs左右代表“0”,共接收40位數據,數據傳送完畢后,從機將再次拉低總線50 μs,隨后釋放總線,由上拉電阻拉高直到下一次通信的來臨。如連續采樣讀取傳感器最小間隔周期為2 s,讀取間隔周期小于2 s,可能導致溫濕度不準或通信不成功等情況。數據總線DATA串行送出40 bit的數據,數據依次為:濕度高8位+濕度低8位+溫度高8位+溫度低8位=和的末8位(校驗位)。
例:接收40 bit數據0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 (接收數據正確)。濕度為0000 0010+1000 1100=28C (十六進制)=652?65.2%RH,溫度為0000 0001+0101 1111=15F(十六進制)=351?35.1 ℃,當溫度低于0 ℃時溫度數據的最高位置1。例如:-3.7 ℃表示為1000 0000 010 0101,溫度為0000 0000 0010 0101 = 0025(十六進制)=37?-3.7 ℃。
本系統軟件設計由兩部分組成,即發出控制命令的PC上位機與控制溫濕度傳感器的下位機。在下位機部分是利用STC89C52單片機通過I/O口,將AM2302采集的溫濕度數字信號發送給STC89C52單片機,在單片機的控制下,將溫、濕度數據再通過R-232通信串口傳到上位機。通過PC機的軟件開發可以對溫度和濕度數據進行顯示、處理和繪圖。下位機軟件開發平臺是uVision2,它是一個基于Window的開發平臺,包含一個高效的編輯器,支持所有的KEIL 8051工具,包括C編譯器,宏匯編器等[12-13],下位機采集AM2302溫、濕度數據流程如圖5所示。

圖5 下位機采集AM2302溫、濕度數據流程
上位機PC操作軟件設計時,根據可視化軟件開發要求,程序界面簡單明了、易于維護、使用方便。系統采用VB語言開發,系統運行平臺為Win Xp,Win 7。VB串口通信控件MSComm能夠提供R-232通信串口的全部功能,應用程序編寫、調試簡單方便,用戶通過MSComm控件的屬性設置,可實現多點實時溫濕度監測,從而使軟件編寫更加方便[14-15]。上位機PC軟件編寫流程如圖6所示。

圖6 上位機PC軟件編寫流程
溫濕度監測軟件能夠實現環境溫濕度監測與數據自動記錄,數據自動記錄有5,10,30和60 min 4個采樣時間段,可根據需要選擇采樣時間,以當前年月自動生成文件名保存,例如“溫度201702.txt,濕度201702.txt”。數據文件保存格式,如圖7所示。

圖7 溫濕度采樣數據文件保存格式
本軟件即可用于8個獨立空間的溫濕度實時監測,也可用于對溫濕度環境變化要求精密的單一空間的多點同步監測,對于要求集中時間進行高密度測量的用戶可以通過修改采樣間隔實現,軟件同時提供顯示最長一個月的溫濕度變化曲線,便于工作人員及時了解相關設備的工作狀態。
根據2號銫鐘房2017年1月至6月半年的監測結果,其溫度變化范圍21.3~24.5 ℃,通過Kalman濾波處理得出狀態估計值,計算得出2號銫鐘房溫度測量精度小于±0.1 ℃,見表1所示。
表1 2號銫鐘房溫度測量精度
℃
該監測軟件用于對國家授時中心守時系統的3個原子鐘房和兩套時間比對系統所在空間的溫濕度監測與記錄,圖8所示是軟件的主界面(2017年7月軟件運行截圖),主要包括5個功能模塊:八路溫濕度實時顯示模塊、串口選擇、采樣間隔、溫濕度實時曲線選擇模塊、曲線周期選擇模塊,相關工作人員通過對主界面不同功能模塊的選擇,實時監測被測房間的溫濕度變化狀況,及時發現異常。

圖8 溫濕度監測軟件運行主操作界面
圖9是2017年4月備用主鐘(比對東)系統空調故障時記錄的溫濕度變化曲線,使值班人員能及時發現溫度變化異常,并通知維修人員對空調進行檢查維修。

圖9 2017年4月備用主鐘(比對東)空調故障記錄溫濕度變化曲線
經過一年多的連續運行表明該系統具有測量精度高,穩定性好,能夠實時發現環境溫度異常,并能準確給出異常發生的時刻和異常值大小,能夠為守時系統的溫濕度控制、硬件報警系統提供安全穩定的監測數據,為時間保持工作提供有力的技術支撐,從而提高時頻基準室守時環境的智能化管理水平。
隨著原子鐘性能以及時間比對精度、比對技術的不斷提高,國家授時中心保持的標準時間的性能指標不斷提升,為了確保關鍵設備所在空間的溫濕度盡可能穩定,避免對守時系統產生大的影響,在此基礎上逐步實現溫濕度自動化監測、控制和管理。