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