牟澤龍, 涂亞慶, 陳 鵬, 馬 新
(1.陸軍勤務(wù)學(xué)院 軍事物流系,重慶 401311;2.重慶澳凱龍醫(yī)療科技股份有限公司,重慶 401120)
科氏流量計(jì)[1~5]在小流量測量時,其接收的拾振信號相對微弱,這對二次儀表的性能提出了更高的要求,早期研究采用單片機(jī)(micro controller unit,MCU)作為二次儀表核心[6],方法運(yùn)算速度極慢,不能嵌入復(fù)雜的信號處理算法,限制了測量精度。文獻(xiàn)[7]采用數(shù)字信號處理器(digital signal processor,DSP)與現(xiàn)場可編程門陣列(field programmable gate array,FPGA)作為二次儀表核心,將系統(tǒng)功能分開,以減輕芯片負(fù)擔(dān),方便實(shí)現(xiàn)系統(tǒng)功能,但增加了成本,且FPGA的軟件開發(fā)相對困難。文獻(xiàn)[8] 采用DSP與MCU作為二次儀表核心,二者并行工作提升整個系統(tǒng)運(yùn)行速度,但該方法往往使得整個系統(tǒng)的軟硬件變得復(fù)雜,同時增加了成本。目前,DSP芯片已經(jīng)具有豐富的外設(shè)模塊,通過合理的編程即可實(shí)現(xiàn)二次儀表的所有功能。
對于信號處理算法,即相位差測量方法,目前主要有過零檢測方法[9]、傅里葉變換方法[10]、鎖相環(huán)方法[11]、正交解調(diào)方法[12]、相頻匹配[13]方法等。相頻匹配法是基于時域信號處理的算法,相較于其他方法其改善了信號非整周期采樣帶來的誤差,減小了噪聲的影響,相位差計(jì)算精度接近克拉美—羅下限。
本文設(shè)計(jì)了基于DSP的小流量科氏流量計(jì)二次儀表硬件和軟件,并嵌入了基于相頻匹配的流量檢測算法,通過小流量測量實(shí)驗(yàn)驗(yàn)證了二次儀表的有效性。
選用TMS320F28335芯片作為二次儀表的核心,通過配套的CCS軟件進(jìn)行C語言編程,下載至DSP芯片中。
硬件主要分為6個功能模塊,如圖1所示。
1)信號調(diào)理模塊:對檢測線圈采集的信號進(jìn)行放大和模擬電路濾波,由模/數(shù)轉(zhuǎn)換器(analog to digital conversion,ADC)轉(zhuǎn)換為數(shù)字量,數(shù)字量進(jìn)入DSP芯片中,根據(jù)相應(yīng)的算法進(jìn)行數(shù)字處理。模塊的放大器采用INA 128儀用放大器,ADC選用24位的TI ADS1255。兩片ADC分別通過其串行外設(shè)接口(serial peripheral interface,SPI)接口與DSP的多通道緩沖串行口(multi-channel butfered serial port,McBSP)連接。
2)模擬驅(qū)動模塊:利用正反饋電路使流量管滿足自激振蕩的幅值和相位條件,同時利用負(fù)反饋電路控制流量管的振動幅值,使科氏流量計(jì)流量管維持穩(wěn)幅振動。模擬驅(qū)動電路主要采用基本的運(yùn)算放大器實(shí)現(xiàn)。
3)溫度采集模塊:采用DS18B20數(shù)字傳感器測量環(huán)境溫度,由DSP進(jìn)行運(yùn)算處理。
4)人機(jī)交互模塊:實(shí)現(xiàn)在上位機(jī)和屏幕上實(shí)時讀取流量測量值,并對運(yùn)算參數(shù)進(jìn)行修改。人機(jī)交互主要依賴于DSP自帶的串行通信接口(serial communication interface,SCI)硬件模塊,同時屏幕選用人機(jī)界面(human machine interface,HMI)串口觸摸屏幕,方便調(diào)試,可擴(kuò)展性強(qiáng)。
5)外擴(kuò)存儲模塊:在實(shí)際開發(fā)中,DSP的軟件嵌入常常需要將程序直接下載到RAM空間中執(zhí)行,以大幅提高每次下載速度,本文片外RAM選用IS61LV6416芯片。
6)電源管理模塊:將輸入的交流電壓轉(zhuǎn)換為各硬件芯片的工作電壓。
圖1 小流量科氏流量計(jì)二次儀表硬件框圖
儀表的各項(xiàng)功能通過模塊化軟件編程實(shí)現(xiàn):
1)程序初始化模塊:包括系統(tǒng)初始化、接口功能初始化、算法參數(shù)初始化等,為DSP的正常運(yùn)行提供基本條件。
2)信號采集模塊:包括ADC采樣和直接存儲器存取(direct memory access,DMA)數(shù)據(jù)讀取2部分。兩片24位高精度ADC將拾振信號模擬量轉(zhuǎn)換為數(shù)字量,送入DSP的McBSP寄存器中,DSP以DMA方式直接讀取。
3)運(yùn)算處理模塊:包括標(biāo)度轉(zhuǎn)換、頻率估計(jì)、相位差估計(jì)、結(jié)果處理4部分。標(biāo)度轉(zhuǎn)換對采樣數(shù)據(jù)進(jìn)行預(yù)處理后利用頻率估計(jì)算法和相位差估計(jì)算法計(jì)算兩路信號的頻率和相位差,根據(jù)儀表的標(biāo)定系數(shù)得到最終的測量結(jié)果。
4)通信模塊:包括上位機(jī)串行通信和屏幕串行通信。根據(jù)指定的協(xié)議編寫相應(yīng)程序,將計(jì)算值轉(zhuǎn)換后,通過DSP內(nèi)置的SCI串行通信模塊進(jìn)行數(shù)據(jù)接收與發(fā)送。
在編寫程序時,為了合理分配硬件資源,當(dāng)程序在信號采集模塊獲得足夠的ADC采樣數(shù)據(jù)時,進(jìn)入通信模塊,當(dāng)獲得足夠采樣數(shù)據(jù)后,再進(jìn)入運(yùn)算處理模塊。同時在實(shí)際調(diào)試中發(fā)現(xiàn),流量信號發(fā)生異常時,運(yùn)算處理模塊會輸出非常大的假數(shù)據(jù),導(dǎo)致DSP內(nèi)存溢出,為解決這個問題,在流量監(jiān)測算法中加入數(shù)據(jù)限制,將過大或過小的數(shù)據(jù)強(qiáng)制置零。系統(tǒng)軟件流程如圖2所示。
圖2 小流量科氏流量計(jì)二次儀表軟件流程
為提高小流量檢測精度,采用基于相位匹配的頻率估計(jì)算法[14]得到信號頻率,在此基礎(chǔ)上采用基于相頻匹配的相位差估計(jì)算法[14],得到相位差值。此種方法基于時域信號處理,改善了信號的非整周期采樣影響,運(yùn)算速度快,受噪聲的影響較小,設(shè)科氏流量計(jì)的2路離散拾振信號為
x(n)=Acos(nω+θ1),y(n)=Bcos(nω+θ2),1≤n≤N
(1)
式中N為x(n),y(n)的長度;A,B分別為x(n),y(n)的幅度;θ1,θ2分別為x(n),y(n)的初相位;ω為x(n),y(n)的頻率。
1)計(jì)算其中1路采樣信號x(n)的自相關(guān)信號
(2)
式中k≤round(0.5(N-1)),round(x)為四舍五入取整。
2)利用式(3)對拾振信號進(jìn)行粗略的頻率估計(jì)
(3)
3)利用式(4)對頻率粗估計(jì)值ω1進(jìn)行修正,即得到頻率估計(jì)的精確值ω0,本文以ω0作為采樣信號的頻率ω
(4)
(5)
2)計(jì)算x(n),y(n)2路正弦信號及其正交分量的互相關(guān)信號r1,N(i)和r2,N(i)
(6)
3)互相關(guān)信號r1,N(i)和r2,N(i)的期望為
E[r1,N(i)]=ABcos(iω+θ1)E[r2,N(i)]
=ABsin(iω+θ2)
(7)
2路傳感器信號的相位差為
Δθ=θ2-θ1=arctan(r2,N(0)/r1,N(0))
(8)
從式(8)可以看出,基于相頻匹配的相位差估計(jì)算法,不受2路傳感器信號幅值的影響,這在實(shí)際應(yīng)用中非常有價(jià)值,因?yàn)閷?shí)際二次儀表信號調(diào)理電路并不能做到2路傳感器信號幅值完全一致,總會受到印刷電路板(printed circuit board,PCB)布線、元器件差異等的影響。
本文設(shè)計(jì)的小流量科氏流量計(jì)二次儀表實(shí)物如圖3所示,實(shí)現(xiàn)了需求功能。為了驗(yàn)證設(shè)計(jì)的二次儀表性能,分別進(jìn)行了模擬電信號測試和小流量實(shí)測實(shí)驗(yàn)。
圖3 小流量科氏流量計(jì)二次儀表實(shí)物
利用F20A型數(shù)字合成函數(shù)信號發(fā)生器生成兩路頻率相同、幅值相同、相位差可調(diào)的正弦信號作為模擬拾振電信號,將信號直接送入二次儀表的拾振信號輸入端,測試其頻率計(jì)算和相位差計(jì)算的效果,結(jié)果如表1、表2所示。
可見,頻率從10~200 Hz變化時,相對誤差小于0.5 %,相位差從0.1°~2°變化時,相對誤差小于0.6 %,說明二次儀表測量性能良好,其硬件和軟件設(shè)計(jì)方法可行。
表1 模擬正弦電信號的頻率測量結(jié)果
表2 模擬正弦電信號(60 Hz)的相位差測量結(jié)果
為了測試小流量科氏流量計(jì)二次儀表流量測量的實(shí)際性能,將一次儀表與二次儀表組裝,選用精度較高的蠕動泵和水作為流量源,對0~3kg/h的小流量進(jìn)行測量驗(yàn)證。流量測量算法直接輸出相位差計(jì)算結(jié)果,不能直接作為流量測量值。根據(jù)相位差與流量值的線性關(guān)系,在測量之前對二次儀表進(jìn)行校準(zhǔn),記錄給定流量值下的相位差計(jì)算值, 將給定流量值和相位差計(jì)算值分別作為橫坐標(biāo)和縱坐標(biāo)繪制折線圖,如圖4所示,可見圖形近似一條直線,說明相位差與流量值近似成一次函數(shù)的線性關(guān)系,校準(zhǔn)可靠。將給定流量值作為一次函數(shù)的因變量y,將相位差計(jì)算值作為自變量x,利用最小二乘法計(jì)算得到一次函數(shù)的斜率k與截距b,即可將相位差計(jì)算值轉(zhuǎn)化為流量測量值,采用校準(zhǔn)后的二次儀表測量給定流量值,結(jié)果如表3所示。
圖4 二次儀表校準(zhǔn)情況
表3 小流量測量結(jié)果
分析測量結(jié)果發(fā)現(xiàn),現(xiàn)場小流量實(shí)測的精度略低于函數(shù)信號發(fā)生器生成信號的測量精度,這是一次儀表產(chǎn)生的拾振信號信噪比略低于函數(shù)發(fā)生器生成信號所致,但測量誤差仍可控制在1 %以內(nèi),說明二次儀表進(jìn)行現(xiàn)場小流量實(shí)測時具有較高的精度。
本文設(shè)計(jì)了以DSP為核心的小科氏流量計(jì)二次儀表,通過嵌入式編程實(shí)現(xiàn)了基于相頻匹配的頻率估計(jì)算法和的相位差估計(jì)算法,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證,對小流量科氏流量計(jì)的研制進(jìn)行了有益的探索。結(jié)果表明,小流量科氏流量計(jì)二次儀表的研制方法可行,能以較高的精度實(shí)時測量小流量的質(zhì)量流量。