碧波液压网 欢迎你,游客。 登录 注册

基于TDC+STM32激光测距系统标定方法设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引 言

  在脉冲式测距系统中,距离值一般是通过测量激光脉冲发射时刻(start)和接收到被测目标的反射光脉冲时刻(stop)之间的激光飞行时间来确定的,激光飞行时间的测量精度决定了整个系统的精度[1]。本文讨论的激光测距系统是基于TDC +STM32的激光脉冲测距系统。系统采用的TDC-GP2是一款高精度时间测量芯片,而STM32是一款基于ARM内核的单片机。系统由STM32控制,TDC用于测量发射激光脉冲和接收激光脉冲之间的时间差,得到一个32位的16进制时间值。得到的时间值与实际距离值存在着一一对应的关系,这种对应关系的确定与系统参数有关,所以很有必要在系统用于测距之前对系统的测量时间值与实际距离值的关系进行标定。

  国内外基于TDC的激光测距系统的研究有很多,但是没有研究测量结果标定的方法[2-3]。虽然对其他测距系统,如激光三角测距系统与Acuity激光测距仪等有相关标定方法,但是由于应用系统不同,对本文研究的系统的标定没有直接帮助[4-5]。所以,本文设计的标定方法将很好地填补这方面的空白,有利于提高基于TDC+STM32激光测距系统的准确性和测量结果的直观性。

  2 数据拟合算法研究

  要找到测量时间值和对应的实际距离值之间的关系,就要对大量的实验数据进行处理,即通过数据拟合的方法找到二者的关系,其关键就在于数据拟合的算法。然而,数据拟合算法有很多,针对本测距系统,本文选用了其中两种算法,直线拟合算法和绝对值偏差最小的直线拟合算法,并用C++语言写出算法相关的处理函数。

  2. 1 直线拟合算法

  2. 1. 1 算法的思想

  

  2.1.2 算法的实现

  

  2.2 绝对值偏差最小的直线拟合算法

  2.2.1 算法的思想

  设变量y是关于自变量x的线性函数:

  

  对此方程,找出其根区间后用二分法求解出参数b,进而可由式(6)求出参数a。

  3 标定方法设计

  用本文研究的激光测距系统分别对5, 10, 15,20,25 m处的同一目标各测量20次,共获得100组数据,用以下四种方法对实验数据进行处理,并对比标定结果,选出最优的标定方法。

  3. 1 平均值法

  把数据输入EXCEL中,用软件自带的图表功能,以测量距离值为x变量,实际距离值为y变量,画出XY散点图,并基于平均值法作出趋势线,如图1所示。则拟合得到的直线方程为:

  

  3. 2 直线拟合算法

  (1)不考虑测量误差的标准差

  

  (2)考虑测量误差的标准差

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论