基于PC/104的陀螺儀動態(tài)測試系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
陀螺儀是平臺穩(wěn)定系統(tǒng)的敏感測量元件,它敏感臺體的角運(yùn)動信號,通過平臺伺服回路,建立平臺的穩(wěn)定基準(zhǔn)。因此陀螺儀的性能直接影響到平臺穩(wěn)定系統(tǒng)的性能,對嚴(yán)格測試其動態(tài)性能指標(biāo)具有重要的意義。
傳統(tǒng)的測試設(shè)備和手段復(fù)雜且效率低,為了便于對陀螺儀進(jìn)行機(jī)內(nèi)測試,改善測量效果,運(yùn)用當(dāng)今主要工業(yè)控制計(jì)算機(jī)技術(shù)——嵌入式PC/104總線結(jié)構(gòu)來搭建測試系統(tǒng),其獨(dú)特的堆??偩€擴(kuò)展方式,可使其具有體積小、功耗低、可靠性高等特點(diǎn);其次,利用美國NI公司開發(fā)的虛擬儀器LabVIEW,為開發(fā)平臺設(shè)計(jì)軟件,使其人機(jī)界面友好、功能強(qiáng)大、開發(fā)效率高、可維護(hù)性強(qiáng),且測試精度和可靠性能得到充分保證。
1 測試系統(tǒng)硬件組成
該測試系統(tǒng)由PC/104工控計(jì)算機(jī)、DMM-32-AT多功能數(shù)據(jù)采集卡、信號調(diào)理模塊組成。其測試系統(tǒng)組成框圖如圖1所示。
(1)PC/104工控計(jì)算機(jī)。采用DIGITAL-LOG-IC AG公司的MSMP3SEV,它是一個(gè)基于PC/104(ISA總線)和PC104/Plus(PCI總線)的高可靠ALL-IN-ONE CPU模塊,主板主要集成了最大256 MB內(nèi)存、256 KB二級高速緩存、2個(gè)RS 232C 串口、1個(gè)LPT1并口、EIED硬盤接口、標(biāo)準(zhǔn)軟盤接口、CRT顯示器接口、平板顯示器接口、鼠標(biāo)接口、1個(gè)USB接口、看門狗計(jì)數(shù)/定時(shí)電路等。
(2)DMM-32-AT多功能數(shù)據(jù)采集卡。4路12位D/A模擬輸出,16位差分或32位單端16位模擬輸入,24路數(shù)字I/O端口,最高采樣速率為200 Mb/s。該多功能采集卡主要用于激勵(lì)信號的產(chǎn)生,測試信號的采集以及控制信號的產(chǎn)生。
(3)信號調(diào)理模塊。主要是將計(jì)算機(jī)給定的電壓控制信號變換為電壓或電流信號,對動態(tài)測試的激勵(lì)信號進(jìn)行整形、放大、濾波,以及對測試信號進(jìn)行濾波,再由數(shù)據(jù)采集卡進(jìn)行采集和處理。
系統(tǒng)的工作原理為:由PC/104控制,通過DMM-32-AT的D/A端口產(chǎn)生測試信號,經(jīng)過調(diào)理,對陀螺儀力矩器施加指令電流信號,以模擬陀螺儀輸入軸的角運(yùn)動,使力矩器產(chǎn)生一個(gè)力矩,引起陀螺儀自轉(zhuǎn)軸發(fā)生偏轉(zhuǎn)。這時(shí)信號器輸出一個(gè)電壓,經(jīng)放大器后轉(zhuǎn)換成一個(gè)電流輸入到力矩器,使力矩器內(nèi)原來外加電流減小到零,使轉(zhuǎn)子自轉(zhuǎn)軸處于平衡狀態(tài)。通過信號調(diào)理模塊對信號器上的電壓進(jìn)行變換,由A/D采樣模塊進(jìn)行采樣,輸入到PC/104工控機(jī),系統(tǒng)再對采集數(shù)據(jù)進(jìn)行處理、判斷和顯示。這整個(gè)過程是由程序控制自動完成的。
2 軟件設(shè)計(jì)
陀螺儀的動態(tài)測試軟件采用LabVIEW軟件進(jìn)行設(shè)計(jì),LabVIEW不僅是軟件開發(fā)環(huán)境,而且是一個(gè)編程軟件,它是一種適合應(yīng)用于任何編程任務(wù),具有擴(kuò)展函數(shù)庫的通用編程語言。它定義了數(shù)據(jù)模型、結(jié)構(gòu)類型和模塊調(diào)用語法規(guī)則等編程語言的基本要素,在功能完整性和應(yīng)用靈活性上不亞于任何高級語言。Lab-VIEW提供了豐富的數(shù)據(jù)采集、分析和存儲庫函數(shù)以及包括DAQ,GPIB,PXI,VXI,RS 232在內(nèi)的各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù)。但是LabVIEW所提供的功能僅能驅(qū)動NI公司支持的數(shù)據(jù)采集卡,DMM-32-AT是第三方數(shù)據(jù)采集模塊,它需要用戶自己設(shè)計(jì)開發(fā)驅(qū)動程序。
2.1 DMM-32-AT驅(qū)動程序的實(shí)現(xiàn)
LabVlEW提供了對外部代碼調(diào)用的接口庫函數(shù)。其中,調(diào)用庫函數(shù)(Call Library Function,CLF)節(jié)點(diǎn)使得用戶可以方便地調(diào)用標(biāo)準(zhǔn)共享庫和自定義庫函數(shù)。在此,設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)就是通過LabVIEW提供的。CLF實(shí)現(xiàn)對動態(tài)連接庫(Dynamic Link Library,DLL)調(diào)用的方法.完成對第三方數(shù)據(jù)采集模塊的驅(qū)動,實(shí)現(xiàn)LabVIEW與普通數(shù)據(jù)采集模塊的結(jié)合。
使用VC++生成一個(gè)dmm32driver.dll的動態(tài)鏈接庫,通過CLF節(jié)點(diǎn)對其調(diào)用,以實(shí)現(xiàn)該數(shù)據(jù)采集卡的驅(qū)動,該程序?qū)崿F(xiàn)的主要源代碼為:
需要注意的是,在頭文件中加入extcode.h,以便在DLL程序中使用LabVIEW中的數(shù)據(jù)類型,避免在傳遞參數(shù)和返回值時(shí)沖突。其次,需要在導(dǎo)出的函數(shù)原型前添加_declspec(dllexport)關(guān)鍵字,指出函數(shù)的出口。由此,可從一個(gè)動態(tài)鏈接庫文件中輸出數(shù)據(jù)、函數(shù)、類以及類成員函數(shù)而不需要.def文件。
2.2 數(shù)據(jù)采集流程
該測試系統(tǒng)采用如圖2所示的單線程循環(huán)軟件架構(gòu)。采用單線程結(jié)構(gòu)可以保證每個(gè)任務(wù)在一次數(shù)據(jù)采集循環(huán)中都能得到有效執(zhí)行,既能滿足數(shù)據(jù)的實(shí)時(shí)采集,又能保證數(shù)據(jù)的完整存儲,增強(qiáng)了測試的可靠性。與此同時(shí),采用單線程結(jié)構(gòu)也簡化了流程控制,避免了多線程結(jié)構(gòu)中各個(gè)任務(wù)之間的調(diào)度與控制的復(fù)雜問題。
2.3 系統(tǒng)程序設(shè)計(jì)
虛擬測試系統(tǒng)的主要功能是實(shí)時(shí)接收數(shù)據(jù)采集卡采集的數(shù)據(jù),進(jìn)行數(shù)據(jù)處理(如濾波,F(xiàn)FT變換等)、數(shù)據(jù)存儲和數(shù)據(jù)實(shí)時(shí)顯示。操作者根據(jù)數(shù)據(jù)判斷測試指標(biāo)是否合格。
程序設(shè)計(jì)的數(shù)據(jù)采集過程為:在開始數(shù)據(jù)采集后,DAQ卡不斷地采集數(shù)據(jù),并將它們存貯在指定的緩沖區(qū)中;然后LabVIEW每隔一段時(shí)間,將一批數(shù)據(jù)送入計(jì)算機(jī)進(jìn)行處理。如果緩沖區(qū)存放已滿,DAQ卡就會又重新從內(nèi)存起始地址寫入新數(shù)據(jù),覆蓋原來的數(shù)據(jù)。這個(gè)過程一直持續(xù),直到采集到了指定數(shù)目的數(shù)據(jù)點(diǎn),或者中止采集過程。程序方框圖如圖3所示。在對陀螺輸出信號進(jìn)行測量時(shí),采用了多次采樣取平均值的方法,以減小誤差。
3 結(jié) 語
在此,提出一種基于PC/104的陀螺儀動態(tài)測試系統(tǒng),并分析該測控系統(tǒng)的軟/硬件基本構(gòu)成。在系統(tǒng)組建過程中,由于利用了可靠的PC/104工控機(jī)和數(shù)據(jù)采集卡,以及高性能的虛擬儀器編程軟件,使得系統(tǒng)組建效率高,性能可靠,而且可以方便地對測試結(jié)果進(jìn)行判斷,簡單易用。