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