1 智能水位計系統組成
該智能水位計以單片機為核心,由主控系統、水位采集模塊、數據保存模塊、控制顯示模塊與上位機通信模塊組成,完成水位測量、存儲、控制與實時顯示等功能。也可作為終端,通過單片機的串口與上位機通信,實現終端遙控和水位遙測。組成框圖如圖1所示。
主控系統對各個模塊起到控制作用,是各個模塊正常工作的基礎,主要由單片機完成。
水位信息采集模塊是水位計的核心部分,采集到的水位信息的精度是衡量水位計質量的重要參數。由傳感器、模數轉換,單片機完成。數據存儲模塊由外部非易失存儲器和單片機完成,水位計定時采集水位信息,并保存在外存上。記錄可通過液晶屏讀出。
控制與顯示模塊由鍵盤和液晶屏完成,提供人機接口。
與上位機通信部分是智能儀表的必要條件,主要由MAX3485和MSP430單片機的串口部分實現。
2 各模塊功能實現
2.1 主控系統
主控系統對各個模塊的供電、使能,工作等起到控制作用,是各個模塊正常工作的基礎,主要由MSP430單片機完成。
相比于MCS和PIC等系列,MSP430系列單片機是超低功耗、功能強大的16位單片機。本系統選用的是MSP430F435,工作電壓范圍1.8~3.6 V;5種節電模式,每1 MHz功耗電流0.1~400 μA,同時能夠在實現液晶顯示的情況下只耗電0.8μA。此外MSP430單片機片上資源豐富,集成度高,能夠滿足智能遙測終端機對體積功耗的需求。
2.2 數據采集模塊
水位信息采集模塊是水位計的核心部分,采集到的水位信息的精度是衡量水位計質量的重要參數。水位采集模塊主要由ADS1110和傳感器完成。ADS1110是一種精密、可連續自校準的串行A/D轉換器,帶有差分輸入和高達16位的分辨率,測量的電壓誤差為0.001 V,精度高。其串行接口為I2C總線。單片機可通過軟件模擬I2C總線實現與ADS1110的連接。具體方法是將單片機的I/O接口連接至I2C的數據線SDA和時鐘線SCL。通過軟件控制時鐘和數據的傳輸。水位采集流程如圖2所示。
2.3 數據保存模塊
水位數據保存模塊及復位電路都通過X4043實現。X4043也采用I2C接口,SDA,SCL連接方法與ADS1110相同。
水位計每小時記錄一次,緩沖區可保留一天24次的記錄信息,新的信息覆蓋舊的信息。每條記錄由水位值和采樣的時間組成。
水位信息保存程序流程圖如圖3所示。
保存數據時,先保存水位值,再依次保存時間。確定保存地址時,用最初的地址加上偏移量。偏移量為數據長度乘以個數。
在定時器中斷中,每個整點時間,定時器都會把保存數據的標志變量置有效。在主循環中判斷,如果標志位有效,就調用保存水位信息的函數。
2.4 控制與顯示模塊
控制與顯示模塊由鍵盤,液晶屏LCD12232和SD2300完成,提供人機接口。鍵盤可設置水位計參數,安裝高度,誤差,量程等,當有鍵按下時水位計顯示相應菜單。不在設置狀態時,水位計終端顯示主界面:上行顯示當前水位,下行顯示實時時間。智能水位計在啟動時讀取SD 2300時間,再通過定時器中斷保證時間的更新。
2.5 與上位機通信模塊
工作時,在一條總線上可掛接一個上位機和多個水位計實現多點的水位采集,如圖4所示。水位計與上位機通過單片機的串口通信,上位機能夠獲得水位計實時水位數據實現遙測,可以為流域的水雨情測報、預報、報汛及水庫大壩分洪瀉洪、抵抗自然災害、水資源的管理和調度提供快速準確的分析數據和科學決策依據,同時上位機也能夠獲取和修改水位計工作參數實現遙控,無需專人值守。
智能水位計中使用MAX3485和單片機串口實現這一功能,協議采用MODBUS協議。
數據包收發程序放在單片機中斷服務程序中,接收完成后把標志位置有效,在主循環中不斷掃描標志位,發現標志位有效,會調用數據包處理函數。水位計協議包格式如表1所示。
功能碼主要有:
功能碼0x03:Read Holding Registers讀取寄存器數據(系統時間或配置)。功能碼0x04:Read Input Register讀輸入寄存器(遙測)。功能碼0x10:Write Multiple Registers寫多個寄存器(系統時間、參數)。
工作模式共有3種:實時,分時,變幅上報。
在實時模式下,水位計時刻打開串口電源,準備接收上位機信息,作出處理。
分時模式下,只有在定時時間到的時候打開串口電源,等待上位機信息。
變幅模式下,當水位計采集到的水位值和前一次的差的絕對值大于一個閾值時再打開串口電源。
由于整個網絡采用總線型拓撲結構,且沒有沖突退避算法,所以與上位機通信時采用應答方式。不論水位計工作在實時、分時,還是變幅模式下,只有接收到上位機信息時才返回數據包。
3 結束語
該水位計在工作時可以靈活配接浮子式水位計或壓力式水位計等水位傳感器,能夠靈活適應測量庫水位、電廠攔污柵壓差、河流等變化緩慢或劇烈的水位的需要,適應不同的監測環境,適用于無電源場合。水位采集站工作模式可靈活編程設定,通用性好,可靠性高,維護方便,是一種可適用于多種監測環境的多模式水位自動監測系統。