李 昌周松斌
(廣東省科學(xué)院智能制造研究所,廣東 廣州 510075)
電渦流位移傳感器,用于非接觸式測(cè)量傳感器與金屬表面的位移。其原理是:激勵(lì)信號(hào)加載在感應(yīng)線圈上,感應(yīng)線圈周圍存在交變磁場(chǎng),該磁場(chǎng)靠近金屬物體時(shí)產(chǎn)生渦流效應(yīng)。受渦流效應(yīng)的影響,線圈的損耗與電感量發(fā)生變化。線圈靠近不同金屬材料時(shí),線圈電感量變化方向不確定,但線圈損耗一定變大[1]。本文采用通過(guò)測(cè)量線圈損耗的大小來(lái)測(cè)量線圈位移。
目前電渦流位移傳感器理論研究比較充分,而電渦流位移傳感器設(shè)計(jì)方面還沒(méi)有完善的方案。從已有文獻(xiàn)中發(fā)現(xiàn),電渦流位移傳感器一般采用振蕩器或者DDS 產(chǎn)生激勵(lì)信號(hào),用檢波電路或者絕對(duì)值電路測(cè)量線圈兩端信號(hào)幅度作為輸出[2,3]。為了減小溫漂、提高穩(wěn)定性,采用差分檢測(cè)技術(shù)[4,5]或神經(jīng)網(wǎng)絡(luò)擬合、單片機(jī)擬合的方法[6]來(lái)實(shí)現(xiàn)線性化輸出[7,8]。傳感器包含多個(gè)電路模塊,系統(tǒng)較為復(fù)雜,難以集成在安裝空間較小的探頭中。當(dāng)激勵(lì)頻率達(dá)到100 kHz 時(shí),絕對(duì)值電路精度下降。絕對(duì)值電路只能檢測(cè)線圈信號(hào)的幅度,線圈信號(hào)與激勵(lì)信號(hào)相位差無(wú)法測(cè)量,所以無(wú)法提取線圈損耗的大小。
STM32F3 序列單片機(jī)具有DMA 傳輸?shù)腄AC 與ADC,并且具有浮點(diǎn)運(yùn)算器。DMA 控制DAC 輸出正弦表,可產(chǎn)生激勵(lì)信號(hào);DMA 控制雙路ADC 采樣,可同時(shí)采集激勵(lì)信號(hào),響應(yīng)信號(hào);采樣信號(hào)用數(shù)字鎖相放大器進(jìn)行幅度和相位測(cè)量[9];根據(jù)激勵(lì)信號(hào),響應(yīng)信號(hào)的幅度和相位,計(jì)算線圈阻抗,阻抗實(shí)部為線圈損耗;再用實(shí)驗(yàn)的方法獲取位移與損耗的數(shù)值關(guān)系;最后根據(jù)該數(shù)值關(guān)系實(shí)現(xiàn)傳感器輸出線性化。
電渦流位移傳感器的電路結(jié)構(gòu)如圖1 所示。包含電流源激勵(lì)電路、STM32F3 單片機(jī)、輸出電路。
圖1 電渦流位移傳感器電路結(jié)構(gòu)
其中STM32F3 單片機(jī)DAC1 輸出正弦采樣序列,形成信號(hào)U0。圖中A1 為運(yùn)放,信號(hào)U0通過(guò)緩沖器A2 產(chǎn)生激勵(lì)信號(hào)U1,將U1的幅度與相位用復(fù)數(shù)表示。U1加載在R1兩端,形成電流I1。電流I1流過(guò)傳感器線圈L1與電阻R2上,在運(yùn)放A1 輸出端產(chǎn)生電壓U2。R2與傳感器線圈L1串聯(lián),用來(lái)減少信號(hào)相移,保證運(yùn)放工作時(shí)的相位裕量。R1、R2為精密電阻,A3 為輸出電路。
測(cè)量時(shí),L1、R2串聯(lián)阻抗設(shè)為,作為一個(gè)整體測(cè)量。得到后減去R2即可得到L1的阻抗。對(duì)于,加載在兩端電壓為U2。將U2的幅度與相位用復(fù)數(shù)表示。流過(guò)的電流為=1,通過(guò)采集U2、U1可得到兩端的電壓與流過(guò)的電流,進(jìn)而計(jì)算=1的數(shù)值。
單片機(jī)ADC1、ADC2 對(duì)U2、U1,同步采樣得到采樣序列U2(n)、U1(n)。采用數(shù)字鎖相放大器的方法測(cè)量、的幅度與相位,DAC2 用于輸出測(cè)量結(jié)果。
數(shù)字鎖相放大器由正交參考信號(hào)、數(shù)字相乘器、數(shù)字低通濾波器組成。如圖2 所示,X(t)為輸入信號(hào),sin(ωt)與cos(ωt)為兩路正交參考信號(hào)。輸入信號(hào)與正交參考信號(hào)相乘對(duì)應(yīng)的輸出信號(hào)分別為YI(t)與YQ(t);信號(hào)YI(t)與YQ(t)經(jīng)過(guò)低通濾波器輸出信號(hào)分別為I(t)與Q(t)。
圖2 數(shù)字鎖相放大器結(jié)構(gòu)
將輸入信號(hào)定義為X(t)=Asin(ωt+φ),可得:
經(jīng)過(guò)低通濾波器后,YI(t)與YQ(t)中交流分量被濾除,輸出直流分量:
根據(jù)式(3)、(4)可得輸入信號(hào)X(t)的幅度A與相位φ分別為:
根據(jù)式(5)、(6)可求得信號(hào)的幅度A與相位φ,其中相位φ為采樣信號(hào)與參考信號(hào)之間的相位差。
在單片機(jī)DMA 控制器的操作下,設(shè)置激勵(lì)信號(hào)S1的頻率為f。ADC1、ADC2 進(jìn)行同步采樣,采樣率為fs,采樣率fs為激勵(lì)信號(hào)頻率f的N倍,這樣每個(gè)信號(hào)周期有N個(gè)采樣點(diǎn)。對(duì)信號(hào)U2、U1進(jìn)行同步采樣得到采樣序列U2(n)、U1(n)。在單片機(jī)內(nèi)部生產(chǎn)正交參考信號(hào):。采樣序列與正交參考信號(hào)的樣點(diǎn)數(shù)都為kN個(gè),k為整數(shù)。
設(shè)信號(hào)U2(n)的幅度為A2,相位為φ2;信號(hào)U1(n)的幅度為A1,相位為φ1??傻?
由于STM32F3 序列單片機(jī)無(wú)法實(shí)現(xiàn)同時(shí)采樣。ADC1 和ADC2 之間存在固定的采樣觸發(fā)間隔,所以要進(jìn)行相位修正。設(shè)觸發(fā)間隔為ti,激勵(lì)信號(hào)頻率f,采樣相位差φi=2πfti。假設(shè)信號(hào)U2(n)采樣相位超前,對(duì)測(cè)量得到的信號(hào)進(jìn)行修正得:
由于單片機(jī)計(jì)算反正切函數(shù)和做除法運(yùn)算時(shí),需要消耗較多的時(shí)間,不能發(fā)揮浮點(diǎn)運(yùn)算器的優(yōu)勢(shì),計(jì)算IU2c與QU2c時(shí),根據(jù)cos(φ2-φi)=cos(φ2)·cos(φi)+sin(φ2)·sin(φi)求解。用乘法運(yùn)算代替反三角函數(shù)運(yùn)算,減少運(yùn)算時(shí)間。
根據(jù)式(9)~式(12)可得:
根據(jù)式(13)、式(14)可得:
根據(jù)電渦流位移傳感器的電路結(jié)構(gòu),電感線圈L1的阻抗為:
根據(jù)式(15)、(16)可計(jì)算線圈L1的損耗RL1為:
STM32F3 序列單片機(jī)的DAC 響應(yīng)頻率達(dá)到1 MHz。定時(shí)器觸發(fā)DMA 向DAC1 傳輸正弦序列,觸發(fā)頻率為1 MHz。用DMA 循環(huán)的方式傳輸10 個(gè)點(diǎn)組成的正弦序列,輸出100 kHz 的激勵(lì)信號(hào)。單片機(jī)ADC 采樣頻率最高能到5 MHz。定時(shí)器觸發(fā)ADC1 與ADC2 同步采樣,觸發(fā)頻率為1.2 MHz,相當(dāng)于激勵(lì)信號(hào)每個(gè)周期采集12 個(gè)點(diǎn)。采樣結(jié)果由DMA 傳輸,用DMA 循環(huán)傳輸?shù)姆绞?,每個(gè)循環(huán)傳輸240 個(gè)采樣樣點(diǎn)。DAM 傳輸有兩個(gè)中斷,分別是DMA 半數(shù)中斷與DMA 完成中斷。正交參考信號(hào)一個(gè)周期也預(yù)置為12 個(gè)點(diǎn),長(zhǎng)度為120 個(gè)點(diǎn)的浮點(diǎn)數(shù)。在兩個(gè)DMA 中斷內(nèi),根據(jù)兩路采樣信號(hào)和兩個(gè)正交參考信號(hào),通過(guò)數(shù)字鎖相放大算法計(jì)算線圈損耗;再根據(jù)損耗和位移關(guān)系,用數(shù)據(jù)擬合的方法得到位移;最后把位移大小輸出到DAC2。
圖3 程序的基本流程
傳感器線性校準(zhǔn)和溫漂補(bǔ)償通過(guò)單片機(jī)算法實(shí)現(xiàn)。首先用實(shí)驗(yàn)的方法收集傳感器線圈在不同溫度Tn,不同位移Dn對(duì)應(yīng)的損耗值Rn,在單片機(jī)的后臺(tái)程序采集線圈溫度Tx;接著根據(jù)實(shí)驗(yàn)收集的數(shù)據(jù),求解出Tx最接近的位移Dx與對(duì)應(yīng)的損耗值Rx;再用最小二乘法,可擬合得到一個(gè)多項(xiàng)式函數(shù);最后在采樣DMA 中斷程序中,計(jì)算結(jié)果代入該多項(xiàng)式函數(shù),可得線性校準(zhǔn)后的位移。詳細(xì)過(guò)程參考?高動(dòng)態(tài)電渦流位移傳感器溫度實(shí)時(shí)補(bǔ)償算法?[10]。
傳感器靜態(tài)測(cè)試裝置如圖4。用鐵架臺(tái)安裝各個(gè)單元,從上到下分別為電渦流傳感器、金屬圓盤、支撐柱、微調(diào)Z軸。其中微調(diào)Z軸調(diào)整精度為10 μm。
圖4 傳感器靜態(tài)測(cè)試裝置
表1 是實(shí)驗(yàn)得到的線圈損耗與位移關(guān)系表。實(shí)驗(yàn)中使用錳銅絲繞制線圈,錳銅絲溫漂低,有利于提高傳感器的穩(wěn)定性。線圈感應(yīng)對(duì)象為2 mm 厚的鋁板。線圈磁場(chǎng)有效作用距離大約等于線圈半徑[11],實(shí)驗(yàn)用的線圈半徑為21.6 mm,最大測(cè)量距離設(shè)定為10 mm。
表1 線圈損耗與位移(25 ℃)
采樣DMA 中斷內(nèi)測(cè)量線圈損耗,經(jīng)過(guò)線性校準(zhǔn)和溫漂補(bǔ)償算法[10]得到線圈的位移。位移大小通過(guò)DAC2 輸出。實(shí)驗(yàn)測(cè)量線圈位移量與DAC2 輸出電壓,如表2。傳感器供電電壓為24 V,工作電流為34 mA,線性度為0.51%。
根據(jù)表2 數(shù)據(jù)可繪制線圈位移與輸出電壓關(guān)系圖,如圖5 所示。
圖5 線圈位移與輸出電壓
表2 線圈位移與輸出電壓
動(dòng)態(tài)測(cè)試裝置包含電機(jī)、可轉(zhuǎn)動(dòng)的亞克力圓盤組成的電動(dòng)轉(zhuǎn)盤。電動(dòng)轉(zhuǎn)盤上貼有金屬箔,當(dāng)電渦流傳感器接近轉(zhuǎn)盤,傳感器能夠間歇性、周期性地感應(yīng)到金屬面和非金屬面。傳感器輸出信號(hào)呈方波狀,通過(guò)測(cè)量方波邊沿跳變時(shí)間,可得到傳感器的響應(yīng)時(shí)間。圖6 為動(dòng)態(tài)測(cè)試裝置,圖7 為輸出波形。
圖6 動(dòng)態(tài)測(cè)試裝置
由圖7 動(dòng)態(tài)輸出波形可知,傳感器輸出的最大值與最小值之間,需要的跳變時(shí)間為1.820 ms,具有較高的動(dòng)態(tài)響應(yīng)能力。
圖7 傳感器動(dòng)態(tài)測(cè)試波形
數(shù)字鎖相放大器不需要外部參考信號(hào),就能夠準(zhǔn)確地測(cè)量采集信號(hào)的幅度與相位,相比起傳統(tǒng)的幅度相位測(cè)量方法,具備結(jié)構(gòu)簡(jiǎn)單,精度高,穩(wěn)定性好等優(yōu)點(diǎn)。STM32F3 序列單片機(jī)集成高速DAC、ADC,既可以輸出激勵(lì)信號(hào),又可采集響應(yīng)信號(hào);同時(shí)包含浮點(diǎn)運(yùn)算器,可做數(shù)字信號(hào)處理。結(jié)合數(shù)字鎖相放大器與STM32F3 序列單片機(jī)的特點(diǎn),實(shí)現(xiàn)了一種電路結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性高、線性度好、動(dòng)態(tài)響應(yīng)高的電渦流位移傳感器。