陳大科,顏 耀
(連云港杰瑞電子有限公司,江蘇 連云港 222061)
旋轉(zhuǎn)變壓器和線性差動式位移傳感器(LVDT)均是采用電磁感應(yīng)原理實(shí)現(xiàn)角度和位置的測量,兩者的主要區(qū)別是:旋轉(zhuǎn)變壓器的輸出是一組幅值為sin/cos變換的信號,即信號電壓的平方和是固定值;而LVDT傳感器的輸出是幅值為線性差分變化的信號[1],即信號電壓的“和值”是固定值。
傳統(tǒng)的LVDT到數(shù)字轉(zhuǎn)換方式采用兩步變換:首先通過AD698將LVDT的差分交流信號轉(zhuǎn)換為直流信號,然后再通過A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量。這種轉(zhuǎn)換方法采用開環(huán)處理方式,抗干擾能力差。同時由于A/D轉(zhuǎn)換器存在量化誤差,當(dāng)轉(zhuǎn)換的數(shù)據(jù)不能精確地表示模擬信號時,會出現(xiàn)抖碼(flickering)現(xiàn)象,即數(shù)據(jù)持續(xù)在±1bit之間切換,需要進(jìn)行濾波處理[2]。旋轉(zhuǎn)變壓器到數(shù)字(R/D)轉(zhuǎn)換的集成電路種類較多,有ADI公司的AD2S80、AD2S1210及多摩川AU6802等產(chǎn)品。其中AD2S1210的轉(zhuǎn)換分辨率達(dá)到16位,具有可編程激勵信號和串行數(shù)據(jù)接口,與同類電路相比,具有集成度高和外圍電路簡單的特點(diǎn)。
通過分析AD2S1210轉(zhuǎn)換原理,推導(dǎo)出轉(zhuǎn)換數(shù)據(jù)與LVDT位置量之間的三角函數(shù)關(guān)系,提出一種基于AD2S1210的LVDT信號到數(shù)字轉(zhuǎn)換的方法。首先采用AD2S1210將LVDT信號轉(zhuǎn)換為數(shù)字量,再通過FPGA對數(shù)字量進(jìn)行三角函數(shù)變換,得到LVDT的位置量。由于AD2S1210內(nèi)部的數(shù)字TypeⅡ型跟蹤環(huán)路具有抗1LSB抖動電路,可以避免發(fā)生AD698轉(zhuǎn)換電路中的抖碼問題,因此,具有抗干擾能力強(qiáng)、精度高的優(yōu)點(diǎn)。在機(jī)載設(shè)備中,AD2S1210已應(yīng)用于的航向、航速系統(tǒng)的角度測量,本文的方法拓展了AD2S1210在機(jī)載駕駛桿、油門等位移信號的采集系統(tǒng)的應(yīng)用。
兩線式LVDT傳感器的結(jié)構(gòu)見圖1(a),主要由兩組線圈及一個可移動的鐵心組成,通過鐵心的移動,改變次級線圈的耦合輸出信號電壓[3]。輸出信號見圖1(b),其中機(jī)械零位(NULL)是指鐵心處于中點(diǎn)位置,b是鐵心最大位移值轉(zhuǎn)換為對應(yīng)的角度值。
圖1 LVDT結(jié)構(gòu)框圖及輸出信號
AD2S1210是一款專用的旋轉(zhuǎn)變壓器信號到數(shù)字轉(zhuǎn)換電路,內(nèi)部主要電路如圖2所示。旋轉(zhuǎn)變壓器的模擬信號(sin、cos)經(jīng)過Σ-Δ調(diào)制電路,產(chǎn)生1Bit的數(shù)據(jù)流信號。為了提高了轉(zhuǎn)換精度,該數(shù)據(jù)流信號分別與正、余弦表中的數(shù)據(jù)相乘進(jìn)行幅值調(diào)制,轉(zhuǎn)換為16Bit的數(shù)字sinθ、cosθ信號。數(shù)字sinθ、cosθ信號與內(nèi)部第二級積分器輸出的數(shù)字角度信號φ,經(jīng)過數(shù)字正/余弦乘法器及誤差處理電路后,輸出誤差信號(e)為sin(θ-φ)。該誤差信號經(jīng)過相敏解調(diào)和積分后,形成新的數(shù)字角度φ,再反饋控制數(shù)字正/余弦乘法器,直到誤差為0,實(shí)現(xiàn)旋轉(zhuǎn)變壓器信號到數(shù)字角度φ的轉(zhuǎn)換。
圖2 AD2S1210內(nèi)部主要電路框圖
AD2S1210內(nèi)部包含兩級積分器和補(bǔ)償濾波器,因此整個電路構(gòu)成一個TypeⅡ型跟蹤環(huán)路。其特點(diǎn)是當(dāng)輸入信號以恒定速度變化時,跟蹤轉(zhuǎn)換的誤差為零[4]。其中補(bǔ)償濾波器由積分電路和微分電路級聯(lián)方式實(shí)現(xiàn),電路結(jié)構(gòu)采用數(shù)據(jù)鎖存延時和并行加法方式實(shí)現(xiàn)快速運(yùn)算。例如,在12位分辨率下,補(bǔ)償濾波器(C(z))為(1-az-1)/(1-bz-1),其中極點(diǎn)系數(shù)b為4085/4096,實(shí)現(xiàn)方式為鎖存器的數(shù)據(jù)Y延時后與輸入數(shù)據(jù)K并行相加:
(1)
由式(1)得到:
(2)
同時補(bǔ)償濾波器的輸出數(shù)據(jù)按比例反饋到第一級積分器中,通過1個LSB的遲滯,實(shí)現(xiàn)抗1LSB抖動。
由以上分析可以看出,LVDT輸出信號電壓的“差值”隨LVDT的鐵心位置呈線性變化[5],電壓的“和值”是固定值。AD2S1210的輸入是兩路幅值呈正交關(guān)系的正弦、余弦變化信號[6]。因此,可以通過AD2S1210對LVDT信號轉(zhuǎn)換,然后再通過三角函數(shù)換算,將AD2S1210的數(shù)據(jù)轉(zhuǎn)換為LVDT的位置數(shù)據(jù)。
(3)
式中,ψ為LVDT傳感器位置轉(zhuǎn)換為對應(yīng)的角度值,α為機(jī)械零位對應(yīng)的值,k為比例系數(shù)。
(4)
調(diào)理后的信號如圖3所示。
圖3 LVDT調(diào)理信號
圖3與圖1(b)相比,信號變換范圍為0到1 V,在機(jī)械零位(NULL)時電壓為0.5 V。將式(4)中的VA作為AD2S1210的sinθ信號,VB作為cosθ信號。根據(jù)AD2S1210轉(zhuǎn)換原理,輸入的sinθ和cosθ信號,與內(nèi)部環(huán)路中產(chǎn)生的數(shù)字角度φ的誤差e為
e=sin(θ-φκ)=sinθcosφ-cosθsinφ
(5)
將式(4)代入式(5),得:
(6)
當(dāng)轉(zhuǎn)換結(jié)束時,誤差信號e為0,而AD2S1210的轉(zhuǎn)換結(jié)果為φ,因此由式(6)可以得到ψ為
(7)
即通過三角函數(shù)變換實(shí)現(xiàn)AD2S1210數(shù)據(jù)(數(shù)字角度φ)到LVDT的角度值(位置量ψ)轉(zhuǎn)換。例如,當(dāng)LVDT的位置在NULL點(diǎn)時,由圖3可知,LVDT輸出信號VA、VB為0.5 V,AD2S1210轉(zhuǎn)換的結(jié)果(φ)為45°,由式(7)得LVDT傳感器位置ψ為0°。設(shè)LVDT的測試范圍等效為-90°~+90°,即b為90°,當(dāng)采用13位偏移二進(jìn)制數(shù)表示,機(jī)械零位為1000H,因此式(7)改為
(8)
當(dāng)AD2S1210的轉(zhuǎn)換分辨率設(shè)置為16位時,可以實(shí)現(xiàn)分辨率為13位LVDT轉(zhuǎn)換。其中AD2S1210轉(zhuǎn)換數(shù)據(jù)中的低14位數(shù)據(jù)用于轉(zhuǎn)換為LVDT數(shù)據(jù),最高兩位數(shù)據(jù)作為溢出標(biāo)志位。如圖3所示,設(shè)定的LVDT傳感器在測量范圍為-b~+b內(nèi),輸出VA、VB為0 V~1 V,當(dāng)LVDT傳感器超出設(shè)定測量范圍時,如,當(dāng)VA=1.05 V、VB=-0.05 V時,說明超過+b,并且對應(yīng)AD2S1210轉(zhuǎn)換的角度φ在第二象限。由式(6)得:
(9)
用二進(jìn)制表示為0111 1101 1110 0111。其中最高兩位為01,表示出現(xiàn)進(jìn)位溢出。同樣,當(dāng)VA=-0.05 V、VB=1.05 V時,說明超過-b,并且φ在第四象限,角度為272.726°,用二進(jìn)制表示為1100 0001 1011 0010。其中的高兩位為11,表示出現(xiàn)借位溢出。
LVDT到數(shù)字轉(zhuǎn)換電路由三部分組成(見圖4):信號調(diào)理、R/D轉(zhuǎn)換及R/D數(shù)據(jù)到LVDT數(shù)據(jù)轉(zhuǎn)換電路。
圖4 LVDT到數(shù)字轉(zhuǎn)換電路框圖
圖4中的R/D轉(zhuǎn)換由AD2S1210實(shí)現(xiàn),將調(diào)理電路的模擬信號轉(zhuǎn)換為數(shù)字信號。同時,AD2S1210集成了頻率可編程的正弦波激勵信號源,可作為LVDT傳感器的激勵信號,簡少了電路的外圍元件。AD2S1210的分辨率、激勵頻率等參數(shù)配置可參考該芯片手冊。由于FPGA能夠并行地實(shí)現(xiàn)對AD2S1210配置和數(shù)據(jù)處理,硬件接口設(shè)置比DSP和MCU方便,電路中采用FPGA器件cyclone3 EP3C5M164I7實(shí)現(xiàn)AD2S1210數(shù)據(jù)到LVDT數(shù)據(jù)轉(zhuǎn)換。該芯片具有400 k片上ROM,可采用查表或計算的方式實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換。
采用查表方式實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的方法較為簡單,由圖4看出,AD2S1210輸出的低14位數(shù)據(jù)轉(zhuǎn)換為LVDT的13位數(shù)據(jù)。 FPGA中查找表的設(shè)置為:輸出數(shù)據(jù)寬度為13 bits,數(shù)據(jù)深度為16384。在ROM表中,輸入(地址)是AD2S1210的轉(zhuǎn)換結(jié)果φ,輸出數(shù)據(jù)是按照(8)進(jìn)行計算得到LVDT數(shù)據(jù)。用C語言生成mif文件的代碼如下:
for(i=0;i<16384;i++)/*數(shù)據(jù)深度為16384*/
{ks=sin(3.141592*i/ 32768);
/*φ范圍為0°~90°*/
kc=cos(3.141592*i/ 32768);
temp=(int)(((ks-kc)/(ks+kc)+1)*8192/2);
/*以十六進(jìn)制輸出地址和數(shù)據(jù)*/
fprintf(fp,“%x : %x; ”,i,temp);
}
采用cyclone3 EP3C5M164I7器件,生成的數(shù)據(jù)表占片內(nèi)存儲資源的54%。如果采用片上MEMORY存儲資源較少的FPGA,可以采用如下的近似計算方式。首先計算轉(zhuǎn)換數(shù)據(jù)φ在0到2047范圍區(qū)間,即對應(yīng)的角度(θ)在0°~11.25°范圍內(nèi)的正、余弦函數(shù),近似計算方法如下:
(10)
其中系數(shù)B為20793,上述近似算法的正弦誤差小于誤差0.011°,余弦誤差小于0.001°,能夠保證轉(zhuǎn)換精度。當(dāng)數(shù)據(jù)φ大于2047時,即θ大于11.25°時,通過三角函數(shù)的和差變換計算sin(11.25°×N+θ)及cos(11.25°×N+θ),其中N為整數(shù)。因此需要預(yù)先計算sin(11.25°×N)、cos(11.25°×N)的值,再由AD2S1210數(shù)據(jù)φ的低11位(0°~11.25°范圍),通過式(10)分別計算 cosφ和sinφ。最后,再通過式(8)計算LVDT的數(shù)值。采用cyclone3 EP3C5M164I7實(shí)現(xiàn)上述方法,約占用片上邏輯單元的64%。
采用AD2S1210、cyclone3 EP3C5M164I7器件按圖4搭建驗(yàn)證電路。LVDT傳感器使用MEAS公司的R30A型傳感器,其測角范圍最大為-60°到+60°,線性度2%。設(shè)置AD2S1210產(chǎn)生2.5 kHz的激勵信號,并將R30A傳感器的位置信號轉(zhuǎn)換為數(shù)字量,同時采用北大西洋公司生產(chǎn)的專用的LVDT/RDVT測試儀的測量值作為理論值。測試結(jié)果如表1所示。
表1 LVDT轉(zhuǎn)換測量值
在表1中, 轉(zhuǎn)換電路產(chǎn)生的LVDT數(shù)據(jù)的分辨率為13位,AD2S1210的最高兩位數(shù)據(jù)作為LVDT的溢出標(biāo)志位。由表1可以看出,轉(zhuǎn)換誤差在2個LSB以內(nèi),可以計算出轉(zhuǎn)換的線性度為0.2‰,滿足傳感器的測試要求。目前常用的由AD698與A/D轉(zhuǎn)換組合的LVDT信號到數(shù)字轉(zhuǎn)換電路[7],轉(zhuǎn)換的線性度達(dá)到0.5‰。并且本文的電路比AD698電路需要的元件少,電路調(diào)試簡單,轉(zhuǎn)換數(shù)據(jù)穩(wěn)定。
目前LVDT信號到數(shù)字轉(zhuǎn)換的專用解碼芯片品種較少,并且外圍電路復(fù)雜、抗干擾能力差。本文采用通用的R/D轉(zhuǎn)換器AD2S1210和FPGA設(shè)計了一種LVDT到數(shù)字轉(zhuǎn)換電路,其中AD2S1210的轉(zhuǎn)換數(shù)據(jù)到LVDT數(shù)據(jù)的三角函數(shù)變換由FPGA實(shí)現(xiàn)。因此,本文的方法是一種數(shù)字解算方式的LVDT到數(shù)字轉(zhuǎn)換,具有轉(zhuǎn)換精度高、抗干擾能力強(qiáng)及電路結(jié)構(gòu)簡單的特點(diǎn)。
文中介紹了轉(zhuǎn)換電路原理和設(shè)計方法,給出了查找表數(shù)據(jù)處理方式及近似計算方式的AD2S1210數(shù)據(jù)到LVDT數(shù)據(jù)轉(zhuǎn)換方法和程序代碼。試驗(yàn)結(jié)果表明,本文設(shè)計的LVDT到數(shù)字轉(zhuǎn)換電路,在轉(zhuǎn)換精度、線性度方面優(yōu)于目前常用的AD698與A/D組合的轉(zhuǎn)換方法。