当前位置: 首页 > news >正文

高效测量“芯”搭档 | ACM32激光测距仪应用方案

激光测距仪概述

激光测距仪是利用激光对目标的距离进行准确测定的仪器。激光测距仪在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激光束,计时器测定激光束从发射到接收的时间,计算出从观测者到目标的距离。激光测距仪分为手持激光测距仪和望远镜式激光测距仪。

图片

左 | 手持激光测距仪    右 | 望远镜式激光测距仪

手持激光测距仪

测量距离一般在200米内,精度在2mm左右。这是目前使用范围较广的激光测距仪。在功能上除能测量距离外,一般还能计算测量物体的体积。

望远镜式激光测距仪

测量距离比较远,一般测量范围在3.5米-2000米左右,由于测距望远镜的准直性要求,3.5米以下为盲区,大于2000米以上的激光望远镜一般采用YAG激光,波长为1.064微米,为了达到较大的测量量程,所以激光功率较大,建议使用者注意激光防护。主要应用范围为户外中、长距离测量。

激光测距仪原理

根据基本原理,实现激光测距的方法有两大类:飞行时间(TOF)测距和非飞行时间测距,飞行时间测距中有脉冲式激光测距和相位式激光测距,非飞行时间测距主要是三角激光测距,如下图所示:

图片

脉冲式激光测距法

脉冲式测距是激光技术最早应用于测绘领域中的一种测量方式。由于激光发散角小,激光脉冲持续时间极短,瞬时功率极大可大兆瓦以上,因而可以达到极远的测程。一般情况下不使用合作目标,而是利用被测目标对光信号的漫反射来测距,脉冲式测距适合远距离测量,测量距离可表示为:

L=cΔt/2

式中L为测量距离,c为光在空气中传播的速度, Δt为光波信号在测距仪与目标往返的时间。原理图如下所示:

图片

相位式激光测距法

相位式激光测距通常适应于中短距离的测量,测量精度可达毫米、微米级,也是目前测距精度最高的一种方式,大部分短程测距仪都采用这种工作方式。相位式测距则是将一调制信号对发射光波的光强进行调制,通过测量相位差来间接测量时间,较直接测量往返时间的处理难度降低了许多。

三角测距法

三角测距法即光源、被测物面、光接收系统三点共同构成一个三角形光路,由激光器发出的光线,经过汇聚透镜聚焦后入射到被测物体表面上,光接收系统接收来自入射点处的散射光,并将其成像在光电位置探测器敏感面上,通过光点在成像面上的位移来测量被测物面移动距离的一种测量方法。

脉冲式TOF的优点是测量范围广且光学系统紧凑,但是高速读取脉冲光的电路设计和配置较为复杂。相位式TOF在近距离测量中测量精度更高,同时由于无需时间测量的电路,电路设计比较简单,因而此方法可以用于整列传感器中,然而相位式TOF不能分辨实际距离在一个还是多个测量周期内,因而不适用于长距离的测量。三角测距法的优势是小距离下测量精度高,但是缺点为电路的小型集成化比较困难,并且测量易受外界环境光的影响。

02

芯片介绍

ACM32F0X0系列是一款支持多种低功耗模式的通用MCU。集成12位1.6 Msps高精度ADC以及比较器、运放、触控按键控制器、段式LCD控制器,内置高性能定时器、多路UART、LPUART、SPI、I2C等丰富的通讯外设,内建AES、TRNG等信息安全模块,支持多种低功耗模式,具有高整合度、高抗干扰、高可靠性的特点。

03

设计方案

本文描述的激光测距仪方案,基于上海航芯ACM32F070系列MCU进行设计,测距原理是脉冲测距法,整体的方案框图如下所示:

图片

基于ACM32F070激光测距仪设计方案框图

激光测距仪包含主控MCU、激光接收模块、激光发射模块、LDO稳压源、ADC、LCD显示屏、电源及一些外围的器件组成。主控MCU实现了激光测距仪的整体逻辑,提供数据显示和控制激光发射和接收模块的作用。 

