高效測量“芯”搭檔 | 航芯ACM32激光測距儀應用方案
隨著工業(yè)自動化和機器視覺的快速發(fā)展,激光測距技術憑借其抗干擾能力強,、精度高等優(yōu)勢,,在檢測、測量和控制等行業(yè)領域中得到廣泛應用,。
一,、激光測距儀概述
激光測距儀是利用激光對目標的距離進行準確測定的儀器。激光測距儀在工作時向目標射出一束很細的激光,,由光電元件接收目標反射的激光束,計時器測定激光束從發(fā)射到接收的時間,,計算出從觀測者到目標的距離,。激光測距儀分為手持激光測距儀和望遠鏡式激光測距儀。
左 | 手持激光測距儀 右 | 望遠鏡式激光測距儀
手持激光測距儀
測量距離一般在200米內,,精度在2mm左右,。這是目前使用范圍較廣的激光測距儀。在功能上除能測量距離外,,一般還能計算測量物體的體積,。
望遠鏡式激光測距儀
測量距離比較遠,一般測量范圍在3.5米-2000米左右,,由于測距望遠鏡的準直性要求,,3.5米以下為盲區(qū),大于2000米以上的激光望遠鏡一般采用YAG激光,,波長為1.064微米,,為了達到較大的測量量程,所以激光功率較大,,建議使用者注意激光防護,。主要應用范圍為戶外中、長距離測量,。
激光測距儀原理
根據基本原理,,實現激光測距的方法有兩大類:飛行時間(TOF)測距和非飛行時間測距,飛行時間測距中有脈沖式激光測距和相位式激光測距,,非飛行時間測距主要是三角激光測距,,如下圖所示:
脈沖式激光測距法
脈沖式測距是激光技術最早應用于測繪領域中的一種測量方式。由于激光發(fā)散角小,,激光脈沖持續(xù)時間極短,,瞬時功率極大可大兆瓦以上,因而可以達到極遠的測程。一般情況下不使用合作目標,,而是利用被測目標對光信號的漫反射來測距,,脈沖式測距適合遠距離測量,測量距離可表示為:
L=cΔt/2
式中L為測量距離,,c為光在空氣中傳播的速度,, Δt為光波信號在測距儀與目標往返的時間。原理圖如下所示:
相位式激光測距法
相位式激光測距通常適應于中短距離的測量,,測量精度可達毫米,、微米級,也是目前測距精度最高的一種方式,大部分短程測距儀都采用這種工作方式,。相位式測距則是將一調制信號對發(fā)射光波的光強進行調制,,通過測量相位差來間接測量時間,較直接測量往返時間的處理難度降低了許多,。
三角測距法
三角測距法即光源,、被測物面、光接收系統(tǒng)三點共同構成一個三角形光路,,由激光器發(fā)出的光線,,經過匯聚透鏡聚焦后入射到被測物體表面上,光接收系統(tǒng)接收來自入射點處的散射光,,并將其成像在光電位置探測器敏感面上,,通過光點在成像面上的位移來測量被測物面移動距離的一種測量方法。
脈沖式TOF的優(yōu)點是測量范圍廣且光學系統(tǒng)緊湊,,但是高速讀取脈沖光的電路設計和配置較為復雜,。相位式TOF在近距離測量中測量精度更高,同時由于無需時間測量的電路,,電路設計比較簡單,,因而此方法可以用于整列傳感器中,然而相位式TOF不能分辨實際距離在一個還是多個測量周期內,,因而不適用于長距離的測量,。三角測距法的優(yōu)勢是小距離下測量精度高,但是缺點為電路的小型集成化比較困難,,并且測量易受外界環(huán)境光的影響,。
二、芯片介紹
ACM32F0X0系列是一款支持多種低功耗模式的通用MCU,。集成12位1.6 Msps高精度ADC以及比較器,、運放、觸控按鍵控制器,、段式LCD控制器,,內置高性能定時器,、多路UART、LPUART,、SPI,、I2C等豐富的通訊外設,內建AES,、TRNG等信息安全模塊,,支持多種低功耗模式,具有高整合度,、高抗干擾,、高可靠性的特點。
三,、設計方案
本文描述的激光測距儀方案,,基于上海航芯ACM32F070系列MCU進行設計,測距原理是脈沖測距法,,整體的方案框圖如下所示:
基于ACM32F070激光測距儀設計方案框圖
激光測距儀包含主控MCU,、激光接收模塊、激光發(fā)射模塊,、LDO穩(wěn)壓源、ADC,、LCD顯示屏,、電源及一些外圍的器件組成。主控MCU實現了激光測距儀的整體邏輯,,提供數據顯示和控制激光發(fā)射和接收模塊的作用,。
本次方案采用的測距原理是脈沖法測距,利用了激光脈沖持續(xù)時間極短,、瞬時功率很大的特點,,即使沒有合作目標,也能通過接收被測目標的漫反射信號,,進行距離測量,。ACM32F070通過GPIO驅動外部激光發(fā)射模塊,來達到控制和驅動激光發(fā)射,,激光發(fā)射模塊發(fā)射激光后,,反射到激光接收模塊,激光接收模塊將光信號轉換為電信號,,通過運算放大器放大,,再由ADC采集,并通過對比判斷這次接收是否有效,,同時時間測量模塊在激光發(fā)射時計時,,將測量得到的數據通過SPI傳輸到MCU,得到激光發(fā)射到接收的時間Δt,通過脈沖發(fā)測距公式L=cΔt/2,,由此得到目標的距離L,。
主控MCU:采用ACM32F070CBT7作為主控芯片,最高工作頻率 64MHz,,具備七個定時器,,一個12位1.6Msps高精度ADC,支持LCD顯示屏驅動,。
激光接收模塊:激光測距儀的接收模塊首先將光信號轉化為電信號,,之后再通過運算放大器進行放大,通過MCU分析和計算,。
高精度時間測量:采用脈沖方式進行激光測距,,距離的獲得是通過測量激光由發(fā)射端到目標端來回往返所需的時間來實現的,距離很遠的情況下可以考慮使用MCU內部定時器,。
首先初始化ACM32F070的系統(tǒng)時鐘和其它外設模塊,,初始化時間測量模塊和內部定時器,然后定時驅動激光發(fā)射模塊發(fā)射激光信號,,判斷是否成功發(fā)射后停止發(fā)射,,通過ADC采集到的電信號判斷是否成功接收,接收失敗則重新初始化定時模塊和發(fā)射,,接收成功后通過讀取到的時間值根據公式換算出距離,,通過LCD顯示。測量軟件流程圖如圖所示:
結語
如今,,激光測距已在日常生活和社會生產中有著非常廣泛和實用的應用,。隨著激光技術和數字處理技術等科學技術不斷發(fā)展,激光測距將逐漸在生產和生活中有更全面的應用,。本文提出的設計方案介紹了激光測距儀的基本原理,,旨在讓大家更好的了解激光測距領域。