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