TI杯2025年全国大学生电子设计竞赛报告

TI杯2025年全国大学生电子设计竞赛报告

简易自行瞄准装置(E题)

摘要

此设计以MSPM0G3507和STM32F407ZGT6两款单片机为主控模块,完成了包含自动循迹小车、二维步进云台、MaixCam视觉识别模块以及激光控制发生器的简易自行瞄准装置。整个装置在自动寻迹小车的基础上再通过MaixCam视觉识别模块识别目标靶的信息来获取对应坐标,然后通过MaixCam视觉模块与STM32F407ZGT6的信息通讯来控制步进云台完成打靶任务。经测试,此装置已经能够在主控MCU的控制下自主完成任务要求。

1、系统方案

为实现简易自行瞄准,我们将整个系统主要分为了自动循迹小车、二维运动云台以及视觉识别模块三部分。为了高效稳定的完成任务,我们对这三部分进行了系统的方案论证。

1.1循迹小车核心控制M0系列单片机的论证与选择

方案一:小车主控采用MSPM0L1306。MSPM0L1306主打超低功耗,运行功耗仅<100μA/MHz,休眠模式下可低至1μA以下,特别适合电池供电的小车或便携设备。其32MHz Cortex-M0+内核能满足基础控制需求,并集成12位 ADC(1Msps)和比较器,可处理简单的传感器信号(如红外、超声波)。此外,它支持 2 路 UART、SPI、I2C,适合低速通信,但PWM 通道较少(4 路),难以支持多电机控制或高速通信。

方案二:小车主控采用MSPM0C1104。MSPM0C1104是极致低成本方案,采用QFN20 小封装,适合空间受限的设计。其32MHz Cortex-M0+内核和16KB Flash / 2KB RAM仅能支持最基础的控制逻辑(如 GPIO 控制、简单 PWM 调速)。外设方面,它提供了2 路 UART、1 路 SPI/I2C和4 路 PWM。

方案三:小车主控采用MSPM0G3507。MSPM0G3507是 TI MSPM0 系列中的高性能型号,搭载80MHz Cortex-M0+ 内核,提供64KB Flash和16KB RAM,能确保复杂控制算法(如 PID 调速)的流畅运行。其外设资源丰富,包括8路高精度PWM、12 位 ADC,以及 4 路 UART/SPI/I2C,便于编码器等

综合性能、扩展性及能效,我们选择了方案三。

1.2二维云台核心控制MCU的论证与选择

方案一:二维云台核心控制采用Stm32F103RCT6。STM32F103RCT6采用64引脚LQFP封装,集成256KB Flash和48KB RAM,主频72MHz,具备3个USART、2个SPI和2个I2C接口,外设资源适中。其优势在于紧凑的封装尺寸和较低的成本,适合对PCB空间和预算敏感的中小型项目。但由于引脚数量限制,扩展能力较弱,难以支持复杂外设系统,适用于功能相对简单的控制场景。

方案二:二维云台核心控制采用STM32F407ZGT6。STM32F407ZGT6采用144引脚LQFP封装,配备512KB Flash和64KB RAM,主频同样72MHz,但提供多达5个USART、3个SPI和2个I2C接口,并支持FSMC总线扩展。其丰富的GPIO和外设资源可轻松驱动LCD、外部存储器等多组件系统,适合需要高度扩展性的复杂应用,但成本与PCB占用面积显著增加。

综合考虑,我们选择了资源更丰富的STM32F407ZGT6,即方案二。

1.3二维云台电机的论证与选择

方案一:步进电机云台采用闭环控制,定位精度高,通常可达到 0.1°的分辨率支持连续旋转且无累积误差,适合需要精确角度控制的应用。通过细分驱动可实现平稳运动,但需配套驱动器且功耗较高。其刚性结构可承载较重负载(如高清摄像头)。

方案二:舵机云台采用PWM闭环控制,集成驱动电路,即插即用且成本低廉。标准舵机转角有限(通常270°),但改装的360°连续旋转舵机可满足全景需求。体积小巧、功耗低,适合轻负载(如普通摄像头)的消费级应用,但存在齿轮背隙和温漂问题,长期使用精度会下降。

综合考虑,我们选择了精度更高的步进电机云台,即方案一。

1.4视觉识别模块的论证与选择

方案一:采用MaixCam作为视觉模块,支持0.3TOPS算力,可流畅运行目标检测、分类等视觉算法。内置200万像素摄像头和2.4寸LCD屏,提供完善的MaixPy开发框架,支持MicroPython编程,开发门槛低。模块集成WiFi/BLE,适合需要实时图像处理的教育机器人、智能小车等应用场景,是快速原型开发的理想选择。

方案二:采用K230作为视觉模块,K230采用双核RISC-V+NPU架构,提供1TOPS算力,支持更复杂的视觉算法。具备丰富接口(MIPI/USB3.0等),可连接多路高清摄像头。但开发环境较新,需要适配专用工具链,学习成本较高。适合需要高性能边缘计算的工业级应用,如高精度检测、多目标跟踪等专业场景。

综合考虑,我们选择了开发门槛较低但性能还行的MaixCam。即方案一

2、理论分析与计算

2.1目标靶位置检测

对于目标靶检测,传统机器视觉虽然具有较高的性能,但其鲁棒性不够强,于是我们结合了AI模型识别与传统机器视觉,取其综合的高精度,高帧率特点。

首先,我们通过图像采集传感器得到图像,对其进行传统机器视觉的预处理:灰度化,二值化以及膨胀腐蚀等二值化图像操作。这样我们可以得到比较纯净的画面且减少了性能占用。

