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