趙勇圖,彭東林,鄭 永,張?zhí)旌?,周啟?/p>
(重慶理工大學(xué) a.機(jī)械工程學(xué)院; b.機(jī)械檢測(cè)技術(shù)與裝備教育部工程研究中心;c.時(shí)柵傳感及先進(jìn)檢測(cè)技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室, 重慶 400054)
對(duì)刀系統(tǒng)是數(shù)控機(jī)床中重要組成部分,加工刀具的安裝質(zhì)量和對(duì)準(zhǔn)精度會(huì)直接或間接地影響機(jī)床的加工精度和產(chǎn)品的加工質(zhì)量,進(jìn)而影響生產(chǎn)效率和產(chǎn)品良品率[1]。對(duì)于數(shù)控滾齒機(jī)而言,目前國(guó)內(nèi)大多數(shù)滾齒機(jī)加工的對(duì)刀方式仍為人工手動(dòng)對(duì)刀,其對(duì)刀效率低、精度差、對(duì)工人技術(shù)要求高,且國(guó)內(nèi)還沒(méi)有一個(gè)完善的自動(dòng)對(duì)刀位置檢測(cè)系統(tǒng)[2-5]。由于滾齒機(jī)加工滾刀與蝸輪的模數(shù)、導(dǎo)程角等參數(shù)一樣,且結(jié)構(gòu)類似,為了解決自動(dòng)對(duì)刀系統(tǒng)中刀具位置定位的問(wèn)題,本文以蝸桿為研究對(duì)象,設(shè)計(jì)了一種基于OPC與ARM的MTX數(shù)控滾齒機(jī)蝸桿位置檢測(cè)系統(tǒng),利用嵌入式檢測(cè)系統(tǒng),結(jié)合OPC通訊技術(shù)與數(shù)字信號(hào)處理技術(shù),實(shí)現(xiàn)高效率的蝸桿位置特征點(diǎn)定位功能。將該系統(tǒng)用于MTX數(shù)控滾齒機(jī),可實(shí)現(xiàn)對(duì)加工蝸桿齒根與齒頂中線的位置檢測(cè)。驗(yàn)證了方案的可行性,可對(duì)研究MTX數(shù)控滾齒機(jī)自動(dòng)對(duì)刀系統(tǒng)起關(guān)鍵性作用。
系統(tǒng)的總體方案如下:根據(jù)蝸桿的合金鋼材質(zhì),選擇電感式接近傳感器對(duì)蝸桿進(jìn)行特征位置測(cè)量,根據(jù)齒頂與齒根分別掠過(guò)傳感器表面而產(chǎn)生的不同信號(hào)來(lái)反映蝸桿的實(shí)際位置,利用下位機(jī)ARM對(duì)傳感器信號(hào)進(jìn)行采集,并利用USB串口的方式傳輸至PC中,同時(shí)利用自主開發(fā)的OPC通訊客戶端對(duì)MTX數(shù)控系統(tǒng)中的蝸桿軸坐標(biāo)進(jìn)行采集,并通過(guò)以太網(wǎng)的連接方式傳輸至PC中,利用時(shí)間戳將傳感器與數(shù)控系統(tǒng)坐標(biāo)以時(shí)間為基準(zhǔn)一一對(duì)應(yīng)。將傳感器得到的特征位置信息對(duì)應(yīng)地轉(zhuǎn)化為MTX數(shù)控系統(tǒng)中的坐標(biāo)值,最后進(jìn)行相關(guān)計(jì)算,得到蝸桿特征位置坐標(biāo)。再通過(guò)OPC通訊客戶端編寫NC程序,控制蝸桿軸分別運(yùn)動(dòng)至相應(yīng)坐標(biāo)位置。整個(gè)系統(tǒng)方案如圖1所示。
圖1 系統(tǒng)方案
根據(jù)蝸輪蝸桿傳動(dòng)時(shí)的重合度,會(huì)有N對(duì)齒同時(shí)嚙合,為了使檢測(cè)效果最好,選取蝸桿與蝸輪嚙合最緊密貼合的一對(duì)齒進(jìn)行特征位置檢測(cè),系統(tǒng)的蝸桿位置檢測(cè)原理如圖2所示。設(shè)蝸桿軸為C軸,當(dāng)蝸桿以逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng)時(shí),蝸桿的齒頂和齒根依次掠過(guò)傳感器的檢測(cè)表面。當(dāng)蝸桿的位置由齒根至齒頂依次掠過(guò)傳感器檢測(cè)面時(shí),傳感器輸出由大到小變化,在電壓即將減小時(shí)C軸坐標(biāo)記為C1;當(dāng)蝸桿的位置由齒頂至齒根依次掠過(guò)傳感器檢測(cè)面時(shí),傳感器輸出由小到大變化的電壓值,在電壓即將增大時(shí)C軸坐標(biāo)記為C2。當(dāng)電壓再次由小變大,恰好達(dá)到最大值時(shí),記C軸坐標(biāo)為C3。通過(guò)式(1)(2)計(jì)算出對(duì)刀齒的齒根的中線位置對(duì)應(yīng)的坐標(biāo)值。
(1)
(2)
檢測(cè)開始前,需要確定傳感器安裝位置。為了不影響檢測(cè)后的對(duì)刀操作,傳感器的安裝位置必須要避開加工面。如圖2所示,將傳感器安裝在與待測(cè)點(diǎn)Cx1與Cx2處于同一螺旋線并相隔180° 的位置。由于傳感器檢測(cè)點(diǎn)與對(duì)刀點(diǎn)位置不同,需要重新計(jì)算Cx1與Cx2的值,根據(jù)導(dǎo)程角計(jì)算式(3)計(jì)算出兩點(diǎn)與實(shí)際檢測(cè)點(diǎn)之間的坐標(biāo)差。
(3)
式中:θ為蝸桿的導(dǎo)程角;Z為蝸桿頭數(shù);m為模數(shù);d為蝸桿分度圓直徑;x為待測(cè)對(duì)刀點(diǎn)與實(shí)際檢測(cè)點(diǎn)之間的坐標(biāo)差。
圖2 蝸桿位置檢測(cè)原理示意圖
基于時(shí)間戳的雙定時(shí)同步采樣技術(shù)的原理是:通過(guò)ARM及OPC中的定時(shí)功能,使ARM與OPC在分別對(duì)傳感器與MTX數(shù)控系統(tǒng)坐標(biāo)采集時(shí)保持起始時(shí)間一致,采樣時(shí)間間隔一致,采樣率一致,這樣可以實(shí)現(xiàn)基于時(shí)間同步的2個(gè)不同采樣系統(tǒng)數(shù)據(jù)的一致性,通過(guò)時(shí)間點(diǎn)將兩者聯(lián)系起來(lái),將傳感器檢測(cè)到的特征位置轉(zhuǎn)化到機(jī)床的坐標(biāo)系中,其原理如圖3所示。在ARM采集的傳感器信號(hào)變化的位置,通過(guò)時(shí)間基準(zhǔn),可以對(duì)應(yīng)到OPC采集的C軸坐標(biāo),完成傳感器檢測(cè)的特征位置到MTX數(shù)控系統(tǒng)坐標(biāo)的轉(zhuǎn)化。
基于時(shí)間戳的雙定時(shí)同步采集技術(shù)需要ARM與OPC的零位信號(hào)保持一致,才能使所有數(shù)據(jù)基于時(shí)間對(duì)齊。對(duì)于OPC采集來(lái)說(shuō),系統(tǒng)開始運(yùn)動(dòng)時(shí),滾齒機(jī)的坐標(biāo)值即會(huì)相對(duì)增加或減少。因此,關(guān)鍵問(wèn)題在于,如何使ARM采集的傳感器信號(hào)的零位與OPC保持一致。本文通過(guò)調(diào)整傳感器與被檢測(cè)物體的相對(duì)位置來(lái)實(shí)現(xiàn)零位同步,具體方法為:將蝸桿的初始位置設(shè)置在使傳感器信號(hào)變化最明顯的位置處,即齒根與齒頂之間的過(guò)渡位置處,如圖4所示。先打開ARM采集系統(tǒng),當(dāng)系統(tǒng)開始運(yùn)動(dòng)時(shí),由于蝸輪齒位置由過(guò)渡位置開始變化,導(dǎo)致傳感器的信號(hào)會(huì)產(chǎn)生一個(gè)較為明顯的突變,將突變的點(diǎn)與OPC服務(wù)器讀取的數(shù)據(jù)起始點(diǎn)對(duì)應(yīng),即完成了零位的同步。圖中的T0即為系統(tǒng)的零位。
圖3 雙定時(shí)同步采樣示意圖
圖4 傳感器初始位置示意圖
中值濾波是一種基于統(tǒng)計(jì)計(jì)算方法的非線性信號(hào)噪聲去除技術(shù),其原理是將數(shù)字圖像或離散數(shù)字信號(hào)中任意一點(diǎn)的值,以該點(diǎn)為中心,取周圍若干個(gè)點(diǎn)并進(jìn)行由大到小或由小到大排序,再對(duì)該序列取中間值代替這一個(gè)點(diǎn)的值,從而實(shí)現(xiàn)對(duì)信號(hào)進(jìn)行平滑處理,消除突跳點(diǎn)[6-8]。設(shè)任意原始離散數(shù)字信號(hào)為Y=[X1,X2,X3,…,XN],共N個(gè)點(diǎn),算法步驟如下:
1) 選取領(lǐng)域長(zhǎng)度L,針對(duì)每個(gè)Xi數(shù)據(jù)點(diǎn)選取其鄰域?yàn)閇Xi-L,Xi+L]的所有數(shù)據(jù),并進(jìn)行排序,計(jì)新序列為Z=[Z1,Z2,Z3,…,ZK],K=2L+1;
2) 用式(4)計(jì)算Z的中間值Zmed;
(4)
3) 令Xi=Zmed。
中值濾波算法針對(duì)由于環(huán)境因素引起的信號(hào)波動(dòng)或采樣器不穩(wěn)定而造成的毛刺信號(hào)所引起的脈沖干擾去除十分有效,例如椒鹽噪聲與高斯噪聲。本文傳感器信號(hào)誤差主要是由于AD轉(zhuǎn)換模塊與串口傳輸?shù)牟▌?dòng)引起的毛刺信號(hào),適用于中值濾波去噪。
本系統(tǒng)選用的傳感器為準(zhǔn)聯(lián)HD2-M12H2L2-V010電感式接近開關(guān),其檢測(cè)距離0.4~2 mm,線性度為5%,根據(jù)檢測(cè)距離的大小,線性輸出模擬量為0~10 V的直流電壓。ARM選擇STM32F103
ZET6芯片,最高工作頻率為72 MHz,SRAM可達(dá)64 kB,有5個(gè)串口、4個(gè)通用定時(shí)器、3個(gè)ADC、2個(gè)DMA控制器等[7]。
為了與OPC通訊服務(wù)器構(gòu)成雙定時(shí)同步采樣,傳感器信號(hào)采集以ADC(Analog-to-Digital Converter)+TIM(Timer)+DMA(Direct Memory Access)的模式,實(shí)現(xiàn)等時(shí)間間隔定時(shí)采樣,其中ADC為模擬數(shù)字轉(zhuǎn)換器,TIM為通用定時(shí)器,DMA為直接存儲(chǔ)器訪問(wèn),用來(lái)提供在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù)據(jù)傳輸[10]。整個(gè)采集過(guò)程為:首先初始化DMA,配置數(shù)據(jù)存儲(chǔ)單元;其次,配置定時(shí)器,通過(guò)定時(shí)中斷方式啟動(dòng)ADC,以固定的時(shí)間間隔進(jìn)行數(shù)據(jù)采樣;最后,通過(guò)ADC與DMA結(jié)合,將ADC采集數(shù)據(jù)傳輸至DMA配置的存儲(chǔ)單元中,并通過(guò)USB串口通訊將數(shù)據(jù)傳輸至PC機(jī),完成傳感器信號(hào)的采集,全過(guò)程見圖5。這種采集方式有以下優(yōu)點(diǎn):① 使用DMA進(jìn)行數(shù)據(jù)搬運(yùn),無(wú)需CPU干預(yù),節(jié)省了CPU的資源;② 避免了直接使用定時(shí)器中斷ADC引起的頻繁讀取ADC的數(shù)據(jù)寄存器操作,節(jié)省了系統(tǒng)運(yùn)行時(shí)間。
圖5 傳感器信號(hào)采集流程
由于ADC只能接收0~3.3 V的直流電壓,故需設(shè)計(jì)信號(hào)轉(zhuǎn)換電路,將傳感器輸出電壓轉(zhuǎn)換至適用范圍。集成運(yùn)算放大器技術(shù)已經(jīng)成熟,且其反向比例信號(hào)轉(zhuǎn)換電路有抗干擾能力強(qiáng)的特點(diǎn)。故轉(zhuǎn)換電路以運(yùn)算放大器為主,結(jié)合電阻、電容元件,可將輸入信號(hào)幅值以一定比例縮小。電路原理設(shè)計(jì)如圖6所示,利用OP07CPR運(yùn)算放大器構(gòu)成反向比例電路,輸入電壓UIN通過(guò)電阻R1加在運(yùn)放的反向輸入端,R2是反饋電阻。同理,U4通過(guò)電阻R4輸入,經(jīng)過(guò)R5反饋得到UOUT,其中R1∶R2=4∶1,R4∶R5=1∶1,R3與R6接在同相輸入端作平衡電阻,為了保證運(yùn)放電路工作在平衡的狀態(tài)下,其阻值分別由式(5)(6)計(jì)算:
(5)
(6)
根據(jù)基爾霍夫電流定律,分別對(duì)結(jié)點(diǎn)a、b列式(7)(8),得:
(7)
(8)
其中:U1=UIN,U5=UOUT。
傳感器電壓輸出范圍為0~ 10 V,先將幅值以4∶1比例縮小,后以1∶1反轉(zhuǎn)電壓,得到0~2.5 V電壓值。在運(yùn)算放大器供電端添加濾波電容,降低電源帶來(lái)的干擾誤差。
圖6 信號(hào)轉(zhuǎn)換電路
系統(tǒng)軟件功能主要由VC++開發(fā)的OPC服務(wù)器來(lái)實(shí)現(xiàn)。OPC是基于COM/DCOM 技術(shù),用于過(guò)程控制領(lǐng)域中的對(duì)象鏈接與嵌入,利用客戶/服務(wù)器模型形成的一種用于工業(yè)控制領(lǐng)域的開放式標(biāo)準(zhǔn)。OPC規(guī)范定義了2套接口標(biāo)準(zhǔn),分別為自動(dòng)化接口標(biāo)準(zhǔn)和自定義接口標(biāo)準(zhǔn)。前者是為了向腳本語(yǔ)言編寫的客戶程序提供服務(wù),后者適用于C和C++的應(yīng)用程序。自定義接口更高效,功能更強(qiáng)大[11-12]。本系統(tǒng)利用VC++開發(fā)OPC客戶端,實(shí)現(xiàn)對(duì)MTX數(shù)控系統(tǒng)的數(shù)據(jù)通訊,步驟如圖7所示。
圖7 OPC的建立及通訊流程
首先初始化OPC:初始化COM庫(kù),根據(jù)ProgID查找CLSID。CLSID為Windows系統(tǒng)對(duì)于不同的OLE對(duì)象分配一個(gè)唯一表示它的ID,只有獲得了唯一的CLSID后,才可以創(chuàng)建OPC服務(wù)器。當(dāng)OPC服務(wù)器創(chuàng)建成功后,需要向服務(wù)器添加組和項(xiàng),添加組時(shí)需要定義數(shù)據(jù)刷新時(shí)間,項(xiàng)ID的定義需要與數(shù)控系統(tǒng)中需要檢測(cè)的參數(shù)ID相同,否則會(huì)出現(xiàn)錯(cuò)誤。在添加項(xiàng)后,需要對(duì)項(xiàng)的讀寫性進(jìn)行檢查,如果不滿足讀寫要求,需要?jiǎng)h除已定義項(xiàng),重新添加項(xiàng),每個(gè)OPC項(xiàng)具有3個(gè)參數(shù):值、品質(zhì)、時(shí)間戳。讀寫項(xiàng)添加完成后,對(duì)數(shù)據(jù)傳輸所需要的接口進(jìn)行查詢獲取,建立異步回調(diào)函數(shù),完成數(shù)據(jù)流的創(chuàng)建,最后通過(guò)Excel模塊實(shí)現(xiàn)導(dǎo)出數(shù)據(jù),完成通訊流程。OPC通訊界面如圖8所示。
圖8 OPC通訊界面
將本系統(tǒng)用于MTX數(shù)控滾齒機(jī)進(jìn)行實(shí)驗(yàn)驗(yàn)證。首先啟動(dòng)OPC通訊客戶端,通過(guò)以太網(wǎng)連接PC與數(shù)控系統(tǒng),設(shè)置OPC為定時(shí)傳輸模式。將傳感器信號(hào)通過(guò)信號(hào)處理電路板轉(zhuǎn)換電壓,之后接入ARM進(jìn)行采集,再通過(guò)USB串口數(shù)據(jù)定時(shí)傳輸至PC,實(shí)驗(yàn)現(xiàn)場(chǎng)如圖9所示。待測(cè)蝸桿的頭數(shù)為1,模數(shù)為3 mm,以采樣速率為0.1 s/個(gè),蝸桿轉(zhuǎn)速為0.64 r/min,逆時(shí)針控制蝸桿旋轉(zhuǎn)720°,將蝸桿軸與傳感器數(shù)據(jù)同時(shí)采集并保存至Excel,將采集過(guò)程中產(chǎn)生的冗余數(shù)據(jù)刪除后,導(dǎo)入Matlab軟件中作圖得到圖10。從圖中可以看出:傳感器數(shù)據(jù)由數(shù)控系統(tǒng)中坐標(biāo)值實(shí)現(xiàn)了基于時(shí)間戳的一一對(duì)應(yīng),但是傳感器數(shù)據(jù)含有大量毛刺誤差,需要進(jìn)行降噪處理后再進(jìn)行結(jié)果計(jì)算。
由于傳感器的原始誤差含有大量毛刺信號(hào),對(duì)最終結(jié)果產(chǎn)生影響,導(dǎo)致蝸桿位置檢測(cè)結(jié)果不準(zhǔn)確,故需要選取一定的方式對(duì)其進(jìn)行降噪處理。本文選擇中值濾波的方式對(duì)傳感器信號(hào)進(jìn)行處理。中值濾波需要根據(jù)信號(hào)毛刺程度的大小選擇不同的鄰域長(zhǎng)度,在一定范圍內(nèi),信號(hào)越嘈雜,鄰域長(zhǎng)度值選取越高,但如果選擇值過(guò)高,會(huì)使原始信號(hào)產(chǎn)生畸變,導(dǎo)致信號(hào)失真。本文采取不同閾值選取結(jié)果對(duì)比的方式來(lái)確定閾值,如圖11所示。在Matlab軟件中編寫中值濾波函數(shù),分別將領(lǐng)域長(zhǎng)度L設(shè)為10、20、40時(shí)的降噪后信號(hào)與原始信號(hào)進(jìn)行對(duì)比,可以得出結(jié)論:隨著L的增加,降噪的效果越好,但信號(hào)畸變程度也越大,當(dāng)L=40時(shí),毛刺信號(hào)已經(jīng)不太明顯,但信號(hào)固有的最小值已被平滑為一條直線。故需要在降噪程度和畸變程度之間進(jìn)行取舍。針對(duì)以上3組數(shù)據(jù),當(dāng)L為20時(shí)信號(hào)處理效果最佳,所以選擇L=20時(shí)的結(jié)果作為降噪后的信號(hào)計(jì)算。將降噪后的信號(hào)與OPC客戶端采集的蝸桿軸坐標(biāo)繪圖至圖12,圖中傳感器信號(hào)中畫圈的拐點(diǎn)為計(jì)算蝸桿特征位置需要的點(diǎn)位,分別對(duì)應(yīng)圖2中的C1、C2、C3,將它們對(duì)應(yīng)的時(shí)間戳與OPC中蝸桿軸坐標(biāo)的時(shí)間戳對(duì)齊,并將對(duì)應(yīng)數(shù)據(jù)提取至表1,由公式計(jì)算出蝸桿齒根中線與齒頂中線對(duì)應(yīng)的坐標(biāo)分別為178.392 6和358.306 2。
圖9 MTX數(shù)控滾齒機(jī)蝸桿檢測(cè)實(shí)驗(yàn)
圖10 蝸桿軸坐標(biāo)與傳感器原始信號(hào)
圖11 不同L值降噪效果對(duì)比
表1 傳感器與蝸桿軸數(shù)據(jù)對(duì)應(yīng)表
圖12 蝸桿軸坐標(biāo)與濾波后傳感器信號(hào)
設(shè)計(jì)了一套針對(duì)MTX數(shù)控滾齒機(jī)使用的蝸桿位置檢測(cè)系統(tǒng),利用OPC通訊技術(shù)、ARM技術(shù),設(shè)計(jì)信號(hào)處理模塊,上、下位機(jī)雙定時(shí)同步采樣技術(shù),實(shí)現(xiàn)對(duì)蝸桿特征位置的檢測(cè)及定位,若將被測(cè)對(duì)象換成滾刀,用相同的方法對(duì)滾刀進(jìn)行檢測(cè),可以得出對(duì)刀所需坐標(biāo)值,以及刀具的齒距測(cè)量等,為MTX數(shù)控滾齒機(jī)自動(dòng)對(duì)刀系統(tǒng)提供了解決方案。將該系統(tǒng)做適當(dāng)調(diào)整也可以用于檢測(cè)被加工件的齒根位置坐標(biāo),與本系統(tǒng)檢測(cè)的蝸桿齒頂坐標(biāo)配合使用,可完成刀具的對(duì)準(zhǔn)功能。