本次方案采用的测距原理是脉冲法测距,利用了激光脉冲持续时间极短、瞬时功率很大的特点,即使没有合作目标,也能通过接收被测目标的漫反射信号,进行距离测量。ACM32F070通过GPIO驱动外部激光发射模块,来达到控制和驱动激光发射,激光发射模块发射激光后,反射到激光接收模块,激光接收模块将光信号转换为电信号,通过运算放大器放大,再由ADC采集,并通过对比判断这次接收是否有效,同时时间测量模块在激光发射时计时,将测量得到的数据通过SPI传输到MCU,得到激光发射到接收的时间Δt,通过脉冲发测距公式L=cΔt/2,由此得到目标的距离L。

主控MCU:采用ACM32F070CBT7作为主控芯片,最高工作频率 64MHz,具备七个定时器,一个12位1.6Msps高精度ADC,支持LCD显示屏驱动。

激光接收模块:激光测距仪的接收模块首先将光信号转化为电信号,之后再通过运算放大器进行放大,通过MCU分析和计算。

高精度时间测量:采用脉冲方式进行激光测距,距离的获得是通过测量激光由发射端到目标端来回往返所需的时间来实现的,距离很远的情况下可以考虑使用MCU内部定时器。

首先初始化ACM32F070的系统时钟和其它外设模块,初始化时间测量模块和内部定时器,然后定时驱动激光发射模块发射激光信号,判断是否成功发射后停止发射,通过ADC采集到的电信号判断是否成功接收,接收失败则重新初始化定时模块和发射,接收成功后通过读取到的时间值根据公式换算出距离,通过LCD显示。测量软件流程图如图所示:

图片

  结 语  

如今,激光测距已在日常生活和社会生产中有着非常广泛和实用的应用。随着激光技术和数字处理技术等科学技术不断发展,激光测距将逐渐在生产和生活中有更全面的应用。本文提出的设计方案介绍了激光测距仪的基本原理,旨在让大家更好的了解激光测距领域。

http://www.lryc.cn/news/327990.html

相关文章:

  • 基于Hive大数据分析springboot为后端以及vue为前端的的民宿系
  • pnpm、monorepo分包管理、多包管理、npm、vite、前端工程化、保姆级教程
  • vue3封装Element分页
  • 真机 ARM64 架构转模拟器 ARM64 架构
  • 敏捷教练CSM认证考了有没有用,谁说了算?
  • Docker-Container
  • 下载安装anaconda和pytorch的详细方法,以及遇到的问题和解决办法
  • 2020年天津市二级分类土地利用数据(矢量)
  • 设计模式——结构型——外观模式Facade
  • OpenGL的MVP矩阵理解
  • 前端超分辨率技术应用:图像质量提升与场景实践探索-设计篇
  • C++11入门手册第一节,学完直接上手Qt(共两节)
  • Docker部署MinIO对象存储服务
  • 基于Echarts的超市销售可视化分析系统(数据+程序+论文)
  • 使用ai智能写作场景之gpt整理资料,如何ai智能写作整理资料
  • C/C++ 内存管理
  • android pdf框架-10,相册浏览
  • 基于SSM的高校普法系统(有报告)。Javaee项目。ssm项目。
  • 数据结构刷题篇 之 【力扣二叉树基础OJ】详细讲解(含每道题链接及递归图解)
  • Jackson 2.x 系列【6】注解大全篇二
  • 在低成本loT mcu上实现深度神经网络端到端自动部署-深度神经网络、物联网、边缘计算、DNN加速——文末完整资料
  • 【linux】基础IO |文件操作符
  • 探索 2024 年 Web 开发最佳前端框架
  • 解决: MAC ERROR [internal] load metadata for docker.io/library/openjdk:17
  • View事件分发
  • 监听页面的使用时间
  • 【 yolo红外微小无人机-直升机-飞机-飞鸟目标检测】
  • Redis与数据库的一致性
  • 使用maxwell实时同步mysql数据到kafka
  • 知识图谱与大数据:区别、联系与应用