一、任务
利用 TI 的 MSP430/MSP432 平台,设计制作一个四轮电动小车。要求小车能沿着指定路线在坡道上自动循迹骑线行驶。小车必须独立运行,车外不能使用任何设备(包括电源)。小车(含电池)重量小于 1.5kg,外形尺寸在地面投影不大于 25cm×25cm。坡道用长、宽约 1m 的细木工板制作,允许板上有木质本色及自然木纹。木工板表面铺设画有 1cm×1cm 黑白间隔的纸条(以下简称为标记线)作为路线指示;标记线起始段为直线,平行于木板两边;标记线在坡顶转向 90°,转弯半径 20cm;标记线平行坡顶距离≥30cm,距坡顶距离≤20cm;标记线总长度为 1m。停车标记为宽 1cm 长 5cm 的黑色线条,垂直于坡顶标记线。小车坡度角示意及行驶线路顶视图如图 1 所示。
二、要求
三、说明
GPT-4o给出的设计方案:
基于TI的MSP430/MSP432平台设计一辆自动行驶的小车。小车需在坡道上根据标记线自动行驶,克服各种坡度设定,包括平地、10°、11°~30°,并在停靠区域精确停车。小车依赖自身搭载的传感器、控制系统和电池供电装置,无需外部设备辅助。
行驶控制系统:
图像传感与处理:
坡度适应性: -根据不同坡度调整电机功率和车轮转速,保证小车在不同倾斜角下均能稳定行驶。
精准停车控制:
定位准确度:
时间控制:
坡度适应性:
路线跟踪能力:
电机驱动电路:
MCU PWM输出 -> H桥电路 -> 电机 -> 小车驱动
传感器电路:
光电传感器 -> ADC -> MCU
超声波传感器 -> 数字输入 -> MCU
控制系统电路:
光电传感器输入 -> MCU -> PWM控制信号 -> H桥电路 -> 电机
主控MCU(TI MSP432系列):
电机驱动(L298N或TB6612FNG):
传感器模块:
以下为用于路线检测、速度控制以及停车控制的核心代码示例:
#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算法,小车可以按指定路线稳定行驶,满足各项指标要求。
这个题目考察的知识点: