
校赛-声音引导系统
简介
“立创杯”2022年中国计量大学电子设计竞赛B题(声音引导系统)一等奖作品展示
简介:“立创杯”2022年中国计量大学电子设计竞赛B题(声音引导系统)一等奖作品展示开源协议
:Public Domain
描述
2021年中国计量大学电子设计竞赛
基于小车的声音导引系统
摘 要
本系统以esp32单片机作为控制核心,由小车和蜂鸣器组成可移动声源系统,蜂鸣器发出的音频信号,通过lm567控制麦克接收该音频信号,利用lm358运放对音频信号进行放大,得出信号时差,将分析结果经esp32无线收发模块与单片机通信,单片机通过控制电机驱动芯片PWM波的占空比,由L298N驱动电路,达到精确控制小车电机的运动,比较好的实现了声音导引系统。
关键词:音频信号处理;声源定位;ESP32单片机;无线传输;
3.1.1. 音频发射模块 5
3.1.2. 音频接收模块 5
方案比较与论证
1.1方案设计
本系统由一个可移动声源和三个不同方位的音频接收器这两个单元组成,各以一块低功耗单片机ESP32来控制,其中音频接收器端的控制器为主控制器。音频接收器可以接收并处理可移动声源平台发出的音频信号,在主控制器的控制下引导可移动声源按指定路线移动。音频接收器由音频信号采集处理电路、无线收发模块组成,可移动声源以小车为平台,由音频功放、发光指示电路、电机控制和驱动电路等组成。
1.2方案论证
1.2.1. 音频信号采集处理模块。
音频检测整形电路采用的是一片LM567,LM 567 的基本工作状况犹如一个d低压电源开关,当其接收到一个位于所选定的窄频带内的输入音调时,其开关就接通。而且通用的 LM567 还可以用做可变形发生器或通用锁相环电路。当其用作音调控制开关时,所检测的中心频率可以设定于 0.1 至 500KHZ 之间的任意值,检测带宽可以设定在中心频率 14%内的任意值。而且,输出开关延迟可以通过选择外电阻和电容在一个宽时间范围内任意改变。
1.2.2 单片机的选择
1.选择STM32F03C8T6,但是选择STM32需搭配两块无线通信模块,总计价格较贵
2.选择ESP32基于arduion开发。该模块自带无线传输通信。且国产价格相较便宜,性价比高。
所以我们选择2.
1.2.3 无线通信模块
采用ESP32自带的蓝牙通信。
1.2.4 电机控制与驱动模块
采用L298N驱动电机。
- 选择直流电机。
- 选择带带编码的无刷电机。
由于直流电机便宜且性价比高,所以我们选择直流电机。
1.2.5 音频功放模块
LM386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器。且价格便宜,只需几毛钱一片。
1.3总体总结
通过组内讨论以及题目的要求,在下面的文章中我们总体介绍智能小车的结构:
- 单片机主从机都选ESP32,蓝牙传输方便。
- 电机驱动模块:由于单片机输出的电流有限,无法直接驱动电机工作,因此需要通过专业的电路进行驱动,本小车采用L298N驱动芯片驱动电机。
- 电源模块:本设计主要用可充电12V的锂电池,经过降压稳压,能稳定安全地给电机和单片机供电。
- 无线通信模块:采用ESP32低功耗的BLE蓝牙传输
2 、总体思路对比分析
2.1 余弦定理法
设接收器A为坐标原点,AC为Y轴,AB 为X轴建立坐标,如图5所示的声音引导示意图。设L_SC=L1,L_SA=L2,L_SB=L3,L1与L2的差值为a,L3与L2的差值为b,根据余弦定理建立如下方程组(长度单位:m,时间单位:s):
其中t1、t2分别表示声音到达A与C和到达A与B之间的时间差值,其值可正可负。与A点相比较,当声音先到达C点时t1<0,先到达B点时t2<0,否则t1>0、t2>0。联合(3)、(4)、(5)、(6)、(7)式可得下式:
根据式(8)利用求根公式可求得L2的值。再根据式(3)、(4)、(5)、(6)分别求得L1、L3、cos、sin的值。最终求得声源坐标为:
该方案可求出可移动声源当前所在位置,可以使声源到达任意指定的位置,但是其计算量和数据量均较大,适合在具有较高处理速度和较大RAM的控制器上运行,理论上以ESP32的算力可以解决,但考虑硬件的功能及现实的误差,此法案不太适合。
2.2 相位差法
相位差方法可以定位个别特殊的位置,如A、B两点之间的中心线以及整个矩形区域的中心等,这种方法适合用于某些特殊的场合。
为了使可移动声源到达OX线,采用测量接收器A和接收器B接收到音频信号经放大滤波处理整形后的相位差。根据音频在空气中的传播速度,可得340*t2=L2-L3。当到达中心线OX时,相位差为0,此为理论值,但显示存在误差可以给定一个范围,此时t2=0.同理可实现将声源引导到矩形的中心位置。本系统采用了此种方法。
3 、电路与程序设计
3.1. 总体硬件
发射端流程图
接收端流程图
3.1.1. 音频发射模块
采用LM386增益200倍的电路,能够有效放大单片机输出功率,驱动扬声器
3.1.2. 音频接收模块
采用LM567选频电路,效果好,所用原件参数均为有效参数,误差不超过5%
主板控制电路
采用lm2596降成5V作为电源供给单片机。
电源模块
采用12V可充电的锂电池给电机供电,使供电稳定。
3.2. 软件设计
以到达中心线OX为例,主机通过蓝牙传输先发射一个信号告知从机开始定时器,主机发出声波,由于设置从机三个引脚为下降沿开启中断。待某一个接收硬件时开启中断,读取定时器时间,待三个都接收到时,关闭定时器,比较A与B的时间,如果到达A的时间比B大则从机发送前进信号给主机,如果A与B时间在允许范围内则发送停止信号给主机让小车停止,然后不断重复上述程序。但是由于回声及其他声源的干扰,导致时间判断不准确,此时就得降低响应时间,提高发声频率,常采用均值滤波算法,来获取一个比较稳定的时间。
总体软件流程图
4 、测试方案及结果
4.1测试方案
可移动声源音频信号的频率为6.4kHz,时间周期定为1s 发声1次
将所有硬件组装调试好,将所写的ESP32烧录进两块ESP32模块。根据硬件实际情况不断对基于arduion的程序进行修正与优化。
4.2测试数据
到Ox线 |
到中心点 |
||||
次
数 |
平均 速度(cm/s) |
定位 误差(cm) |
次
数 |
平均 速度(cm/s) |
定位 误差(cm) |
1 |
6.9 |
0.5 |
1 |
6.5 |
0.3 |
2 |
6.4 |
0.2 |
2 |
7.7 |
0.3 |
3 |
4.9 |
0.3 |
3 |
4.9 |
1.2 |
4 |
7.4 |
0.6 |
4 |
7.1 |
0.7 |
5 |
8.4 |
0.4 |
5 |
8.9 |
0.5 |
平均误差 |
0.4 |
平均误差 |
0.6 |
4.3测试结果
由于硬件的距离限制只能保证在特定的示范内有效,导致小车只能在这特定的范围内能够达到要求,同时由于环境的干扰并不能全部保证每次都完全达到中线,存在误差。并且由于蓝牙配对响应速度,整体配速并不是很快。可以在软件上加以改进。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | ESP32DEVKITV1 | 1 | ESP32-DEVKITV1 | 1 |
2 | GMC1205YA-16R2048 | BUZZER1 | BEEP-TH_BD9.1-P5.00-D0.6-L-FD | 1 |
3 | 104 | C2,C3,C5,C6 | RAD-0.1 | 4 |
4 | 470uF | C7,C8 | CAP-TH_BD8.0-P3.50-D0.6-FD | 2 |
5 | FR157 | D1 | DO-15_BD3.1-L6.7-P10.70-D0.9-FD | 1 |

评论