于亞龍,孫小燕,胡友旺
(高性能復(fù)雜制造國家重點(diǎn)實(shí)驗(yàn)室 中南大學(xué) 機(jī)電工程學(xué)院,湖南 長沙 410083)
圓柱殼體振動陀螺是一種哥式振動陀螺,它利用諧振子振動產(chǎn)生的駐波相對于諧振子本身的滯后效應(yīng),且滯后的角度與轉(zhuǎn)速成正比的原理進(jìn)行工作[1],具有精度高、能耗低、啟動快、抗干擾性好、制造難度低等優(yōu)點(diǎn),極具發(fā)展?jié)摿2~6]。由于材料不均勻、加工誤差、電極粘貼誤差以及諧振子安裝誤差等的存在,陀螺會產(chǎn)生頻率裂解、振型偏移和阻尼分布不均勻等性能不足,進(jìn)而引起一定的零偏漂移和陀螺靈敏度的降低等問題[7,8]。要提升陀螺的性能,需要通過頻率修調(diào)工作來降低它的頻率裂解。頻率裂解降得越低,陀螺的性能越高;而頻率裂解需要高精度的檢測技術(shù)來作為支撐。
英國的通用電氣航空電子設(shè)備有限公司較早進(jìn)行了圓柱殼體振動陀螺的研究[9],但目前在圓柱殼體振動陀螺的研究和制造方面處于領(lǐng)先地位的是Watson公司和Innalabs公司[10,11]。國防科技大學(xué)陶溢等人從結(jié)構(gòu)、制造工藝以及振動理論方面對圓柱殼體振動陀螺進(jìn)行了系統(tǒng)分析,為國內(nèi)圓柱殼體振動陀螺的研究奠定了基礎(chǔ)[1]。此后,謝笛等人通過數(shù)字化測控技術(shù)實(shí)現(xiàn)了對于圓柱殼體振動陀螺的控制[12],雖然他們的測控技術(shù)較為成熟,但都是基于陀螺的整體工作系統(tǒng)的控制,并不是直接應(yīng)用于頻率修調(diào)工作,不具有針對性,且系統(tǒng)較為復(fù)雜。
針對圓柱殼體陀螺的頻率修調(diào)工作,本文提出一種基于FPGA、單片機(jī)和MFC程序的用于圓柱殼體振動陀螺頻率及裂解值的精確檢測方法,為頻率修調(diào)提供重要支撐技術(shù),為圓柱殼體振動陀螺技術(shù)發(fā)展奠定基礎(chǔ)。
本文采用相位控制技術(shù)結(jié)合自動增益控制(automatic gain control,AGC)技術(shù)的方式使圓柱殼體振動陀螺的諧振子產(chǎn)生自激振動,信號流圖如圖1所示,其中Ri為諧振子等效電阻,Li為諧振子等效電感,Ci為諧振子等效電容,C0為壓電電極的靜電容,ni為流控電流源的轉(zhuǎn)移電流比[1]。在信號流圖1中,諧振子、壓電電極、移相器、AGC、放大器和帶通濾波器組成環(huán)路,當(dāng)環(huán)路滿足自激振蕩的條件時(shí),諧振子將產(chǎn)生諧振,其諧振環(huán)路輸出的信號為正弦信號。
圖1 自激振動信號流圖
針對諧振子電極的輸出信號,本文采用一種基于現(xiàn)場可編程門陣列(field prgrammable gate array,FPGA)和單片機(jī)的檢測方法。FPGA的時(shí)序邏輯能力較強(qiáng),將其作為信號的頻率測量模塊,單片機(jī)作為控制模塊。諧振子電極的輸出信號為一正弦波,不能直接接入FPGA的引腳,需要將其通過波形整形轉(zhuǎn)為TTL信號再接入FPGA。FPGA將測得的頻率數(shù)據(jù)通過spi與單片機(jī)通信,將數(shù)據(jù)傳輸給單片機(jī)。單片機(jī)對其進(jìn)行計(jì)算得到頻率值,并實(shí)時(shí)顯示在液晶屏上,同時(shí)通過串口通信將頻率值上傳給PC端。
等精度法測頻原理是一種測量精度與被測頻率無關(guān)的測頻電路,圖2(a)為等精度法的模塊圖,其中CNT1和CNT2均為可控的多位高速計(jì)數(shù)器,ENA1和ENA2分別為它們的計(jì)數(shù)使能端,CLK1和CLK2分別為標(biāo)準(zhǔn)信號fs和被測信號fx的輸入端,原理圖如圖2(b)所示。
圖2 等精度法模塊與原理
開始測頻前,需要通過清零信號CLR將兩個計(jì)數(shù)器和D觸發(fā)器清零。在測頻未開始時(shí),預(yù)置閘門信號處于低電平狀態(tài),D觸發(fā)器的Q端輸出低電平,計(jì)數(shù)器CNT1和CNT2不工作。測頻開始時(shí),預(yù)置閘門信號上升沿到來,此時(shí)計(jì)數(shù)器并未開始計(jì)數(shù),而是等到被測信號的上升沿到來時(shí),D觸發(fā)器的Q端才變?yōu)楦唠娖剑?個計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)經(jīng)過T1秒后,預(yù)置閘門信號下降沿到來時(shí),2個計(jì)數(shù)器并不會馬上停止計(jì)數(shù),而是等到被測信號的上升沿到來時(shí),才通過D觸發(fā)器將2個計(jì)數(shù)器同時(shí)關(guān)閉,一次測頻結(jié)束。在測量過程中,因?yàn)閒x計(jì)數(shù)的開始和結(jié)束時(shí)間都是由被測信號自身的上升沿觸發(fā)的,所以,在閘門開啟時(shí)間T2內(nèi)對于被測信號周期數(shù)的計(jì)數(shù)值Nx無誤差。若將一次實(shí)際閘門時(shí)間T2中的被測信號計(jì)數(shù)值記為Nx,標(biāo)準(zhǔn)頻率信號的計(jì)數(shù)值記為Ns,則有fx/Nx=fs/Ns。鑒于標(biāo)準(zhǔn)頻率fs的誤差很小,忽略fs誤差的情況下,等精度測頻的相對誤差可表示為[11~15]
(1)
其中,fxe為被測信號頻率的準(zhǔn)確值。由式(1)可知等精度法測量頻率的相對誤差只與閘門時(shí)間和標(biāo)準(zhǔn)信號的頻率有關(guān),而與被測信號的頻率大小無關(guān)。閘門時(shí)間越長,標(biāo)準(zhǔn)頻率越高,則被測頻率的相對誤差越小。
若閘門時(shí)間為500 ms,標(biāo)準(zhǔn)信號頻率為150 MHz,則相對誤差為
(2)
由于等精度測頻法與被測信號的頻率無關(guān),所以,無論被測信號頻率為多少,測量的相對誤差均為0.000 001 3%。
FPGA的總體程序模塊原理如圖3所示,包含鎖相環(huán)倍頻模塊、等精度測頻模塊、數(shù)據(jù)鎖存模塊和spi通信模塊。
圖3 FPGA模塊原理
鎖相環(huán)倍頻模塊用于將外部晶振時(shí)鐘的頻率信號進(jìn)行倍頻,以產(chǎn)生更高頻率的標(biāo)準(zhǔn)信號來作為系統(tǒng)的時(shí)鐘。本文FPGA的外接晶振為50 MHz的有源晶振,經(jīng)過倍頻模塊的3倍頻將產(chǎn)生150 MHz的時(shí)鐘,該時(shí)鐘用于整個系統(tǒng)工作的系統(tǒng)時(shí)鐘。
等精度測頻模塊主要功能是通過FPGA程序?qū)崿F(xiàn)上述的等精度測頻原理,其主要包括延時(shí)消抖模塊、待測信號選擇模塊、閘門時(shí)間控制模塊和計(jì)數(shù)模塊。當(dāng)正弦信號通過比較器轉(zhuǎn)換為TTL信號后,信號可能會產(chǎn)生邊緣抖動,該抖動信號的頻率較高(脈寬較窄),因此可以利用此特性,通過延時(shí)來消除信號的抖動。在延時(shí)消抖模塊中,通過寄存器來實(shí)現(xiàn)延時(shí),同時(shí)達(dá)到消除抖動的目的。閘門時(shí)間控制模塊主要用于控制閘門的打開時(shí)間,而閘門的打開時(shí)間直接影響測量的精度,因此,閘門時(shí)間控制模塊是整個等精度頻率測量模塊的核心部分。同時(shí),閘門時(shí)間控制模塊也控制著計(jì)數(shù)模塊計(jì)數(shù)器的計(jì)數(shù)進(jìn)程。計(jì)數(shù)模塊則主要用于測量待測信號和標(biāo)準(zhǔn)信號在閘門時(shí)間內(nèi)的周期個數(shù),并將這些數(shù)據(jù)傳給計(jì)數(shù)值接口供其他模塊使用。
單片機(jī)程序流程為:端口初始化,系統(tǒng)時(shí)鐘初始化,液晶初始化,串口初始化,從FPGA讀數(shù)據(jù),計(jì)算和顯示頻率,頻率值上傳。單片機(jī)上電之后對端口、系統(tǒng)時(shí)鐘、串口以及液晶屏進(jìn)行初始化,然后通過spi從FPGA讀取數(shù)據(jù),并利用數(shù)據(jù)計(jì)算得到頻率值,最后將頻率值顯示并上傳給PC端。單片機(jī)從FPGA獲取的數(shù)據(jù)為閘門時(shí)間內(nèi)待測信號的周期數(shù)Nx和標(biāo)準(zhǔn)信號的周期數(shù)Ns,通過公式fx/Nx=fs/Ns可計(jì)算得到待測信號的頻率fx,其中,fs為已知的標(biāo)準(zhǔn)信號頻率即FPGA的系統(tǒng)時(shí)鐘頻率150 MHz。
頻率檢測過程中,由于陀螺諧振子所處環(huán)境的溫度、濕度等因素的變化,其頻率值會有一定的波動,進(jìn)而對頻率檢測產(chǎn)生影響。為了能夠得到更為可靠的數(shù)據(jù),并實(shí)現(xiàn)數(shù)據(jù)的存儲功能,開發(fā)了一種基于C++的MFC程序。該程序的主要功能包括:串口數(shù)據(jù)接收和轉(zhuǎn)換、數(shù)據(jù)去干擾、最小二乘處理和數(shù)據(jù)導(dǎo)出。其流程框圖如圖4(a)所示。程序開始運(yùn)行后,從串口讀取數(shù)據(jù)并將其轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),然后判定數(shù)據(jù)是否為干擾數(shù)據(jù),如果是干擾數(shù)據(jù)則重新讀取數(shù)據(jù),如果是非干擾數(shù)據(jù)則進(jìn)行存儲。當(dāng)數(shù)據(jù)存儲到了120個時(shí),用這120個數(shù)據(jù)進(jìn)行最小二乘擬合,判斷最小二乘擬合的標(biāo)準(zhǔn)差是否超過設(shè)置的標(biāo)準(zhǔn)差極限,如果小于極限值則把最小二乘擬合的頻率值進(jìn)行顯示和記錄。FPGA每500 ms測一次頻率值,那么使用120個數(shù)據(jù)進(jìn)行最小二乘擬合可以得到60 s內(nèi)的穩(wěn)定頻率值,可以降低外部環(huán)境對于頻率的影響。
程序界面如圖4(b)所示,主要包含串口選擇、標(biāo)準(zhǔn)差極限設(shè)置、實(shí)時(shí)頻率顯示區(qū)、穩(wěn)定頻率顯示區(qū)、標(biāo)準(zhǔn)差上限設(shè)置區(qū)、清除緩存按鈕和數(shù)據(jù)導(dǎo)出按鈕。該程序可以實(shí)時(shí)顯示接收到的數(shù)據(jù)以及最小二乘處理后的穩(wěn)定頻率數(shù)據(jù),同時(shí)還能將接收的數(shù)據(jù)導(dǎo)出存儲。
圖4 MFC程序框圖及界面
等精度測頻實(shí)驗(yàn)平臺由圓柱殼體陀螺、激勵電路板、FPGA—單片機(jī)模塊、信號調(diào)理模塊、TTL-USB模塊等組成。其中,F(xiàn)PGA—單片機(jī)模塊為集合了FPGA和單片機(jī)的功能板,TTL-USB模塊起到連接單片機(jī)串口和PC端的USB接口的作用。打開直流電源將諧振激勵電路上電,諧振子起振,待振動穩(wěn)定后,打開FPGA—單片機(jī)電源。諧振信號從諧振環(huán)路引出,經(jīng)整流模塊轉(zhuǎn)換為TTL信號。TTL信號接入FPGA的引腳,F(xiàn)PGA—單片機(jī)模塊對TTL信號進(jìn)行頻率檢測,并將頻率值顯示在液晶顯示屏上,同時(shí)將頻率數(shù)據(jù)通過串口經(jīng)TTL-USB模塊上傳到PC端。
用上述實(shí)驗(yàn)平臺分別對陀螺的模態(tài)A和模態(tài)B進(jìn)行頻率檢測,每隔1 min從MFC程序界面讀取一次穩(wěn)定頻率數(shù)據(jù),每40個數(shù)據(jù)作為一組。圖5為同一陀螺在不同時(shí)間檢測得到的4組數(shù)據(jù)的頻率變化曲線圖,表1為4組數(shù)據(jù)的統(tǒng)計(jì)學(xué)分析結(jié)果。
圖5 陀螺諧振頻率數(shù)據(jù)
表1 頻率數(shù)據(jù)統(tǒng)計(jì)學(xué)分析 Hz
由表1可知,4組數(shù)據(jù)的各模態(tài)頻率的極差最大值為0.002 9 Hz,標(biāo)準(zhǔn)差最大值為0.000 633 Hz,頻率裂解值保留3位小數(shù)均為0.014 Hz。從頻率變化曲線圖中可以看出,陀螺的頻率值在隨著時(shí)間波動,但波動范圍小于0.002 9 Hz。分析其原因?yàn)橥獠凯h(huán)境的擾動和諧振電路的細(xì)微波動而引起的頻率波動。因?yàn)橥勇蓊l率的細(xì)微波動導(dǎo)致不能直接顯示每個模態(tài)的準(zhǔn)確頻率值,所以,把每個模態(tài)的數(shù)據(jù)平均值作為該模態(tài)的準(zhǔn)確頻率值,以方便計(jì)算,如圖5中虛線所示。對于同一模態(tài),在不同時(shí)間進(jìn)行頻率檢測,其頻率數(shù)據(jù)的平均值不同,但每次測量的2個模態(tài)頻率值的差值均為0.014 Hz,即4次頻率檢測的頻率裂解值均為0.014 Hz。
根據(jù)圓柱殼體振動陀螺的諧振原理,本文搭建驅(qū)動環(huán)路,得到了穩(wěn)定的正弦信號,再根據(jù)圓柱殼體陀螺的頻率范圍選擇了適合的測頻原理,該測頻原理的相對誤差為0.000 001 3 %。然后通過FPGA、單片機(jī)和MFC程序結(jié)合的方式對諧振信號進(jìn)行頻率檢測,實(shí)現(xiàn)了頻率值和頻率裂解值的穩(wěn)定精確檢測。實(shí)驗(yàn)結(jié)果表明:本文所提出的檢測方法所得頻率數(shù)據(jù)的極差小于0.002 9 Hz而標(biāo)準(zhǔn)差小于0.000 663 Hz,說明數(shù)據(jù)的波動性小且很穩(wěn)定,能夠精確穩(wěn)定地測得圓柱殼體振動陀螺的頻率值。在不同時(shí)間對于同一陀螺檢測的頻率裂解值均為0.014 Hz,證明本方法可以穩(wěn)定地檢測到10-3Hz量級的頻率裂解。綜上所述,使用本文所提供的頻率檢測方法可以精確穩(wěn)定地檢測圓柱殼體振動陀螺的頻率值和頻率裂解值,可以為圓柱殼體振動陀螺的研究以及頻率修調(diào)工作提供技術(shù)支持。