基于2022测控题目的方案
题目:
2022年TI杯大学生电子设计竞赛
声源定位跟踪系统(E题)
一、任务
设计制作一个声源定位跟踪系统,能够实时显示及指示声源的位置,当声源移动时能够用激光笔动态跟踪声源。声源检测系统测量区域分布俯视如图1所示。
图1 系统测量区域俯视图
二、要求
1.设计并制作声音发生装置——“声源”,装置能独立工作,声音音量手动可调,装置最大边长或直径不超过10cm,装置可用支架安装,并可在地面移动;声源中心点B用红色或其他醒目颜色标识,并在B点所在的平面以B点为圆心,直径为5cm画圆圈,用醒目线条标识,该平面面向检测指示装置(图中A点)。(4分)
2.设计并制作一个声源定位检测装置,传感器安装在图1的 C区范围内,高度不超过1m,系统采用的拾音器或麦克风传感器数量不超过10个;在装置上标记测试参考点A,作为位置坐标的原点;装置上有显示电路,实时显示D区域内声源的位置,显示A、B两点直线距离γ和以A点为原点,AB在地面的投影与图1中心线的夹角θ,测量时间不超过5s,距离γ和角度θ的测值误差越小越好。(36分)
3.设计并制作一个声源指示控制装置,此装置和上述声源定位检测装置可以合为一体。也放置在图1的 C区,安装有激光笔和二维电动云台,能控制激光笔指向声源,定位计算过程中时,激光笔关闭,定位运算完成时激光笔开启。定位指示声源时,动作反应时间不超过10s,光点与B点偏差越小越好。(30分)
4.声源移动动态追踪:当声源摆放在地面,用细绳牵引,以0.2m/s左右的速度在D区移动时,激光笔光点指向B点,光点与B点偏差越小好,跟踪反应时间越短越好。(20分)
5.其他(10分)
6.设计报告(20分)
项 目 |
主要内容 |
满分 |
方案论证 |
比较与选择,方案描述。 |
3 |
理论分析与计算 |
系统相关参数设计 |
5 |
电路与程序设计 |
系统组成,原理框图与各部分电路图,系统软件与流程图。 |
5 |
测试方案与测试结果 |
测试结果完整性,测试结果分析。 |
5 |
设计报告结构及规范性 |
摘要,正文结构规范,图表的完整与准确性。 |
2 |
总分 |
20 |
三、说明
1.声源可以发出自定的规则声音,如滴、滴、滴的蜂鸣器声音等,音量以不造成严重噪声污染为宜,并注意避免周围噪声的影响。
2.声源可使用符合尺寸要求的微型有源音箱,播放事先录制的声音。
3.声源定位跟踪系统最大尺寸水平高度控制在离地面100cm以下,声源放置在D区不高于50cm。
4.测试要求:要求2、3测试时,先按启动按钮,再放置音源;或先放置音源,但声源和指示装置明显不在一个方向上,一键启动;一个点测完后,移动声源,测量下一个点,期间无人工干预装置;要求4测试时,一键启动后移动声源,期间亦无人工干预接触装置,直至该项测试结束。
5.距离和角度显示稳定,如出现不稳定,以跳动中出现的偏离最大的数字作为结果。
任务分析:
制作三个装置:
声音发射模块:
设计一个声音源;
X,Y轴移动。
Solid work设计平底球状模块
发声模块:
无源蜂鸣器
Stm32板
。。。
亚克力封盒
代码思路;
代码已做;
电路:
声音放大电路
声音检测模块:
目前来说,最大的困难在于无法多通道检测。最直接的直接拿三个开发板。!!!!!
这三个可以这样做,比较,这三个输入,这三个那个输进去先超过一千,先disable,再输入一个进去,再disable,以此类推
计时装置:
计时精度经过计算1ms已足够。
之前制作过时钟可套用
FFT代码检测出开启信号,flagn0=1;
FFT代码检测出关闭信号,flagn=0;
得到三组值。
Flag10,flag20,flag30.
Flag1,flag2,flag3.
相差时间;a1=flag1-flag2, a2=flag2-flag3,
B1=Flag10-flag20;b2=flag20-flag30;
先根据a,b的正负计算区域
A1>a2:
A1>0,a2>0,w区
A2=0:在2,3中点处
A1>0.a2<0,z区(分界线在2,3中点处)
A1=a2:
1,3中点处
A1 A1>0, a2<0Y区 A1=0: 在1,2中点处 A1<0,a2<0;在x区 距离算法: 340m/s=1m/2.9411764ms=1cm/20.29411764s 运用TDOA检测方式 D1=A1/2.9411764 D2=A2/2.9411764 。。。 实际上,并不止这一点,另外,还需要再加上 声音指示模块: 舵机控制;目前舵机速率较慢但够用或功能受限,需改进 舵机控制 目前以28j为例: 代码已写。 角度控制完美,速度控制? 激光笔开关电路无,要求:最后输出 目前要求1,2,3都可以满足。接下来这样为满足,要求四开发出模式二, 情况分析;声源启动之后再旋转,第一次检测之后直接开灯,不延时关闭。 要求四能否按照变化规律PWM输出舵机转速。大致以0.2m/s移动,中间变化,可以大大节约计算空间, Stm32系统板多买几片,直接暴力模块,不用整合。 目前情况在于开发板比较少,程序比较多,整和比较难,目前情况, TDOA得到时间差,得出距离和方向。 缺少:定时器时间函数难以整合,两种方案: 步进电机难以整合,两种方案: 说白了,引入必要的函数库进行调用,但实际操作过程中,电机与机械结构息息相关。控制角度,高度,共要两个,可以整合,但目前代码水平不够。可能做不出来。 而另外一种,则直接启用新版,电机驱动程序直接作为内部主程序。从长远来看比较合理。可以为下次比赛做准备。这次先做成两个电机控制。 FFT检测 :情况差不多, 但是更差,首先是计算问题,FFT,可以将角度测的很精准,可以优化代码。 输出角度,到电机程序。,距离的话,这里比较搞脑子,但是搞出来了 需要测定30cm左右声源变化下,FFT所测幅值变化 声衰减计算公式:AdiV=10lg[1/(4πr^2)]式中:AdiV——距离增加产生衰减值,dB;r——点声源至受声点的距离, 需要多组实验。 目前任务: 电机代码:输入角度,输入距离,立即旋转,控制两个电机,思路新机点,则可以用C51,专业用于电机控制,本质上一致。电机使用外部中断,含需要调制 TDOA,与定时器整合 完成 需要将角度,距离转化成旋转数据,电机熟悉后转化,放了舵机环境,可以进行舵机控制,向指定引脚PWM输出 以上两则,需要一个共同电平时间转换函数 FFT,检测 两部分吧: 1.30cm,检测,差别很小,在想其他方法 由于场地限制,无法使用42电机。采用28JBY舵机。这个优点在于可以直接控制角度,速度,TDOA代码结晶完善 FFT,计算方法,确定两个方向, Angle3=180-angle1-angle2; L1=100*sin(angle1)/sin(angle3) Distance=L2=100*sin(angle2)/sin(angle3) H=sin(angle2)*L1 X=l2*cos(angle1) TDOA检测阵列: 好烦,早上写的忘记保存了。人马了。 不过目前,阵列设计完成,TDOA大体完成,但是需要检测实验,进度可以抱枕。 FFt检测方案: 1个检测不动,确定幅值最大, 舵机旋转,检测条旋转指示与声音幅值最大方向一致,两者之间距离确定,但是只能确定具体的方向,便于要求4的实现,开始时,使用TDOA,确定具体方位,后用FFT跟踪。 经过两天的奋斗,初步完成此项题目。大多数代码只是半完成品,但是方法可靠。 声源定位跟踪系统(E题) 1 系统方案 1.1 声源发声电路 方案一: 使用stm32运行例程控制电路蜂鸣器,扬声器发声。 方案二: 使用简易录音设备播放录制声音。 由于在测试中,蜂鸣器,扬声器,信号不稳定,简易录音设备方便调节故最终选用方案二。 1.2 阵列设计 方案一: 采用两个1*3直线阵列,两个直线夹角30度。 方案二: 两个间隔100cm检测装置,可随着声源检测过程,自由转动。 方案一采用TDOA检测方法,检测位置固定,将二维运动减为一维运动。比较容易理解,方法二则更容易随着声源变化而移动。故选方案一,二。 1.3 步进电机控制 由于条件限制,目前采用过28YBJ,精度不够,假想使用42步进电机。 1.4 系统总体框图 图1 系统框图 2 理论分析与计算 2.1音源检测电路设计 1.TDOA法: 建模:则检测过程可抽象为图二。 通过余弦函数和已知监测点之间距离为50cm,线A与线B,线B与线C之间差值分别为D1,D2: 可得到,原点距离H和角度一余弦值: cosθ=502+H2-(H-D2)2)/(2*50*H) cosθ=((H+D1)2-502-H2)/(2*50*H) 联立后,可得, 再反代,可得 θ 2.双FFT检测法 FFT,计算方法,确定两个方向, Angle3=180-angle1-angle2; L1=100*sin(angle1)/sin(angle3) Distance=L2=100*sin(angle2)/sin(angle3) H=sin(angle2)*L1 X=l2*cos(angle1) 2.2信号测量 通过磁环感应电流再转为电压信号,用adc采样进行傅里叶分析,把时域信号转为频域信号,得到其频率与幅值,再通过多次数据测量进行比对的到幅度的转换系数。 离散傅里叶变换(DFT),是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中通常采用快速傅里叶变换以高效计算DFT。所以再分析时用了stm32进行fft分析。识别出指定频率的声波 TDOA方法基本可以理解。 FFT方法通过两线确定一个点,再通过数学得到距离。 相关代码 链接: https://pan.baidu.com/s/1IGVKG1xbHgk6PsVp25vtdg?pwd=ccjy 提取码: ccjy
H=(2*(50)2-D22-D12)/(2*(D1-D2))