摘 要: 介紹了一種以MSP430F449單片機(jī)為核心的智能流量計(jì),。具體闡述了該流量計(jì)的工作原理、總體設(shè)計(jì)及硬件電路設(shè)計(jì)和軟件設(shè)計(jì)" title="軟件設(shè)計(jì)">軟件設(shè)計(jì),。該流量計(jì)可適用于各種復(fù)雜環(huán)境,,并可以和其它上下游設(shè)備結(jié)合,,實(shí)現(xiàn)現(xiàn)場(chǎng)流量測(cè)量的智能化和多功能化。
關(guān)鍵詞: 流量計(jì) MSP430系列單片機(jī)" title="系列單片機(jī)">系列單片機(jī) 智能儀表
隨著微型計(jì)算機(jī)技術(shù)和嵌入式系統(tǒng)" title="嵌入式系統(tǒng)">嵌入式系統(tǒng)的迅速發(fā)展,以微型計(jì)算機(jī)(單片機(jī)和嵌入式系統(tǒng))取代傳統(tǒng)儀表的常規(guī)邏輯電子線路,開發(fā)新一代的具有某種智能的靈巧儀表, 已成為儀表開發(fā)領(lǐng)域的新趨勢(shì),。MCU(微控制器或單片機(jī))及嵌入式系統(tǒng)等的問(wèn)世和性能的不斷改善,,大大加快了儀器儀表微機(jī)化和智能化的進(jìn)程。MCU本身具有體積小,、功耗低,、價(jià)格便宜等優(yōu)點(diǎn),用它們開發(fā)各類智能產(chǎn)品更具有周期短成本低等優(yōu)點(diǎn),,因此在計(jì)算機(jī)和儀表一體化設(shè)計(jì)中有著更大的優(yōu)勢(shì)和潛力[1],。
流量計(jì)是在線測(cè)量管道內(nèi)流體流量的先進(jìn)儀表,在石油,、化工,、造紙、冶金等行業(yè)中有著普遍的應(yīng)用,,并不斷向智能化的方向發(fā)展,。本文介紹的就是用MSP430F449單片機(jī)開發(fā)的新型智能流量計(jì),。其基本原理是:依靠部件旋轉(zhuǎn),,用光電編碼器" title="光電編碼器">光電編碼器或磁敏" title="磁敏">磁敏傳感器產(chǎn)生電脈沖信號(hào),并送至由單片機(jī)構(gòu)成的流量計(jì)算裝置進(jìn)行處理,。本流量計(jì)采用了數(shù)據(jù)校正,、數(shù)字濾波、多輸出形式,、自診斷,、掉電保護(hù)等智能儀表新技術(shù)以及雙電源供電系統(tǒng)與雙傳感器技術(shù),使其能更適應(yīng)各種復(fù)雜的工作環(huán)境,。
1 總體設(shè)計(jì)
1.1 流量計(jì)總體功能簡(jiǎn)介
智能流量計(jì)組成框圖如圖1所示,。該流量計(jì)共有三種輸入量,分別為模擬輸入量(4~20mA),、熱電阻(Pt1000)模擬輸入量以及用于流量計(jì)算的脈沖量,。而流量計(jì)的輸出量有兩種,分別為脈沖量和模擬量(4~20mA),。通信接口采用RS485串行通信總線,,流量計(jì)的輸出和數(shù)據(jù)通信僅在有外接電源時(shí)工作,無(wú)外接電源時(shí)不工作,,并采用光電隔離,。
該流量計(jì)采用LCD和LED兩種方式進(jìn)行數(shù)據(jù)顯示。其中LCD為字段型顯示,,9位8段,,字體高約20~30mm,有無(wú)外接電源均可正常工作,。LED也為字段型顯示,,8位8段,,字體高約15mm,僅在有外接電源時(shí)工作,。這里為流量計(jì)設(shè)計(jì)的鍵盤與LCD一起形成菜單方式的人機(jī)交互界面,,可以手動(dòng)輸入流量計(jì)測(cè)量所需的各項(xiàng)參數(shù)。
為了精確計(jì)量,,在流量計(jì)設(shè)計(jì)時(shí)還專門外接了DS1302實(shí)時(shí)時(shí)鐘芯片,,以提供精確的時(shí)鐘來(lái)彌補(bǔ)MSP430系列單片機(jī)沒(méi)有實(shí)時(shí)時(shí)鐘模塊的缺陷。該實(shí)時(shí)時(shí)鐘芯片采用三線串行輸入/輸出的方式與單片機(jī)相聯(lián),,操作簡(jiǎn)便,,其連接電路圖如圖2所示。流量計(jì)在使用時(shí)需存儲(chǔ)部分參數(shù),,為此使用了帶I2C總線的EEPROM,。另外本流量計(jì)還采用了雙電源,即采用外接電源(12V)和鋰電池(3.7V)供電,。
1.2 總體特點(diǎn)
(1)自診斷及掉電保護(hù)
為滿足野外工程需要和應(yīng)付突發(fā)的異常情況,,本流量計(jì)采用了雙電源,即外接電源和鋰電池共用,。通過(guò)在系統(tǒng)中設(shè)計(jì)一個(gè)外部中斷,,使流量計(jì)自動(dòng)進(jìn)入不同的工作狀態(tài)。針對(duì)不同的供電狀況,,設(shè)計(jì)了兩種流量傳感裝置(光電編碼器和磁敏傳感器),。并且由于采用的是超低功耗的MSP430系列單片機(jī)并對(duì)系統(tǒng)進(jìn)行了最小功耗設(shè)計(jì),所以即使備用鋰電池也可以長(zhǎng)時(shí)間地進(jìn)行準(zhǔn)確的流量測(cè)量,,保證了數(shù)據(jù)的不丟失,。
(2)自動(dòng)修正測(cè)量誤差
在流量計(jì)中加入熱電阻進(jìn)行溫度測(cè)量,同時(shí)依靠軟件進(jìn)行溫度誤差修正,。并可以通過(guò)手動(dòng)輸入各種不同流體的參數(shù),,提高了流量計(jì)的自適應(yīng)能力以及和其它上游設(shè)備協(xié)同工作的能力。
(3)多點(diǎn)快速檢測(cè)
能對(duì)多個(gè)參數(shù)進(jìn)行快速,、實(shí)時(shí)檢測(cè),,并在軟件中加入了針對(duì)不同參數(shù)的數(shù)字濾波,以抑制各種干擾對(duì)流量計(jì)的影響,。
(4)多輸出形式及數(shù)據(jù)通信
可以輸出模擬量和脈沖量,,并能夠與其它儀表和計(jì)算機(jī)通信,組成大規(guī)模的計(jì)算機(jī)測(cè)量系統(tǒng),。
(5)開發(fā)與維護(hù)簡(jiǎn)便
MSP430系列單片機(jī)有多種開發(fā)軟件可以選擇,,可方便地完成軟件的設(shè)計(jì)、調(diào)試及測(cè)試。
2 硬件設(shè)計(jì)
2.1 MCU
經(jīng)過(guò)仔細(xì)的比較,,MCU最終采用了TI公司的MSP430F449,。MSP430F449是TI公司最近推出的具有極高性價(jià)比的16位MCU,具有功耗低,、存儲(chǔ)容量大,、集成度高、在線支持性強(qiáng)等特點(diǎn),。MSP430F449屬于一種中低端的單片機(jī),,運(yùn)用非常靈活,具有2K字節(jié)的RAM,,60K字節(jié)的FLASH ,,48個(gè)I/O口,三個(gè)16位定時(shí)器,,一個(gè)看門狗定時(shí)器,,兩個(gè)串行通訊口,一個(gè)集成LCD驅(qū)動(dòng)模塊,,一個(gè)模/數(shù)轉(zhuǎn)換模塊(ADC12),,一個(gè)16位的硬件乘法器 。MSP430F449除了正常的工作模式外,,還具有五種低功耗模式,。
2.2 溫度與模擬量的檢測(cè)
流體物性(密度,、粘度)對(duì)儀表特性有較大影響,。由于密度和粘度與溫度關(guān)系密切,而現(xiàn)場(chǎng)溫度的波動(dòng)是難免的,,因此,,要根據(jù)現(xiàn)場(chǎng)溫度采取補(bǔ)償措施才能保持高的計(jì)量精度。為了精確地測(cè)量溫度,,采用Pt1000熱電阻,,其精度可以達(dá)到0.1℃。通過(guò)MSP430F449本身帶有的ADC12模塊,,將采集到的溫度進(jìn)行A/D轉(zhuǎn)換,。ADC12轉(zhuǎn)換內(nèi)核帶有一個(gè)轉(zhuǎn)換結(jié)果寄存器;采樣速度快,,最高可達(dá)到200ksps,;具有12位轉(zhuǎn)換精度,一位非線性微分誤差,,一位非線性積分誤差,;內(nèi)置采樣與保持電路;有多種時(shí)鐘源可以提供給ADC12模塊,而且模塊內(nèi)置時(shí)鐘發(fā)生器,;內(nèi)置溫度傳感器[2],。它使用兩個(gè)可編程的參考電壓(VEref+和VEref-)來(lái)定義轉(zhuǎn)換的最大值和最小值。輸入模擬電壓的最終轉(zhuǎn)換結(jié)果是:
Nadc=4095×■
MSP430F449的ADC參考電壓共有六種情況可以選擇,,對(duì)應(yīng)實(shí)際的情況,,使用了外部輸入的參考電壓。因?yàn)樵跓犭娮璧膶?shí)際使用中,,通過(guò)Pt1000熱電阻將被測(cè)流體的溫度轉(zhuǎn)換為0~2V的模擬電壓,,對(duì)應(yīng)的溫度為0~100℃,故外部的參考電壓(VEref+-VEref-)=2V,。
ADC12模塊有四種轉(zhuǎn)換模式:?jiǎn)瓮ǖ绬未无D(zhuǎn)換,、單通道多次轉(zhuǎn)換、序列通道單次轉(zhuǎn)換,、序列通道多次轉(zhuǎn)換,。因?yàn)閷?duì)溫度和其它被轉(zhuǎn)換的模擬量要進(jìn)行實(shí)時(shí)處理,故應(yīng)采用序列通道多次轉(zhuǎn)換模式,,可以依次轉(zhuǎn)換所選的轉(zhuǎn)換通道并重復(fù)進(jìn)行,。每次轉(zhuǎn)換結(jié)束,轉(zhuǎn)換結(jié)果被存放在ADC12MEM中,,中斷標(biāo)志ADC12IFG置位,,產(chǎn)生中斷服務(wù)請(qǐng)求并對(duì)數(shù)據(jù)進(jìn)行處理。采用序列通道多次轉(zhuǎn)換模式,,可以節(jié)約軟件開發(fā)量和時(shí)間,。
為提高溫度測(cè)量的準(zhǔn)確性和可靠性,在A/D轉(zhuǎn)換后采用數(shù)字濾波來(lái)消除信號(hào)中混入的無(wú)用成分,,以減小隨機(jī)誤差,。因?yàn)闇囟茸兓^為緩慢,故采用中位值濾波,,連續(xù)采樣N(N由測(cè)量周期和采樣頻率決定,,本儀表中定為奇數(shù))次后排序取中位值,得到的值通過(guò)查表可最終確定溫度[3],。最終精度達(dá)到了0.1℃,,滿足了設(shè)計(jì)的要求,在實(shí)際使用中取得了很好的效果,。
2.3 電源選擇電路的設(shè)計(jì)
本套流量計(jì)采用雙電源工作,,為此設(shè)計(jì)了圖3所示的電源診斷電路。當(dāng)流量計(jì)用外接電源供電時(shí),,輸出端Pow為高電平,,電源指示燈亮,。而用鋰電池供電時(shí),輸出端Pow為低電平,,電源指示燈滅,。輸出端Pow與單片機(jī)具有中斷能力的一個(gè)I/O口相連,以中斷的形式使流量計(jì)自動(dòng)進(jìn)入不同的工作狀態(tài),。
2.4 流量變送器件的設(shè)計(jì)
本流量計(jì)采用雙傳感器來(lái)測(cè)量流量,。用外接電源供電時(shí)采用光電編碼器,而用鋰電池供電時(shí)采用磁敏傳感器,。
2.4.1 光電編碼器
本流量計(jì)采用增量式光電編碼器,,它是一種通過(guò)光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器。增量式光電編碼器有A,、B,、Z三相脈沖信號(hào)輸出,當(dāng)正轉(zhuǎn)時(shí),,A相脈沖超前B相脈沖90度(或1/4周期),;當(dāng)反轉(zhuǎn)時(shí),B相脈沖超前A相脈沖90度,。通過(guò)一片GAL16V8將兩路脈沖分檢出來(lái),。但是光發(fā)射管和接收管對(duì)于鋰電池供電的系統(tǒng)而言,功耗顯得太大,。
2.4.2 磁敏傳感器
為在低功耗下使用流量傳感裝置,,采用了ZP系列零功耗磁敏傳感器。它是一種工作時(shí)無(wú)需外加電源的新型傳感器,,為雙磁極交替觸發(fā)工作方式,。如圖4所示,輸出信號(hào)幅值與磁場(chǎng)的變化速度無(wú)關(guān),,可實(shí)現(xiàn)“零速”傳感,,使用壽命在20億次以上,,可以通過(guò)增加小磁體的數(shù)量來(lái)提高精度,。
ZP系列傳感器輸出信號(hào)電流很小,通過(guò)圖5所示電路進(jìn)行后級(jí)處理,。輸出脈沖信號(hào)通過(guò)74HC132進(jìn)行整形后,,被送入單片機(jī)進(jìn)行計(jì)數(shù)。
2.4.3 脈沖信號(hào)處理
光電編碼器和磁敏傳感器的信號(hào)輸出端以及單片機(jī)的信號(hào)選擇端(有外接電源時(shí),,選光電編碼器,,輸出高電平;無(wú)外接電源時(shí),,采用鋰電池供電,,選磁敏傳感器,,輸出低電平)均接到同一片74HC132上,進(jìn)行信號(hào)整形及選擇,,然后信號(hào)輸入到單片機(jī)進(jìn)行計(jì)數(shù),。在MSP430系列單片機(jī)中定時(shí)器資源較為豐富。實(shí)際使用中采用具有定時(shí)/捕獲功能的16位定時(shí)器TIMER_A3對(duì)脈沖計(jì)數(shù),。在MSP430F449中,,定時(shí)器的輸入時(shí)鐘源有四種可以選擇,這里采用外部引腳信號(hào)作為定時(shí)器的輸入時(shí)鐘源,。定時(shí)器的工作模式同樣有四種可以選擇,,這里采用連續(xù)計(jì)數(shù)模式。定時(shí)器為16位,,最大可計(jì)65535個(gè)脈沖,。
2.4.4 數(shù)據(jù)顯示
LED顯示采用MAX7219加8位共陰極LED。MAX7219為8位LED顯示驅(qū)動(dòng)器,,采用三線串行輸入/輸出的方式與單片機(jī)相聯(lián),。電路設(shè)計(jì)和調(diào)試非常方便[4]。
在MSP430F449中存在一個(gè)LCD驅(qū)動(dòng)模塊,,驅(qū)動(dòng)方式有靜態(tài),、2MUX、3MUX,、4MUX四種,。LCD顯示緩存器為20字節(jié),在4MUX方式下,,所有的顯示緩存器位都用于段驅(qū)動(dòng),,這時(shí)可以達(dá)到160段顯示。這里只需將LCD的引腳與單片機(jī)的LCD輸出引腳直接相連,,簡(jiǎn)化了電路的設(shè)計(jì),。
3 軟件設(shè)計(jì)
流量計(jì)對(duì)于溫度變化很敏感,因此在智能流量計(jì)的軟件設(shè)計(jì)中,,應(yīng)該對(duì)流量系數(shù)進(jìn)行溫度補(bǔ)償,。同一臺(tái)流量計(jì)的流量系數(shù)并不是一個(gè)常數(shù),與流體的溫度有緊密的關(guān)系,。
流體的瞬時(shí)流量可以表示為:
q=f/K
而K作為流量系數(shù),,可以通過(guò)下式獲得:
K=PQ×T
T=1+(T1-T0)×PT
其中:
q——瞬時(shí)流量(m3/s) f——每秒的脈沖數(shù)(脈沖數(shù)/s)
K——流量系數(shù)(脈沖數(shù)/m3) T——溫度補(bǔ)償值
T1——當(dāng)前溫度(℃) T0——溫度截距(℃)
PT——溫度系數(shù)(1/℃) PQ——初始流量系數(shù)(脈沖數(shù)/m3)
上述參數(shù)中(T0,PT,,PQ)可由按鍵輸入,。
本流量計(jì)主程序流程圖如圖6所示。在進(jìn)入測(cè)量周期后(本文中定為5s),,首先自我診斷是否有外接電源,,并進(jìn)行相應(yīng)的處理,。然后計(jì)算周期內(nèi)溫度、讀取流量的脈沖數(shù),、計(jì)算流量,,并進(jìn)行數(shù)據(jù)顯示和通信。
本流量計(jì)已在現(xiàn)場(chǎng)運(yùn)行,,通過(guò)與上位機(jī)的數(shù)據(jù)通信,,實(shí)現(xiàn)了多功能和智能化,并且實(shí)時(shí)性好,,操作簡(jiǎn)單,,可以滿足多種流體的測(cè)量。
參考文獻(xiàn)
1 凌志浩.智能儀表原理與設(shè)計(jì)技術(shù).上海:華東理工大學(xué)出版社,,2003.8
2 魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例.北京:北京航空航天大學(xué)出版社,,2002.11
3 徐科軍.自動(dòng)檢測(cè)和儀表中的共性技術(shù).北京:清華大學(xué)出版社,2000
4 張志榮.智能化流量計(jì)量系統(tǒng)的研究與開發(fā).電子技術(shù)應(yīng)用,,2001,;27(2):40~42