在得到了画面后,采用AI视觉中的YOLO算法——一种基于单个神经网络的实时目标检测系统,通过预测边界框和类别,实现了高速高效的目标检测定位了靶子的外框。这样我们就能初步较为准确的获取到目标靶子轮廓。

为了准确获取矩形,我们还需要进行边框检测与角点识别,为获取到中心点做准备。因为在yolo识别的前提下我们可以快速定位到靶子的大概区域,接下来进行裁剪后使用传统机器视觉opencv库中的轮廓检测就能用较少性能准确拟合轮廓。

下一步,为了控制激光瞄准靶心,我们需要准确的获取到靶心。为了准确获取到靶心,我们考虑到矩形靶子在图像采集模块不同角度采集时的透视变换,基于 4 个角点坐标,通过opencv库中的透视变换消除拍摄角度和距离对检测的影响,统一坐标体系。

最终我们在这个坐标系下就可以进行简单的中心点坐标获取了。

综上,该检测方案在精度、速度、适应性上实现了良好平衡,较好满足了题目所需的目标靶位置检测。

激光部分则由于其与摄像头的相对固定,便使得我们能够直接获得激光点的坐标,便于接下来的云台控制。

2.2自动循迹控制分析

本题循迹基于MSPM0G3507芯片,采用了“传感器检测 - PID 调节 - 电机执行” 闭环控制框架,同时创建了一个多任务调度其,使每个任务能够在宏观上并行运行。

首先,我们使用八路灰度传感器作为轨迹检测核心,为每路循迹设置了权重,在调度下实时检测路径,并综合权重产生一个随小车角度变化的值用于PID运算。

\[ u(t) = K_p \cdot e(t) + K_i \cdot \int_{0}^{t} e(\tau) d\tau + K_d \cdot \frac{de(t)}{dt} \]

为了使得mcu能够进行运算,我们将其转化为离散形式:

\[ u\left(k\right)=K_p\cdot e\left(k\right)+K_i\cdot T\cdot\sum_{i=0}^{k}e\left(i\right)+K_d\cdot\frac{e\left(k\right)-e\left(k-1\right)}{T} \]

我们在相同采样时间下 ,传感器获得的值即为一个关于t(时间)的误差函数,经过比例项,积分项,微分项来对车辆的转向进行控制。由于本车只有两个驱动轮,所以只能进行差速转向控制,由pid运算得到的值传给定时器的pwm寄存器以获得速度的控制。

2.3二维云台控制算法分析

该二维云台控制系统硬件基于stm32f407,软件基于 FreeRTOS 实时操作系统,采用模块化任务设计实现 “数据接收 - 偏差计算 - 电机执行” 的闭环控制。在stm32f407的高主频以及RTOS的快速调度使其能够快速反应。系统针对 X 轴(水平)和 Y 轴(垂直)两个方向独立控制,通过步进电机驱动实现高精度定位,核心任务包括 UART 通信、PID 计算、电机驱动,整体架构如下:

通信层(uartTask)→ 控制层(pidTask)→ 执行层(motorTask)

首先,通信层的图像的靶点与激光的误差由串口传入,我们获取到激光与靶点的X轴值与Y轴值之后即可在控制层进行比例运算(即pid中比例运算),由于两个方向可能均有误差,所以我们使用了两个比例控制器:

\[ u(t) = K_p \cdot e(t) \]

为了满足题目基础部分所需的快速反应,我们舍弃了pid中积分项与微分项这种需要时间积累的算法,仅使用比例控制即可满足题目精度与速度要求。

在通信与控制后则需要通过执行层,为了使得步进电机的顺滑运行我们采用了对步进电机的速度进行控制,即使在丢失数据时也不会使得步进电机被迫停止,相比较于对步数的控制更加灵活与合理。

3、电路与程序设计

3.1总体电路图

整个简易自行瞄准装置的电路主要分成了三个部分,即自动循迹小车系统、二维运动识别系统和激光控制系统。三个系统采用两处电源,自动循迹小车系统和二维运动识别系统共用一处电源,激光控制系统单用一处电源。自动循迹小车系统我们通过在洞洞板上进行线路的连接(见图1); 二维运动识别系统我们采用的是赛前准备时自己画的PCB板(见图2)。 激光控制系统我们通过在洞洞板上进行线路的连接(见图3)。

在激光控制系统中我们通过视觉识别模块通过低电平控制继电器来达到对激光亮灭的控制效果。

3.2程序设计

简易自行瞄准装置由两块MCU芯片控制。其主要分为自动循迹小车、二维运动云台、视觉识别模块等部分组成。

自动循迹小车系统工作的总体框图如图4 所示。 二维运动识别系统工作的整体框图如图5所示。

测试方案与测试结果

4.1测试数据完整性

4.2测试结果分析

4.2.1 基础题一的测试结果符合预期,多次测试没有偏离中心。 4.2.2 基础题二的测试结果符合预期,多次测试均能在限定时间内完成打靶并不脱离中点。 4.2.3 发挥题一的测试结果符合预期,在规定时间里能够完成任务并确保偏移量在规定方范围内。 4.2.4 发挥题二的测试结果符合预期,在规定时间里能够完成任务并确保偏移量在规定方范围内。 4.2.5 发挥题三的测试结果符合预期,在规定时间里能够完成任务并能确保同步画圆的误差在1/4(及90deg)内。

×外传记录挖坑×

先留几张图:


TI杯2025年全国大学生电子设计竞赛报告
http://jiangno.com/2025/09/06/25_9_6_ti_competition/
作者
江の
发布于
2025年9月6日
许可协议