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