0 引 言
隨著科學技術的發展,大氣壓力和溫度測量在天氣預報、農業生產、工業現場及日常生活等領域的應用越來越廣泛,人們對大氣壓力和溫度的測量要求也隨之越來越高。針對現在大氣壓力和溫度監測系統測量精度不高、生產環境惡劣、不能長時間停留在現場等情況[1⁃4],本文提出了一種高精度的無線大氣壓力和溫度監測系統。本系統以 STC89C52 單片機作為核心控制元件,BMP180 傳感器采集大氣壓力和溫度數據,通過射頻模塊傳輸信息到顯示器上,并在特殊情況下進行報警。
1 系統的硬件設計
1.1 系統的整體設計
監測系統的整體硬件組成為數據采集模塊、按鍵控制模塊、監控顯示模塊、射頻傳輸模塊和報警模塊。
1)數據采集模塊:采集溫度傳感器、壓力傳感器中的數據。數據采集模塊 BMP180 負責環境因子進行監控,當檢測到該環境因子的狀態時,通過射頻通信發到監控顯示模塊。
2)按鍵控制模塊:是一個普通按鍵開關器件,由于與地相連,當按鍵被按下時,通過軟件消抖程序,它能正確地進行接地操作,實時把低電平信號傳輸到單片機,從而實現對壓力和溫度閾值的設置操作。
3)監控顯示模塊:專門顯示傳感器采集的數據。
4)射頻傳輸模塊:通過無線傳輸,把發射端發射的數據傳遞到接收端。
5)報警模塊:采用兩種顏色不同的 LED 燈泡作為報警設備,BMP180 傳感器采集的壓力或者溫度數據通過處理后經過射頻模塊發射,接收端成功接收后單片機對數據進行處理,當壓力和溫度數據不滿足閾值的要求時,LED 燈就會進行相應的閃爍。
1.2 主要硬件選型
1.2.1 核心處理芯片的選擇
目前具備低成本并且編程簡單的單片機有兩種,分別是 ATC51 系列和 STC52 系列。由于 ST89C52 單片機在性能方面優于 AT89C51 單片機,并且成本更低,所以本設計采用 STC89C52單片機。
1.2.2 數據采集傳感器和通信模塊芯片的選擇
由于 BMP180傳感器使用方便,在 3.3 V 和 5 V 電壓下都可以工作,并且比 MPX 壓力傳感器性價比高,所以本設計采用 BMP180傳感器[5⁃6]。
目前市面上通信芯片有許多,其中在過去比較流行的有紅外通信,以及現在通用的無線射頻通信,由于nRF2401 射頻模塊相比于紅外通信模塊傳輸距離更遠,并且穩定性比紅外通信模塊更好,所以本設計采用nRF2401射頻模塊。
1.3 硬件設計模塊
1.3.1 數據采集模塊
數據采集模塊核心是 BMP180 壓力傳感器模塊,模塊采集到數據之后通過 STC89C52 單片機進行處理,然后交給射頻模塊去發射。BMP 傳感器與 MCU 連接圖如圖 2所示[7⁃10]。
圖 2 BMP 傳感器與 MCU 連接圖
1.3.2 射頻通信模塊
模塊通過 SPI 端口總線可以輕松調整發射功率和工作頻率,由于工作電流低,所以能耗小。在-5 dBm 的工作功率時僅為 10.5 mA,處在接收模式時僅為 18 mA。這樣讓節能設計更便利,能夠使得 nRF2401在同一根天線下同時獲得兩個差異頻道的數據。射頻模塊與 MCU連接圖如圖 3所示。
圖 3 射頻模塊與 MCU 連接圖
1.33按鍵控制模塊
按鍵開關,在軟件程序消抖之下,單片機能準確地判斷按鍵是否被按下,從而實現修改壓力閾值和溫度閾值的功能。按鍵控制電路如圖 4所示。
圖 4 按鍵控制電路圖
2 系統的軟件設計
2.1 發送模塊程序
發送模塊的程序相對簡單,發送端只需通過 I2C 總線讀取 BMP180 傳感器的數據,然后再通過射頻模塊發送出去。發射端程序流程圖如圖 5所示。
圖 5 發射端程序流程圖
2.2 接收模塊程序
接收端射頻模塊接收到數據之后,在射頻模塊緩沖區內對數據進行了兩次操作,因為壓力數據 pressure 是long 類型的,所以對其一拆為二,一個取整一個取余,分兩次發送,附加上溫度的數據,總共數據發送端有三組數據。接收端程序流程圖如圖 6所示。
圖 6 接收端程序流程圖
3 結果分析
3.1 實物測試數據分析
1)nRF2401傳輸距離測試
發射端發射不同的數據,每一組發射數據對應一組不同的傳輸距離,看接收端是否接收成功,距離測試結果如表 1所示。結果表明有效傳輸距離為 10 m,分析之后發現與供電電源有一定關系,另外墻體阻擋,也會導致相對傳輸距離不太遠。
表 1 nRF2401傳輸距離測試
2)BMP180氣壓數據測試
湖北荊州標準海拔高度是 32.6 m,也就是在計算過程中使用此高度作為測試的最低高度,海拔高度隨測試地點的變化進行變換。通過 5 組數據,海拔高度變化32.6 m,36.6 m,40.6 m,44.6 m,48.6 m 來計算,經測試,海拔高度越高,氣壓會隨之下降,具體測量數據及誤差、海拔高度因素對壓力的影響函數圖分別如表 2 和圖 7所示。
表 2 BMP180大氣壓力數據對比
圖 7 海拔高度與壓力函數關系圖
3)壓力與溫度對比測試
由于在實際過程中高度變化不會太大,因此溫度改變并不多,可以在海拔高度一定的情況下,測試不同地點的大氣壓數據。在測試過程中氣壓并不完全隨溫度增加而增加,但通過函數圖像分析,大致可以表明溫度會對氣壓造成影響。壓力與溫度數據對應關系表如表 3所示,對應的函數關系圖如圖 8所示。
表 3 海拔高度 40.6 m 下壓力與溫度對比測試表
圖 8 海拔高度 40.6 m 下壓力與溫度函數關系圖
LCD1602顯示PH大氣壓力最大報警閾值是98 kPa,但是實測氣壓值是 102.17 kPa,明顯超過了最大閾值,所以此時藍色 LED 燈泡閃爍。
圖 9 異常壓力報警情況
4 結 論
本系統能對大氣壓力和溫度進行實時無線監測和報警,最大無線傳輸距離達到 10 m,大氣壓力測試相對精度為±0.01 kPa,平均相對誤差在 0.008% 左右。在實際大氣壓力、溫度超過設置的最大閾值或者低于設置的最小閾值時能進行實時報警,經數據測試結果發現,除了海拔高度因素可以影響大氣壓力之外,溫度因素也會影響大氣壓力。實驗結果表明,該系統具有測量精度高、使用方便等優點。
參考文獻
[1] 李會坤 .基于 S3C2440與 GPRS的嵌入式環境數據采集系統設計[D].長春:吉林大學,2016.LI Huikun. Design of embedded environment data acquisition system based on S3C2440 and GPRS [D]. Changchun:Jilin University,2016.
[2] 侯小華,胡文東,張利利 . 一種大氣壓力傳感器數據采集系統的研究[J].計算機測量與控制,2011,19(9):2300⁃2301.HOU Xiaohua,HU Wendong,ZHANG Lili. Design of altimeter and barometer module monitor system based on CC2430 [J]. Computer measurement & control,2011,19(9):2300⁃2301.
[3] 陳永祿,張莉 . 基于單片機的溫度控制系統設計與實現[J]. 現代電子技術,2015,38(2):73⁃76.CHEN Yonglu,ZHANG Li. Design and implementation of temperature control system based on MCU [J]. Modern electronics technique,2015,38(2):73⁃76.
[4] 郭洪祥,雷文龍 . 基于 MS5540C 的大氣壓力測量系統設計[J].自動化技術與應用,2012,31(7):50⁃53.GUO Hongxiang, LEI Wenlong. The design of atmospheric pressure measurement system based on MS5540C [J]. Techniques of automation and applications,2012,31(7):50⁃53.
[5] 云中華,蘭萍,李勇峰,等 .一種新型氣壓海拔測量系統的設計與研究[J].自動化與儀表,2016(7):62⁃65.YUN Zhonghua,LAN Ping,LI Yongfeng,et al. Design and research of a new type of atmospheric pressure and altitude measurement system [J]. Automation & instrumentation,2016(7):62⁃65.
[6] Anon. BMP180 digital pressure sensor data sheet [EB / OL].[2017⁃06⁃24]. http://www.boschsensortec.com.
[7] 杜圣波,毛萬華,楊雁南 .高精度大氣壓力指示儀[J].儀表技術與傳感器,2011(7):39⁃40.DU Shengbo,MAO Wanhua,YANG Yannan. High precision atmospheric pressure indicator [J]. Instrument technique and sensor,2011(7):39⁃40.
[8] 康華光 . 電子技術基礎模擬部分[M]. 北京:高等教育出版社,2017.
班寧產品匯總