激光測距設計:大致流程:
1,基本原理和關鍵:
激光脈沖測距與雷達測距在原理上是完全相同的。在測距點激光發射機向被測目標發射激光脈沖,光脈沖穿過大氣到達目標,其中一小部分激光經目標反射后返回測距點,并被測距機上的探測系統接收。測出從激光發射時刻到反射光被接收時刻之間的時間間隔t,根據已知光速,公式:S=Ct/2(S距離;C激光空氣中速度;t發射和接收回波的時間差。
激光測距方案和關鍵部件系統:
半導體激光器:目前商品化的半導體激光器波長范圍幾乎涵蓋了從紫外到遠紅外(0.325~34μm)的光譜區域,且具有體積小、重量輕、易于與其它器件集成等優點。
光信號接收系統:激光測距儀的接收系統首先將光信號轉化為電信號,之后再進行放大、分析和計算。
高精度時間測量:采用脈沖方式進行激光測距,距離的獲得是通過測量激光由發射端到目標端來回往返所需的時間來實現的。
2.脈沖激光測距機硬件設計及選型:
硬件整體處理流程:
信號放大電路部分:
具體選型如下
(1)激光器及探測器
A、激光器
型號:905D1SJ03UA(德國LASER COMPONENTS)
峰值功率:25W
閾值電流:300mA
B、探測器
型號:AD500-9(SILICON SENSOR)
暗電流:5nA
噪聲電流:1pA/Hz
(2)控制MCU:MCU選擇ST公司的STM32F103C8T6芯片,該MCU主頻最高72MHz,集成有UART、CAN、SPI接口以及16bit定時器,硬件資源及運算速度完全滿足測距應用。
(3)脈沖獲取:
選擇TI的LM555CM定時器通過外接RC網絡獲得1Khz的方波信號,后通過RC積分電路以及或非門后獲得200ns的脈沖信號。
通過調節R1、R2、C1的值來調節555定時器的輸出方波的頻率,調節R3、C3的值來調節OUT端輸出的脈沖寬度。
(4)脈沖驅動電路
選擇RLC振蕩電路作為激光二極管的驅動電路,通過開關器件控制儲能釋放電能。
電路中R5、L1、C5、L2、R6、D2組成充電電路,C5作為儲能電容,C6作為補償電容。Q1、C5、L2、R6、LD組成放電的RLC振蕩電路。為使電路獲得那個較好的電流曲線,RLC振蕩電路工作在欠阻尼狀態,盡量保證能量集中在振蕩的第一個峰值區域。
選擇VISHAY公司的SI2302ADS,MOSTET-N作為開關以及驅動器件,其導通時間為55ns,導通速度快可作為高速開關以及驅動器。由于前級脈沖輸出的驅動能較小,選擇MIC4425作為MOS管的驅動器。
(5)APD前置放大電路
APD輸出為電流信號,為講電流信號轉換為電壓并放大,使用兩級放大電路,第一級跨阻放大,第二級同向比例放大電路。
通過調節R9的值調整跨阻放大的倍數,調整R10和R8的比值調整同相比例放大電路的輸出。
輸出信號的幅度考慮通過自動增益控制電路控制,或者通過電壓跟隨器作幅度進行限制。在輸出端考慮使用有源濾波器對信號進行濾波并再次放大,運放使用AD8007。
APD的偏置電壓暫選MAX5028。
選用TI的OPA657運放作信號放大,該運放帶寬1.6G,壓擺率700V/us。
(6)脈沖整形電路
將濾波放大后的回波脈沖信號,轉轉為TTL輸出。
選用美信公司的MAX913CSA芯片,構成遲滯比較器,增強抗噪聲能力。電路中改變R3、R4的值可改變比較閾值,改變R4、R5的值調節電路的正反饋也可直接使用LM555構成施密特觸發器作脈沖整形電路。
(7)時間測量電路
時間測量選擇ACAM公司的TDC-GP2。該芯片的時間測量包含兩個范圍,本設計中使用0~1.8us這個范圍,此測量范圍內的典型分辨率可達50ps rms。芯片對外接口為SPI接口,便于MCU讀寫數據。
(8)電路板結構
激光器驅動電路與激光器一起構成發射板,前置放大電路與后級放大器及探測器一起做成接收板,脈沖生成、脈沖整形、時間計數、MCU一起構成主控板。各板之間通過連接器使用屏蔽線連接。
預計各板尺寸:
發射板:方形25*25mm(圓形 直徑25mm)
接收板:方形35*35mm(圓形 直徑40mm)
主控板:方形45*95mm
3.軟件設計及其流程圖:
(1)首先對芯片寄存器進行配置,初始化芯片后,等待測量,然后完成或者測量溢出后單片機都會向芯片讀取一組測量數據進行處理,最后等待下一次測量。測量流程圖如圖所示:
(2)校準選擇,由于測量的分辨率吧會隨著溫度和電壓的改變而改變,所以TDC-GP2的ALU需要內部校準測量結果。通過設置寄存器的bit5為來選擇標準測量。為了進行校準,TDC測量1個或2個參考時鐘周期REFCLK,這兩個數據。
(3)時間測量的方法
A,TDC-GP2內部結構:主要由脈沖發生器,時間數字轉換器,數據處理單元,溫度測量部分,是在控制單元,寄存器和SPI接口組成。TDC-GP2的IO扣電壓和核心電壓分別為1.8-5.5V和1.8-3.6V。內部有兩個算數邏輯單元ALU1,ALU2。
B,時間測量的流程
由MCU對GP2進行上電復位,寫入相應數據進行相應配置。GP2在初始化成功后瞪大START和STOP1,STOP2的脈沖輸入,同時輸出中斷。MCU讀取狀態寄存器判斷計數器是否超溢出,若溢出,則對GP2再一次復位或者停止執行程序,若無溢出,則寫入讀取數據指令并從數據寄存器中讀取數據。若要寫入新的計算方法就設置中斷讀取數據。
(4)數據誤差軟件分析和修正
A,時間測量誤差
使用系統使用TDC-GP2的測量范圍1,根據論文在此范圍抽取一些參考點進行兩百次求平均,會發現誤差穩定在-1ns左右,這是由于電源波紋和CPLD的IO壓擺頻率不足造成的,時間測量的標準始終保持在0.1ns以內,使用如下公式進行數據修正,誤差控制在0.2ns左右
修正數據值=0.99983*測量平均值+0.88342
B,引起時間測量誤差的其它因素
溫度和電源波紋系數越高,測量誤差越大。因此在設計時候考慮工作溫度和電源去耦。
信號源抖動:TDC-GP2是以判別上升沿或下降沿來作為計時的開始或結束,所以信號源的壓擺率。
PCB走線和串擾效應。如果輸入信號與其他信號線過于靠近,信號線上會產生感應電流導致尖峰脈沖.