基于FPGA的機械振動臺自動定中系統
0 引言
在力學環境試驗中,振動試驗應用最為廣泛,尤其是國防科技應用中的火藥裝填,即通過一定的振級和時間將火藥填實,其工作過程為將火藥罐體固定于機械振動臺上,然后設定相應的振動頻率及振動幅度,當到達設定的振動條件后,火藥便通過導向槽向罐體內充填。此后,隨著時間的增加,振動上火藥加罐體的重量隨之增加,而機械臺臺面安裝于空氣彈簧上,它隨著臺面上的重量的增加會下降,如果下降超過機械臺所能要求的能力,就可能出現事故,因此要求有一套自動定中系統,在機械臺靜態和振動狀態均能自動保持中間位置。
1 總體方案
要滿足機械臺臺面靜態和振動狀態均能自動保持中間位置,用分立器件判斷臺面極限位置的方法往往難以適應。解決此問題的方案有兩種:一是采用單片機系統,二是采用嵌入式系統。單片機系統雖然價格低廉,使用方便,但是程序容易跑飛,且編程及修改較為麻煩;而嵌入式系統中,基于CPU的嵌入系統價格較貴。為此,本文選用了可編程邏輯器件(FPGA),由于FPGA具有豐富的可編程性與豐富的I/O引腳,因而其在數字系統中的應用越來越廣泛。如同自行設計集成電路一樣,利用FPGA可節省電路開發的費用與時間,因此,本文提出了一套基于FPGA的嵌入系統來實現自動定中,其系統方案如圖1所示。
圖中,光纖一和光纖二將振動的位置信號傳遞給系統,然后由系統判定臺面是處于靜態還是動態,再判定臺面偏高還是偏低,分別處理,最后通過兩個電磁閥來對機械臺進行充氣或放氣。
2 電路組成
系統運行時,會有以下幾種情況:一是在系統正常振動時,光纖一和光纖二輸出的波形為占空比為50%且方向相反的一對方波信號;二是當臺面位置發生變化后,振動時兩個光纖輸出的脈沖占空比會發生變化。當臺面靜止或臺面受到其他因素而低于4 Hz振動時,兩個光纖輸出的脈沖幾乎為一個恒定的電平。因此,需要系統根據脈沖情況自動分辨,本文在FPGA內設計了三個模塊,即分頻模塊,信號觸發模塊,信號比較及輸出模塊。
2.1 分頻模塊
分頻模塊共輸出四種分頻信號:參考時鐘、預讀信號、鎖存信號、觸發信號。其中參考時鐘用于信號觸發模塊中信號占空比的測量計數,考慮到計數器的容量,我們取參考時鐘為100 kHz。預讀信號read用于啟動比較模塊中靜態還是動態信號的判定。鎖存信號lock用于對比較模塊輸出的繼電器控制狀態信號的鎖存,并將其保持到下一次比較,以使模塊輸出不同的繼電器控制狀態信號。觸發信號trig用于啟動觸發模塊及對信號比較模塊中的計數器清零,以判定一定間隔時間后的臺面狀態變化情況。其時序如圖2所示。
2.2 信號觸發模塊
臺面位置發生變化后,在振動時,兩個光纖輸出的脈沖占空比就會發生變化。因此需要測量兩路信號在一個振動周期內的高電平寬度,其測量電路如圖3所示,其中上半部分用于脈沖串一的高電平測量,下半部分用于脈沖串二的高電平測量。
評論