一、前言
在簡(jiǎn)易制導(dǎo)武器中,
角位移傳感器是姿態(tài)修正系統(tǒng)的敏感元件,用來(lái)測(cè)量彈體的角運(yùn)動(dòng)參數(shù)并以電信號(hào)形式給出三個(gè)信息。其中輸出兩路幅值相等相位相差90°的正弦信號(hào)作為彈體偏轉(zhuǎn)測(cè)量的基準(zhǔn)信號(hào);另一路輸出測(cè)角信號(hào),該信號(hào)相對(duì)基準(zhǔn)信號(hào)的相位反映角偏差的方向、幅值反映角偏差量。信號(hào)發(fā)生器就是模擬角位移輸出信號(hào)的裝置,用來(lái)進(jìn)行后續(xù)解調(diào)電路以及功放電路的檢測(cè)。它以單片機(jī)為核心,經(jīng)過(guò)D/A轉(zhuǎn)換和放大電路的處理,zui后輸出反應(yīng)彈體姿態(tài)的基準(zhǔn)信號(hào)和測(cè)角信號(hào)。
二、數(shù)學(xué)模型的建立
根據(jù)對(duì)輸出信號(hào)性能指標(biāo)的要求,基準(zhǔn)信號(hào)幅值:A,基準(zhǔn)信號(hào)頻率:f,假設(shè)對(duì)A的精度要求為±0.01V,對(duì)f的要求為±10Hz,輸出信號(hào)為正弦信號(hào),可以建立模擬基準(zhǔn)信號(hào)的數(shù)學(xué)表達(dá)式如下:
其中幅值的大小可以通過(guò)放大電路部分進(jìn)行調(diào)節(jié)。
測(cè)角信號(hào)實(shí)時(shí)反映彈體的姿態(tài),根據(jù)檢測(cè)需要和角位移傳感器的結(jié)構(gòu)可以建立這一特定的Uc數(shù)學(xué)表達(dá)式為:
其中幅值的大小可以通過(guò)放大電路進(jìn)行調(diào)節(jié),相角Ψ反映偏差的方向。
三、方案設(shè)計(jì)
信號(hào)發(fā)生器的設(shè)計(jì)任務(wù)就是產(chǎn)生三路信號(hào),并且提供和主機(jī)通訊的軟硬件接口。首先根據(jù)輸出信號(hào)的頻率和幅值進(jìn)行編碼,存儲(chǔ)在單片機(jī)的ROM里,然后以一定的時(shí)間間隔依次將這些數(shù)字量送往D/A進(jìn)行轉(zhuǎn)換輸出,這樣,只要循環(huán)不已的送數(shù),在D/A的雙極性輸出端就可以得到信號(hào)波形。信號(hào)的輸出時(shí)序受上位機(jī)控制。
本設(shè)計(jì)采用AT89C4051組成一個(gè)zui小的單片機(jī)系統(tǒng)。AT89C4051是Atmel公司的一款基于MSC51內(nèi)核的簡(jiǎn)化單片機(jī),指令與標(biāo)準(zhǔn)的51單片機(jī)兼容,帶有4K可重新編程片上程序存儲(chǔ)器,128B的數(shù)據(jù)存儲(chǔ)器,多達(dá)15條可編程I/O線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,片上模擬比較器,一個(gè)標(biāo)準(zhǔn)串行通訊口,內(nèi)部帶有振蕩器和時(shí)鐘電路。系統(tǒng)的硬件結(jié)構(gòu)圖如圖1。
圖1硬件結(jié)構(gòu)圖
3.1時(shí)鐘復(fù)位電路設(shè)計(jì)
采用單片機(jī)片內(nèi)的振蕩器、上電復(fù)位和外部硬件看門(mén)狗電路??撮T(mén)狗采用MAXIM公司的MAX706芯片,硬件電路如圖2。MAX706可以提供至少200ms寬度的復(fù)位脈沖,為使看門(mén)狗溢出有效必須把MAX706的WDO和MR連接起來(lái),看門(mén)狗輸入WDI連接4051的任何一個(gè)I/O端口都可。MAX706在程序運(yùn)行期間監(jiān)控整個(gè)系統(tǒng)的運(yùn)行,喂狗程序必須在1.6秒之內(nèi)使WDI引腳電平發(fā)生改變,否則MAX706將發(fā)出復(fù)位指令,使整個(gè)系統(tǒng)復(fù)位,看門(mén)狗時(shí)序如圖3所示。
3.2單片機(jī)與D/A的接口電路設(shè)計(jì)
D/A選用AD公司的AD7226。AD7226是具有8位精度的四通道D/A轉(zhuǎn)換器,zui小分辨電壓約為4mV,可以滿足設(shè)計(jì)的精度要求。每個(gè)通道都有一個(gè)輸入鎖存器,可以對(duì)輸入的數(shù)字量進(jìn)行鎖存;輸出端帶有輸出緩沖放大器。AD7226有一條寫(xiě)入控制線WR,兩條地址線A0、A1,通過(guò)地址線可以選擇不同的D/A轉(zhuǎn)換通道。寫(xiě)入時(shí)序如圖4所示。
由于4051沒(méi)有專(zhuān)門(mén)的地址和讀寫(xiě)控制引腳,此處可以通過(guò)普通的I/O引腳參考AD7226的寫(xiě)入時(shí)序,利用軟件進(jìn)行時(shí)序模擬。可以通過(guò)改變延時(shí)的時(shí)間來(lái)改變輸出的頻率。圖5是利用4051的P3.0、P3.1口作為A0、A1的地址線,P3.5作為WR的寫(xiě)入控制線的硬件參考電路,相應(yīng)的示例程序如下:
……..
MOVP1,A;P1口置數(shù)
MOVP3,#0FCH;選擇通道A
CLRP3.5;置P3.5低電平
SETBP3.5;置P3.5高電平,上升沿鎖存數(shù)據(jù)
LCALLDELAY;調(diào)用延時(shí)子程序
……..
圖5單片機(jī)與D/A接口電路
3.3偏移電路設(shè)計(jì)
AD7226的每一個(gè)通道都可以單獨(dú)用來(lái)提供單極性或雙極性的輸出,要獲得雙極性的輸出必須外加運(yùn)算放大器和偏移電阻,輸出電壓的范圍取決于參考電壓的大小,如圖6是在單極性電源供電情況下的雙極性輸出電路圖,要注意偏移電阻的阻值匹配。
圖6AD7226雙極性輸出電路
3.4放大電路設(shè)計(jì)
放大電路主要是對(duì)AD7226輸出的雙極性電壓信號(hào)幅值進(jìn)行處理,以達(dá)到使用的要求。放大電路的輸入極增加一個(gè)一階低通濾波器,以防止D/A輸出的高頻成分干擾;采用低頻運(yùn)放作為射隨器以提高輸入阻抗。放大電路部分如圖7所示。
圖7放大電路(部分)
四、信號(hào)發(fā)生器的軟件設(shè)計(jì)
4.1信號(hào)編碼
在這里要注意的取值范圍是-1~,而不是-1~+1。取整時(shí)要按照四舍五入的原則以減少誤差,表1是雙極性輸出時(shí)二進(jìn)制編碼表以及對(duì)應(yīng)模擬輸出電壓。
表1雙極性輸出偏移二進(jìn)制碼表
4.2軟件設(shè)計(jì)
軟件的任務(wù)是根據(jù)上位機(jī)的指令完成信號(hào)的控制和輸出,編程語(yǔ)言采用8051匯編語(yǔ)言,整個(gè)程序由初始化模塊、基準(zhǔn)信號(hào)輸出模塊、測(cè)角及基準(zhǔn)信號(hào)輸出模塊、中斷模塊、延時(shí)模塊和喂狗模塊組成。軟件流程如圖8所示。4.3與上位機(jī)接口時(shí)序
信號(hào)發(fā)生器采用中斷的模式響應(yīng)上位機(jī)的控制指令,其指令的時(shí)序如圖9所示。
系統(tǒng)上電后,上位機(jī)須發(fā)送清零指令,復(fù)位INT0、INT1為低電平,Uj1、Uj2、Uc輸出為0。在INT0、INT1為低電平期間,可以發(fā)送基準(zhǔn)信號(hào)輸出指令I(lǐng)NT0,輸出基準(zhǔn)信號(hào)Uj1、Uj2;在基準(zhǔn)信號(hào)輸出期間,即INT0為高電平期間,可以發(fā)送測(cè)角信號(hào)輸出指令I(lǐng)NT1,此時(shí)輸出測(cè)角信號(hào)Uc,Uj1、Uj2同步輸出。當(dāng)INT0變?yōu)榈碗娖綍r(shí),無(wú)論INT1為何種狀態(tài),三路信號(hào)輸出都為0。發(fā)送基準(zhǔn)信號(hào)和測(cè)角信號(hào)輸出前必須保證INT0、INT1有效復(fù)位低電平。在INT0為低電平期間,陀螺儀模擬器不響應(yīng)任何INT1指令。如果發(fā)生不可預(yù)料的邏輯紊亂,可以通過(guò)復(fù)位INT0、INT1,再按照?qǐng)D9所示時(shí)序關(guān)系發(fā)送指令。
圖8軟件流程圖
圖9INT0、INT1工作時(shí)序
五、結(jié)論
通過(guò)軟件硬件的調(diào)試和檢測(cè),表明該模擬裝置的硬件和軟件系統(tǒng)能很好的工作,在系統(tǒng)的聯(lián)調(diào)中能正確的模擬角位移傳感器的基準(zhǔn)信號(hào)和測(cè)角信號(hào),滿足設(shè)計(jì)的要求,已經(jīng)在某產(chǎn)品的檢測(cè)系統(tǒng)中獲得了應(yīng)用。