程晉然 郭世明
(西南交通大學電氣工程學院,成都 610031)
在現(xiàn)代工業(yè)及民用領(lǐng)域中,單片機廣泛應(yīng)用于汽車電子,安防,電機控制,家電控制,工業(yè)測控,電動工具等場合。其中,選用合理的硬件結(jié)構(gòu)和軟件設(shè)計,往往能以較低的成本,極低的功耗,搭建可靠的單片機系統(tǒng),實現(xiàn)需要的功能。
本文介紹了某磷礦供水系統(tǒng)無線監(jiān)控裝置的設(shè)計思路與設(shè)計過程。該磷礦在山區(qū),儲水池位于山頂,容量約3000m3,向廠區(qū)提供生產(chǎn)用水及生活區(qū)用水。水源地和水泵房位于山腰平緩地帶,儲水池與水泵房直線距離約450m,高差約120m。為了正常供水,必須保證水池水位高于出水口、低于水池上限。該水池曾經(jīng)進行過自動化改造,采用電纜傳回水位信號,控制水泵房水泵自動運行與停止。但該方案多次由于礦山周邊閑雜人員盜割電纜,鼠害損毀電纜等原因造成停水或溢水,嚴重的時候甚至造成生產(chǎn)區(qū)停工,后改為人工值守。但人工值守需24h值班,工作環(huán)境差,人力成本高。經(jīng)過建議,礦山方面同意試用遠程無線監(jiān)控裝置對供水系統(tǒng)進行自動化改造,但要求裝置具有低成本高可靠性的特點。
儲水池取消人工值守后,水池處無電力供應(yīng),水池水位監(jiān)控及無線傳輸裝置全部需要電池提供電源,設(shè)計采用3節(jié)AA堿性電池供電,設(shè)計電池使用壽命一年。單片機采用筆者一貫采用并且已經(jīng)比較熟悉的51系列單片機,出于抗干擾及低成本的考慮,選用宏晶公司生產(chǎn)的STC11L04E單片機,該單片機具有4K Flash程序存儲器,256字節(jié)SRAM,1K EEPROM,具有掉電外部中斷喚醒與低電壓復(fù)位,最高時鐘頻率35MHz。無線通信部分采用飛思卡爾無線串口模塊以降低開發(fā)成本及提高可靠性。水池水位變化相對于單片機處理速度是一極緩慢變化過程,因此采用定期檢測水位發(fā)送信息的間斷工作模式。
電路原理見圖1。單片機工作于斷續(xù)狀態(tài),工作周期可用兩位 8421編碼的撥碼盤設(shè)置為1~99min。為了實現(xiàn)低功耗,非檢測期間單片機必須工作于掉電狀態(tài),而為了實現(xiàn)定時檢測水位,裝置必須進行計時。為了實現(xiàn)單片機掉電期間的計時及定時喚醒,加入一低能耗的PCF8563時鐘芯片。單片機進入掉電前對PCF8563進行定時設(shè)置,隨后進入掉電狀態(tài)。設(shè)定時間到后,由PCF8563喚醒單片機繼續(xù)下一個檢測周期。

圖1 水位監(jiān)測裝置電原理圖
為了提高可靠性,同時也為了降低成本,采用電極式水位傳感器,僅需要兩根線頭裸露的電線即可實現(xiàn)水位監(jiān)測,無機械活動部件,對水質(zhì)適應(yīng)性好,成本低可靠性高。水位傳感器信號放大整形部分應(yīng)用電源管理,僅檢測瞬間供電,降低裝置功耗。8563與單片機之間通過I2C總線進行數(shù)據(jù)通信。I2C總線需要加上拉電阻,有文章指出為了避免電流損耗,進行低功耗設(shè)計時I2C上拉電阻需要加電源管理,但筆者經(jīng)過分析與實踐證實,單片機IO口設(shè)置為開漏輸出狀態(tài)時,該上拉電阻不會在非工作期間造成電流損耗。為減少幅面,水位傳感器僅畫出其中一個,實際共兩個,上限與下限水位傳感器各一個。
普通8051單片機進入掉電模式后,只能由外部復(fù)位喚醒單片機,復(fù)位后程序從起始位置開始執(zhí)行,而宏晶STC11系列單片機提供5個外部引腳,可設(shè)置其下降沿喚醒單片機。該裝置在每個檢測周期開始時,由PCF8563喚醒單片機,繼續(xù)執(zhí)行掉電指令的下一條指令后,轉(zhuǎn)入執(zhí)行相應(yīng)的中斷服務(wù)程序,一個典型的檢測周期如圖2所示。由于STC11系列單片機沒有I2C接口,因此需要用兩個引腳通過軟件模擬I2C總線。

