基于FPGA的機(jī)械振動(dòng)臺(tái)自動(dòng)定中系統(tǒng)
0 引言
在力學(xué)環(huán)境試驗(yàn)中,振動(dòng)試驗(yàn)應(yīng)用最為廣泛,尤其是國(guó)防科技應(yīng)用中的火藥裝填,即通過(guò)一定的振級(jí)和時(shí)間將火藥填實(shí),其工作過(guò)程為將火藥罐體固定于機(jī)械振動(dòng)臺(tái)上,然后設(shè)定相應(yīng)的振動(dòng)頻率及振動(dòng)幅度,當(dāng)?shù)竭_(dá)設(shè)定的振動(dòng)條件后,火藥便通過(guò)導(dǎo)向槽向罐體內(nèi)充填。此后,隨著時(shí)間的增加,振動(dòng)上火藥加罐體的重量隨之增加,而機(jī)械臺(tái)臺(tái)面安裝于空氣彈簧上,它隨著臺(tái)面上的重量的增加會(huì)下降,如果下降超過(guò)機(jī)械臺(tái)所能要求的能力,就可能出現(xiàn)事故,因此要求有一套自動(dòng)定中系統(tǒng),在機(jī)械臺(tái)靜態(tài)和振動(dòng)狀態(tài)均能自動(dòng)保持中間位置。
1 總體方案
要滿足機(jī)械臺(tái)臺(tái)面靜態(tài)和振動(dòng)狀態(tài)均能自動(dòng)保持中間位置,用分立器件判斷臺(tái)面極限位置的方法往往難以適應(yīng)。解決此問(wèn)題的方案有兩種:一是采用單片機(jī)系統(tǒng),二是采用嵌入式系統(tǒng)。單片機(jī)系統(tǒng)雖然價(jià)格低廉,使用方便,但是程序容易跑飛,且編程及修改較為麻煩;而嵌入式系統(tǒng)中,基于CPU的嵌入系統(tǒng)價(jià)格較貴。為此,本文選用了可編程邏輯器件(FPGA),由于FPGA具有豐富的可編程性與豐富的I/O引腳,因而其在數(shù)字系統(tǒng)中的應(yīng)用越來(lái)越廣泛。如同自行設(shè)計(jì)集成電路一樣,利用FPGA可節(jié)省電路開(kāi)發(fā)的費(fèi)用與時(shí)間,因此,本文提出了一套基于FPGA的嵌入系統(tǒng)來(lái)實(shí)現(xiàn)自動(dòng)定中,其系統(tǒng)方案如圖1所示。
圖中,光纖一和光纖二將振動(dòng)的位置信號(hào)傳遞給系統(tǒng),然后由系統(tǒng)判定臺(tái)面是處于靜態(tài)還是動(dòng)態(tài),再判定臺(tái)面偏高還是偏低,分別處理,最后通過(guò)兩個(gè)電磁閥來(lái)對(duì)機(jī)械臺(tái)進(jìn)行充氣或放氣。
2 電路組成
系統(tǒng)運(yùn)行時(shí),會(huì)有以下幾種情況:一是在系統(tǒng)正常振動(dòng)時(shí),光纖一和光纖二輸出的波形為占空比為50%且方向相反的一對(duì)方波信號(hào);二是當(dāng)臺(tái)面位置發(fā)生變化后,振動(dòng)時(shí)兩個(gè)光纖輸出的脈沖占空比會(huì)發(fā)生變化。當(dāng)臺(tái)面靜止或臺(tái)面受到其他因素而低于4 Hz振動(dòng)時(shí),兩個(gè)光纖輸出的脈沖幾乎為一個(gè)恒定的電平。因此,需要系統(tǒng)根據(jù)脈沖情況自動(dòng)分辨,本文在FPGA內(nèi)設(shè)計(jì)了三個(gè)模塊,即分頻模塊,信號(hào)觸發(fā)模塊,信號(hào)比較及輸出模塊。
2.1 分頻模塊
分頻模塊共輸出四種分頻信號(hào):參考時(shí)鐘、預(yù)讀信號(hào)、鎖存信號(hào)、觸發(fā)信號(hào)。其中參考時(shí)鐘用于信號(hào)觸發(fā)模塊中信號(hào)占空比的測(cè)量計(jì)數(shù),考慮到計(jì)數(shù)器的容量,我們?nèi)⒖紩r(shí)鐘為100 kHz。預(yù)讀信號(hào)read用于啟動(dòng)比較模塊中靜態(tài)還是動(dòng)態(tài)信號(hào)的判定。鎖存信號(hào)lock用于對(duì)比較模塊輸出的繼電器控制狀態(tài)信號(hào)的鎖存,并將其保持到下一次比較,以使模塊輸出不同的繼電器控制狀態(tài)信號(hào)。觸發(fā)信號(hào)trig用于啟動(dòng)觸發(fā)模塊及對(duì)信號(hào)比較模塊中的計(jì)數(shù)器清零,以判定一定間隔時(shí)間后的臺(tái)面狀態(tài)變化情況。其時(shí)序如圖2所示。
2.2 信號(hào)觸發(fā)模塊
臺(tái)面位置發(fā)生變化后,在振動(dòng)時(shí),兩個(gè)光纖輸出的脈沖占空比就會(huì)發(fā)生變化。因此需要測(cè)量?jī)陕沸盘?hào)在一個(gè)振動(dòng)周期內(nèi)的高電平寬度,其測(cè)量電路如圖3所示,其中上半部分用于脈沖串一的高電平測(cè)量,下半部分用于脈沖串二的高電平測(cè)量。
信號(hào)觸發(fā)模塊工作流程是在觸發(fā)信號(hào)trig上升沿到來(lái)時(shí)打開(kāi)觸發(fā)器,以等待兩路待測(cè)信號(hào)上升沿到來(lái);當(dāng)任意一路信號(hào)(假設(shè)第一路信號(hào)signall先到來(lái))的上升沿到來(lái)后,將該路計(jì)數(shù)允許與門打開(kāi),并將參考時(shí)鐘傳遞給下一級(jí)(即比較模塊),然后將該路觸發(fā)器關(guān)閉,同時(shí)打開(kāi)第二路信號(hào)的關(guān)斷觸發(fā)器。因此,當(dāng)?shù)谝宦沸盘?hào)signall的高電平過(guò)去后,隨著第二路信號(hào)signal2上升沿的到來(lái),系統(tǒng)將關(guān)斷第一路計(jì)數(shù)允許與門,停止計(jì)數(shù),同時(shí)打開(kāi)第二路計(jì)數(shù)允許與門,開(kāi)始第二路信號(hào)的高電平寬度測(cè)量。第二路測(cè)量原理同第一路,最后再輸出兩路信號(hào)高電平寬度測(cè)量完成信號(hào)。由于觸發(fā)器的關(guān)斷,每次觸發(fā)僅將一個(gè)振動(dòng)周期內(nèi)的兩路信號(hào)的高電平寬度轉(zhuǎn)換為參考時(shí)鐘個(gè)數(shù),從而保證了計(jì)數(shù)的準(zhǔn)確性。
2.3 信號(hào)比較模塊
信號(hào)比較模塊的作用是判定臺(tái)面是處于靜態(tài)還是動(dòng)態(tài),以便根據(jù)相應(yīng)的計(jì)數(shù)值來(lái)輸出控制字。當(dāng)臺(tái)面處于振動(dòng)時(shí)可以通過(guò)信號(hào)觸發(fā)模塊來(lái)比較兩路信號(hào)的高電平寬度,但是,當(dāng)臺(tái)面處于靜止?fàn)顟B(tài)時(shí),光纖就沒(méi)有脈沖信號(hào)輸出,也就沒(méi)有上升沿允許計(jì)數(shù),計(jì)數(shù)值也就為零。因此,可以在下一次觸發(fā)信號(hào)trig到來(lái)前一個(gè)參考時(shí)鐘時(shí)設(shè)計(jì)一個(gè)預(yù)讀信號(hào)read,并用它的高電平來(lái)取出計(jì)數(shù)值。如果兩個(gè)計(jì)數(shù)器均為零,那么臺(tái)面處于靜止,此時(shí)可根據(jù)兩個(gè)光纖的高低電平來(lái)判斷臺(tái)面高度是否合適。反之,如果不為零,則通過(guò)兩路高電平寬度測(cè)量完成信號(hào)狀態(tài)及計(jì)數(shù)值來(lái)判定控制狀態(tài)字。其關(guān)鍵代碼如下:
2.4 輸出模塊
在預(yù)讀信號(hào)read到來(lái)前一個(gè)參考時(shí)鐘時(shí),通過(guò)鎖存信號(hào)lock可將比較模塊輸出的繼電器控制狀態(tài)字鎖存,然后通過(guò)3-8譯碼器得到需要控制輸出的繼電器動(dòng)作信號(hào),以保持電磁閥到下一次比較模塊輸出不同的繼電器控制狀態(tài)字時(shí)再動(dòng)作。其中,out3[1]為高電平時(shí),繼電器控制充氣電磁閥動(dòng)作,out3[2]為高電平時(shí),繼電器控制放氣電磁閥動(dòng)作。其電路圖如圖4所示。
3 系統(tǒng)仿真
圖5為系統(tǒng)靜止時(shí),臺(tái)面偏向一邊時(shí)的動(dòng)作狀態(tài)情況仿真波形。當(dāng)臺(tái)面負(fù)載加重被壓低后,CLK1呈現(xiàn)高電平,CLK2呈現(xiàn)低電平,此時(shí)系統(tǒng)充氣電磁閥進(jìn)行充氣。
圖6為系統(tǒng)振動(dòng)時(shí),臺(tái)面偏向一邊時(shí)的動(dòng)作狀態(tài)情況仿真波形。當(dāng)臺(tái)面負(fù)載減輕被氣囊抬高后。CLK1呈現(xiàn)30%高電平,70%低電平,CLK2則正好相反。此時(shí)系統(tǒng)放氣電磁閥動(dòng)作,進(jìn)行放氣。
4 結(jié)束語(yǔ)
通過(guò)實(shí)際帶載測(cè)試表明,此設(shè)計(jì)方案與預(yù)期要求基本一致。由于可編程邏輯器件(FPGA)具有豐富的可編程性與豐富的I/O引腳,因此,本系統(tǒng)可方便的進(jìn)行在線修改而不需改動(dòng)硬件電路,同時(shí)具有較高的靈活性、可靠性及穩(wěn)定性,而且價(jià)格低廉。