- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ARM单片机的自动测高测距小车的研究与设计
目前,国内外对于测高、测距的研究主要集中在基于对卫星、雷达等信号进行的处理,其应用范围主要集中在军事、海洋或地质等数据的测量及勘测。应用于解决日常生活的研究则很少,比如测量难于用传统方法测量的定目标高度、水平距离等。即使有研究也主要是采用机械方法或对传统方法进行改进或修缮。目前发达的电子信息科学技术,给这些日常生活中的高度和距离测量,提供了新的思路和解决方案。本设计将利用遥控小车做为测量工具,分别采用角度传感器、霍尔传感器等传感器来获得测量物理数据并通过单片机进行数据处理及计算,从而实现对待测目标物体的高度、水平距离等数据的快速、精确和数字式的测量。
1 理论分析与计算
1.1 设计原理分析及计算
小车自动测高测距的过程及相关参数如图1所示。当小车停放在A点时,遥控小车的装置调整角度,使测量光点定点到C点,测量并存储此时的角度α;之后,遥控控制小车前进,使小车沿直线行进到达B点,并再次调整测量装置,使测量光点再次定点到C点,并测量记录此时的角度β。并对从A到B的行进距离L进行测量和记录。利用以上数据,就可以计算出待测目标的高度H及小车距离待测目标的距离S,计算式如下式(1)所示。
1.2 系统设计思想
从测量过程看,需要进行测量的数据有角度α、角度β和小车行进距离L。通过对器件的反复比较,在本设计中,采用安装在舵机上的激光光源作为定点C点的装置;采用角度传感器来进行角度的测量;采用霍尔传感器作为距离测量的传感器;采用单片机作为主要控制单元,来控制小车直线行进、舵机转动定点、角度及距离数据的获取和计算及测量数据的LCD显示等。
2 系统设计
1)总体设计方案 通过以上分析,可将系统分为5部分:角度检测模块、水平距离检测模块和遥控控制模块、LCD液晶显示模块、信号处理以及控制模块。系统框图如图2所示。
总体设计方案为LM3S615处理器通过角度传感器,采集第1次角度传感器测量信号并存储,遥控控制小车并调节角度通过一段距离,采集第2次角度传感器测量信号,同时利用霍尔传感器对两次测量间的小车行进距离进行测量,最终通过LM3S615处理器通过算法公式得出具体高度并送入LCD12864液晶显示模块进行显示。
2)角度信号检测方案设计 本设计采用巨磁电阻角度传感器,它是利用巨磁电阻在一定的磁场下电阻值急剧减小这一特性开发的角度测量传感器。它具有线性好、线性范围宽、体积小、灵敏度高(分辨率可以达到12位,精度达到10位,最低分辨率为0.01度)、响应频率高等一系列的优点。缺点是成本较高。
3)水平距离检测方案设计 本设计采用霍尔传感器计数的方法进行水平距离测量,它具有体积小、灵敏度高等优点,而且集成化的霍尔传感器在感应到磁场变化时,会有一个数字量的高低电平跳变的特性,可以利用这个特性达到计数的目的。
4)控制器模块设计 采用LM3S615ARM作为控制器,Luminary Micro StellarisTM系列的微控制器是首款基于ARMCortexTM-M3的控制器,它将高性能的32位计算引入到对价格敏感的嵌入式微控制器应用中。考虑到精度以及运行速度要求不太高等诸多因素,决定采用LM3S168ARM作为本设计的处理器模块。
3 系统实现
本系统共包含电源、角度数据信号采集、距离数据信号采集、遥控控制、数据信号控制、数据信号显示6个主要模块。具体介绍如下。
1)控制部分电路设计 控制部分必须完成红外控制部分软件解码功能、电机运行控制功能、舵机控制功能、霍尔传感器计数功能、激光器控制、角度传感器数据采集功能以及LCD控制。控制部分电路如下图3所示。
2)驱动电路 本车采用原车自带的双直流减速电机,74V就能很好的工作。电机驱动选用专用驱动芯片L298N,该芯片分别独立控制两路电机的起停和转向,保证两路电路的参数的对称,有利于保持小车行驶的稳定性和精确性,也降低了电路的设计难度。电机驱动电路如图4所示。
4 系统软件设计
本系统采用LM3S615ARM作为控制芯片,通过红外遥控控制小车水平行走,调节角度传感器采集数据,每次测量一组数据将角度数据和水平行驶距离存储并等待下一次操作。程序流程图如图5所示。
5 系统调试与测试
5.1 系统调试
1)舵机调试 将舵机、角度传感器和激光器安装好。安装舵机时必须保证舵机能顺时针旋转90°以上,激光器与小车水平,角度传感器的输出电压小于2 V。
2)小车速度控制 为使小车能走直线,系统使用了两个PWM端口控制小车的左右轮速度,将其PWM占空比设为相同,然后测试修改占空比直至小车能走直线。
3)红外软件解码 红外编码采用了脉冲位置调制方式(PPM),利用脉冲之间的时间间隔来区分“0”和“1”。调试时通过改变码字所对应的时间,直至能接收到正确的数据。
5.2 测试结果和结果分析
5.2.1 测试结果
1)离被测点水平距离9.26 m,以L=1 m为差值不断前进,测同一点高度,记录如表1所示。
2)离被测点水平距离9.26 m,以L=2 m为差值不断前进,测同一点高度记录,如表2所示。
3)离被测点水平距离9.26 m,以L=3 m为差值不断前进,测同一点高度记录,如下表3所示。
5.2.2 结果分析
从以上3表的测量结果来看其整体测量平均值为H=(3.96+4.11+4.22)/≈4.10 m,其绝对误差约为16 cm,测量精度为96.24%。同时从3表可以看出随着水平间距的增大其误差渐渐变小,因此说明角α,β差值越大测量越精确,高度测量的最高精度可 99.06%,水平距离最高精度可达98.06%。
6 结论
本产品基本上达到了设计要求的精度,在选择好适当的步进参数时,高度测量精度可达99.06%,水平距离精度可达98.06%,相对传统的测量方法更加简单直观;进行一些改装就能应用于实际生活中,可减少对目标物体的高度和水平距离的测量时间和提高测量精度,具有很高的经济价值。