牟向偉,葛 鵬,梁國健
(廣西師范大學職業(yè)技術師范學院,廣西 桂林541004)
隨著生產技術的快速發(fā)展,傳統(tǒng)游標卡尺等機械厚度測量方式由于其效率低在工業(yè)生產中逐漸被淘汰。取而代之的是超聲波測厚、紅外測厚、渦流測厚等測厚技術。
在厚度測量技術上,國內外學者已經取得較大進展,主要測量方法有超聲波、紅外線和激光等[1-3]。劉琳等[4]使用脈沖反射以高性能ARM8、FPGA為控制核心,利用超聲波檢測電路,結合高速A/D轉換器設計出基于ARM的便攜式超聲測厚儀。石振香[5]使用β射線研制出一種數(shù)字式在線厚度測量儀并基于BP人工神經網絡實現(xiàn)傳感器溫度誤差補償。李文濤等[6]利用β射線設計出新型β射線背散射測厚儀,測量最大偏差為0.47μm,但射線測厚的方法成本昂貴,一般用于材料的高精度測量。李俐等[7]研究一種基于非勻速修正圓錐指數(shù)的土層厚度測量方法,能有效獲取土層厚度信息,但受用面窄,無法應用于其他工業(yè)領域。王曉娜等[8]設計了一種用于玻璃厚度測量的空間相位調制型激光干涉儀。吳南壽等[9]設計了一種基于邁克遜干涉儀原理高速、高精度的非接觸式玻璃厚度測量系統(tǒng),但只能實現(xiàn)對玻璃等透光性強的物體厚度測量。目前的激光測厚主要原理是利用激光三角法結合CCD相機利用圖像處理得出被測物體厚度,對光學結構部分的激光器和工業(yè)相機位置固定要求嚴格[10-12]。
在工業(yè)生產中,基于激光的厚度測量方法尤其適用于金屬、木材等非透明材料的厚度測量,且安全可靠,有極高的應用價值,但其依賴圖像處理技術,且對光學系統(tǒng)結構搭建有要求。針對我國在竹板或竹筒的加工現(xiàn)狀,如何在保障精度的情況下高效測量出竹筒壁厚并對不同厚度竹筒進行分揀成為加工生產中的關鍵,以此確保不同厚度的竹板用于不同的生產中[13-15]。
通過分析激光測距傳感器的原理,以STM32微控制器為主控模塊,使用多個激光測距傳感器模塊,通過計算模塊中激光發(fā)射器與紅外接收器接收到光子的時間測量出距離,并搭建系統(tǒng)進行試驗,分析其測量精度與靈敏度,實現(xiàn)對竹筒或竹板的厚度測量。同時也適用于金屬板、木板或筒狀板材等物體的厚度測量。
基于激光測距的厚度測量儀,成本低,使用方便,能有效地保障測量的效率與質量。系統(tǒng)結構如圖1所示。在操作板上有固定的手持把手,方便測量,操作板上設計有屏顯孔,方便顯示操作板下表面PCB電路板上顯示屏的數(shù)據(jù),操作板下方豎直固定多塊裝有激光傳感器的探測板,其中3個傳感器中,位于操作板上兩外側探測板上為外端激光測距傳感器,位于中部的探測板上則為內端激光測距傳感器,兩外端激光測距傳感器朝向相對,內端激光測距傳感器與靠近手持把手一端探測板上激光測距傳感器方向一致,且3塊探測板上的傳感器位于同一直線上。
1.操作板 2.PCB 3.屏顯孔 4.顯示屏 5.手持把手 6.竹筒 7.傳感器 8.固定螺釘 9.探測板圖1 系統(tǒng)結構Fig.1 System structure
由于不同粗糙程度的物體表面使傳感器在透鏡單位時間內接收到的光能量不同,會對測量產生影響,造成一定的測量誤差。因此,擬在光澤的竹筒表面進行試驗,通過激光測距的原理對竹筒厚度進行測量。測量原理如圖2所示。
圖2 測量原理Fig.2 Measurement principle
假設竹筒厚度和外徑分別為D0和D4,2個外端激光傳感器間距為L1,內端激光傳感器與遠離手持把手端激光傳感器間距為L2,2個外端激光傳感器所測距離分別為D1和D3,內端激光傳感器測量距離為D2,則可得如下公式。
L1=D3+D4+D1
(1)
L2=D3+D0+D2
(2)
因此,可以得出竹筒的厚度D0與內徑D4有如下關系。
D0=L2-D3-D2
(3)
D4=L1-D3-D1
(4)
由于3個激光傳感器在實際裝置中存在一定的厚度分別對應記為n1、n2和n3,因此上述2個公式中需減去傳感器自身的厚度,來糾偏測量值,故可得實際公式應為
D0=L2-D3-D2-(n2+n3)
(5)
D4=L1-D3-D1-(n1+n3)
(6)
該系統(tǒng)主要由系統(tǒng)硬件與軟件兩部分組成(圖3)。系統(tǒng)硬件部分主要由STM32主控電路、電源電路、無線通信電路、傳感器模塊及屏顯模塊端口電路組成。
圖3 系統(tǒng)總電路Fig.3 System general circuit diagram
采用意法半導體公司生產的內核為Cortex-M3的STM32F105RBT6型微控制器,工作頻率為72 MHz,內置Flash大小為256 kB,SRAM為64 kB,該控制器共有5個串口,在本設計中,無線通信與下載調試各占用1個串口,3個激光傳感器占用3個串口,剛好滿足設計需求。主控電路設計如圖4所示。
圖4 主控芯片電路Fig.4 Circuit of main control chip
電源電路部分使用ME6203A33M3G壓差線性穩(wěn)壓芯片,將外接型號為18650的3.9 V鋰電池電壓穩(wěn)壓至3.3 V,為整個系統(tǒng)提供能源。ME6203A33M3G低壓差線性穩(wěn)壓芯片使用sot-23封裝,價格便宜且波紋小。本設計中使用兩路DC-DC線性穩(wěn)壓方案,可達到高精度的電源性能,實用性強。電源電路設計如圖5所示。
圖5 電源電路Fig.5 Power supply circuit
系統(tǒng)利用WiFi對數(shù)據(jù)進行無線傳輸,使用ESP8266模組,可對ESP8266模組燒錄相應的AT指令對模組進行基礎的配置,且其內部嵌有32位低功耗CPU可做額外的處理器。整體而言,ESP8266操作簡單,傳輸效率高,占用控制器IO口資源少,適合數(shù)據(jù)無線傳輸,無線通信電路設計如圖6所示。
圖6 無線通信電路Fig.6 Wireless communication circuit
傳感器模塊使用RCWL-0810 VL53L01型激光測距傳感器,該模塊通過串口與主控進行數(shù)據(jù)傳輸,具有精度高、響應快、穩(wěn)定性好等優(yōu)點,其精度范圍如表1所示。
表1 RCWL-0810 VL53L01型激光測距傳感器精度范圍Tab.1 Accuracy range of RCWL-0810 VL53L01 laser ranging sensor
從表1可以看出,當設置其工作在高精度模式下時,可滿足設計要求。
屏幕顯示選用2.44 cm(0.96英寸)OLED模塊,支持顯示漢字、ASCII和圖案等內容,能將需顯示的數(shù)據(jù)清晰地呈現(xiàn),功耗低,穩(wěn)定性強,被廣泛使用在各種設備中。
系統(tǒng)軟件設計部分主要包括對激光測距傳感器采集的數(shù)據(jù)進行濾波、消抖等程序的設計,實現(xiàn)將最后測量的厚度值清晰地呈現(xiàn)在顯示屏上。
使用成熟穩(wěn)定的MDK-ARM開發(fā)平臺對軟件進行調試,確保調試過程數(shù)據(jù)的處理準確、有效。厚度測量儀軟件總體工作流程如圖7所示。系統(tǒng)上電后進入初始化,當測量按鍵按下后,傳感器開始采集數(shù)據(jù),接著通過串口將數(shù)據(jù)發(fā)送至stm32微控制器,經由卡爾曼濾波法算法優(yōu)化、防抖等處理后通過屏幕顯示出來。
圖7 厚度測量流程Fig.7 Flow of thickness measurement
在手持測量物體厚度過程中,難以避免因手抖動造成數(shù)據(jù)抖動的問題,因此,需要程序中加入濾波等程序算法消除數(shù)據(jù)抖動,常見的濾波算法有中值平均濾波算法、加權遞推平均濾波算法、卡爾曼濾波算法及其改進變形的一系列算法等[16-18]。為提高程序濾波效果,采用基于軟件模擬的方式對多種濾波算法組合進行比較,最終確定了先用卡爾曼濾波算法再對數(shù)據(jù)使用平滑修正算法處理。
3.2.1 卡爾曼濾波算法實現(xiàn)
在觀測系統(tǒng)狀態(tài)時,通常有2種手段:一是通過系統(tǒng)的狀態(tài)方程與前一時刻系統(tǒng)狀態(tài),推算出下一時刻的狀態(tài);二是用輔助的方式通過量測系統(tǒng)得到系統(tǒng)測量值??柭鼮V波則是將二者結合分配不同權重達到最優(yōu)的結合。
對于線性離散的動態(tài)系統(tǒng),狀態(tài)方程為
xk=Axk-1+Wk-1
(7)
系統(tǒng)量測方程為
yk=Cxk-1+vk-1
(8)
式中xk——系統(tǒng)狀態(tài)
yk——量測輸出
wk——系統(tǒng)過程噪聲
vk——量測噪聲
k——離散時刻下標
根據(jù)狀態(tài)方程和量測方程,典型的卡爾曼濾波器是通過比較濾波器的輸入與輸出間殘差,調整濾波器的參數(shù),修正后驗分布達到最優(yōu)分布的效果。計算主要分為2組:一種時間更新方程用于預測,利用上一時刻值計算當前狀態(tài)與誤差協(xié)方差矩陣的估計值,為下一狀態(tài)提高先驗估計;另一種量測方程用于校正,將測量值與先驗估計值結合,為下一狀態(tài)提供優(yōu)化后的后驗估計。
根據(jù)觀測誤差最小且狀態(tài)無偏的原則求出卡爾曼增益,對先驗估計值優(yōu)化,得到當前最優(yōu)估計值,并求出最優(yōu)估計方差矩陣。
實現(xiàn)思路首先是利用系統(tǒng)的過程模型,通過根據(jù)系統(tǒng)上一次的狀態(tài)預測出當前狀態(tài),即
X(K│K-1)=A(K-1│K-1)
(9)
式中X(K│K-1)——上一狀態(tài)預測的結果
A——系統(tǒng)參數(shù)
A(K-1|K-1)——上一狀態(tài)最優(yōu)的結果
接著通過計算X(K│K-1)的協(xié)方差計算卡爾曼增益,計算公式為
P(K│K-1)=A×P(K-1│K-1)AT+Q
(10)
(11)
式中P(K│K-1)——X(K│K-1)對應的協(xié)方差
P(K-1│K-1)——X(K-1│K-1)對應的協(xié)方差
AT——A的轉置矩陣
Q——系統(tǒng)過程的協(xié)方差
H——測量系統(tǒng)的參數(shù)
由估計值與測量值更新出當前最優(yōu)值及其協(xié)方差讓卡爾曼濾波器不斷運行下去直至系統(tǒng)結束,實現(xiàn)算法的自回歸。
在了解卡爾曼算法實現(xiàn)過程之后,還需估計出該算法的大致效果,因此,在MATLAB中對其進行仿真,MATLAB仿真流程如圖8所示。
圖8 MATLAB仿真流程Fig.8 MATLAB simulation flow
3.2.2 平滑修正算法
使用平滑修正算法減小卡爾曼濾波后數(shù)據(jù)出現(xiàn)的突變誤差,在程序設計上,采用先進先出的方式計算并返回均值,程序設計流程如圖9所示。
圖9 滑動均值算法流程Fig.9 Moving mean algorithm flow
試驗在室溫下,選用了6種不同厚度的標準鋁合金板材(6.00、8.11、10.17、12.08、14.26和16.22 mm),使用5點采樣法對6種不同厚度的鋁材進行6組測量,每組測量進行5次,最后將手持厚度測量儀與千分尺測量的數(shù)據(jù)進行對比,分析其精度,5點采樣法如圖10所示。
圖10 5點采樣法Fig.10 Five-point sampling method
每1次測量時測量5點的厚度值,將千分尺5次數(shù)據(jù)的均值取平均得到的標準值記為H,厚度測量儀得到的5次數(shù)據(jù)均值記為h,一般情況下,精度是指測量值與真實值之間的差,記為Δδ,二者相對誤差記為δ[19-20]。其計算公式為
(12)
在數(shù)據(jù)分析中,還計算了每組數(shù)據(jù)的標準差S,公式為
(13)
千分尺測數(shù)均值、厚度測量儀測數(shù)均值、平均偏差和標準差相對誤差數(shù)據(jù)統(tǒng)計如表2所示。
表2 厚度測量儀誤差統(tǒng)計Tab.2 Error statistics of thickness measuring instrument
當以千分尺所測數(shù)據(jù)作為輸入量x,厚度測量儀測量的數(shù)據(jù)作為輸出量y時,理想情況下,輸入與輸出值應滿足直線方程y=1.00x,激光傳感器靈敏度為1.00,實際情況下,由于對竹筒厚度的測量精確度不高,厚度測量儀測量數(shù)據(jù)時會產生一定的誤差,一般靈敏度在0.90~1.10可滿足要求。輸入量與輸出量的關系如圖11所示。
圖11 手持式厚度測量儀特性曲線Fig.11 Characteristic curve of handheld thickness measuring instrument
從圖11中可以分析得出,輸入與輸出的關系可擬合成一條直線,方程為
y=0.993 66x-0.085 627
(14)
由于線性擬合度R2>0.990,因此,可認為靈敏度等于該直線方程斜率為0.993 66。
通過試驗分析可得,所設計的厚度測量儀最高誤差±1.5%,平均誤差<±1.0%,滿足設計所提出的精確度要求,且靈敏度>0.95。
為了進一步驗證所使用的平滑卡爾曼濾波算法是否對傳感器數(shù)據(jù)起到了優(yōu)化效果,提高系統(tǒng)測量精度與穩(wěn)定性,做了如下對比試驗。
(15)
通過對6組數(shù)據(jù)分析處理,得到優(yōu)化對比試驗精度如表3所示。
表3 優(yōu)化對比試驗結果統(tǒng)計值對比Tab.3 Statistical comparison of optimization comparison test results
通過上述對比試驗可以看出,在經過平滑卡爾曼濾波對數(shù)據(jù)處理后,系統(tǒng)的精度得到了顯著的改善(圖12),在手持狀態(tài)下最大誤差±1.5%,平均誤差<±1.0%(圖13)。相對千分尺而言,手持厚度測量儀穩(wěn)定性有保障,成本低,效率也大幅提高。
圖12 優(yōu)化前后測量精度對比Fig.12 Comparison of measurement accuracy before and after optimization
圖13 優(yōu)化前后測量誤差對比Fig.13 Comparison of measurement errors before and after optimization
同樣在室溫下,以竹筒為被測物,以千分尺測量數(shù)據(jù)作為標準參考值,使用5點采樣法測量竹筒端部邊沿上任意5點的厚度值,如圖14所示。
圖14 竹筒厚度測量Fig.14 Bamboo tube thickness measurement
分別對壁厚為7~9 mm(8.671 mm)和9~11 mm(10.170 mm)進行5次測量,同時比較使用平滑卡爾曼濾波前后在真實生產中優(yōu)化效果,前2組試驗數(shù)據(jù)分析如表4和表5所示。
由表4和表5可以看出,在對壁厚8.671 mm與10.170 mm竹筒厚度的測量中,優(yōu)化后的平均誤差分別為0.83%和0.48%,優(yōu)化后誤差降低比>90%??傊?,本次設計的激光厚度測量儀在手持狀態(tài)下可實現(xiàn)最大誤差±1.5%,平均誤差<±1.0%,使用平滑卡爾曼濾波后對誤差的降低比>90%,優(yōu)化效果明顯,具有較好的魯棒性,能夠滿足實際生產中的測量需求。
表4 生產試驗第1組數(shù)據(jù)計算結果匯總Tab.4 Calculation results summary of first group of production test data
表5 生產試驗第2組數(shù)據(jù)計算結果匯總Tab.5 Calculation results summary of second group of production test data
(1)設計了一種手持式厚度測量儀,提出了應用激光測距的方法對竹筒厚度進行測量,完成了總體方案的設計,能夠完成對5~18 mm范圍內竹筒壁厚的測量。
(2)完成了對手持式厚度測量儀的基礎電路板設計和調試,并完成了STM32控制芯片程序代碼編寫。基礎電路主要完成了主控電路、電源電路和無線通信電路的設計,繪制PCB板并預留了接口。軟件部分完成了程序的邏輯設計,優(yōu)化算法的編寫,實現(xiàn)了對數(shù)據(jù)的采集、濾波和處理,顯示到無線發(fā)送等過程的控制。
(3)設計的厚度測量儀對不同厚度的鋁板和竹筒測量時,實現(xiàn)最高誤差±1.5%,平均誤差≤±1.0%,靈敏度>0.95的性能指標,能夠以低成本、高效率、高精度和無接觸的方式實現(xiàn)對竹筒厚度的測量。