25电赛心得2


2025电赛历程

本次电赛是一次非常坎坷的比赛经历,我们选择了控制题E题,主体框架如下图:

其中包括:

MSPM0G3507+STM32F103主控

小车步进电机驱动(TB650)

循迹代码反馈

舵机电动云台

摄像头识别等功能

步进电机及其驱动板使用方法

步进电机是一种将电脉冲信号转换为精确角位移的执行元件,其转动步距角固定(如1.8°/步),通过控制脉冲数量和频率可实现精准定位和无累积误差的转速控制,广泛应用于3D打印机、CNC机床等场景。其中,使用步进电机需要结合TB650电机驱动板来驱动,TB650如图

左:A+,B+,A-,B-为电机接线,+24V和GND为电机电源

右:EN-、CW-、CLK-需全部共地并和左侧电源GND连接在一起,

EN+为使能电机驱动,赋予低电平可使能电机(可根据拨码开关调整)

CW+的高低电平可以控制电机正反转

CLK+是给驱动板脉冲信号的引脚,与CLK-结合,两个引脚的PWM波占空比在30%~60%之间,通过控制主控芯片产生的PWM波频率大小,可以控制电机转速。

循迹功能思路

驱动部分介绍完毕,之后5路循迹模块的5个红外传感器会根据是否检测到地上的黑线,输出的5路引脚高低电平信号,MSP芯片的GPIO根据检测到的信号,分情况控制电机转速,实现小车循迹功能。

加入按键控制,统计小车转弯次数count,根据count值判断小车停止,即可实现小车指定圈数循迹

基于摄像头模块和二维云台的激光精准打靶方案
1. 摄像头模块的选择与图像处理

摄像头选型:使用OV7670、支持实时图像处理的模块,需具备至少30fps的帧率,分辨率不低于320×240。

目标识别算法:

靶心定位:通过颜色阈值分割(红色靶心)或形状识别(圆形轮廓)确定靶心坐标。

坐标转换:将摄像头采集的二维图像坐标(像素位置)转换为云台的俯仰/偏转角度(需标定摄像头与云台的相对位置)。

2. 二维云台的驱动与控制

硬件组成:

云台采用两个舵机(如SG90)或步进电机(需搭配TB6600驱动器)分别控制水平(Yaw)和垂直(Pitch)方向。

激光笔固定在云台上,确保光轴与摄像头视野中心对齐(机械校准)。

控制逻辑:

  1. 静态瞄准(基本要求):

    摄像头识别靶心后,通过PID算法动态调整云台角度,使激光光斑与靶心重合。

    需补偿摄像头安装偏移(如摄像头在激光笔左侧,则靶心坐标需向右修正)。

  2. 动态瞄准(发挥部分):

    小车运动时,实时计算靶心相对小车的运动轨迹,预测目标位置(如卡尔曼滤波)。

    同步控制云台角度,确保激光光斑始终跟随靶心(需闭环反馈)。

    使用STM32驱动舵机并与摄像头联动,可通过以下步骤实现:

    舵机控制:STM32的PWM模块(如TIM1/TIM2)输出50Hz方波(周期20ms),通过调节占空比(0.5ms2.5ms)控制舵机角度(0°180°),例如SG90舵机。

    摄像头数据采集:通过串口或DCMI接口(如OV7670)获取图像,用OpenMV或HAL库处理图像,识别靶心坐标(如颜色/形状识别)。

    坐标转换与反馈控制:将靶心的像素坐标转换为舵机角度(需标定),通过PID算法动态调整PWM占空比,使激光光斑跟踪靶心。

本次电赛持续了4天4夜,最后没能获奖,还是由于没有做好充足的准备,赛前没有提前搭好车架,选好电机,学习云台及舵机的使用,写出循迹功能代码并实现。不过还是学到了不少东西,比如步进电机驱动,循迹功能实现,摄像头视觉以及如何与云台配合去锁定目标靶等,总体还是一次非常难忘的经历。

成员:23王禹哲,23钟茂宇,23吴延平


文章作者: 吴延平
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 吴延平 !
  目录