2022电子设计竞赛自主不成熟设计

基于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板

。。。

亚克力封盒

代码思路;

  1. 发出固定频率的波,用FFT识别检测,在计算接受得到的时间差。适用于先按启动按钮,再放置音源
  2. 制作波形代码,输出波形,驱动电路发声。
  3. 信号输出控制:开启信号---300ms—关闭信号

代码已做;

电路:

声音放大电路

声音检测模块:

  1. FFT分析部分:通过大量数据观察,发现,对于频率为一的信号最为灵敏。如图所示
  2. 很明显我们可以看到幅值的巨大差异。
  3. 这样给了我们一个可靠的开始信号。

目前来说,最大的困难在于无法多通道检测。最直接的直接拿三个开发板。!!!!!

这三个可以这样做,比较,这三个输入,这三个那个输进去先超过一千,先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<a2:

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得到时间差,得出距离和方向。

缺少:定时器时间函数难以整合,两种方案:

  1. 继续整合,
  2. 采用新的系统板,pin脚交换信号,目前条件不允许,可以尝试

            步进电机难以整合,两种方案:

说白了,引入必要的函数库进行调用,但实际操作过程中,电机与机械结构息息相关。控制角度,高度,共要两个,可以整合,但目前代码水平不够。可能做不出来。

         而另外一种,则直接启用新版,电机驱动程序直接作为内部主程序。从长远来看比较合理。可以为下次比赛做准备。这次先做成两个电机控制。

               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

联立后,可得,
H=2*(50)2-D22-D12/2*D1-D2))

再反代,可得  θ
 

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 

猜你喜欢

转载自blog.csdn.net/prouue/article/details/126076551