《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于GPRS的自來水流量監(jiān)測終端的設計
基于GPRS的自來水流量監(jiān)測終端的設計
摘要:  自來水流量遠程監(jiān)測系統的結構如圖1 所示,。系統由若干監(jiān)測終端,、無線數據傳輸網絡和監(jiān)控中心三部分組成。其中,,監(jiān)測終端安裝于各供水分區(qū)的監(jiān)測點,,及時將監(jiān)測到的流量數據通過GPRS網絡傳輸到設在自來水公司的監(jiān)控中心,,由中心對各分區(qū)的數據進行分析,,從而實現對各分區(qū)供水的科學管理,。這里所說的供水分區(qū)不是一般的給水系統分區(qū)(并聯分區(qū)或串聯分區(qū)),而是在供水管網上安裝流量計將整個供水系統劃分成若干個供水區(qū)域,,每個區(qū)域作為一個監(jiān)測點,,對管理區(qū)域內流進的自來水總量和實際銷售的水量進行量化管理,以此來了解和掌握各區(qū)域內的需水量,、供銷差,、漏失量、未收費水量等情況,。
Abstract:
Key words :

  系統總體構成

  自來水流量遠程監(jiān)測系統的結構如圖1 所示,。系統由若干監(jiān)測終端、無線數據傳輸網絡和監(jiān)控中心三部分組成,。其中,,監(jiān)測終端安裝于各供水分區(qū)的監(jiān)測點,及時將監(jiān)測到的流量數據通過GPRS網絡傳輸到設在自來水公司的監(jiān)控中心,,由中心對各分區(qū)的數據進行分析,,從而實現對各分區(qū)供水的科學管理。這里所說的供水分區(qū)不是一般的給水系統分區(qū)(并聯分區(qū)或串聯分區(qū)),,而是在供水管網上安裝流量計將整個供水系統劃分成若干個供水區(qū)域,,每個區(qū)域作為一個監(jiān)測點,對管理區(qū)域內流進的自來水總量和實際銷售的水量進行量化管理,,以此來了解和掌握各區(qū)域內的需水量,、供銷差、漏失量,、未收費水量等情況,。

系統結構圖

圖1  系統結構圖

  其中,監(jiān)測終端應實現下列功能:

 ?。?)現場采集流量信息,,包括瞬時流量、正向總量,、反向總量,、流量百分比、差值總量,、流速等信息,。

  (2)具有遠程通信功能,。定時將采集的流量信息通過GPRS網絡,,上傳至監(jiān)控中心,。

  (3)監(jiān)測終端可以按監(jiān)控中心的指令完成校時,。

 ?。?)停電復電時間記錄。監(jiān)測流量計的供電,,一旦停電立即記錄下停電時間,,并報告監(jiān)控中心,隨即進入睡眠模式,;恢復供電時,,記錄來電時間,也上傳到中心,。

 ?。?)歷史數據記錄。具有一定的非易失性數據存儲區(qū),,可在本地保存斷電/復電時間以及歷史數據,。

  (6)軟件在線升級,。監(jiān)測終端預留升級接口,,可在不改變硬件設計的情況下根據用戶的需要對軟件進行升級,滿足不同用戶的需求,。

  監(jiān)測終端的硬件設計

  監(jiān)測終端由單片機,、 GPRS DTU(包括SIM卡、天線等),、供電電路,、實時時鐘、Flash存儲器以及數據采集設備組成,,如圖2所示,。其中,虛線框中是需要用硬件實現的部分,。

監(jiān)測終端的硬件組成

