任务名称
2001年_C题:自动往返电动小汽车
任务要求
难度

一、任务
设计并制作一个能自动往返于起跑线与终点线间的小汽车。允许用玩具汽车改装,但不能用人工遥控(包括有线和无线遥控)。跑道宽度 0.5m,表面贴有白纸,两侧有挡板,挡板与地面垂直,其高度不低于 20cm。在跑道的 B、C、D、E、F、G 各点处画有 2cm 宽的黑线,各段的长度如图 1 所示。


二、要求
1.基本要求
(1)车辆从起跑线出发(出发前,车体不得超出起跑线),到达终点线后停留 10 秒,然后自动返回起跑线(允许倒车返回)。往返一次的时间应力求最短(从合上汽车电源开关开始计时)。
(2)到达终点线和返回起跑线时,停车位置离起跑线和终点线偏差应最小(以车辆中心点与终点线或起跑线中心线之间距离作为偏差的测量值)。
(3)D~E 间为限速区,车辆往返均要求以低速通过,通过时间不得少于 8 秒,但不允许在限速区内停车。
2.发挥部分
(1)自动记录、显示一次往返时间(记录显示装置要求安装在车上)。
(2)自动记录、显示行驶距离(记录显示装置要求安装在车上)。
(3)其它特色与创新。

评审标准

参考答案

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


一、方案概述

设计并制作一辆自动往返起跑线与终点线的小汽车。系统包括车辆控制模块,传感器模块,动力模块,以及显示和记录模块,以确保车辆能够按照要求自动往返运行,记录和显示相关指标。

二、简单论证

  • 车辆控制模块:通过MCU控制电机,实现车辆的前进、后退、转向和速度控制,以保证车辆能够按照设定路径运行。
  • 传感器模块:采用红外或超声波传感器检测运行路径上的标志点,判断是否到达终点和起跑线,并在到达后按要求进行相应动作。
  • 动力模块:由直流电机和驱动电路组成,提供车辆的运行动力,并由MCU控制其速度和方向。
  • 显示和记录模块:记录车辆的返回时间和行驶距离,通过LCD或LED显示。

三、重要指标理论分析

  1. 路径检测精度

    • 使用高精度传感器(如红外或超声波传感器)检测路径和标志点,以确保车辆能够准确检测到起跑线和终点线。
  2. 运行速度和控制精度

    • 车辆在D到E段的速度应保持稳定且低速运行,通过PWM控制电机实现速度控制和平稳停车。
  3. 响应时间

    • 从起跑线启动到终点停留10秒,再返回起跑线的总时间控制在合理范围。

四、最重要的电路设计要点

  1. MCU控制电路

    • 使用单片机(如STM32)进行总体控制,负责读取传感器数据和输出控制信号。
    • MCU通过PWM控制电机驱动模块,调节速度和方向。
  2. 传感器接口电路

    • 配置红外或超声波传感器接口,确保传感器信号稳定。
    • 传感器与MCU通过中断或定时器实现即时检测。
  3. 动力驱动电路

    • 使用H桥电机驱动模块(如L298N)控制直流电机。
    • 确保电机电源稳定,避免过载或过热。

六、核心器件设计要点

  1. STM32单片机

    • 确保可靠的电源和时钟源。
    • 配置并使用定时器和PWM模块实现精确控制。
  2. 红外/超声波传感器

    • 确保传感器与检测环境的良好匹配,避免误检。
    • 选择合适的传感器型号,如HC-SR04(超声波)、TCRT5000(红外反射)等。
  3. H桥电机驱动模块(如L298N)

    • 提供充足的电流和电压驱动电机。
    • 通过PWM控制电机驱动,实现速度调节和平稳启动、停止。

七、简单C代码

#include "stm32f4xx_hal.h"

TIM_HandleTypeDef htim2;
ADC_HandleTypeDef hadc1;
UART_HandleTypeDef huart1;

void SystemClock_Config(void);
void MX_TIM2_Init(void);
void MX_ADC1_Init(void);
void MX_USART1_UART_Init(void);
void StartMotor(uint8_t direction, uint8_t speed);
void StopMotor(void);
uint32_t Read_Sensor(void);

int main(void) {
    HAL_Init();
    SystemClock_Config();
    MX_TIM2_Init();
    MX_ADC1_Init();
    MX_USART1_UART_Init();

    while (1) {
        uint32_t sensor_value = Read_Sensor();

        if (sensor_value > THRESHOLD_START) {
            StartMotor(FORWARD, SPEED_HIGH);

            if (sensor_value < THRESHOLD_END) {
                StopMotor();
                HAL_Delay(10000);  // 停留10秒
                StartMotor(REVERSE, SPEED_LOW);
                HAL_Delay(TIME_TO_START);  // 返回起跑线时间
            }
        }
    }
}

void SystemClock_Config(void) {
    // 时钟配置代码
}

void MX_TIM2_Init(void) {
    // 初始化TIM2作为PWM输出
}

void MX_ADC1_Init(void) {
    // 初始化ADC用于传感器读取
}

void MX_USART1_UART_Init(void) {
    // 初始化串口用于数据传输
}

void StartMotor(uint8_t direction, uint8_t speed) {
    // 启动电机,设置方向和速度
}

void StopMotor(void) {
    // 停止电机
}

uint32_t Read_Sensor(void) {
    // 读取传感器值
}

综上所述,通过合理的硬件选型和精确的控制算法,可以实现自动往返并记录时间和路径的小车系统,达到设计要求的功能和性能指标。


这个题目考察的知识点:

  1. 高效率功率放大器设计:理解和设计高效率(D类)功率放大器电路,确保高效、低失真地输出音频信号。

  2. 频率响应:了解和设计电路的频率响应特性,确保在所需的频段内获得良好的放大效果。

  3. 信号转换与测量:掌握信号转换电路(差分转单端)的设计与实现,以及通过滤波电路进行精确测量的方法。

  4. 测量装置:设计和实现测量放大器输出功率的装置,包括RC滤波器与外接测量仪表的接口。

  5. 微控制器编程:使用MCU控制电路,实现输入信号的采集、处理与输出控制。

  6. 功率效率测量:通过实际测量验证功率放大器的效率和性能。

硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号