于亞龍,孫小燕,胡友旺
(高性能復雜制造國家重點實驗室 中南大學 機電工程學院,湖南 長沙 410083)
圓柱殼體振動陀螺是一種哥式振動陀螺,它利用諧振子振動產生的駐波相對于諧振子本身的滯后效應,且滯后的角度與轉速成正比的原理進行工作[1],具有精度高、能耗低、啟動快、抗干擾性好、制造難度低等優點,極具發展潛力[2~6]。由于材料不均勻、加工誤差、電極粘貼誤差以及諧振子安裝誤差等的存在,陀螺會產生頻率裂解、振型偏移和阻尼分布不均勻等性能不足,進而引起一定的零偏漂移和陀螺靈敏度的降低等問題[7,8]。要提升陀螺的性能,需要通過頻率修調工作來降低它的頻率裂解。頻率裂解降得越低,陀螺的性能越高;而頻率裂解需要高精度的檢測技術來作為支撐。
英國的通用電氣航空電子設備有限公司較早進行了圓柱殼體振動陀螺的研究[9],但目前在圓柱殼體振動陀螺的研究和制造方面處于領先地位的是Watson公司和Innalabs公司[10,11]。國防科技大學陶溢等人從結構、制造工藝以及振動理論方面對圓柱殼體振動陀螺進行了系統分析,為國內圓柱殼體振動陀螺的研究奠定了基礎[1]。此后,謝笛等人通過數字化測控技術實現了對于圓柱殼體振動陀螺的控制[12],雖然他們的測控技術較為成熟,但都是基于陀螺的整體工作系統的控制,并不是直接應用于頻率修調工作,不具有針對性,且系統較為復雜。
針對圓柱殼體陀螺的頻率修調工作,本文提出一種基于FPGA、單片機和MFC程序的用于圓柱殼體振動陀螺頻率及裂解值的精確檢測方法,為頻率修調提供重要支撐技術,為圓柱殼體振動陀螺技術發展奠定基礎。
本文采用相位控制技術結合自動增益控制(automatic gain control,AGC)技術的方式使圓柱殼體振動陀螺的諧振子產生自激振動,信號流圖如圖1所示,其中Ri為諧振子等效電阻,Li為諧振子等效電感,Ci為諧振子等效電容,C0為壓電電極的靜電容,ni為流控電流源的轉移電流比[1]。在信號流圖1中,諧振子、壓電電極、移相器、AGC、放大器和帶通濾波器組成環路,當環路滿足自激振蕩的條件時,諧振子將產生諧振,其諧振環路輸出的信號為正弦信號。

圖1 自激振動信號流圖
針對諧振子電極的輸出信號,本文采用一種基于現場可編程門陣列(field prgrammable gate array,FPGA)和單片機的檢測方法。FPGA的時序邏輯能力較強,將其作為信號的頻率測量模塊,單片機作為控制模塊。諧振子電極的輸出信號為一正弦波,不能直接接入FPGA的引腳,需要將其通過波形整形轉為TTL信號再接入FPGA。FPGA將測得的頻率數據通過spi與單片機通信,將數據傳輸給單片機。單片機對其進行計算得到頻率值,并實時顯示在液晶屏上,同時通過串口通信將頻率值上傳給PC端。
等精度法測頻原理是一種測量精度與被測頻率無關的測頻電路,圖2(a)為等精度法的模塊圖,其中CNT1和CNT2均為可控的多位高速計數器,ENA1和ENA2分別為它們的計數使能端,CLK1和CLK2分別為標準信號fs和被測信號fx的輸入端,原理圖如圖2(b)所示。

