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