任务名称
2003年_E题:简易智能电动车
任务要求
难度

一、任务

设计并制作一个简易智能电动车,其行驶路线示意图如下:

二、要求

1、基本要求
(1)电动车从起跑线出发(车体不得超过起跑线),沿引导线到达 B 点。在“直道区”铺设的白纸下沿引导线埋有 1~3 块宽度为 15cm、长度不等的薄铁片。电动车检测到薄铁片时需立即发出声光指示信息,并实时存储、显示在“直道区”检测到的薄铁片数目。
(2)电动车到达 B 点以后进入“弯道区”,沿圆弧引导线到达 C 点(也可脱离圆弧引导线到达 C 点)。C 点下埋有边长为 15cm 的正方形薄铁片,要求电动车到达 C 点检测到薄铁片后在 C 点处停车 5 秒,停车期间发出断续的声光信息。
(3)电动车在光源的引导下,通过障碍区进入停车区并到达车库。电动车必须在两个障碍物之间通过且不得与其接触。
(4)电动车完成上述任务后应立即停车,但全程行驶时间不能大于 90 秒,行驶时间达到90 秒时必须立即自动停车。

2、发挥部分
(1)电动车在“直道区”行驶过程中,存储并显示每个薄铁片(中心线)至起跑线间的距离。
(2)电动车进入停车区域后,能进一步准确驶入车库中,要求电动车的车身完全进入车库。

三、说明

1、跑道上面铺设白纸,薄铁片置于纸下,铁片厚度为 0.5~1.0mm。
2、跑道边线宽度 5cm,引导线宽度 2cm,可以涂墨或粘黑色胶带。示意图中的虚线和尺寸标注线不要绘制在白纸上。
3、障碍物 1、2 可由包有白纸的砖组成,其长、宽、高约为 50cm×12cm×6cm,两个障碍物分别放置在障碍区两侧的任意位置。
4、电动车允许用玩具车改装,但不能由人工遥控,其外围尺寸(含车体上附加装置)的限制为:长度≤35cm,宽度≤15cm。
5、光源采用 200W 白炽灯,白炽灯泡底部距地面 20cm,其位置如图所示。
6、要求在电动车顶部明显标出电动车的中心点位置,即横向与纵向两条中心线的交点。
(3)停车后,能准确显示电动车全程行驶时间。
(4)其它。

评审标准

参考答案

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


一、设计思路

  1. 红外或光电传感器检测

    • 使用红外或光电传感器检测直道区和弯道区的白线,实现循迹功能。
    • 在进入停车区时检测到薄铁片位置,停车。
  2. 微控制器(MCU)控制

    • MCU控制电动机实现小车的前进、转弯和停止。
    • 通过PWM信号控制电动机的速度和方向,进行路径规划。
  3. 路径规划和自动停车

    • 在检测到直道区薄铁片时,记录薄铁片位置并导航到B点。
    • 根据薄铁片的位置和中心线计算,自动停车。

二、简单论证

利用传感器和MCU的结合,通过检测白线实现循迹,通过检测薄铁片和计算位置实现精准停车,整个过程实时监控,保证自动小车在轨道上的稳定运行。

三、指标分析和理论

  1. 循迹功能

    • 确保小车能够准确识别白线以及沿白线行驶,传感器需具有高灵敏度和快速响应。
  2. 停车精度

    • 小车需在5cm内停车,利用红外或光电传感器检测到薄铁片并在规定的位置停车,误差应控制在1cm内。
  3. 控制响应

    • MCU实时处理传感器输入,并通过PWM控制电动机,响应时间在毫秒级。

四、电路原理图设计要点

  1. 传感器电路

    • 使用红外传感器模块(如TCRT5000)检测白线,并传输信号给MCU。
  2. 电动机驱动电路

    • 使用H桥电路(如L298N)控制电动机的正反转和速度可调。
    • PWM控制电动机,使其前进、停止或转弯。
  3. 电源管理电路

    • 提供稳定电源供应给MCU和传感器。

五、核心器件设计要点

  1. 红外传感器TCRT5000

    • 精确检测地面白线,用于循迹及停车检测。
    • 安装位置应前置,便于检测白线和薄铁片。
  2. 微控制器STM32

    • 高效处理从传感器采集的数据,并通过PWM信号控制电动机。
    • 根据传感器输入,计算路径和控制移动。
  3. H桥电动机驱动L298N

    • 实现小车的前进、逆转、左右转,实现精准控制。
    • 提供足够功率驱动电动机,并具备过流保护功能。

六、MCU重要功能的C代码和介绍

以下是实现循迹和停车的简单C代码示例:

#include "stm32f4xx_hal.h"

// 定义引脚
#define LEFT_SENSOR_PIN GPIO_PIN_0
#define RIGHT_SENSOR_PIN GPIO_PIN_1
#define MOTOR_LEFT_PIN GPIO_PIN_2
#define MOTOR_RIGHT_PIN GPIO_PIN_3

// 初始化
void setup() {
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_TIM_PWM_Init();  // 用于控制电动机进行PWM设置
}

// 返回检测到的值
int read_sensor(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) {
    return HAL_GPIO_ReadPin(GPIOx, GPIO_Pin);
}

void control_motor(int left_speed, int right_speed) {
    // PWM通道设置电动机速度,根据传感器值调整转向
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, left_speed);
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, right_speed);
}

void loop() {
    int left_sensor = read_sensor(GPIOA, LEFT_SENSOR_PIN);
    int right_sensor = read_sensor(GPIOA, RIGHT_SENSOR_PIN);

    // 传感器值判断小车移动方向
    if (left_sensor == 0 && right_sensor == 1) {
        control_motor(100, 200);  // 左转
    } else if (left_sensor == 1 && right_sensor == 0) {
        control_motor(200, 100);  // 右转
    } else {
        control_motor(200, 200);  // 直行
    }

    // 检测进入停车区停车
    if (left_sensor == 1 && right_sensor == 1) {
        control_motor(0, 0);  // 停车
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 报警,可选
    }

    HAL_Delay(100);
}

int main(void) {
    setup();
    while (1) {
        loop();
    }
}

这个题目考察的知识点:

本题要求设计一个简易智能电动车,考察的主要知识点包括:

  1. 传感器技术:利用红外或光电传感器实现对轨道白线的检测,并保证小车沿白线循迹。在停车区,传感器检测薄铁片位置,触发停车。
  2. 微控制器编程:使用MCU(如STM32)进行数据采集、处理和运动控制。MCU实时处理传感器信号,通过PWM控制电动机。
  3. 电机驱动与控制:采用H桥电路(如L298N)实现电动机的精确控制,包括正反转和速度调节。
  4. 路径规划与自动停车:根据传感器数据,MCU实时规划运动路径并实现自动停车。在直道区,检测薄铁片并记录位置,导航小车准确停车。
  5. 综合系统设计:要求电源管理、信号滤波及系统封装设计,确保系统稳定可靠运行。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号