摘 要:在氣動(dòng)測量理論的基礎(chǔ)上,對機(jī)械零件內(nèi)孔進(jìn)行非接觸精密測量,并對系統(tǒng)進(jìn)行硬件和軟件總體設(shè)計(jì),包括數(shù)據(jù)采集、數(shù)據(jù)分析、誤差分析.實(shí)現(xiàn)了以氣動(dòng)量儀為核心部件,計(jì)算機(jī)為輔助工具對零件內(nèi)孔的高精度測量.
孔類零件是機(jī)械零件中很重要的一類,廣泛存在于國民經(jīng)濟(jì)中的各個(gè)行業(yè),例如汽車行業(yè)中的柴油發(fā)動(dòng)機(jī)燃油系統(tǒng)的噴油嘴偶件就是很重要的孔類零件.很多零件內(nèi)孔配合精度要求高,對于圖1所示的5種內(nèi)孔的形狀,在生產(chǎn)現(xiàn)場的檢測中往往測量困難,測量精度不高.
氣動(dòng)測量是一種應(yīng)用較廣泛的精密測量技術(shù),常用的氣動(dòng)量儀根據(jù)測量原理可分為流量式和壓力式兩大類.數(shù)字化氣動(dòng)測量技術(shù)是一項(xiàng)集氣動(dòng)、電子、微機(jī)與檢測技術(shù)于一體的機(jī)電一體化新技術(shù)[1],既有氣動(dòng)測量非接觸、精度高、穩(wěn)定性好的長處,又有測量結(jié)果數(shù)字化的優(yōu)點(diǎn),可方便地進(jìn)行數(shù)據(jù)分析處理、數(shù)字顯示與打印等.
1 數(shù)字化氣動(dòng)檢測系統(tǒng)測量原理
1.1 系統(tǒng)總體設(shè)計(jì)方案
數(shù)字化氣動(dòng)測量系統(tǒng)總體設(shè)計(jì)方案如圖2所示,它包括氣動(dòng)測量、氣電轉(zhuǎn)換、數(shù)據(jù)采集和處理等部分.
1.2 差壓式氣動(dòng)測量的基本原理
目前,氣動(dòng)在線檢測系統(tǒng)中普遍采用背壓式和差壓式兩種測量方法.單純壓力式測量有它的缺點(diǎn),即對氣源要求過高,否則當(dāng)噴嘴與工件之間的距離改變時(shí),氣源壓力一旦發(fā)生波動(dòng),工作壓力就會(huì)發(fā)生變化,從而造成測量誤差,破壞量儀的穩(wěn)定性[2].而采用差壓式測量就可解決這一問題,并能改善量儀的性能.所以本系統(tǒng)中用差壓式測量技術(shù).
差壓式氣動(dòng)測量氣路原理圖如圖3所示.測量回路由兩個(gè)背壓回路組成,測量時(shí)兩個(gè)背壓回路處于相同的環(huán)境壓力和溫度下,使外界環(huán)境(壓力、溫度和濕度等)對測量的影響降到小,測量精度高、穩(wěn)定性好[3].
空壓機(jī)1將壓縮的空氣送至濾清器2過濾灰塵、水、油等雜質(zhì)后進(jìn)入氣閥3和穩(wěn)壓器4,穩(wěn)壓器的輸出壓力為p0.測量時(shí)通過兩個(gè)直徑相同的節(jié)流孔5、6同時(shí)向兩個(gè)回路輸入相同壓力的氣體,一路經(jīng)節(jié)流器5通過調(diào)零閥8流入大氣,另一路經(jīng)節(jié)流器6通過測頭與被測零件間縫隙流入大氣[4].回路1是平衡壓力,回路2是測量壓力,連接兩回路之間的壓力變送器7采集測量壓力與平衡壓力的差值$p=p2-p1作為被測信號,經(jīng)放大后輸出就可測得被測參數(shù)S的大小.
2 數(shù)據(jù)采集系統(tǒng)的組成
2.1 采集系統(tǒng)的硬件構(gòu)成
原始數(shù)據(jù)的取得采用電子柱氣電測微儀DZL-3-50.電子柱氣電測微儀根據(jù)差壓式氣動(dòng)測量原理與電感式壓力傳感器配套使用,將測得的壓力通過傳感器轉(zhuǎn)換為電信號,作為下一步處理的信號源.電子柱氣電測微儀DZL-3-50的主要性能如下:信號支持繼電器輸出、OC門輸出、BCD輸出;通信接口支持RS232或RS485;支持I/O輸出功能;可編程控制.
數(shù)字信號的采集采用PCI-8335B數(shù)采卡.PCI-8335B數(shù)據(jù)采集卡是一款PCI總線的多功能數(shù)據(jù)采集卡,其中包括5種常用的測量和控制功能:12位A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、數(shù)字量輸入、數(shù)字量輸出及計(jì)數(shù)器/定時(shí)器功能;提供了TTL電平的12路數(shù)字量輸入和14路數(shù)字量輸出信號通道及2路16位計(jì)數(shù)器,這些信號通道由卡后端40芯扁平電纜轉(zhuǎn)換為37芯D型插頭提供給用戶.
2.2 數(shù)據(jù)采集方法
數(shù)據(jù)采集卡的編程方式主要有以下3種:軟件觸發(fā)方式、中斷方式和DMA方式.
軟件觸發(fā)方式實(shí)際上就是采用系統(tǒng)提供的毫秒精度等級以上的時(shí)鐘,通過對寄存器的查詢來實(shí)現(xiàn)數(shù)據(jù)采集,由于其數(shù)據(jù)采集速度比較慢,多用于低速數(shù)據(jù)采集場合.中斷方式需要編寫中斷服務(wù)程序,將板卡上的數(shù)據(jù)傳到預(yù)先定義好的內(nèi)存變量中,每次A/D轉(zhuǎn)換結(jié)束后,EOC信號都會(huì)產(chǎn)生一個(gè)硬件中斷,然后由中斷服務(wù)程序完成數(shù)據(jù)傳輸,但是要確定中斷級別[5].DMA方式應(yīng)用比較復(fù)雜,但是由于不需要CPU參與,所以適合應(yīng)用于大量數(shù)據(jù)的高速采集,和中斷方式一樣,也要DM*別[3].
2.3 數(shù)據(jù)采集編程
基于本系統(tǒng)的需要,選擇中斷方式來完成對數(shù)據(jù)采集卡編程.中泰PCI-8335B數(shù)據(jù)采集卡設(shè)備驅(qū)動(dòng)程序支持Visual C++6.0.通過DRV_FAI-IntStart函數(shù)啟動(dòng)中斷功能,此功能運(yùn)行于后臺,可以使用DRV_FAICheck函數(shù)檢查工作狀態(tài),同時(shí)可以使用DRV_FAITransfer函數(shù)傳輸數(shù)據(jù).當(dāng)工作結(jié)束,或者在其它任何時(shí)刻,都可以采用DRV_FAIStop來停止工作.
為了防止在數(shù)據(jù)采集時(shí)丟失數(shù)據(jù)(特別是在像Windows這樣的多任務(wù)操作系統(tǒng)下),通常板卡完成A/D轉(zhuǎn)換后,將數(shù)據(jù)寫人到數(shù)據(jù)輸出寄存器中,接著使用中斷服務(wù)功能將數(shù)據(jù)傳輸?shù)紺PU/內(nèi)存,所以PCI-8335B數(shù)據(jù)采集卡添加了FIFO功能.如果沒有FIFO功能,當(dāng)每一次硬件完成A/D轉(zhuǎn)換后,會(huì)改寫保存在數(shù)據(jù)寄存器中的值,從而造成數(shù)據(jù)的丟失,使用FIFO功能后,使得新數(shù)據(jù)會(huì)存到緩沖區(qū)中.
數(shù)據(jù)采集編程工程中將程序分成4個(gè)模塊進(jìn)行編寫,添加4個(gè)成員功能函數(shù),分別為kaOpen(),DCollect(), kaClose(), Daist().數(shù)據(jù)采集模塊的具體編程設(shè)計(jì)如下:
在kaOpen函數(shù)中,首先初始化定義變量,將變量設(shè)定初值,具體數(shù)據(jù)參考表1.初始化變量以后,定義一個(gè)數(shù)組并清零,用這個(gè)數(shù)組存放數(shù)據(jù).為了在打開數(shù)據(jù)采集卡時(shí)能夠及時(shí)地發(fā)現(xiàn)錯(cuò)誤,編寫了錯(cuò)誤判斷語句,如果數(shù)據(jù)采集卡沒有反應(yīng),可通過這些判斷語句發(fā)現(xiàn)什么地方出現(xiàn)錯(cuò)誤,并通過警告信息提示.
ErrCde = DRV _ DeviceOpen ( DeviceList[gwDevice]. dwDeviceNum, (LONG far *) &DHandle )的功能是將數(shù)據(jù)采集卡打開,打開設(shè)備的操作是在使用設(shè)備進(jìn)行數(shù)據(jù)采集等編程操作之前必須進(jìn)行的.為了得知數(shù)據(jù)采集是否打開,DRV_DeviceOpen函數(shù)的返回值為一個(gè)設(shè)備打開成功或失敗的標(biāo)記,通過程序中的if語句來判斷,如果打開卡不成功,我們可以很容易知道什么地方出錯(cuò),并通過消息框?qū)㈠e(cuò)誤顯示出來.
實(shí)現(xiàn)功能取得設(shè)備設(shè)置的代碼如下:
ptDevFeatures. buffer = ( LPDEVFEA-TURES)&DevFeatures;
ptDevFeatures. size = sizeof (DEVFEA-TURES);
if ((ErrCde = DRV _ DeviceGetFeatures( DHandle, ( LPT _ DeviceGetFeatures )&ptDevFeatures))! =SUCCESS)
{
AfxMessageBox(/不能獲得設(shè)備特征0);
DRV_DeviceClose(&DHandle);
return;
}
初始化ptDevFeature結(jié)構(gòu)變量中的變量buff-er,size.然后調(diào)用DRV_DeviceGetFeatures,通過DriverHandle參數(shù)取得該設(shè)備的設(shè)置,其他語句進(jìn)行出錯(cuò)判斷.
3 系統(tǒng)的軟件部分組成
系統(tǒng)的主要功能模塊如下:
(1)系統(tǒng)初始化模塊:為確保電氣系統(tǒng)在測量時(shí)的安全及采集精度,首先運(yùn)行自檢程序,應(yīng)確保系統(tǒng)地線接地良好,如果沒有接地,則報(bào)警;檢查氣源壓力是否在0.4~0.8MPa,若低于或者高于工作氣壓,則報(bào)警.
(2)檢測設(shè)置模塊:為了對不同尺寸檔的工件進(jìn)行測量,就必須使用不同的測量頭.
(3)測試和測量模塊:該模塊分為手動(dòng)和自動(dòng)測量.手動(dòng)測量時(shí)被測件套在測頭上,啟動(dòng)測量系統(tǒng)采集數(shù)據(jù);自動(dòng)測量時(shí)數(shù)據(jù)采集卡始終處在開放狀態(tài),當(dāng)被測件放入工作臺,電壓保持穩(wěn)定時(shí)自動(dòng)測得數(shù)據(jù).
(4)數(shù)據(jù)統(tǒng)計(jì)與分析模塊:通過采集的數(shù)據(jù)可以計(jì)算零件的圓度、錐度等參數(shù);調(diào)用存儲(chǔ)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,用數(shù)理統(tǒng)計(jì)的方法對數(shù)據(jù)進(jìn)行處理,能夠進(jìn)行平均值和標(biāo)準(zhǔn)差值的計(jì)算,分析加工工件的尺寸變化規(guī)律,還能夠?qū)ぜ叽邕M(jìn)行設(shè)定,通過圖形查看是否存在不合格品.
4 實(shí)驗(yàn)數(shù)據(jù)與結(jié)果分析
被測工件為一液壓閥體,孔徑<20+0.0230,孔長為80mm,大批量生產(chǎn),錐度要求小于27×10-6,同時(shí)測出孔徑和錐度.在相同條件下依次對20個(gè)工件連續(xù)進(jìn)行等精度測量,測得孔徑及錐度見表1,表1中數(shù)據(jù)加零件基本尺寸20×10-3mm為測量的實(shí)際孔徑大小.
實(shí)驗(yàn)表明,這20個(gè)零件中在第8個(gè)零件測量時(shí)孔徑差大于2Lm,錐度不滿足產(chǎn)品小于27×10-6的要求,屬于不合格產(chǎn)品,其余均屬于合格品.
5 結(jié)束語
采用差壓式氣動(dòng)原理對零件內(nèi)孔進(jìn)行自動(dòng)測量,度高,轉(zhuǎn)換速度快,系統(tǒng)結(jié)構(gòu)簡單,輸出電信號便于后續(xù)處理.若利用計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,可方便地實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)分析,從而構(gòu)成智能化自動(dòng)測量系統(tǒng),可大大提高測量自動(dòng)化程度和測量效率.
參考文獻(xiàn):
[1]汪立洲.機(jī)械加工中的氣動(dòng)測量[J].計(jì)測技術(shù),2007,(05):58-59.
[2]楊洪濤,吳天鳳.智能氣動(dòng)測量系統(tǒng)的研究[J].煤礦機(jī)械,2003,(02):21-23.
[3]葉宗茂.氣動(dòng)測量技術(shù)[J].現(xiàn)代零部件,2005,(10):34-36.
[4] Goghari A A,Chandra S.Producing droplets smaller than thenozzle diameter by using a pneumatic drop-on-demand dropletgenerator [J]. Experiments in Fluids, 2008,44(1):401-424.
[5]周 林,殷 俠.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.
作者:牛賈睿 楊慕升