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)方向。
激光笔固定在云台上,确保光轴与摄像头视野中心对齐(机械校准)。
控制逻辑:
静态瞄准(基本要求):
摄像头识别靶心后,通过PID算法动态调整云台角度,使激光光斑与靶心重合。
需补偿摄像头安装偏移(如摄像头在激光笔左侧,则靶心坐标需向右修正)。
动态瞄准(发挥部分):
小车运动时,实时计算靶心相对小车的运动轨迹,预测目标位置(如卡尔曼滤波)。
同步控制云台角度,确保激光光斑始终跟随靶心(需闭环反馈)。
使用STM32驱动舵机并与摄像头联动,可通过以下步骤实现:
舵机控制:STM32的PWM模块(如TIM1/TIM2)输出50Hz方波(周期20ms),通过调节占空比(0.5ms
2.5ms)控制舵机角度(0°180°),例如SG90舵机。摄像头数据采集:通过串口或DCMI接口(如OV7670)获取图像,用OpenMV或HAL库处理图像,识别靶心坐标(如颜色/形状识别)。
坐标转换与反馈控制:将靶心的像素坐标转换为舵机角度(需标定),通过PID算法动态调整PWM占空比,使激光光斑跟踪靶心。
本次电赛持续了4天4夜,最后没能获奖,还是由于没有做好充足的准备,赛前没有提前搭好车架,选好电机,学习云台及舵机的使用,写出循迹功能代码并实现。不过还是学到了不少东西,比如步进电机驱动,循迹功能实现,摄像头视觉以及如何与云台配合去锁定目标靶等,总体还是一次非常难忘的经历。
成员:23王禹哲,23钟茂宇,23吴延平