圖2 等精度法模塊與原理
開始測頻前,需要通過清零信號CLR將兩個計數器和D觸發器清零。在測頻未開始時,預置閘門信號處于低電平狀態,D觸發器的Q端輸出低電平,計數器CNT1和CNT2不工作。測頻開始時,預置閘門信號上升沿到來,此時計數器并未開始計數,而是等到被測信號的上升沿到來時,D觸發器的Q端才變為高電平,2個計數器開始計數。當經過T1秒后,預置閘門信號下降沿到來時,2個計數器并不會馬上停止計數,而是等到被測信號的上升沿到來時,才通過D觸發器將2個計數器同時關閉,一次測頻結束。在測量過程中,因為fx計數的開始和結束時間都是由被測信號自身的上升沿觸發的,所以,在閘門開啟時間T2內對于被測信號周期數的計數值Nx無誤差。若將一次實際閘門時間T2中的被測信號計數值記為Nx,標準頻率信號的計數值記為Ns,則有fx/Nx=fs/Ns。鑒于標準頻率fs的誤差很小,忽略fs誤差的情況下,等精度測頻的相對誤差可表示為[11~15]
(1)
其中,fxe為被測信號頻率的準確值。由式(1)可知等精度法測量頻率的相對誤差只與閘門時間和標準信號的頻率有關,而與被測信號的頻率大小無關。閘門時間越長,標準頻率越高,則被測頻率的相對誤差越小。
若閘門時間為500 ms,標準信號頻率為150 MHz,則相對誤差為
(2)
由于等精度測頻法與被測信號的頻率無關,所以,無論被測信號頻率為多少,測量的相對誤差均為0.000 001 3%。
FPGA的總體程序模塊原理如圖3所示,包含鎖相環倍頻模塊、等精度測頻模塊、數據鎖存模塊和spi通信模塊。

圖3 FPGA模塊原理
鎖相環倍頻模塊用于將外部晶振時鐘的頻率信號進行倍頻,以產生更高頻率的標準信號來作為系統的時鐘。本文FPGA的外接晶振為50 MHz的有源晶振,經過倍頻模塊的3倍頻將產生150 MHz的時鐘,該時鐘用于整個系統工作的系統時鐘。
等精度測頻模塊主要功能是通過FPGA程序實現上述的等精度測頻原理,其主要包括延時消抖模塊、待測信號選擇模塊、閘門時間控制模塊和計數模塊。當正弦信號通過比較器轉換為TTL信號后,信號可能會產生邊緣抖動,該抖動信號的頻率較高(脈寬較窄),因此可以利用此特性,通過延時來消除信號的抖動。在延時消抖模塊中,通過寄存器來實現延時,同時達到消除抖動的目的。閘門時間控制模塊主要用于控制閘門的打開時間,而閘門的打開時間直接影響測量的精度,因此,閘門時間控制模塊是整個等精度頻率測量模塊的核心部分。同時,閘門時間控制模塊也控制著計數模塊計數器的計數進程。計數模塊則主要用于測量待測信號和標準信號在閘門時間內的周期個數,并將這些數據傳給計數值接口供其他模塊使用。
單片機程序流程為:端口初始化,系統時鐘初始化,液晶初始化,串口初始化,從FPGA讀數據,計算和顯示頻率,頻率值上傳。單片機上電之后對端口、系統時鐘、串口以及液晶屏進行初始化,然后通過spi從FPGA讀取數據,并利用數據計算得到頻率值,最后將頻率值顯示并上傳給PC端。單片機從FPGA獲取的數據為閘門時間內待測信號的周期數Nx和標準信號的周期數Ns,通過公式fx/Nx=fs/Ns可計算得到待測信號的頻率fx,其中,fs為已知的標準信號頻率即FPGA的系統時鐘頻率150 MHz。
頻率檢測過程中,由于陀螺諧振子所處環境的溫度、濕度等因素的變化,其頻率值會有一定的波動,進而對頻率檢測產生影響。為了能夠得到更為可靠的數據,并實現數據的存儲功能,開發了一種基于C++的MFC程序。該程序的主要功能包括:串口數據接收和轉換、數據去干擾、最小二乘處理和數據導出。其流程框圖如圖4(a)所示。程序開始運行后,從串口讀取數據并將其轉換為十進制數據,然后判定數據是否為干擾數據,如果是干擾數據則重新讀取數據,如果是非干擾數據則進行存儲。當數據存儲到了120個時,用這120個數據進行最小二乘擬合,判斷最小二乘擬合的標準差是否超過設置的標準差極限,如果小于極限值則把最小二乘擬合的頻率值進行顯示和記錄。FPGA每500 ms測一次頻率值,那么使用120個數據進行最小二乘擬合可以得到60 s內的穩定頻率值,可以降低外部環境對于頻率的影響。
程序界面如圖4(b)所示,主要包含串口選擇、標準差極限設置、實時頻率顯示區、穩定頻率顯示區、標準差上限設置區、清除緩存按鈕和數據導出按鈕。該程序可以實時顯示接收到的數據以及最小二乘處理后的穩定頻率數據,同時還能將接收的數據導出存儲。

