脉冲激光测距机原理「建议收藏」

脉冲激光测距机原理「建议收藏」激光测距设计:大致流程:1,基本原理和关键:激光脉冲测距与雷达测距在原理上是完全相同的。在测距点激光发射机向被测目标发射激光脉冲,光脉冲穿过大气到达目标,其中一小部分激光经目标反射后返回测距点,并被测距机上的探测系统接收。测出从激光发射时刻到反射光被接收时刻之间的时间间隔t,根据已知光速,公式:S=Ct/2(S距离;C激光空气中速度;t发射和接收回波的时间差。激光测距方案和关键…

大家好,又见面了,我是你们的朋友全栈君。

激光测距设计:大致流程:

脉冲激光测距机原理「建议收藏」

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.83.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账号...

(0)
blank

相关推荐

  • clion2021激活码【最新永久激活】

    (clion2021激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html9ZHRNTE33T-eyJsa…

  • CI框架与Thinkphp框架的一些区别

    CI框架与Thinkphp框架的一些区别

  • 秒懂,Java 注解 (Annotation)你可以这样学

    秒懂,Java 注解 (Annotation)你可以这样学文章开头先引入一处图片。这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。Annotation中文译过来就是注解、标释的意思,在Java中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来…

  • VUE控制台报错

    VUE控制台报错

  • btav狼php,www.xiaav.cc

    btav狼php,www.xiaav.ccDomainName:XIAAV.CCDomainID:105952573WHOISServer:whois.enom.comReferralURL:http://www.enom.comUpdatedDate:2016-12-21T07:11:52ZCreationDate:2013-05-27T13:45:23ZRegistryExpiryDate:2017-05…

  • java中如何获取当前系统时间[通俗易懂]

    java中如何获取当前系统时间[通俗易懂]java.util包中提供的和日期时间相关的类有Date类、Calendar类和SimpleDateFormat类等。方法一:Date类对象用来表示日期和时间,该类提供了一系列操作日期和时间各组成部分的方法,Date类中使用最多的是获取系统当前的日期和时间,如Datedate=newDate();这句代码是使用当前时间创建日期对象示例代码如下:publicstaticvoidm…

    2022年10月19日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号