圖2 軟件流程圖
檢測到當前狀態(tài)后,單片機對數(shù)據(jù)添加校驗值并封包,生成完整的報文,通過無線模塊發(fā)送到水泵房。為了以后便于擴展,筆者自定義了以下的報文格式。其中數(shù)據(jù)字節(jié)可以擴充,其數(shù)量由第四個字節(jié)決定,最大不超過255字節(jié),當前使用的監(jiān)控裝置默認數(shù)據(jù)長度為1個字節(jié)。

表1 無線數(shù)據(jù)報格式
無線模塊采用飛思卡爾串口通信模塊。最大發(fā)射功率27dBm,調(diào)制方式為FSK,工作頻率選擇為433MHz,接收靈敏度-114dBm,該模塊發(fā)射功率及頻段滿足國家無線電管制要求,可以免執(zhí)照運行。同時,由于礦山地處偏僻地區(qū),且傳輸距離較近,受到其他業(yè)余無線電臺干擾的可能性非常小,即使受到干擾,接收方報文校驗失敗,可以及時向水泵房值班人員報警避免造成損失,因此,采用該模塊可以滿足裝置的設(shè)計要求。該模塊支持波特率由1.2kbps至38.4kbps共6種速率,但根據(jù)筆者以往的經(jīng)驗,降低波特率可以提高模塊的接收靈敏度,因此實際使用的波特率為2.4kbps。
每個檢測周期喚醒后,單片機等待32768個時鐘周期以使時鐘穩(wěn)定振蕩,隨后對無線模塊和水位傳感器上電,延時100ms后讀傳感器信息,隨后關(guān)閉傳感器電源,數(shù)據(jù)封包后發(fā)送到無線模塊,當前使用的數(shù)據(jù)報長度為7個字節(jié),以2400bps的速率發(fā)送,大約需要30ms,但為了讓無線模塊有充分的時間發(fā)送數(shù)據(jù),單片機發(fā)送數(shù)據(jù)后延時100ms關(guān)閉無線模塊電源,設(shè)置PCF8563喚醒倒計時后單片機隨即進入掉電狀態(tài)。以毫安·秒為單位對每個檢測周期耗電量進行計算,當裝置檢測周期設(shè)置為10min時,每周期耗電量大約為17mA·s,年耗電量小于250mA·h。以電池容量1000mA·h估算,扣除電池自放電及其他損耗,可以滿足裝置工作一年的設(shè)計要求。相關(guān)器件的功耗數(shù)據(jù)如表2所示。

表2 器件功耗數(shù)據(jù)
接收裝置位于水泵房,接收儲水池裝置發(fā)來的信息,分析處理后控制相應(yīng)的輸出,并將當前狀態(tài)進行顯示。接收裝置在規(guī)定時間內(nèi)接收不到校驗正確的報文,則判斷為通信中斷或設(shè)備故障,并通過聲光報警提醒水泵房值班人員,避免造成其他損失。接收裝置位于水泵房,有充足的電力供應(yīng),處于持續(xù)工作狀態(tài),因此硬件設(shè)計比較簡單,不再贅述。接收裝置內(nèi)部電路板實物如圖3所示。

圖3 接收裝置電路板實物圖
該裝置于2010年5月在使用現(xiàn)場進行測試。
對于無線通信,當通信距離達到2000m時,裝置依然可以正常進行數(shù)據(jù)收發(fā),當距離達到2500m時,數(shù)據(jù)丟包率開始增大。因此,在450m的實際使用環(huán)境中,認為無線模塊具有充足的的發(fā)射功率與接收靈敏度。
裝置安裝就位后,進行了兩個月的不間斷測試,測試期間沒有觀察到裝置出現(xiàn)誤動作或不動作的情況。對數(shù)據(jù)包的校驗和記錄表明,測試過程中,沒有出現(xiàn)數(shù)據(jù)包校驗失敗或數(shù)據(jù)包丟失的情況。單片機工作可靠,沒有出現(xiàn)死機、程序跑飛、無法喚醒等故障。在經(jīng)歷兩個月測試后,向設(shè)備供電的3節(jié)堿性電池測量電壓仍然有4.65V,預(yù)計可以滿足一年的供電需求。
裝置選用的STC11L04E單片機,零售價格僅數(shù)元,加上其他外圍器件,總材料費用仍然十分低廉。
綜上所述,初步認為裝置功能與性能滿足設(shè)計要求,實現(xiàn)了低功耗、低成本的遠程狀態(tài)監(jiān)控。
[1] 李正軍.現(xiàn)場總線及其運用技術(shù)[M].北京:機械工業(yè)出版社,2005.1.
[2] 顧海洲,馬雙武.PCB電磁兼容技術(shù)——設(shè)計實踐[M].北京:清華大學出版社,2009.
[3] 王幸之.單片機應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:航空航天大學出版社,2000.
[4] 張培仁等.基于C語言MSC-51單片機原理與應(yīng)用[M].北京:清華大學出版社,2003.
[5] 尹勇,李宇.μVision2單片機應(yīng)用程序開發(fā)指南[M].北京:科學出版社,2005.