|
基于红外线和超声波传感器的新型测距系统设计 传感器是人工智能研究中非常重要的一环,要想要让机器更加智能,就需要用传感器来赋予它们像人一样的各种感官。文章结合了红外线传感器测距较短、精度较高,超声波传感器测距较长、精度较低的特点,设计了一款以 STM32 单片机为核心,将红外线传感器 GP2Y0A02YK0F 与超声波传感器 HC-SR04 融合的新型测距系统,并优化了测距算法。通过实验表明,该系统可以弥补单一传感器测距性能的不足,提高了测距精度,具有结构简单、成本低及使用方便等优点。将该新型测距系统应用到智能无人小车的控制系统中,可提升小车的避障性能,效果显著。 0 引言 红外线传感器测量数据精度高但是测量距离较短,而超声波传感器的测量距离长但精度较低 [1], 所以本文选用在性能上互补的超声波传感器和红外线传感器融合使用,结合两种传感器的优缺点,将二者测得的数据进行算法融合,在一段较长的测距范围内得到更精确的测量数据。新的测距系统可以应用于多种场合,具有结构简单、成本低等优点,在无人车、机器人等领域有广泛的应用价值 [2-3]。 1 新型测距系统总体设计 本系统主要由3个部分组成,分别是使用STM32F103ZET6 单片机进行数据处理的控制部分、使用 HC-SR04 超声波传感器和 GP2Y0A02YK0F 红外线传感器进行初次测距的测距部分以及使用 HC-05蓝牙模块连接主机与控制系统的信号传输部分。主机在接收到信号后,进行数据记录与监测,并利用LCD1602 显示屏显示数据。具体的测距系统方案。 2 系统硬件设计 2.1 控制部分 本文选用 STM32F103ZET6 芯片作为微处理器,该芯片成本低、功耗低,但是运算功能强大、功能众多,可以根据不同的优先级先后执行中断程序,能够满足本系统的需求。 2.2 测距部分 设计选用 HC-SR04 超声波传感器模块作为超声波测距部分,此模块性能稳定,测量范围为 2~ 400cm,测量距离大、盲区小,拥有高达 0.3cm 的测距精度。 将超声波传感器发射端对着被测对象发射,超声波传感器的接收端接收到反射回的超声波后,根据发射和接收的时间差就可以计算超声波的传播距离。 红外线测距部分选用夏普 gp2y 系列的红外线传感器,夏普的红外线测距传感器采用三角测量原理。三角测量是一种间接测量目标距离的方法,又叫三边量测法。设计将目标定为一个三角形的第 3 个点,当确定了一条边长和发射光线、反射光线的两个角度后,可以由此计算出与目标的距离。红外线传感器测量原 式(1)中, D 是待测距离,L 是 CCD 检器接收到信号后的偏移值, X 是发射器与接收器中心之间的距离, f 是受光透镜焦距。 在型号的选择上,综合考虑了超声波传感器的测距范围与设计目标,本系统最终选择使用GP2Y0A02YK0F 红外线传感器。这款红外线测距传感器测量精度高,测量范围在20 ~ 150cm。 2.3 信号传输部分 信号传输部分选用 HC-05 蓝牙模块。HC-05 蓝牙模块有 6 个引脚,除了接正极与接地的引脚以及用于检测蓝牙模块连接状态的 LED 引脚外,还有 TXD和 RXD 引脚以及 KEY 引脚。HC-05 支持使用标准AT 命令,在设备启动时进入特殊命令模式,然后再进入数据模式,这样就可以与其他设备进行无线通信,通信距离可以达到 10m。控制端通过 HC-05 蓝牙模块接收小车传来的红外线测距数据、超声波测距数据以及经过数据处理后的最终数据,对结果进行记录与监测。 LCD1602 液晶显示器是一种字符显示器,在显示时,有两行内容,每行有 16 个字符的显示器,总共拥有 16 个引脚。LCD1602 主要显示经过系统数据处理后的最终数据,也就是测得的小车与前放障碍物之间的距离。 2.4 无人车实验平台 3 测距算法设计 根据设计目标,要使系统完成在 20 ~ 150cm 的高精度测量,应首先由超声波测距传感器和红外线测距传感器进行一次测量,然后将数据传输到控制系统中进行处理,通过大量实验建立的数据模型来得到最接近实际距离的参数,最后输出测量距离。 3.1 超声波测距 HC-SR04采用IO口TRIG触发测距,提供一个10us以上的高电平脉冲触发信号,模块内部将会发送 8 个 40kHz 周期电平并检测回波。当检测到信号返回时,输出回响信号。回响信号的脉冲宽度与测量距离成正比。回响信号的脉冲宽度为高电平持续时间, T 是高电平持续时间。表达式如下:L1=( V×Δ T)/2 (2) 如果发射信号的周期太短,那么发射信号会对回响信号产生影响,因此设置脉冲触发信号的发射周期为 100ms。 3.2 红外线测距 图 3 GP2Y0A02YK0F 传感器特性曲线 3.3 算法设计 在得到红外线测量的数据 L 1 和超声波测量的数据 L 2 后,与实际距离进行比对,得到参数 k 1 和 k 2,采用平均算法,修正距离值:L 3=k 1*L 1+k 2*L 2 (3) 此时,得到一个 k 1 和 k 2 的数值。 4 实验数据及分析 为验证该测距系统的效果,本文进行一系列测试,选取了 10 组测试数据,L1 为超声波测距传感器数据,L2 为红外线测距传感器数据,L3 为经过控制系统处理的最终数据,也就是测量得到的最终数据。在可测量范围内的实验测量数据,如表 1 所示。 表 1 在可测量范围内的实验测量数据 注:k1=0.568;k2=0.422 平均相对误差 =0.1154% 通过表 1 可以发现,利用超声波传感器和红外线传感器的融合测距,在测量范围内的平均相对误差小于 0.3%,满足检测系统的精度要求,说明该测距系统方案可行。 因超声波测距与红外线测距均会受到外界因素的影响,若要进一步提高测量精度,可设置不同环境下的 k1、k2 值。通过蓝牙控制,使系统在不同情况使用不同的 k1、k2 值。 5 结语 本文设计了一种基于红外线和超声波传感器的新型测距系统。该系统结构具有简单、成本低及精度高的优点,融合了红外线和超声波传感器的特点,改进了测距算法,从而提高了测量精度,并拥有较大的测量范围。将该系统应用在智能无人车中,能提升无人车的避障性能,同时也为基于多传感器的测距系统设计提供了一种新思路。 参考文献 班宁产品汇总 |