劉新波,楊永青,黎浪
(邵陽(yáng)學(xué)院 多電源地區(qū)電網(wǎng)運(yùn)行與控制湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 邵陽(yáng) 422000)
現(xiàn)代裝備制造中,大部分精密運(yùn)動(dòng)同規(guī)則內(nèi)外曲面的配合緊密相關(guān),而規(guī)則內(nèi)曲面的加工難度尤為突出,可以說(shuō),規(guī)則內(nèi)曲面的測(cè)量和加工一直以來(lái)都是高端裝備制造領(lǐng)域最突出的矛盾之一。
基于激光三角法制成的點(diǎn)激光傳感器具有體積小、使用方便的特點(diǎn),自身精度也能達(dá)到甚至突破微米級(jí),是一種便于集成和應(yīng)用的測(cè)量工具。合肥工業(yè)大學(xué)高雋教授研制一種旋轉(zhuǎn)對(duì)稱(chēng)式激光三角傳感器,能克服掃描時(shí)出現(xiàn)的表面階躍、不連續(xù)紋理,同時(shí)還能夠緩解激光出射方向上的顫動(dòng)對(duì)測(cè)量結(jié)果的影響,而其局限性是未能消減整個(gè)被測(cè)面上的運(yùn)動(dòng)誤差。目前在大多數(shù)研究中,并沒(méi)有考慮激光測(cè)頭對(duì)掃描運(yùn)動(dòng)誤差的影響或者是考慮甚少,因而限制了激光位移傳感器的推廣使用。
為解決上述問(wèn)題,設(shè)計(jì)一種基于STM32 的三激光位移傳感器在機(jī)測(cè)頭,該測(cè)頭能夠?qū)崿F(xiàn)對(duì)孔類(lèi)零件的在機(jī)測(cè)量,消減機(jī)床等裝置自身運(yùn)動(dòng)精度對(duì)測(cè)量結(jié)果的影響。該測(cè)頭系統(tǒng)以STM32F103 微處理器作為采集系統(tǒng)的主控芯片,應(yīng)用模數(shù)轉(zhuǎn)換模塊和數(shù)據(jù)發(fā)送模塊將采集到的數(shù)據(jù)發(fā)送至上位機(jī),結(jié)合三個(gè)激光傳感器采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲取內(nèi)圓直徑、圓柱度等幾何參數(shù)。
該測(cè)頭系統(tǒng)主要由數(shù)據(jù)采集部件、模數(shù)轉(zhuǎn)換模塊、STM32控制模塊和數(shù)據(jù)發(fā)送模塊組成。數(shù)據(jù)采集部件由三個(gè)激光位移傳感器組成,負(fù)責(zé)采集接收到的數(shù)據(jù)。模數(shù)轉(zhuǎn)換模塊用于將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。STM32 控制模塊作為下位機(jī)模塊負(fù)責(zé)對(duì)整個(gè)過(guò)程的控制。數(shù)據(jù)發(fā)送模塊用于將數(shù)據(jù)發(fā)送給上位機(jī)。
如圖1所示,數(shù)據(jù)采集部件的三個(gè)激光位移傳感器分別將采集到的數(shù)據(jù)輸入到模數(shù)轉(zhuǎn)換模塊,模數(shù)轉(zhuǎn)換模塊將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),STM32 控制模塊通過(guò)GPIO 引腳與數(shù)據(jù)采集部件、模數(shù)轉(zhuǎn)換模塊、數(shù)據(jù)發(fā)送模塊相連接,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制,將采集到的數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中。
圖1 系統(tǒng)總體框圖
測(cè)頭整體結(jié)構(gòu)如圖2所示,該測(cè)頭包括機(jī)架組件、鋰電池、單片機(jī)控制板、藍(lán)牙模塊以及三個(gè)激光束測(cè)量及調(diào)校組件。機(jī)架組件主要包括帶軸頂蓋、上固定架、中調(diào)節(jié)架、下固定架、中心柱、底部安裝盤(pán)和頂蓋固定螺釘組,其中帶軸頂蓋可與其他旋轉(zhuǎn)設(shè)備連接;第一激光束測(cè)量及調(diào)校組件、第二激光束測(cè)量及調(diào)校組件、第三激光束測(cè)量及調(diào)校組件三者的結(jié)構(gòu)完全相同,分別可實(shí)現(xiàn)第一激光束、第二激光束和第三激光束的位姿調(diào)節(jié)和固定。鋰電池負(fù)責(zé)為傳感器、單片機(jī)、藍(lán)牙模塊等器件供電,下位機(jī)系統(tǒng)負(fù)責(zé)實(shí)時(shí)采集三組測(cè)量數(shù)據(jù)并進(jìn)行預(yù)處理,通過(guò)藍(lán)牙模塊將結(jié)果發(fā)送至PC 端。
圖2 整體結(jié)構(gòu)圖
為了控制本測(cè)頭的結(jié)構(gòu)尺寸,選擇了Panasonic HGC1030 激光位移傳感器,如圖3所示,這款激光位移傳感器的主要特點(diǎn)是體積小,外形尺寸僅為8×18×37 mm,即便是測(cè)頭上集成3 個(gè)傳感器,也能滿(mǎn)足多種內(nèi)尺寸結(jié)構(gòu)的測(cè)量要求。該傳感器使用高精度CMOS 為感光單元,內(nèi)部使用一套獨(dú)特結(jié)構(gòu)和電路,絕對(duì)精度可達(dá)10 μm。同時(shí),模擬輸出是其唯一輸出方式,按照通用標(biāo)椎設(shè)置,即模擬電流模式:4 mA~20 mA 輸出,模擬電壓模式:0 V~5 V 輸出,用戶(hù)按需選擇輸出模式。采用三臺(tái)測(cè)量精度為10 μm的HG-C1030 傳感器進(jìn)行測(cè)頭集成,并在結(jié)構(gòu)、電路和軟件算法上進(jìn)行合理優(yōu)化,如取三者的均方根,理論上可使測(cè)頭的測(cè)量精度更高,這也是本測(cè)頭研制的基本出發(fā)點(diǎn)。
圖3 HG-C1030 激光位移傳感器
STM32F103 自帶3 個(gè)12 位可配置的AD 輸入模塊,可滿(mǎn)足三傳感器的應(yīng)用需求。其輸入的電壓范圍為0~3.3 V。由于選用的HG-C1030 型激光位移傳感器,只支持模擬電流4 mA~20 mA 輸出,模擬電壓0 V~5 V 輸出。直接采用傳感器的模擬電壓輸出模式將超出STM32的輸入電壓范圍,故無(wú)論傳感器采用何種輸出模式,均需進(jìn)行調(diào)理。為了提高調(diào)理的準(zhǔn)確性,本文傳感器采用模擬電流輸出模式,選用電流轉(zhuǎn)電壓調(diào)理方式,將轉(zhuǎn)換后的模擬電壓輸入A/D 采樣模塊。
根據(jù)需要,本文采用的模塊應(yīng)滿(mǎn)足可以將輸入的模擬電流4 mA~20 mA轉(zhuǎn)換為0~3.3 V。整個(gè)電路設(shè)計(jì)如圖4所示,可將該模塊分為四個(gè)部分:電流檢測(cè)放大部分、II 級(jí)差分放大電路、量程調(diào)節(jié)電路和防止電源反接部分。
圖4 信號(hào)調(diào)理電路
電流檢測(cè)放大部分就是U1B 部分,電流從R1 的上端流入,下端流出。不難看出這是一個(gè)級(jí)差分放大電路,也就是一個(gè)減法運(yùn)算電路,輸出電壓如式(1)所示:
即是電阻R1 兩端的電壓差,假如流過(guò)該電阻的電流為20 mA,那么產(chǎn)生的電壓為20×100=2 000 mA,尚未達(dá)到A/D 模塊的電壓測(cè)量范圍,所以為了高效利用A/D 模塊的量程,需要將電壓信號(hào)進(jìn)一步放大,圖中U1A 組成是減法電路,其輸出電壓等于-。U1D 組成一個(gè)跟隨器,當(dāng)電流信號(hào)為4 mA 時(shí),為400 mV,若使U1A 的輸出為0 V,就需要=,若要調(diào)節(jié)U1D跟隨器的正相輸入端,調(diào)節(jié)電位器RP2 改變分壓即可,這樣就有效解決了當(dāng)輸入電流為4 mA 時(shí)輸出電壓為0 的問(wèn)題。接下來(lái)我們要添加的是放大電路,將U1A 的輸出信號(hào)進(jìn)行放大。在這里U1A 的作用即是最終放大,那么在使用時(shí),將輸入電流設(shè)置為U1A時(shí),調(diào)節(jié)RP1 電位器,即調(diào)節(jié)電壓放大倍數(shù),直至輸出電壓為3.3 V。
由于STM32F103 的AD 輸入模塊最多配置12 位[],其采樣精度較低,直接選用將會(huì)影響測(cè)頭的工作精度,所以?xún)H在測(cè)頭樣機(jī)調(diào)試時(shí)選用,而正式應(yīng)用時(shí)需要進(jìn)行AD 擴(kuò)展模塊設(shè)計(jì)。AD 擴(kuò)展模塊選擇Analog Device 公司的AD7192芯片作為核心芯片,在此基礎(chǔ)上進(jìn)行電路設(shè)計(jì)。AD7192 是內(nèi)置一個(gè)低噪聲、八通道、24 位Σ-Δ 型模數(shù)轉(zhuǎn)換器,該測(cè)頭系統(tǒng)采用三個(gè)傳感器,即需要三個(gè)通道同時(shí)采集數(shù)據(jù),三個(gè)傳感器采集到的模擬信號(hào)經(jīng)過(guò)信號(hào)調(diào)理電路之后,通過(guò)三個(gè)通道連接模數(shù)轉(zhuǎn)換模塊進(jìn)行A/D 轉(zhuǎn)換。AD7192 與STM32F103ZET6 系統(tǒng)通過(guò)SPI 協(xié)議進(jìn)行通信,硬件接線(xiàn)如圖5所示。
圖5 AD7192 和STM32F103ZET6 連接圖
電源模塊主要負(fù)責(zé)為數(shù)據(jù)采集模塊、模數(shù)轉(zhuǎn)換模塊、無(wú)線(xiàn)傳輸模塊等部分提供電源,其中數(shù)據(jù)采集模塊三個(gè)傳感器的工作電壓為12 V,模數(shù)轉(zhuǎn)換模塊的工作電壓為5 V,無(wú)線(xiàn)傳輸模塊的工作電壓為3.3 V,因此,電源模塊同時(shí)提供12 V、5 V、3.3 V 電源。本測(cè)頭系統(tǒng)采用12 V 直流電源輸入,應(yīng)用DC-DC 模塊將12 V 轉(zhuǎn)換為5 V,采用MP2482產(chǎn)生5 V 電壓,電路如圖6(a)所示,然后通過(guò)LDO 模塊將5 V 轉(zhuǎn)換為3.3 V,采用CJA117B 產(chǎn)生3.3 V 電壓,電路如圖6(b)所示。
圖6 電源電路圖
數(shù)據(jù)發(fā)送模塊用于將模數(shù)轉(zhuǎn)換過(guò)來(lái)的數(shù)據(jù)發(fā)送至上位機(jī)。該系統(tǒng)采用無(wú)線(xiàn)傳輸?shù)姆绞剑ú捎贸商椎乃{(lán)牙傳輸模塊)將采集到的數(shù)據(jù)發(fā)送出去。該測(cè)頭系統(tǒng)選用的具體型號(hào)為HC-05,內(nèi)置2.4 GHz 天線(xiàn),工作電壓為3.3 V,通過(guò)AT 指令進(jìn)行控制,具有低功耗、高性能、低成本、體積小等優(yōu)點(diǎn)。
如圖7所示,STM32 數(shù)據(jù)采集程序流程可簡(jiǎn)述為:
圖7 STM32 數(shù)據(jù)采集流程圖
程序開(kāi)始運(yùn)行后,首先進(jìn)行系統(tǒng)初始化,將系統(tǒng)時(shí)鐘設(shè)置為72 MHz;通過(guò)FCMS 端口將AD7192 連接到STM32,對(duì)AD7192 進(jìn)行初始化;然后對(duì)所有的串口進(jìn)行初始化,將發(fā)送模塊與SATM32 相連接,設(shè)置波特率等信息;對(duì)定時(shí)器進(jìn)行初始化,將定時(shí)器的時(shí)間設(shè)置為0.01 s,讀取AD7192的模數(shù)轉(zhuǎn)化結(jié)果。
3.2.1 原理介紹
在測(cè)量的過(guò)程中,三個(gè)傳感器的測(cè)量數(shù)據(jù)都會(huì)受到噪聲的干擾,且由于測(cè)量環(huán)境相同,外界噪聲基本相似。若要盡量減少和評(píng)定這類(lèi)誤差,對(duì)數(shù)據(jù)進(jìn)行濾波就顯得尤為重要。
卡爾曼濾波是一種軟件濾波方法,通過(guò)狀態(tài)方程進(jìn)行預(yù)測(cè),公式為:
其中,、、分別為系統(tǒng)的狀態(tài)變量、控制變量、輸入噪聲;、、分別為狀態(tài)轉(zhuǎn)移矩陣、控制矩陣、噪聲控制矩陣。
系統(tǒng)的觀(guān)測(cè)方程為:
其中,為傳感器觀(guān)測(cè)到的變量,為觀(guān)測(cè)噪聲,為觀(guān)測(cè)矩陣。
3.2.2 仿真實(shí)驗(yàn)
為了驗(yàn)證卡爾曼濾波算法的效果,利用MATLAB 進(jìn)行仿真分析,將傳感器得到的數(shù)據(jù)經(jīng)過(guò)AD 轉(zhuǎn)換后導(dǎo)入MATLAB,經(jīng)卡爾曼濾波模型預(yù)處理,加入相對(duì)誤差和均方根誤差進(jìn)行置信度和精準(zhǔn)度的檢驗(yàn)。
如圖8所示,傳感器仿真數(shù)據(jù)經(jīng)過(guò)卡爾曼濾波(通過(guò)卡爾曼濾波模型進(jìn)行),加入相對(duì)誤差和均方根誤差,進(jìn)行測(cè)量值和濾波值的誤差對(duì)比??梢钥闯觯?jīng)卡爾曼濾波進(jìn)行數(shù)據(jù)處理后,所得到的仿真數(shù)據(jù)相比濾波前測(cè)量值誤差明顯減小,相對(duì)精度提高了1 倍左右,這說(shuō)明數(shù)據(jù)精度得到了明顯提高。
圖8 濾波前后誤差對(duì)比圖
如圖9所示為傳感器對(duì)靜止的標(biāo)準(zhǔn)量塊進(jìn)行位置測(cè)量,經(jīng)過(guò)卡爾曼濾波后,對(duì)無(wú)干擾的理論值、直接測(cè)量值、實(shí)際值以及濾波值進(jìn)行比較。通過(guò)對(duì)比分析得出,經(jīng)卡爾曼濾波后的值與實(shí)際值更為接近,波動(dòng)范圍從18 μm 提高到6 μm,這說(shuō)明濾波效果明顯提高了精度。
圖9 卡爾曼濾波仿真結(jié)果
本文介紹了一種三激光位移傳感器在機(jī)測(cè)頭的系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn),設(shè)計(jì)了以STM32F103 系統(tǒng)為核心的控制電路,同時(shí)以三個(gè)高精度點(diǎn)激光位移傳感器為基礎(chǔ),實(shí)現(xiàn)多通道同步采集,實(shí)時(shí)傳輸,并將采集到的數(shù)據(jù)進(jìn)行濾波處理,從而提高精度。實(shí)驗(yàn)結(jié)果表明,該測(cè)頭系統(tǒng)具有一定的可靠性和實(shí)用性。