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