圖4 MFC程序框圖及界面
等精度測頻實驗平臺由圓柱殼體陀螺、激勵電路板、FPGA—單片機模塊、信號調理模塊、TTL-USB模塊等組成。其中,FPGA—單片機模塊為集合了FPGA和單片機的功能板,TTL-USB模塊起到連接單片機串口和PC端的USB接口的作用。打開直流電源將諧振激勵電路上電,諧振子起振,待振動穩定后,打開FPGA—單片機電源。諧振信號從諧振環路引出,經整流模塊轉換為TTL信號。TTL信號接入FPGA的引腳,FPGA—單片機模塊對TTL信號進行頻率檢測,并將頻率值顯示在液晶顯示屏上,同時將頻率數據通過串口經TTL-USB模塊上傳到PC端。
用上述實驗平臺分別對陀螺的模態A和模態B進行頻率檢測,每隔1 min從MFC程序界面讀取一次穩定頻率數據,每40個數據作為一組。圖5為同一陀螺在不同時間檢測得到的4組數據的頻率變化曲線圖,表1為4組數據的統計學分析結果。

圖5 陀螺諧振頻率數據

表1 頻率數據統計學分析 Hz
由表1可知,4組數據的各模態頻率的極差最大值為0.002 9 Hz,標準差最大值為0.000 633 Hz,頻率裂解值保留3位小數均為0.014 Hz。從頻率變化曲線圖中可以看出,陀螺的頻率值在隨著時間波動,但波動范圍小于0.002 9 Hz。分析其原因為外部環境的擾動和諧振電路的細微波動而引起的頻率波動。因為陀螺頻率的細微波動導致不能直接顯示每個模態的準確頻率值,所以,把每個模態的數據平均值作為該模態的準確頻率值,以方便計算,如圖5中虛線所示。對于同一模態,在不同時間進行頻率檢測,其頻率數據的平均值不同,但每次測量的2個模態頻率值的差值均為0.014 Hz,即4次頻率檢測的頻率裂解值均為0.014 Hz。
根據圓柱殼體振動陀螺的諧振原理,本文搭建驅動環路,得到了穩定的正弦信號,再根據圓柱殼體陀螺的頻率范圍選擇了適合的測頻原理,該測頻原理的相對誤差為0.000 001 3 %。然后通過FPGA、單片機和MFC程序結合的方式對諧振信號進行頻率檢測,實現了頻率值和頻率裂解值的穩定精確檢測。實驗結果表明:本文所提出的檢測方法所得頻率數據的極差小于0.002 9 Hz而標準差小于0.000 663 Hz,說明數據的波動性小且很穩定,能夠精確穩定地測得圓柱殼體振動陀螺的頻率值。在不同時間對于同一陀螺檢測的頻率裂解值均為0.014 Hz,證明本方法可以穩定地檢測到10-3Hz量級的頻率裂解。綜上所述,使用本文所提供的頻率檢測方法可以精確穩定地檢測圓柱殼體振動陀螺的頻率值和頻率裂解值,可以為圓柱殼體振動陀螺的研究以及頻率修調工作提供技術支持。