01.31 如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

本文給出了一種低成本、低功耗,用於礦山供水系統的遠程狀態監測裝置設計實例。該裝置設計基於宏晶公司生產的單片機,結合PCF8563時鐘芯片實現低功耗定時喚醒,保證了系統具有極低的待機功耗與準確的工作週期。裝置外圍電路設計均考慮了低功耗與低成本的要求。實際試用證明,該裝置達到設計要求,成功解決了原供水系統存在的水位監控不便的問題。

1 引言

在現代工業及民用領域中,單片機廣泛應用於汽車電子、安防、電機控制、家電控制、工業測控、電動工具等場合。其中,選用合理的硬件結構和軟件設計,往往能以較低的成本,極低的功耗,搭建可靠的單片機系統,實現需要的功能。

2 設計背景

本文介紹了某磷礦供水系統無線監控裝置的設計思路與設計過程。該磷礦在山區,儲水池位於山頂,容量約3000立方米,向廠區提供生產用水及生活區用水。水源地和水泵房位於山腰平緩地帶,儲水池與水泵房直線距離約450米,高差約120米。為了正常供水,必須保證水池水位高於出水口、低於水池上限。該水池曾經進行過自動化改造,採用電纜傳回水位信號,控制水泵房水泵自動運行與停止。

但該方案多次由於礦山周邊閒雜人員盜割電纜,鼠害損毀電纜等原因造成停水或溢水,嚴重的時候甚至造成生產區停工,後改為人工值守。但人工值守需24小時值班,工作環境差,人力成本高。經過建議,礦山方面同意試用遠程無線監控裝置對供水系統進行自動化改造,但要求裝置具有低成本高可靠性的特點。

3 方案設計

儲水池取消人工值守後,水池處無電力供應,水池水位監控及無線傳輸裝置全部需要電池提供電源,設計採用3節AA鹼性電池供電,設計電池使用壽命一年。

單片機採用筆者一貫採用並且已經比較熟悉的51系列單片機,出於抗干擾及低成本的考慮,選用宏晶公司生產的STC11L04E單片機。

該單片機具有4K Flash程序存儲器,256字節SRAM,1K EEPROM,具有掉電外部中斷喚醒與低電壓復位,最高時鐘頻率35MHz。

無線通訊部分採用飛思卡爾無線串口模塊以降低開發成本及提高可靠性。水池水位變化相對於單片機處理速度是一極緩慢變化過程,因此採用定期檢測水位發送信息的間斷工作模式。

3.1 硬件原理

電路原理見圖1。單片機工作於斷續狀態,工作週期可用兩位8421編碼的撥碼盤設置為1~99分鐘。為了實現低功耗,非檢測期間單片機必須工作於掉電狀態,而為了實現定時檢測水位,裝置必須進行計時。

為了實現單片機掉電期間的計時及定時喚醒,加入一低能耗的PCF8563時鐘芯片。單片機進入掉電前對PCF8563進行定時設置,隨後進入掉電狀態。設定時間到後,由PCF8563喚醒單片機繼續下一個檢測週期。


如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

圖1水位監測裝置電原理圖

為了提高可靠性,同時也為了降低成本,採用電極式水位傳感器,僅需要兩根線頭裸露的電線即可實現水位監測,無機械活動部件,對水質適應性好,成本低可靠性高。水位傳感器信號放大整形部分應用電源管理,僅檢測瞬間供電,降低裝置功耗。8563與單片機之間通過I2C總線進行數據通信。

I2C總線需要加上拉電阻,有文章指出為了避免電流損耗,進行低功耗設計時I2C上拉電阻需要加電源管理,但筆者經過分析與實踐證實,單片機IO口設置為開漏輸出狀態時,該上拉電阻不會在非工作期間造成電流損耗。為減少幅面,水位傳感器僅畫出其中一個,實際共兩個,上限與下限水位傳感器各一個。

3.2 軟件設計

普通8051單片機進入掉電模式後,只能由外部復位喚醒單片機,復位後程序從起始位置開始執行,而宏晶STC11系列單片機提供5個外部引腳,可設置其下降沿喚醒單片機。該裝置在每個檢測週期開始時,由PCF8563喚醒單片機,繼續執行掉電指令的下一條指令後,轉入執行相應的中斷服務程序,一個典型的檢測週期如圖2所示。由於STC11系列單片機沒有I2C接口,因此需要用兩個引腳通過軟件模擬I2C總線。


