大家好,又见面了,我是你们的朋友全栈君。
激光测距设计:大致流程:
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走线和串扰效应。如果输入信号与其他信号线过于靠近,信号线上会产生感应电流导致尖峰脉冲.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137081.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...