許浩浩,易 藝,韓志勝,羅國(guó)慶
(桂林電子科技大學(xué) 信息科技學(xué)院,廣西 桂林 541004)
激光因其具有方向性好、亮度高、單色性好等優(yōu)點(diǎn)被應(yīng)用于地形測(cè)量、房子裝修、工程測(cè)量、人造衛(wèi)星測(cè)距、機(jī)器人避障等領(lǐng)域[1,2]。隨著機(jī)器人[3]、智能駕駛、物聯(lián)網(wǎng)智能停車[4]等技術(shù)的發(fā)展,人們對(duì)激光測(cè)距的測(cè)距精度、測(cè)量時(shí)間和穩(wěn)定性提出更高的要求。因受各種環(huán)境因素的影響,激光測(cè)距很難達(dá)到理想的測(cè)距狀態(tài)[5]。因此,如何快速、準(zhǔn)確、穩(wěn)定地對(duì)目標(biāo)距離實(shí)現(xiàn)測(cè)量,成為目前智能行業(yè)迫切需要解決的問題,也是科研工作者研究的課題[6,7]。
為了實(shí)現(xiàn)對(duì)目標(biāo)距離的準(zhǔn)確測(cè)量,本文基于相位法激光測(cè)距的原理,采用STM32作為控制器,設(shè)計(jì)和制作一臺(tái)便攜式短距離激光測(cè)距儀,該激光測(cè)試儀具有成本低、易操作、便于攜帶等特點(diǎn)。本文首先介紹激光測(cè)試儀的系統(tǒng)組成和原理,然后對(duì)系統(tǒng)的硬件電路和軟件進(jìn)行設(shè)計(jì)與制作,最后進(jìn)行實(shí)驗(yàn)測(cè)試與分析。
圖1 系統(tǒng)總體設(shè)計(jì)框圖Fig.1 System overall design block diagram
圖2 微控制器最小系統(tǒng)電路框圖Fig.2 Circuit block diagram of micro-controller minimum system
基于STM32的激光測(cè)距儀由STM32最小系統(tǒng)和與之相連接的液晶顯示電路、鍵盤電路、激光測(cè)距模塊、通信模塊和電源模塊組成,其系統(tǒng)組成框圖如圖1所示。
激光測(cè)距儀以STM32微控制器作為控制核心,根據(jù)用戶從鍵盤設(shè)置的工作模式,給激光測(cè)距模塊輸送數(shù)據(jù)命令,控制激光測(cè)距模塊工作,實(shí)現(xiàn)對(duì)目標(biāo)距離的準(zhǔn)確測(cè)量。液晶顯示模塊用來(lái)顯示距離、面積和體積等測(cè)量參數(shù)。為了方便用戶獲取和處理測(cè)量參數(shù),激光測(cè)距儀還設(shè)有USB轉(zhuǎn)TTL串口通信模塊,預(yù)留通信接口,該通信接口可以通過(guò)USB線與PC機(jī)相連接,安裝有上位機(jī)軟件的PC機(jī),可以讀取激光測(cè)距儀的數(shù)據(jù),方便用戶對(duì)測(cè)量數(shù)據(jù)進(jìn)行處理。
微控制器最小系統(tǒng)電路選用片內(nèi)資源豐富的STM32F1-03C8T6芯片來(lái)進(jìn)行設(shè)計(jì),它的工作頻率為72MHz,具有外圍電路簡(jiǎn)單、功耗低、性價(jià)比高等優(yōu)點(diǎn),且片內(nèi)擁有ADC。微控制器最小系統(tǒng)電路由STM32F103C8T6芯片、時(shí)鐘電路、復(fù)位電路、BOOT電路和電源電路組成[8],其電路組成框圖如圖2所示。
電源模塊選用LM7805和LM1117-3.3穩(wěn)壓芯片來(lái)進(jìn)行設(shè)計(jì),其電路原理圖如圖3所示。
圖3 電源模塊電路原理圖Fig.3 Circuit schematic diagram of power module
圖4 液晶顯示電路原理圖Fig.4 Liquid crystal display circuit schematic diagram
圖5 按鍵電路原理圖Fig.5 Key circuit schematic
圖3中,9V電池與J1接口相連接,9V直流電壓經(jīng)過(guò)LM7805穩(wěn)壓器進(jìn)行電壓轉(zhuǎn)換后得到+5V電壓,然后分別送給液晶顯示電路和LM1117-3.3穩(wěn)壓器。從LM1117-3.3穩(wěn)壓器輸出的3.3V電壓送給STM32最小系統(tǒng)電路和激光測(cè)距模塊供電。
液晶顯示電路選用低功耗的OLED12864顯示屏來(lái)實(shí)現(xiàn),它采用SPI的通信協(xié)議與STM32微控器進(jìn)行數(shù)據(jù)通信,其與STM32微控器的電路連接圖如圖4所示。
鍵盤電路選用7個(gè)獨(dú)立按鍵S1~S7來(lái)實(shí)現(xiàn),它們通過(guò)網(wǎng)絡(luò)標(biāo)號(hào)Key1~Key7分別與STM32微控制器的7個(gè)I/O口相連接,其電路原理圖如圖5所示。STM32微控制器的7個(gè)I/O口都配置為上拉電阻輸入。
圖6 激光測(cè)距電路框圖Fig.6 Laser ranging circuit block diagram
圖7 系統(tǒng)主程序流程圖Fig.7 System main program flow chart
激光測(cè)距模塊主要由STM32F103微控制器、信號(hào)產(chǎn)生電路、激光發(fā)射電路、激光接收電路和信號(hào)混頻電路組成[9],其電路原理框圖如圖6所示。
在圖6中,STM32微控制器根據(jù)用戶設(shè)置的工作模式控制信號(hào)產(chǎn)生電路、激光發(fā)射電路、激光接收電路和信號(hào)混頻電路進(jìn)行工作,然后將A/D采集的混頻信號(hào)參數(shù)進(jìn)行分析和處理,直至得到相應(yīng)的距離測(cè)量值[10]。
在Keil集成開發(fā)環(huán)境下,用C語(yǔ)言來(lái)對(duì)系統(tǒng)的各個(gè)子程序進(jìn)行設(shè)計(jì),主要包括系統(tǒng)主程序、液晶顯示程序、按鍵程序、串口發(fā)送和接收程序等。系統(tǒng)的主程序流程圖如圖7所示。在圖7中,系統(tǒng)先對(duì)液晶顯示電路、按鍵電路、激光測(cè)距模塊及其內(nèi)部資源進(jìn)行初始化,然后按系統(tǒng)默認(rèn)的設(shè)置參數(shù)進(jìn)行工作,當(dāng)系統(tǒng)接收到用戶的設(shè)置命令時(shí),按用戶命令控制激光測(cè)距模塊進(jìn)行工作,并將讀取的測(cè)距數(shù)據(jù)進(jìn)行分析、處理和存儲(chǔ),最后送液晶顯示電路進(jìn)行顯示。
PC機(jī)的上位機(jī)軟件采用NI公司推出的虛擬儀器開發(fā)平臺(tái)LabVIEW開發(fā),它是一種圖形化編程語(yǔ)言,簡(jiǎn)單、易學(xué)。激光測(cè)距儀通過(guò)USB轉(zhuǎn)串口通信模塊與PC機(jī)相連接,PC機(jī)的上位機(jī)軟件通過(guò)通信模塊讀取激光測(cè)距儀的數(shù)據(jù),并以Excel的格式導(dǎo)出,方便用戶進(jìn)行處理。
表1 主要性能指標(biāo)Table 1 Main performance index
表2 距離參數(shù)測(cè)量結(jié)果Table 2 Distance parameter measurement results
采用100m卷尺、100cm直尺作為標(biāo)準(zhǔn)尺子,對(duì)研制的激光測(cè)試儀進(jìn)行比對(duì)測(cè)試,得到激光測(cè)試儀的主要性能指標(biāo)如表1所示,部分參數(shù)測(cè)量結(jié)果如表2所示。
實(shí)驗(yàn)測(cè)試結(jié)果表明:該激光測(cè)距儀可以在0.2s~2s內(nèi)實(shí)現(xiàn)對(duì)距離的測(cè)量,距離測(cè)量范圍為0.03m~80.00m,測(cè)量精度為±2mm,距離測(cè)量的最大相對(duì)誤差為10.00%,且具有面積和體積的測(cè)量功能,能滿足人們?nèi)粘I畹臏y(cè)距需求。
本文基于相位法激光測(cè)距的原理,以STM32微控制器作為主控芯片,將光電檢測(cè)技術(shù)、DSS技術(shù)、PWM技術(shù)等知識(shí)相結(jié)合,輔以必要的外圍電路,設(shè)計(jì)了一種短距離激光測(cè)距儀。本文詳細(xì)介紹了激光測(cè)距儀的系統(tǒng)組成原理和軟硬件實(shí)現(xiàn)的方法,并進(jìn)行制作與實(shí)驗(yàn)。實(shí)驗(yàn)測(cè)試結(jié)果表明,該激光測(cè)距儀可以在0.2s~2s內(nèi)實(shí)現(xiàn)對(duì)距離的測(cè)量,且具有測(cè)距范圍寬、精度高、成本低、易操作、便于攜帶等特點(diǎn),可應(yīng)用于房子裝修、房產(chǎn)測(cè)繪等行業(yè)。