目前普遍使用的量水儀(或
水位儀),要么功能單一(或功能較少),在實際應用時還需要額外的輔助設備;要么功能較全,但體積較大,不方便攜帶,功耗也較大,供電設備還要額外配置?;趩纹瑱C開發(fā)的各種量水儀,以其成本低、方便實用、而被廣泛應用在水利工程中。為此,筆者結(jié)合實際的需要,開發(fā)研制了一種基于AT89C51單片機的便攜式多功能量水儀。該儀器功能集中,不僅能實現(xiàn)信號的自動調(diào)理,而且還能實現(xiàn)數(shù)據(jù)的通信、報表打印、密碼及K/N參數(shù)的設置以及掉電保護等多種功能。更為突出的是,該儀器能與多種液位傳感器直接接口,攜帶方便,供電簡單,功耗比較低。
1、系統(tǒng)的硬件設計
系統(tǒng)的硬件主要由AT89C51單片機、增益調(diào)節(jié)電路、LM331V/F轉(zhuǎn)換器、81C55I/O口擴展器、兩片ICM7211四位液晶顯示器、CD4051八選一模擬開關、CD4052雙四選一模擬開關、4′4薄膜觸鍵及六位液晶顯示器LCD等組成,其框圖如圖1所示。
1.1信號增益調(diào)節(jié)電路
增益信號是由程序控制的,它根據(jù)待測量信號幅值的大小來改變放大器增益,以使不同幅值范圍的輸入信號都能放大到A/D轉(zhuǎn)換所需的幅值范圍。本儀器設計的輸入量程為0~5V,分辨率是1。0mV。為了保證測量精度的一致性,設計了以一片CD4051八選一模擬開關、若干高精密電阻和一個低功耗運算放大器OP07等組成程控增益放大電路。鑒于實際場合中常用的液位傳感器輸出滿量程電壓一般為60mV、200mV、2V、5V等幾種,故設計了0~5V的量程,具體電路組成如圖2所示。其中N1、N2組成同相關聯(lián)差動放大器,N3為電壓跟隨器,主要用來抑制共模信號,N4是輸出差動放大器,整個電路的增益可通過改變權(quán)電阻網(wǎng)絡R0~R7來調(diào)節(jié)。
1.2信號A/D轉(zhuǎn)換電路
為了適應便攜式儀表電池供電、功耗低等特點,采用了功耗低、高精度、供電簡單的V/F轉(zhuǎn)換芯片LM331組成電壓-頻率(10V-100kHz)的A/D轉(zhuǎn)換電路,其輸出頻率與輸入電壓的關系為
通過AT89C51的T0計數(shù)器(其中T1作定時器用)計算出fOUT,從而得到輸入Vin,進而算出水位值Hi(Hi~Vin),具體如圖3所示。
在該電路中,電阻R16為80kW±10%,它主要是使LM331的輸入端7腳產(chǎn)生偏流,以抵消6腳偏流的影響,從而減少頻率偏差。R39和可調(diào)電位器RW3的作用是調(diào)整LM331的增益偏差和由R23、R25及C6引起的偏差。當6腳、7腳的RC時間常數(shù)匹配時,輸入電壓的階躍變化將會引起輸出頻率的階躍變化,如果C8比C9小得多,那么輸入電壓的階躍變化可能會使輸出頻率瞬間停止。6腳的47W電阻R23和1。0mF電容器C9并聯(lián)用以產(chǎn)生滯后效應,使V/F轉(zhuǎn)換獲得良好的線性度。
1.3低功耗設計
該儀器全部芯片均選用CMOS低功耗芯片,其余外圍電路采用了低功耗設計,并設計了4×4觸摸薄膜鍵盤及六位LCD液晶顯示器作為人—機接口。在軟件設計上,整個系統(tǒng)采用了等待和掉電工作的節(jié)電運行機制,功耗較低。
2、系統(tǒng)的軟件設計
軟件是系統(tǒng)的指揮中心,由它來配合控制完成各種預定功能。為了充分發(fā)揮AT89C51*的性能價格比,在設計上盡量做到硬件“軟化”,使系統(tǒng)硬件設計得到簡化。系統(tǒng)軟件采用MCS-51匯編語言編寫,采用了模塊化結(jié)構(gòu)設計。為增強系統(tǒng)的實時性,對那些偶發(fā)事件采用中斷方式處理。
2.1系統(tǒng)的軟件算法
在明渠量水建筑物中,較為典型的是巴歇爾水槽。在自由流情況下,巴歇爾水槽的水位H和流量Q關系是簡單的二值函數(shù)。利用回歸分析技術(shù),可以求出H~Q流量經(jīng)驗公式。為了便于分析和應用,我們在水工實驗中主要是針對自由流情況的,從而得到大量的H~Q曲線數(shù)據(jù)組。
巴歇爾水槽在自由流時的流量公式為
Q=K·HN(2)
式中,Q為流量(m3/s),K、N為流量系數(shù),H為上游水頭高(m)。由于流量經(jīng)驗公式是指數(shù)型函數(shù),故先對巴歇爾槽流量公式兩邊取對數(shù),得
lnQ=lnK+N·lnH(3)
設y=lnQ;a=lnK;b=N;x=lnH
式(3)可寫成
y=a+b·x(4)
然后,利用實測的大量獨立(H,Q)數(shù)據(jù),求出回歸系數(shù)a、b的zui小二乘估計量(亦即為a、b的無偏估計量),從而得到回歸函數(shù)的估計
?。?)
由y=a+b·x+ε,ε~N(0,δ2),可知y隨x變化趨勢的大小主要受參數(shù)b的影響,故建立如下假設檢驗:
H0:b=0;H1:b≠0(6)
用以檢驗線性回歸效果的顯著性水平。符合實際要求后,則得到流量系數(shù)K、N的估計值。有了流量經(jīng)驗公式,系統(tǒng)就可根據(jù)所測的水位H值來計算出流量值Q。
2.2系統(tǒng)的主程序設計
主程序主要用于系統(tǒng)的控制和管理。系統(tǒng)加電后,AT89C51自動上電復位,開始運行主程序,主程序框圖見圖4所示。系統(tǒng)首先顯示“0-××××”,表示系統(tǒng)在進行自檢和自校零工作。此時要求操作員不斷地調(diào)節(jié)調(diào)零電位器,直到校零達到精度要求時為止,然后按回車鍵表示校零完成(理想情況下顯示為“0。00000”)。接著顯示“1-××××”,表示系統(tǒng)在進行滿度校正工作。同樣,操作員需要不斷地調(diào)節(jié)滿度電位器,直到滿度校正達到精度要求時為止,然后按回車鍵表示滿度校正完成(理想情況下顯示為“5。00000”)。接著系統(tǒng)依次顯示“L”、“E”等提示符號,要求操作員輸入流量系數(shù)K、N值。當輸入正確后,系統(tǒng)進行初始化T0、T1。一切處理完畢后,系統(tǒng)開始正常的運作過程,并進入待機低功耗工作狀態(tài)。
需要說明的是,儀器還具有簡單的密碼設置功能。當設置密碼后,要進行流量系數(shù)修改時,必須首先輸入正確的密碼,否則系統(tǒng)不予以響應。這樣能在一定程度上保證流量系數(shù)K、N的安全性。
2.3中斷采集服務程序
系統(tǒng)在此環(huán)節(jié)完成V/F信號采集、自動量程轉(zhuǎn)換、流量計算及顯示水位H、流量Q等參數(shù)。其中K/N、W(總流量)參數(shù)顯示采用了復用鍵,由軟件設計的奇偶次切換決定。一般情況下,系統(tǒng)自動循環(huán)地顯示H-Q值。
該模塊在運行時,首先保護現(xiàn)場,進行初始化設置,啟動T0定時器(T0的定時時間為100ms,時間常數(shù)為3CB0H)和T1計數(shù)器,由T1記錄V/F轉(zhuǎn)換輸出的脈沖數(shù)。然后,系統(tǒng)連續(xù)采樣10次,利用數(shù)字濾波技術(shù)得出當前的有效采樣值。接著,判斷系統(tǒng)是否已經(jīng)進行了自校正,若沒有,則*行系統(tǒng)的自校正;若已完成了自校正工作,則繼續(xù)后續(xù)程序塊,計算水位H、流量Q、總流量W值。zui后根據(jù)控制命令顯示這些參數(shù),調(diào)用功能鍵處理模塊,巡查有無控制命令,恢復現(xiàn)場、中斷返回。
此外,系統(tǒng)還設計了串行口通信程序,實現(xiàn)與上位機之間的數(shù)據(jù)通信,上傳H、Q、K、N、W等參數(shù)值及接受上位機對參數(shù)的修改和控制。
3、量水儀的精度問題
該儀器充分利用了AT89C51具有高性價比的特點,在不增加硬件資源的前提下,盡量做到硬件“軟化”,提高了儀器的測量精度。
3.1數(shù)字調(diào)零和增益自校正
儀器在測量前首*行自校正工作,即依次選通差動輸入接口芯片CD4052的Y0、Y1輸入端口(其中Y0端接地,Y1端接標準+5V電源),然后調(diào)節(jié)相應的微調(diào)器使儀器自校正達到設計要求。在正式測量時,設選通Y0輸入端時,儀器測得V/F計數(shù)值為X0,選通Y1輸入端時,測得計數(shù)值為X1,設測得傳感器信號輸入的計數(shù)值為Xi,則每次測量的計算公式為
Hi=(Xi-X0)/(X1-X0)*Hst(7)
式中Hst為標準5V時的水位值。
這樣,Hi與放大器的漂移及增益誤差無關,不僅可提高儀器的測量精度,還可降低對器件精度的要求。
3.2采用模糊量程檔位
程控量程自動轉(zhuǎn)換是由信號放大增益檔位的選擇實現(xiàn)的,這里采用了增益步進法,即將增益由小到大逐步提高,直至選擇*的放大倍數(shù)。但是,由于器件轉(zhuǎn)換靈敏度的局限性,測量有時會不夠準確(尤其是在量程檔位臨界區(qū)),從而導致量程選擇出現(xiàn)錯誤,甚至進入換檔死循環(huán)??紤]到這一點,我們在相鄰兩個量程臨界區(qū)設置±5%量程選擇模糊區(qū),當測量的輸入值落入量程模糊區(qū)時,則不改變放大器的當前增益。經(jīng)過實驗表明,采取模糊量程區(qū)能有效地防止放大器的增益來回跳動現(xiàn)象。
3.3數(shù)據(jù)放大處理
在硬件上做到使測量精度達到均一化的同時,在軟件設計上也進行相應的數(shù)據(jù)“放大”處理。在計算Hi值過程中,先將數(shù)據(jù)“放大”,精度提高到0。1mm。然后進行二進制乘運算,zui后再統(tǒng)一轉(zhuǎn)化為三字節(jié)浮點數(shù)進行浮點數(shù)運算,從而避免精度較低的直接二進制除運算。程序運算中采用了三字節(jié)浮點數(shù)及四字節(jié)BCD碼浮點數(shù)進行流量計算,補償修正后輸出顯示,使儀器的測量精度達到小數(shù)點后四位。
3.4信號隔離處理
對檢測信號通過LM331進行了硬件上的信號隔離;輸入環(huán)節(jié)上增加濾波電容及輸入保護電路。系統(tǒng)的硬件設計遵循“一點接地”的原則,減少系統(tǒng)因電環(huán)路形成的干擾。
3.5可靠性設計
在軟件上進行了可靠性設計,在每個模塊后和程序PROM的空白區(qū)加了軟件陷阱。并在一些重要的跳轉(zhuǎn)指令之間進行軟件冗余設計。此外,還設計了溢出報警,避免顯示錯誤的信息。表1的一組數(shù)據(jù)是采用本儀器測出的實際流量Q和理論計算流量Q的比較,其中流量系數(shù)K=2。3215、N=2。2406。Q值理論計算為
Q=K*exp{N*lnH}(8)
表1實測流量與理論計算流量之比較
從表1可以分析出,采用此儀器測量出的流量Q與理論計算出的流量Q之間的誤差小于0。5%,已滿足了實際應用的精度需求。
4、結(jié)束語
該儀器功能較全,攜帶方便,供電簡單。系統(tǒng)已留出部分硬件資源,以備將來擴展系統(tǒng)的功能(如構(gòu)成主從式渠系運行監(jiān)測系統(tǒng))。若進一步改進,該儀器能有效地應用于水利工程或其它類似工程中,以實現(xiàn)快速、靈活的參數(shù)測量,有著較高的實用推廣價值。