劉新波,楊永青,黎浪
(邵陽學院 多電源地區電網運行與控制湖南省重點實驗室,湖南 邵陽 422000)
現代裝備制造中,大部分精密運動同規則內外曲面的配合緊密相關,而規則內曲面的加工難度尤為突出,可以說,規則內曲面的測量和加工一直以來都是高端裝備制造領域最突出的矛盾之一。
基于激光三角法制成的點激光傳感器具有體積小、使用方便的特點,自身精度也能達到甚至突破微米級,是一種便于集成和應用的測量工具。合肥工業大學高雋教授研制一種旋轉對稱式激光三角傳感器,能克服掃描時出現的表面階躍、不連續紋理,同時還能夠緩解激光出射方向上的顫動對測量結果的影響,而其局限性是未能消減整個被測面上的運動誤差。目前在大多數研究中,并沒有考慮激光測頭對掃描運動誤差的影響或者是考慮甚少,因而限制了激光位移傳感器的推廣使用。
為解決上述問題,設計一種基于STM32 的三激光位移傳感器在機測頭,該測頭能夠實現對孔類零件的在機測量,消減機床等裝置自身運動精度對測量結果的影響。該測頭系統以STM32F103 微處理器作為采集系統的主控芯片,應用模數轉換模塊和數據發送模塊將采集到的數據發送至上位機,結合三個激光傳感器采集的數據進行數據處理,獲取內圓直徑、圓柱度等幾何參數。
該測頭系統主要由數據采集部件、模數轉換模塊、STM32控制模塊和數據發送模塊組成。數據采集部件由三個激光位移傳感器組成,負責采集接收到的數據。模數轉換模塊用于將模擬信號轉換為數字信號。STM32 控制模塊作為下位機模塊負責對整個過程的控制。數據發送模塊用于將數據發送給上位機。
如圖1所示,數據采集部件的三個激光位移傳感器分別將采集到的數據輸入到模數轉換模塊,模數轉換模塊將模擬信號轉換為數字信號,STM32 控制模塊通過GPIO 引腳與數據采集部件、模數轉換模塊、數據發送模塊相連接,實現對整個系統的控制,將采集到的數據傳輸到上位機中。

圖1 系統總體框圖
測頭整體結構如圖2所示,該測頭包括機架組件、鋰電池、單片機控制板、藍牙模塊以及三個激光束測量及調校組件。機架組件主要包括帶軸頂蓋、上固定架、中調節架、下固定架、中心柱、底部安裝盤和頂蓋固定螺釘組,其中帶軸頂蓋可與其他旋轉設備連接;第一激光束測量及調校組件、第二激光束測量及調校組件、第三激光束測量及調校組件三者的結構完全相同,分別可實現第一激光束、第二激光束和第三激光束的位姿調節和固定。鋰電池負責為傳感器、單片機、藍牙模塊等器件供電,下位機系統負責實時采集三組測量數據并進行預處理,通過藍牙模塊將結果發送至PC 端。

圖2 整體結構圖
為了控制本測頭的結構尺寸,選擇了Panasonic HGC1030 激光位移傳感器,如圖3所示,這款激光位移傳感器的主要特點是體積小,外形尺寸僅為8×18×37 mm,即便是測頭上集成3 個傳感器,也能滿足多種內尺寸結構的測量要求。該傳感器使用高精度CMOS 為感光單元,內部使用一套獨特結構和電路,絕對精度可達10 μm。同時,模擬輸出是其唯一輸出方式,按照通用標椎設置,即模擬電流模式:4 mA~20 mA 輸出,模擬電壓模式:0 V~5 V 輸出,用戶按需選擇輸出模式。采用三臺測量精度為10 μm的HG-C1030 傳感器進行測頭集成,并在結構、電路和軟件算法上進行合理優化,如取三者的均方根,理論上可使測頭的測量精度更高,這也是本測頭研制的基本出發點。

圖3 HG-C1030 激光位移傳感器
STM32F103 自帶3 個12 位可配置的AD 輸入模塊,可滿足三傳感器的應用需求。其輸入的電壓范圍為0~3.3 V。由于選用的HG-C1030 型激光位移傳感器,只支持模擬電流4 mA~20 mA 輸出,模擬電壓0 V~5 V 輸出。直接采用傳感器的模擬電壓輸出模式將超出STM32的輸入電壓范圍,故無論傳感器采用何種輸出模式,均需進行調理。為了提高調理的準確性,本文傳感器采用模擬電流輸出模式,選用電流轉電壓調理方式,將轉換后的模擬電壓輸入A/D 采樣模塊。
根據需要,本文采用的模塊應滿足可以將輸入的模擬電流4 mA~20 mA轉換為0~3.3 V。整個電路設計如圖4所示,可將該模塊分為四個部分:電流檢測放大部分、II 級差分放大電路、量程調節電路和防止電源反接部分。

圖4 信號調理電路
電流檢測放大部分就是U1B 部分,電流從R1 的上端流入,下端流出。不難看出這是一個級差分放大電路,也就是一個減法運算電路,輸出電壓如式(1)所示:

