蔣青松,張志杰
(中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點實驗室,太原 030051)
渦流檢測技術(shù)是工業(yè)領(lǐng)域使用最廣泛的無損檢測技術(shù)之一[1-4],也是探測導(dǎo)電元件表層缺陷最合適的方法,對高速軌道,航空發(fā)動機葉片,飛機鉚接件,油氣管道,核電站蒸汽發(fā)生器等的在役檢測都可取得很好的檢測效果[5-9]。此外渦流檢測也大量應(yīng)用于復(fù)合材料的檢測。
Xilinx公司的Zynq7000 系列產(chǎn)品為第一代可擴展處理平臺,是一種可編程片上系統(tǒng)[10-11]。Zynq-7020芯片內(nèi)部集成了FPGA(現(xiàn)場可編程邏輯門陣列)和ARM處理器資源,使其擁有了FPGA的硬件可編程性和ARM的軟件可編程性,具有較高的穩(wěn)定性和靈活性[12-14],可以對感應(yīng)信號進行實時處理和計算,未來也可以提高系統(tǒng)的擴展性。
數(shù)字相敏檢波算法的核心是利用加減乘除基本運算實現(xiàn)復(fù)雜的數(shù)學(xué)運算,假設(shè)激勵線圈的電壓信號為Uj,幅值為UA,感應(yīng)線圈的電壓信號為Ug,幅值為UB。由于數(shù)模轉(zhuǎn)換芯片利用DDS(直接數(shù)字式頻率合成器)結(jié)構(gòu)輸出正弦波給激勵線圈,所以感應(yīng)線圈的信號是同頻率正弦波,二者可表示為
Uj=UAcos(ωt)
(1)
Ug=UBcos(ωt+θ)
(2)
二者相乘可得到
(3)
式中:ω為角頻率;t為信號時間;θ為感應(yīng)信號與激勵信號的相位差。
式(3)中cos(2ωt+θ)是一個周期和為0的高頻分量,如果不用數(shù)字濾波器將其濾除,將消耗大量FPGA部分的片內(nèi)資源,不利于系統(tǒng)未來的擴展,因此利用這個特性可以通過周期累加的方式濾掉高頻分量,最終得到有效值電壓值Uiy,即
(4)
將激勵線圈的電壓信號相位偏移90°,得到Uj90,即
Uj90=UAcos(ωt+90°)=UAsin(ωt)
(5)
將Uj90和模數(shù)轉(zhuǎn)換芯片接收的信號Ug相乘,可得Ui90為
Ui90=Uj90×Ug=UAsin(ωt)×UBcos(ωt+θ)=
(6)
同樣利用累加周期和為0去掉高頻分量得到有效電壓值Ui90y為
(7)
阻抗分解如圖1所示,可由信號的實部I和虛部Q推出幅值和相位。實部和虛部也可以由幅值和相位進行正交分解得到。數(shù)字相敏檢波算法就是利用實部和虛部計算出幅值和相位的。
圖1 阻抗分解示意
復(fù)阻抗的實部是電阻分量,虛部是電抗分量,通過實部和虛部就可以推斷出阻抗的變化情況。感應(yīng)線圈的阻抗受多種因素影響,利用控制變量法可對各因素進行分析。
對Ui90y和Uiy各進行平方后求平方根得Uy。
(8)
相位θ可以通過反正切函數(shù)求得。
(9)
坐標旋轉(zhuǎn)數(shù)字計算機算法(CORDIC)是針對FPGA在數(shù)字信號處理應(yīng)用中計算三角函數(shù)相關(guān)的算法。FPGA利用坐標旋轉(zhuǎn)數(shù)字計算機算法(CORDIC)可以計算均方根和反正切。
CORDIC算法的向量幅度計算應(yīng)用了QR算法,要求輸入的向量進行吉文斯旋轉(zhuǎn),初始向量(x,y)經(jīng)過n次旋轉(zhuǎn)后得到向量(xn,yn)的期望如下
(10)
yn→0
(11)
式中:Kn的值受迭代次數(shù)影響,迭代次數(shù)會影響CORDIC算法的精度。
x,y的迭代式為
(12)
xi+1=xi-di(2-iyi)
(13)
yi+1=yi+di(2-ixi)
(14)
(15)
CORDIC算法計算相角的公式為
zi+1=zi-diarctan(2-i)
(16)
(17)
式中:Kn為伸縮因子;i,n均表示旋轉(zhuǎn)次數(shù);di用以表示不同的旋轉(zhuǎn)方向;di=±1;zi為相位累加器。
該系統(tǒng)AD模數(shù)轉(zhuǎn)換芯片的數(shù)據(jù)位寬達14位,在此基礎(chǔ)上進行算法處理,數(shù)據(jù)位數(shù)只會大于14位,因此算法精度不會影響系統(tǒng)的算法精度。
AD 9240芯片輸出數(shù)字量為14位,采樣率為10 MSPS,為單電源模擬電壓供電,AVDD引腳采用5 V電源供電,數(shù)字引腳DVDD為3.3 V電壓供電,其中AD 9240的輸入范圍是2 V的基準電壓,通過將SENSE引腳與REFCOM引腳連接在一起,VREF引腳就能提供2.5 V的基準電壓。由于AD 9240只能采集正電壓信號,通過將VREF引腳連接到VINA和VINB引腳,可以得到一個2.5 V的偏置電壓,這樣采集信號為-2.5 V~2.5 V。
AD 9240需要一個CLOCK時鐘信號,這個時鐘的最小周期為100 ns,在FPGA部分提供時鐘信號后,AD 9240可以在數(shù)字端輸出14個數(shù)字信號,幅值由DVDD引腳的電源輸入確定,用AD 620作為信號采集的儀表運放,提供高共模抑制比并將模擬信號傳輸給AD 9240。
受激勵頻率影響,線圈的感抗會發(fā)生變化,無法確保AD 9240芯片接收到的信號一直處于-2.5 V~2.5 V之間,因此選用THS7001作為程控增益運放,其具有-22 dB~20 dB的增益范圍。AD 9767輸入為14位數(shù)字信號,采樣率為125 MSPS,具有2通道高速數(shù)模轉(zhuǎn)換芯片,其中AVDD引腳用5 V電源供電,DVDD的引腳的供電需要根據(jù)數(shù)字信號的幅值進行確定。由于FPGA部分的LVCMOS33或LVTTL最大能提供的電壓只有3.3 V,而數(shù)字信號的輸出高電平與DVDD引腳的電壓一致,因此DVDD的電源輸入不應(yīng)選用3.3 V以上的電源。
AD 9767輸出引腳接電阻再接地,將電流轉(zhuǎn)化為電壓后接AD 8066運放,可以將差分電壓信號變?yōu)閱味穗妷盒盘枺越o激勵線圈提供激勵信號,AD 9767需提供一個時鐘信號和一個輸入寫信號,寫信號可以提前于時鐘信號或與時鐘信號一致,用于觸發(fā)AD 9767的轉(zhuǎn)換過程。
由于用到了高速率并行的AD和DA轉(zhuǎn)換,所以極大地增加了所用的Zynq核心板的引腳數(shù)量。多引腳連接件如圖2所示,由于多引腳連接件的存在,高頻信號的走線距離變長,且信號大多平行。這會干擾高頻信號引入串擾,因此為提高系統(tǒng)的穩(wěn)定性,選用74ALVC162244緩沖器,74ALVC162244緩沖器有16個通道,當輸入電壓為3.3 V時,緩沖器可以將輸入高電平提升到約3.3 V,相當于提高了信號的負載能力,加強了系統(tǒng)抵抗電磁干擾的能力,增加了系統(tǒng)的穩(wěn)定性。
圖2 多引腳連接件
采用Altium Designer軟件設(shè)計硬件的原理圖和PCB圖,考慮到布線和噪聲的影響以及成本控制,PCB設(shè)計采用四層布局。
利用直接數(shù)字式頻率合成器可以將所需要的數(shù)字量存儲到ROM(只讀存儲器)中,ROM再將存儲的數(shù)字量發(fā)送到DA中,完成波形的輸出。DDS程序框圖如圖3所示。DDS輸出波形如圖4所示。
圖3 DDS程序框圖
圖4 DDS輸出波形
仿真驗證數(shù)字相敏檢波算法的正確性,使得AD輸入和DA輸出一致,計算相角和幅值。
AD 9767是14位輸入,因此輸出也設(shè)定為14位,將無符號14位數(shù)字量轉(zhuǎn)化為有符號14位數(shù)字量得到信號da_data,設(shè)采集信號ad_data的數(shù)字量幅值和相位與da_data的一致,經(jīng)計算得阻抗實部為33554432。由于移位會導(dǎo)致精度下降,因此得到的實際阻抗實部為33540267。
用實部和虛部賦值到CORDIC算法中,得到相位的計算量約為0 rad,試驗結(jié)果符合驗證規(guī)律。
利用所構(gòu)建的渦流無損檢測系統(tǒng),用信號發(fā)生器作為標準信號源代替感應(yīng)線圈的感應(yīng)信號,檢驗設(shè)計的硬件系統(tǒng)輸出激勵和接收感應(yīng)信號的能力以及數(shù)字相敏檢波算法的正確性。整個系統(tǒng)包括信號發(fā)生器、電源、示波器、Zynq核心板、采集系統(tǒng)板等模塊。檢測系統(tǒng)試驗平臺如圖5所示。利用邏輯分析儀抓取信號發(fā)生器與DA輸出信號進行相位計算并與數(shù)值相敏檢波算法計算的相位進行對照。
圖5 檢測系統(tǒng)試驗平臺
AD 9767輸出的信號周期接近120 μs,Zynq-7020中的FPGA部分設(shè)定了一個計數(shù)器(數(shù)值為6)用于降低時鐘頻率,而系統(tǒng)時鐘頻率為50 MHz,一個頻率需要輸出1 024個點,因此波形驗證無誤。根據(jù)使能開關(guān)的信號就可自由選取激勵通道。
通過信號發(fā)生器給任意一個通道施加激勵,選定接收通道后,用邏輯分析儀抓取AD采樣信號和DA激勵信號,計算出信號的相位差,與算法實際輸出的相位差進行比較。
經(jīng)過數(shù)字相敏檢波算法處理后得到的相位為50°,即采集的輸入信號與DA激勵輸出的信號相位差約為50°。
相位可以描述實部和虛部之間的比例,相位的正確性即驗證了實部和虛部間的比例計算是正確的,即在金屬表面缺陷試驗中,該系統(tǒng)可以正確表現(xiàn)感應(yīng)信號的實部或虛部的變化規(guī)律。
介紹了基于Zynq的多通道渦流無損檢測系統(tǒng)的設(shè)計過程,利用Zynq的FPGA部分進行算法設(shè)計,捕捉渦流無損檢測系統(tǒng)板的通道數(shù)據(jù)。將試驗結(jié)果與邏輯分析儀得到的圖形進行對照,發(fā)現(xiàn)數(shù)值相敏檢波算法計算的相位值是正確的。
設(shè)計的多通道渦流無損檢測系統(tǒng)可以對激勵線圈進行信號激勵,并采集感應(yīng)線圈的微小信號進行放大,激勵通道和感應(yīng)通道可以更改,而采集到的線圈電壓被分解成幅值、相位、實部和虛部值,通過實部或虛部的變化可以對線圈復(fù)阻抗的變化予以量化顯示。