如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

圖2 軟件流程圖

檢測到當前狀態後,單片機對數據添加校驗值並封包,生成完整的報文,通過無線模塊發送到水泵房。為了以後便於擴展,筆者自定義了以下的報文格式。其中數據字節可以擴充,其數量由第四個字節決定,最大不超過255字節,當前使用的監控裝置默認數據長度為1個字節。


如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

表1 無線數據報格式

3.3 無線通信方案

無線模塊採用飛思卡爾串口通信模塊。最大發射功率27dBm,調製方式為FSK,工作頻率選擇為433MHz,接收靈敏度-114dBm,該模塊發射功率及頻段滿足國家無線電管制要求,可以免執照運行。

同時,由於礦山地處偏僻地區,且傳輸距離較近,受到其他業餘無線電臺干擾的可能性非常小,即使受到干擾,接收方報文校驗失敗,可以及時向水泵房值班人員報警避免造成損失,因此,採用該模塊可以滿足裝置的設計要求。

該模塊支持波特率由1.2kbps至38.4kbps共6種速率,但根據筆者以往的經驗,降低波特率可以提高模塊的接收靈敏度,因此實際使用的波特率為2.4kbps。

3.4 功耗評估

每個檢測週期喚醒後,單片機等待32768個時鐘週期以使時鐘穩定振盪,隨後對無線模塊和水位傳感器上電,延時100ms後讀傳感器信息,隨後關閉傳感器電源,數據封包後發送到無線模塊,當前使用的數據報長度為7個字節,以2400bps的速率發送,大約需要30ms,但為了讓無線模塊有充分的時間發送數據,單片機發送數據後延時100ms關閉無線模塊電源,設置PCF8563喚醒倒計時後單片機隨即進入掉電狀態。

以毫安·秒為單位對每個檢測週期耗電量進行計算,當裝置檢測週期設置為10分鐘時,每週期耗電量大約為17mA.s,年耗電量小於250mA.h。以電池容量1000mA.h估算,扣除電池自放電及其他損耗,可以滿足裝置工作一年的設計要求。相關器件的功耗數據如表2所示。


如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

表2 器件功耗數據

4 接收裝置簡介

接收裝置位於水泵房,接收儲水池裝置發來的信息,分析處理後控制相應的輸出,並將當前狀態進行顯示。接收裝置在規定時間內接收不到校驗正確的報文,則判斷為通信中斷或設備故障,並通過聲光報警提醒水泵房值班人員,避免造成其他損失。

接收裝置位於水泵房,有充足的電力供應,處於持續工作狀態,因此硬件設計比較簡單,不再贅述。接收裝置內部電路板實物如圖3所示。


如何用單片機設計低功耗與低成本的無線遠程狀態監控裝置

圖3 接收裝置電路板實物圖

5 結論

該裝置在使用現場進行測試。對於無線通信,當通信距離達到2000米時,裝置依然可以正常進行數據收發,當距離達到2500米時,數據丟包率開始增大。因此,在450米的實際使用環境中,認為無線模塊具有充足的的發射功率與接收靈敏度。

裝置安裝就位後,進行了兩個月的不間斷測試,測試期間沒有觀察到裝置出現誤動作或不動作的情況。對數據包的校驗和記錄表明,測試過程中,沒有出現數據包校驗失敗或數據包丟失的情況。單片機工作可靠,沒有出現死機、程序跑飛、無法喚醒等故障。在經歷兩個月測試後,向設備供電的3節鹼性電池測量電壓仍然有4.65V,預計可以滿足一年的供電需求。

裝置選用的STC11L04E單片機,零售價格僅數元,加上其他外圍器件,總材料費用仍然十分低廉。

綜上所述,初步認為裝置功能與性能滿足設計要求,實現了低功耗、低成本的遠程狀態監控。

(編自《電氣技術》,原文標題為“ 基於宏晶單片機的無線遠程狀態監控裝置設計”,作者為程晉然、郭世明。)


分享到:


相關文章: