激光测距仪原理图解,手持式激光测距仪用法图解

首页 > 教育 > 作者:YD1662024-05-03 05:00:52


根据计算可知,当基站记录的时间差越大,时间误差就越大t = T *
P ,t为误差时间,T为记录的时间差,P为时钟误差。

双边双向测距(ADSTWR)

ADSTWR(Asymetic double side two way ranging)是 TWR的升级改进版本(改善TWR算法误差较大问题),ADS-TWR在TWR的基础上增加了一次传输,同时改进了时间计算方法。算法原理框图如下:

激光测距仪原理图解,手持式激光测距仪用法图解(17)


根据这3次通讯,可以计算出两个飞行时间:

T1 = ( (t4 - t1) - (t3 - t2) ) / 2 T2 = ( (t6 - t3) - (t5 - t4) ) / 2

由于两次测量时时间非常短,可以认为距离没变,飞行时间也也相等,因此有:

T1 = T2

我们可以通过两次飞行时间,求出平均飞行时间:

T~ = ( T1 T2 )/2 = ( ( (t4 - t1) - (t3 - t2) ) ( (t6 - t3) - (t5 - t4) ) ) / 4

我们将公式转换一下:

Ta = t4 - t1 Tb = t3 - t2 Tc = t6 - t3 Td = t5 - t4

于是:

T1 = ( Ta - Tb ) / 2 T2 = (Tc - Td ) / 2 T~ = ( ( Ta - Tb) ( Tc - Td ) ) / 4

这种算法和TWR算法一样,因此误差也是一样的!因此我们要改变算法!

已知:

T1 = ( Ta - Tb ) / 2 T2 = (Tc - Td ) / 2 T1 = T2

转换:

Ta = 2*T1 Tb Tc = 2*T2 Td Ta*Tc = ( 2*T1 Tb ) *(2*T2 Td) = ( 2*T1 Tb ) *(2*T1 Td) = 4*T1*T1 2*T1*Td 2*T1*Tb Tb*Td

于是:

Ta*Tc - Tb*Td = 4*T1*T1 2*T1*Td 2*T1*Tb Ta*Tc - Tb*Td = T1*(4*T1 2*Td 2*Tb )

其中:

4*T1 = (2*T1) ( 2*T2) = (Ta - Tb) (Tc - Td )

于是:

Ta*Tc - Tb*Td = T1*( (Ta - Tb) (Tc - Td ) 2*Td 2*Tb ) Ta*Tc - Tb*Td = T1*(Ta Tc Td Tb)

最终得到:

T1 = (Ta*Tc - Tb*Td ) /(Ta Tc Td Tb)

这种算法产生的误差和收到帧之后再发出的反应处理时间关系不大,同样的时钟误差ADSTWR比TWR测距精度更高(我们软件算法设计就是用的这个算法)

6.UWB测距嵌入式设计

本节介绍UWB基站的硬件和软件设计,基站电路的MCU使用的是STM32F103,基站使用DW1000芯片进行UWB通信,基站使用锂电池供电。基站的电路原理图如下:

激光测距仪原理图解,手持式激光测距仪用法图解(18)


UWB 定位电路基于 DecaWave公司 DW1000 系列的 UWB 定位系统,DW1000使用SPI接口,相关电路如下:

激光测距仪原理图解,手持式激光测距仪用法图解(19)

软件构架

嵌入式软件整体架构主要分为驱动层、DW_API 层、应用层。如下图所示:

激光测距仪原理图解,手持式激光测距仪用法图解(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.