祝鋆鵬,羅玉元,葉宇濤,唐曉平
(紹興文理學院元培學院,浙江 紹興 312000)
目前國內市場上的圓度檢測儀功能單一,主要用于軸承的內外圈檢測,且手動讀數和人工處理居多。國內外生產的圓度或圓柱度自動檢測儀,一般采用高精度的氣浮軸承,價格昂貴,動輒十幾萬、幾十萬,難以普及。經文獻檢索,既有一定檢測精度又能提高檢測效率的圓度和圓柱度檢測儀還未見報道。本項目下位機的是以Arduino單片機為核心,Arduino能通過添加多種傳感器來使用,通過控制燈光、電機和其他的裝置來接收、影響環境,也可以通過串口通信來實時監測串口返回值對數據進行實時監控。Arduino的編程是利用 Arduino編程語言(c語言為基礎)和Arduino開發環境來實現的。Arduino和其他一些在PC上運行的軟件,他們之間進行通信來實現。為了達到測量圓度的目的我們設計了如下裝置(圖1)。
設計的圓度儀為工作臺旋轉式,傳感器固定不動,被測零件放置在回轉工作臺上隨工作臺一起回傳。傳感器使用的是KTP自恢復式位移傳感器。具有高精度,高壽命,線性優異的特點,并有眾多不同精度規格,可以根據零件的特性選擇不同規格傳感器,并且使用方便簡單。整個系統分為上位機評定系統和下位機控制系統,下位機由微型位移傳感器,回轉工作臺,Arduino單片機等構成,上位機系統為基于 :Windows操作系統的評定軟件,可以進行系統設置,控制指令,設置測量參數,數字濾波,放大倍率,圓度評價及歷史數據記錄等操作。
工作原理如下:理想狀態下,零件為標準的圓,微型位移傳感器測量頭并不會發生偏移,當零件不圓時,微型位移傳感器的測量頭發生位移,產生電壓信號通過串口通信返回給單片機,通過程序轉化,成為距離信號,再發送給上位機,上位機對得到的信號進行后續消除異常,標定,評定等,得到需要的結果,并進行圖形打印或儲存。
對于程序流程設計(如圖2),利用Arduino的串口通信,通過調節通信頻率,設置信號返回接收數量,接收到的數據傳輸給上位機的處理程序,上位機再進行統計判斷。
對于上位機,是一個基于windows操作平臺的圓度測量軟件,利用VC++語言完成軟件界面的設計,數據處理及分析,串口通信,結果管理等工作。
使用回轉式測量的零件圓度精度通常通過圓度誤差來評定,為了減小圓度誤差,我們使用了最小二乘法來實現。最小二乘法(又稱最小平方法)是一種數學優化技術。它通過最小化誤差的平方和尋找數據的最佳函數匹配。利用最小二乘法可以簡便地求得未知的數據,并使得這些求得的數據與實際數據之間誤差的平方和為最小。最小二乘法還可用于曲線擬合。其他一些優化問題也可通過最小化能量或最大化熵用最小二乘法來表達。這對于計算機的算法要求不高,能夠滿足實際需求,得到較為精確數值。在被測零件中,被測輪廓上的各點到某一定圓的距離的平方和為最小,此圓則為最小二乘圓。詳情如圖3。
通過最小二乘法尋找理想圓,理想圓的圓心就是真實的圓心。而理想圓的邊與實際邊之間的距離就是圓度誤差。圓心求法如下:

(x,y)為實際輪框上的一點,ri是點到坐標原點的距離,Ri為輪框到理想圓心的距離,公式如下:

Ri中最大與最小值的差,即為圓度差。