圖 2 監(jiān)測終端的硬件組成

  1 PIC16F877A單片機

  鑒于監(jiān)測終端設置在無人看管,、環(huán)境較惡劣的地方,要求抗干擾能力強,、性能可靠,采用了Microchip公司的PIC單片機中的PIC16F877A,。

  PIC16F877A單片機內部有 8K*14的Flash程序存儲器和368B的RAM數據存儲器,;采用哈佛結構,數據線和指令線分離,,取數據和取指令可以同時進行,,執(zhí)行效率高,、速度快。

  2 GPRS DTU

  無線通信模塊采用成都眾山科技有限公司的ZSD2110 GPRS DTU,。ZSD2110是一款使用GPRS進行無線數據傳輸的終端設備,,支持PPP、TCP,、UDP,、ICMP等眾多復雜網絡協議,支持透明數據傳輸和用戶自由控制傳輸模式,,同時支持點對點,、點對多點、設備間,、設備與中心間等各種不同的通信模式,。

  3 串行通信接口

  從圖2中可看出,單片機采集數據以及跟DTU之間的通信都是通過串行接口,,而PIC16F877A只有一個USART接口,。這里采用分時復用的原則,通過一片4位總線開關芯片FST3125在流量計與DTU之間切換,,平時與流量計接通,,采集數據,上傳時間到時,,斷開與流量計的連接,,接通DTU,上傳數據(必要時完成校時),。

  4 DS1302實時時鐘

  實時時鐘用于提供系統采樣,、定時上傳、記錄斷電/復電時間等操作的時間基準,,是本系統不可缺少的一部分,。本設計選用了DS1302實時時鐘芯片。

  DS1302使用32.768kHz的外部晶振,,該振蕩電路不需要外接任何電阻或電容,,設計簡單。需要注意的是,,在晶振的選擇上,,只能選用負載電容為6pF的32.768kHz晶振,否則可能會導致晶振不能起振,,DS1302 不計時的問題,。

  5 SPI Flash存儲器

  采用串行Flash作為外部存儲器,記錄歷史數據和斷電/復電時間,。與以往的并行存儲器或鐵電存儲器相比,,串行存儲器具有很大優(yōu)勢,。并行存儲器存儲容量大,讀寫速度快,,但是抗干擾能力差,;鐵電存儲器采用串行接口,抗干擾能力強,,也具有很高的靈活性,,可以單字節(jié)讀寫(不需要擦除,可直接改寫數據),,但其存儲密度小,,單位成本高,讀寫速度較慢,。而本系統中采用的M25P16存儲器綜合了這二者的優(yōu)點,,不僅存儲容量大,讀寫速度快,,而且抗干擾能力強,,占用MCU引腳資源少。

  6 供電電路及掉電檢測

  整個電路板上器件都工作在5V電壓下,。

  除了正常供電外,,為保證在突然斷電的情況下,能及時記錄斷電時間,,以備向監(jiān)控中心報告,,還需要備用電源以及斷電檢測電路。本系統主電源采用UPS供電,,可保證在交流電斷電的情況下仍能工作,,另外從220V交流電直接接一電源作為掉電檢測電路的輸入,經光耦隔離,,連接到單片機的RB0引腳,,斷電時,觸發(fā)單片機的RB0外部中斷實現斷電保護,,讀取當前DS1302的時間保存到Flash存儲器,,并經DTU上傳到監(jiān)控中心,然后使單片機進入低功耗工作狀態(tài),?;謴凸╇姇r,同樣要記錄復電時間并上傳,。

   監(jiān)測終端的軟件設計

 

  在監(jiān)測終端的軟件設計中,,采用模塊化設計,根據功能將程序劃分為多個模塊分別設計。這種設計方法不僅使得程序結構清晰,,而且為以后新功能的擴展以及程序的移植提供了便利,在調試過程中也便于對軟件故障的定位,。

  軟件在MPLAB IDE8.10環(huán)境下,,采用PICC編譯器,用C語言實現,。主程序流程如圖3所示,。監(jiān)測終端上電后,先進行初始化,,然后進入循環(huán),,根據條件調用各個子程序。其中初始化包括各I/O端口的方向設置,、SPI初始化,、中斷標志的設置等。寫數據到Flash時,,須先判斷整個Flash是否寫滿,,惹是須先擦除才能寫入新數據。

主程序流程圖

圖 3 主程序流程圖

  在本系統中,,單片機需處理多個任務,,而且有的任務又是隨機的,故MCU采用查詢和中斷相結合的工作方式,。其中,,定時上報采用查詢方式,如圖3所示,,而斷電檢測,、來電喚醒則通過PIC單片機的RB0電平變化中斷來完成。但是,,在中斷服務程序中,,只簡單的設置掉電/復電標志,并不執(zhí)行其他復雜的操作,,相應的掉電/復電服務是在主程序中檢測到掉電/復電標志后才執(zhí)行的,。這是因為PIC16F877A單片機只有8層深度的硬件堆棧,在中斷里調用子程序極易出現堆棧溢出的情況。為了保證程序的可靠運行,,故將讀取DS1302的時間,、轉入睡眠模式等操作都放在主程序中執(zhí)行,使中斷服務程序盡量短小,,提高系統運行的可靠性,。

此內容為AET網站原創(chuàng),未經授權禁止轉載。