即是電阻R1 兩端的電壓差,假如流過該電阻的電流為20 mA,那么產生的電壓為20×100=2 000 mA,尚未達到A/D 模塊的電壓測量范圍,所以為了高效利用A/D 模塊的量程,需要將電壓信號進一步放大,圖中U1A 組成是減法電路,其輸出電壓等于-。U1D 組成一個跟隨器,當電流信號為4 mA 時,為400 mV,若使U1A 的輸出為0 V,就需要=,若要調節U1D跟隨器的正相輸入端,調節電位器RP2 改變分壓即可,這樣就有效解決了當輸入電流為4 mA 時輸出電壓為0 的問題。接下來我們要添加的是放大電路,將U1A 的輸出信號進行放大。在這里U1A 的作用即是最終放大,那么在使用時,將輸入電流設置為U1A時,調節RP1 電位器,即調節電壓放大倍數,直至輸出電壓為3.3 V。
由于STM32F103 的AD 輸入模塊最多配置12 位[],其采樣精度較低,直接選用將會影響測頭的工作精度,所以僅在測頭樣機調試時選用,而正式應用時需要進行AD 擴展模塊設計。AD 擴展模塊選擇Analog Device 公司的AD7192芯片作為核心芯片,在此基礎上進行電路設計。AD7192 是內置一個低噪聲、八通道、24 位Σ-Δ 型模數轉換器,該測頭系統采用三個傳感器,即需要三個通道同時采集數據,三個傳感器采集到的模擬信號經過信號調理電路之后,通過三個通道連接模數轉換模塊進行A/D 轉換。AD7192 與STM32F103ZET6 系統通過SPI 協議進行通信,硬件接線如圖5所示。

圖5 AD7192 和STM32F103ZET6 連接圖
電源模塊主要負責為數據采集模塊、模數轉換模塊、無線傳輸模塊等部分提供電源,其中數據采集模塊三個傳感器的工作電壓為12 V,模數轉換模塊的工作電壓為5 V,無線傳輸模塊的工作電壓為3.3 V,因此,電源模塊同時提供12 V、5 V、3.3 V 電源。本測頭系統采用12 V 直流電源輸入,應用DC-DC 模塊將12 V 轉換為5 V,采用MP2482產生5 V 電壓,電路如圖6(a)所示,然后通過LDO 模塊將5 V 轉換為3.3 V,采用CJA117B 產生3.3 V 電壓,電路如圖6(b)所示。

圖6 電源電路圖
數據發送模塊用于將模數轉換過來的數據發送至上位機。該系統采用無線傳輸的方式(采用成套的藍牙傳輸模塊)將采集到的數據發送出去。該測頭系統選用的具體型號為HC-05,內置2.4 GHz 天線,工作電壓為3.3 V,通過AT 指令進行控制,具有低功耗、高性能、低成本、體積小等優點。
如圖7所示,STM32 數據采集程序流程可簡述為:

圖7 STM32 數據采集流程圖
程序開始運行后,首先進行系統初始化,將系統時鐘設置為72 MHz;通過FCMS 端口將AD7192 連接到STM32,對AD7192 進行初始化;然后對所有的串口進行初始化,將發送模塊與SATM32 相連接,設置波特率等信息;對定時器進行初始化,將定時器的時間設置為0.01 s,讀取AD7192的模數轉化結果。
3.2.1 原理介紹
在測量的過程中,三個傳感器的測量數據都會受到噪聲的干擾,且由于測量環境相同,外界噪聲基本相似。若要盡量減少和評定這類誤差,對數據進行濾波就顯得尤為重要。
卡爾曼濾波是一種軟件濾波方法,通過狀態方程進行預測,公式為:

其中,、、分別為系統的狀態變量、控制變量、輸入噪聲;、、分別為狀態轉移矩陣、控制矩陣、噪聲控制矩陣。
系統的觀測方程為:

其中,為傳感器觀測到的變量,為觀測噪聲,為觀測矩陣。
3.2.2 仿真實驗
為了驗證卡爾曼濾波算法的效果,利用MATLAB 進行仿真分析,將傳感器得到的數據經過AD 轉換后導入MATLAB,經卡爾曼濾波模型預處理,加入相對誤差和均方根誤差進行置信度和精準度的檢驗。
如圖8所示,傳感器仿真數據經過卡爾曼濾波(通過卡爾曼濾波模型進行),加入相對誤差和均方根誤差,進行測量值和濾波值的誤差對比??梢钥闯觯浛柭鼮V波進行數據處理后,所得到的仿真數據相比濾波前測量值誤差明顯減小,相對精度提高了1 倍左右,這說明數據精度得到了明顯提高。

圖8 濾波前后誤差對比圖
如圖9所示為傳感器對靜止的標準量塊進行位置測量,經過卡爾曼濾波后,對無干擾的理論值、直接測量值、實際值以及濾波值進行比較。通過對比分析得出,經卡爾曼濾波后的值與實際值更為接近,波動范圍從18 μm 提高到6 μm,這說明濾波效果明顯提高了精度。

圖9 卡爾曼濾波仿真結果
本文介紹了一種三激光位移傳感器在機測頭的系統設計與實驗,設計了以STM32F103 系統為核心的控制電路,同時以三個高精度點激光位移傳感器為基礎,實現多通道同步采集,實時傳輸,并將采集到的數據進行濾波處理,從而提高精度。實驗結果表明,該測頭系統具有一定的可靠性和實用性。