任务名称
2009年_B题:声音导引系统
任务要求
难度

一、任务
设计并制作一声音导引系统,示意图如图 1 所示。

图中,AB 与 AC 垂直,Ox 是 AB 的中垂线,O'y 是 AC 的中垂线,W 是 Ox 和 O'y 的交点。
声音导引系统有一个可移动声源 S,三个声音接收器 A、B 和 C,声音接收器之间可以有线连接。声音接收器能利用可移动声源和接收器之间的不同距离,产生一个可移动声源离 Ox 线(或 O'y 线)的误差信号,并用无线方式将此误差信号传输至可移动声源,引导其运动。可移动声源运动的起始点必须在 Ox 线右侧,位置可以任意指定。

二、要求
1.基本要求
(1)制作可移动的声源。可移动声源产生的信号为周期性音频脉冲信号,如图 2 所示,声音信号频率不限,脉冲周期不限。 

(2)可移动声源发出声音后开始运动,到达 Ox 线并停止,这段运动时间为响应时间,测量响应时间,用下列公式计算出响应的平均速度,要求平均速度大于 5cm/s。可移动声源的起始位置到 Ox 线的垂直距离

(3)可移动声源停止后的位置与 Ox 线之间的距离为定位误差,定位误差小于 3cm。
(4)可移动声源在运动过程中任意时刻超过 Ox 线左侧的距离小于 5cm。
(5)可移动声源到达 Ox 线后,必须有明显的光和声指示。
(6)功耗低,性价比高。

2.发挥部分
(1)将可移动声源转向 180 度(可手动调整发声器件方向),能够重复基本要求。
(2)平均速度大于 10cm/s。
(3)定位误差小于 1cm。
(4)可移动声源在运动过程中任意时刻超过 Ox 线左侧距离小于 2cm。
(5)在完成基本要求部分移动到 Ox 线上后,可移动声源在原地停止 5s~10s,然后利用接收器 A 和 C,使可移动声源运动到 W 点,到达 W 点以后,必须有明显的光和声指示并停止,此时声源距离 W 的直线距离小于 1cm。整个运动过程的平均速度大于 10cm/s。

三、说明
1. 本题必须采用组委会提供的电机控制 ASSP 芯片(型号 MMC-1)实现可移动声源的运动。
2. 在可移动声源两侧必须有明显的定位标志线,标志线宽度 0.3cm 且垂直于地面。
3. 误差信号传输采用的无线方式、频率不限。
4. 可移动声源的平台形式不限。
5. 可移动声源开始运行的方向应和 Ox 线保持垂直。
6. 不得依靠其他非声音导航方式。
7. 移动过程中不得人为对系统施加影响。
8. 接收器和声源之间不得使用有线连接。 

评审标准

参考答案

GPT-4o给出的设计方案:


一、总体设计

设计一个声学导引系统,由三个固定声学接收器和一个可移动声源组成。系统通过分析声源和接收器之间的响度时间差,计算出声源的位置,并引导声源沿指定路线移动到目标位置。

二、简单论证

通过声波的传输时间差来确定声源的位置并进行控制。利用三个声接收器(C, B, A)接收声源(S)发出的信号,分析每个接收器接收到信号的时间差,可以计算出声源的位置。然后,通过控制系统发出指令,控制声源沿指定路径移动。

三、重要指标的理论分析

  1. 声波传播时间差(Δt):通过测量声学接收器接收到同一声源的时间差,计算声源相对于接收器位置的距离。
  2. 平均速度要求:系统计算出声源移动的平均速度,根据移动距离和时间进行调整,要求平均速度>=5cm/s。
  3. 定位误差:系统应将可移动声源定位误差控制在小于3cm内。

四、电路原理图设计要点

  1. 接收电路模块:

    • 三个接收器接收声波信号,转换为电信号。
    • 每个接收器连接一个高精度的时间测量单元,用以记录信号到达的确切时间。
  2. 信号处理电路:

    • 由MCU(如STM32F407VG)负责采样和数据处理。
    • ADC模块将模拟信号转换为数字信号。
    • MCU通过差分计时来计算时间差Δt。
  3. 移动控制电路:

    • 步进电机或伺服电机控制可移动声源的运动。
    • 驱动模块由MCU控制,负责产生PWM信号,调节电机的速度和方向。
  4. 反馈与修正模块:

    • 实时监测声源位置,并根据偏差调整运动方向和速度。

五、核心器件设计要点

  1. MCU(如STM32F407VG):

    • 高速处理器,能够即时处理声音信号,进行位置计算和控制。
    • 集成高精度ADC,用于捕捉和处理接收的声学信号。
  2. 步进电机或伺服电机:

    • 确保精确控制移动声源的运动方向和速度。
    • 选择高精度、高响应的电机,以满足速度和定位精度的要求。
  3. 高精度时间测量单元:

    • 例如用于记录声波到达时间的高分辨率定时器模块。
    • 确保时间差测量的精度,为位置计算提供可靠数据。

六、项目实现主要功能代码介绍

以下是通过MCU实现声源定位和控制的C代码示例:

#include "stm32f4xx.h"

TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
UART_HandleTypeDef huart1;

// ADC采样初始化
void ADC_Init(void) {
    // ADC初始化代码,配置ADC通道和参数
}

// 定时器初始化
void TIM_Init(void) {
    // 定时器初始化代码,配置高精度定时器
}

// 串口通信初始化
void UART_Init(void) {
    // 串口初始化代码,配置串口参数
}

// 计算声源位置
void Calculate_Position(void) {
    // 获取定时器计数值
    uint32_t t1 = __HAL_TIM_GET_COUNTER(&htim1);
    uint32_t t2 = __HAL_TIM_GET_COUNTER(&htim2);
    uint32_t t3 = __HAL_TIM_GET_COUNTER(&htim3);
    
    // 计算时间差Δt
    float delta_t1 = (float)t1 / HAL_RCC_GetPCLK1Freq();
    float delta_t2 = (float)t2 / HAL_RCC_GetPCLK1Freq();
    float delta_t3 = (float)t3 / HAL_RCC_GetPCLK1Freq();
    
    // 根据时间差计算位置(采用简单三角几何计算方法)
    float x = ...; // 根据实际情况计算
    float y = ...; // 根据实际情况计算
    
    // 输出计算结果
    char buffer[50];
    sprintf(buffer, "X: %f, Y: %f\r\n", x, y);
    HAL_UART_Transmit(&huart1, (uint8_t*)buffer, strlen(buffer), HAL_MAX_DELAY);
}

// 控制步进电机
void Control_Motor();

int main(void) {
    HAL_Init();
    SystemClock_Config();
    ADC_Init();
    TIM_Init();
    UART_Init();

    while (1) {
        Calculate_Position();
        Control_Motor();
        HAL_Delay(100);
    }
}

// 系统时钟配置函数
void SystemClock_Config(void) {
    // 系统时钟配置代码
}

// 控制步进电机的函数
void Control_Motor() {
    // 获取所需位置
    float target_position = ...;
    // 控制步进电机运动到目标位置
    // 调整速度和方向
}

代码介绍:

  • ADC_Init: 初始化ADC模块,配备不同通道以接收声波信号。
  • TIM_Init: 初始化高精度定时器,测量接收时间差。
  • UART_Init: 初始化串口通信,用于调试和传输数据。
  • Calculate_Position: 通过定时器计数值计算声源的实际位置。
  • Control_Motor: 根据计算出的目标位置,控制步进电机的运动方向和速度,确保声源按照预定路径移动。

通过该设计方案,系统能够精确计算并控制声源位置,达到预计的定位和移动要求。同时通过示例代码,实现MCU对信号处理和运动控制的具体逻辑。


本题考察的主要知识点:

  1. 声学定位原理:通过分析声波传播时间差计算声源位置。
  2. 信号采集与处理:采用ADC采样声波信号,并通过MCU处理。
  3. 速度与距离计算:计算可移动声源移动的平均速度和准确定位。
  4. 动态控制:通过控制电路调节声源运动,使其沿指定路径移动。
  5. 实时反馈与修正:系统实时监测和修正声源位置,保证移动轨迹准确。
  6. 误差分析与优化:确保声源定位误差在规定范围内,通过算法优化和硬件设计提升精度。
  7. 电机控制:利用步进电机或伺服电机精确控制声源的位置和速度。
  8. 系统集成:硬件和软件的协同工作,保证系统稳定高效运行。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号