任务名称
2007年_J题 :电动车跷跷板【高职高专组】
任务要求
难度

一、任务
设计并制作一个电动车跷跷板,要求跷跷板起始端一侧装有可移动的配重物体,配重物体位置可调范围不小于 400mm。电动车从起始端出发,按要求自动在跷跷板上行驶。电动车跷跷板起始状态和平衡状态示意图分别如图 1 和图 2 所示。

二、要求

1.基本要求
(1)先将跷跷板固定为水平状态,电动车从起始端 A 位置出发,行驶跷跷板的全程(全程的含义:电动车从起始端 A 出发至车头到达跷跷板顶端 B 位置)。停止 5 秒后,电动车再从跷跷板的 B 端倒退回至跷跷板的起始端 A,电动车能分别显示前进和倒退所用的时间。前进行驶在 1 分钟内、倒退行驶在 1.5 分钟内完成。
(2)跷跷板处在图 1 所示的状态下(配重物体位置不限制),电动车从起始端 A 出发,行驶跷跷板的全程。停止 5 秒后,电动车再从跷跷板的 B 端倒退回至跷跷板的起始端 A,电动车能分别显示前进和倒退所用的时间。前进行驶在 1.5分钟内、倒退行驶在 2 分钟内完成。

2.发挥部分
(1)由参赛队员将配重物体设定在可移动范围中的某位置,电动车从起始端 A 出发,当跷跷板达到平衡时,保持时间不小于 5 秒,同时发出声光提示,电动车显示所用的时间。全过程要求在 2 分钟内完成。
(2)在可移动范围内任意设定配重物体的位置(由测试人员指定),电动车从起始端 A 出发,当跷跷板达到平衡时,保持时间不小于 5 秒,同时发出声光提示,电动车显示所用的时间。全过程要求在 2 分钟内完成。
(3)其他。

三、说明
1.跷跷板长 1600mm、宽 300mm。为便于携带也可将跷跷板制成折叠形式。
2.跷跷板中心固定在直径不大于 40mm 的圆轴上,圆轴两端支撑在两个支架上,与支架圆滑接触。跷跷板在图 2 所示的平衡状态下,跷跷板底距地面或桌面的距离为 70mm。
3.允许在跷跷板面上画有寻迹线。
4.电动车(含车体上的其它装置)的外形尺寸规定:长≤300mm,宽≤200mm。测试过程中电动车外形尺寸不允许变动。
5.电动车不允许采用有线或无线遥控,电动车自身应具备转弯功能。
6.电动车行驶距离的测量以车尾为基准。
7.平衡状态的含义是:当跷跷板出现上下摆动,且 B 端底部与水平状态的偏移量≤60mm 范围内时,可视为进入平衡状态。

评审标准

参考答案

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


一、设计思路

  1. 驱动系统

    • 采用直流电机控制电动车的前进与倒退,使用H桥电路控制电机的正反转。
    • 通过微控制器(MCU)控制电机的启停和方向。
  2. 平衡检测

    • 在达到坡道中心时,使用传感器(如红外传感器或超声波传感器)检测并反馈平衡状态。
    • 使用加速度传感器检测电动车的倾斜角度,确保保持平衡。
  3. 控制系统

    • 使用MCU实现对电机的控制和传感器数据的采集与处理。
    • 设计配重装置,并通过步进电机控制配重的位置,实现动态平衡调整。
  4. 显示与反馈

    • 使用LCD显示屏显示当前平衡状态和行驶时间。
    • 设置指示灯显示各阶段的运行状态。

二、论证

该设计涵盖了电动车从起点到终点的全程控制,及时对电动车状态的监测和反馈,以及动态调整方法,确保电动车在坡道上行驶稳定,符合任务要求。

重要的指标和理论分析

  1. 平衡控制

    • 平衡检测需要对电动车的倾斜角度进行精确检测,建议使用加速度传感器实现。
    • 通过配重移动,实现角度变化小于±60mm,确保平衡。
  2. 时间控制

    • 电动车从A点到B点的前进时间控制在1分钟以内,倒退时间控制在1.5分钟以内。
  3. 电动机控制

    • 采用PWM信号控制电机的速度和方向,实现柔性启动与停止,避免突然启动或停止造成失稳。

三、主要的电路原理图设计要点

  1. 电动机控制电路

    • 使用H桥电路(如L298N)控制电机的正反转。
    • PWM控制单元调节电机速度。
  2. 传感器与检测电路

    • 加速度传感器用于实时检测电动车的倾斜角度。
    • 红外/超声波传感器检测电动车在坡道中心和末端的位置。
  3. 显示与反馈电路

    • LCD显示屏用于实时展示当前状态。
    • 指示灯显示不同阶段的运行状态。

四、核心器件设计要点

  1. L298N H桥电路

    • 控制直流电机的正反转和速度;
    • 提供足够的电流驱动负载。
  2. 加速度传感器

    • 选择如MPU6050;
    • 提供三轴加速度检测,通过I2C接口与MCU连接。
  3. 步进电机

    • 用于动态调节配重位置,确保电动车的平衡。

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

以下是一个实现基本电机控制和传感器数据采集的示例代码:

#include <Wire.h>
#include <LiquidCrystal.h>
#include "MPU6050.h"

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
MPU6050 mpu;
int motorPin1 = 9;
int motorPin2 = 10;
int motorSpeedPin = 6;

void setup() {
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorSpeedPin, OUTPUT);
  
    Wire.begin();
    mpu.initialize();
  
    lcd.begin(16, 2);
    lcd.print("Initializing...");
}

void loop() {
    int16_t ax, ay, az;
    
    mpu.getAcceleration(&ax, &ay, &az);
  
    int balance = calculateBalance(ax, ay, az);
  
    controlMotor(balance);
  
    lcd.setCursor(0, 1);
    lcd.print("Balance:");
    lcd.print(balance);
    delay(100);
}

int calculateBalance(int16_t ax, int16_t ay, int16_t az) {
    // 根据加速度传感器数据计算当前平衡状态
    // 返回平衡状态结果
    int balance = ...;
    return balance;
}

void controlMotor(int balance) {
    // 根据平衡状态调整电机速度和方向
    if (balance > threshold) {
        digitalWrite(motorPin1, HIGH);
        digitalWrite(motorPin2, LOW);
        analogWrite(motorSpeedPin, map(balance, 0, 100, 0, 255));
    } else if (balance < -threshold) {
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, HIGH);
        analogWrite(motorSpeedPin, map(-balance, 0, 100, 0, 255));
    } else {
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, LOW);
    }
}

本题考察的主要知识点:

  1. 电机控制与移动

    • 如何通过H桥电路控制电动机的正反转与速度。
    • 通过PWM信号实现电机的柔性启动和停止。
  2. 传感器与检测电路

    • 使用加速度传感器检测电动车的倾斜角度,实现平衡控制。
    • 使用红外或超声波传感器检测电动车在坡道中心和末端的位置。
  3. 平衡控制与配重调整

    • 如何通过MCU实现对于电机和传感器的综合控制。
    • 实现动态的配重调整,以确保电动车在坡道上平稳行驶。
  4. 显示与反馈

    • 使用LCD显示屏实时展示当前状态。
    • 设置指示灯显示电动车不同阶段的运行状态。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号