任务名称
2020年_C题:坡道行驶电动小车
任务要求
难度

一、任务

利用 TI 的 MSP430/MSP432 平台,设计制作一个四轮电动小车。要求小车能沿着指定路线在坡道上自动循迹骑线行驶。小车必须独立运行,车外不能使用任何设备(包括电源)。小车(含电池)重量小于 1.5kg,外形尺寸在地面投影不大于 25cm×25cm。坡道用长、宽约 1m 的细木工板制作,允许板上有木质本色及自然木纹。木工板表面铺设画有 1cm×1cm 黑白间隔的纸条(以下简称为标记线)作为路线指示;标记线起始段为直线,平行于木板两边;标记线在坡顶转向 90°,转弯半径 20cm;标记线平行坡顶距离≥30cm,距坡顶距离≤20cm;标记线总长度为 1m。停车标记为宽 1cm 长 5cm 的黑色线条,垂直于坡顶标记线。小车坡度角示意及行驶线路顶视图如图 1 所示。 

二、要求

  1. 坡度角 θ=0°,电动小车能够沿标记线自动骑线行驶,在停车点停车;小车上标记点到停车标记中心线的垂直距离误差≤2cm。停车时立即发出声音提示。小车行驶过程中,其地面投影不得脱离标记线。(15 分)
  2. 在完成(1)的基础上,电动小车能够设定行驶时间,自动控制小车匀速通过 1 米长的线路,在停车点停车。行驶时间可在 10s~20s 间设定。误差绝对值≤1s。行驶过程中不得碾压、脱离标记线。时间误差每超过1s 扣 1 分。(20 分)
  3. 坡度角 θ=10°,完成要求(2)的动作。 (20 分)
  4. 可任意指定坡度角 θ 在 11°~30°,完成要求(2)的动作。 (20 分)
  5. 在完成(4)后,尽量增加坡度角 θ,完成要求(2)动作。 (20 分)
  6. 其他。 (5 分)
  7.  设计报告: (20 分)

三、说明

  1. 本题目必须使用指定的 MSP430/MSP432 平台。并将该平台置于显著位置便于评测。不得另外使用其它 CPU 控制芯片。
  2. 不得采用履带小车及带刺轮胎。小车轮胎采用橡胶塑料等柔性材质,不得在其表面涂抹粘性物质等。行驶路面不得铺设除标记线外的任何材料。小车全程在木工板上行驶。
  3. 小车设定模式后自动行驶,中途不得人工介入控制。在要求(2)~(5)的测试中,小车应匀速行驶。停顿、打滑、碾压标记线每次扣除 2 分。
  4. 小车标记点:小车到达停车线的标记点自定,并在行驶前明确标记在车体上,以便测量。
  5. 所有测试中,行驶过程时间超过 30s、小车投影脱离标记线或停车误差超过 2cm,均视为失败。
  6. 要求(5)中最大角度的测试,θ 由选手自己选定。
  7. 每项测试过程允许测试两次,取最好成绩。坡度角可以用安卓手机上的“指南针”APP 软件测量。
参考答案

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


一、设计概要

基于TI的MSP430/MSP432平台设计一辆自动行驶的小车。小车需在坡道上根据标记线自动行驶,克服各种坡度设定,包括平地、10°、11°~30°,并在停靠区域精确停车。小车依赖自身搭载的传感器、控制系统和电池供电装置,无需外部设备辅助。

二、方案论证及理论分析

  1. 行驶控制系统

    • 使用闭环控制系统,实时反馈调整小车的速度及方向。
    • PID控制算法保证小车在各坡道角度的稳定行驶。
  2. 图像传感与处理

    • 通过摄像头或光电传感器识别地面上的黑色标记线,引导小车自动沿线路行驶和转弯。
  3. 坡度适应性: -根据不同坡度调整电机功率和车轮转速,保证小车在不同倾斜角下均能稳定行驶。

  4. 精准停车控制

    • 超声波传感器或红外传感器探测停车标记点,精确计算并完成停车操作。

三、重要指标分析

  1. 定位准确度

    • 小车在停止时需位于中心标记点处,误差不超过2厘米。
  2. 时间控制

    • 小车完成整个行驶任务的时间在10秒到20秒之间,误差绝对值不能超过1秒。
  3. 坡度适应性

    • 确保在坡度范围0°~30°时小车均能自动行驶及稳定停车。
  4. 路线跟踪能力

    • 小车需按既定路线,避免脱离标记线,行驶过程中不得压线或脱线。

四、电路设计要点

  1. 电机驱动电路

    • 使用H桥电路或L298N驱动芯片,控制电机正反转及调速。
    MCU PWM输出 -> H桥电路 -> 电机 -> 小车驱动
    
  2. 传感器电路

    • 采用光电传感器模块检测地面标记线,超声波传感器或红外传感器检测停车标记点。
    光电传感器 -> ADC -> MCU
    超声波传感器 -> 数字输入 -> MCU
    
  3. 控制系统电路

    • MCU控制电路,包括电源管理、通信接口(UART/SPI/I2C)等模块。
    光电传感器输入 -> MCU -> PWM控制信号 -> H桥电路 -> 电机
    

五、核心器件的设计要点

  1. 主控MCU(TI MSP432系列)

    • 高性能低功耗的微控制器,具有较多的ADC和PWM通道,适合用于小车控制。
  2. 电机驱动(L298N或TB6612FNG)

    • 具有较高功率输出和稳定性,以控制小车的驱动电机。
  3. 传感器模块

    • 光电传感器用于路线跟踪,超声波传感器或红外传感器用于停车距离检测,传感器响应快且精度高。

六、MCU程序设计 (C代码)

以下为用于路线检测、速度控制以及停车控制的核心代码示例:

#include "msp432.h"

#define LINE_SENSOR_PIN BIT0
#define ULTRASONIC_SENSOR_PIN BIT1
#define MOTOR_PWM_PIN BIT2

void init_sensors(void) {
    // 初始化光电和超声波传感器
    P1DIR &= ~LINE_SENSOR_PIN;
    P1DIR &= ~ULTRASONIC_SENSOR_PIN;
}

void init_motors(void) {
    // 初始化电机PWM控制
    P2DIR |= MOTOR_PWM_PIN;
    P2SEL0 |= MOTOR_PWM_PIN;
}

void init_pwm(void) {
    // 设置PWM频率和初始化定时器
    TA0CCR0 = 1000-1;  // PWM周期
    TA0CCR1 = 500;     // PWM占空比初始值
    TA0CCTL1 = OUTMOD_7;
    TA0CTL = TASSEL_2 + MC_1 + TACLR;  // SMCLK, up mode
}

void drive_motors(int speed) {
    TA0CCR1 = speed;  // 调整PWM占空比控制速度
}

void main(void) {
    WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;  // 停止看门狗定时器
    init_sensors();
    init_motors();
    init_pwm();
    
    while (1) {
        if (!(P1IN & LINE_SENSOR_PIN)) {  // 检测到黑线
            drive_motors(500);  // 中速前进
        } else {
            drive_motors(300);  // 低速前进
        }

        if (!(P1IN & ULTRASONIC_SENSOR_PIN)) {  // 检测到停车标记
            drive_motors(0);  // 停止电机
            break;
        }
    }
}

总结

通过详细的硬件设计和精密的控制系统,本设计方案实现了小车在不同坡度条件下的自动路径跟踪及精准停车。利用高性能传感器、MCU控制和PID算法,小车可以按指定路线稳定行驶,满足各项指标要求。


这个题目考察的知识点:

  1. 嵌入式系统设计:利用MSP430/MSP432微控制器平台进行四轮小车的控制,涉及硬件电路设计和软件编程。
  2. 传感器应用:使用红外传感器进行标记线检测、超声波传感器进行障碍物距离测量和陀螺仪进行倾斜角度检测。
  3. 控制算法:实现基于传感器数据的PID控制算法,确保小车在指定路线上的稳定行驶。
  4. 电机驱动:利用电机驱动模块控制直流电机,准确调节小车的速度和方向。
  5. 自动化控制:开发自动化控制逻辑,实现小车的自主行驶、路线保持、障碍物检测及停车控制等功能。
  6. 系统集成与调试:将软硬件结合,进行系统集成、测试与优化,验证小车在不同坡度和速度下的性能。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号