2023年E题:运动目标控制与自动追踪系统详解
随着2025年全国大学生电子设计竞赛器材及元件准备清单的发布,大赛已进入最后的决战准备阶段。
CW32生态社区始终致力于为参赛学子们提供实战支持。
现特将收录于《基于ARM Cortex-M0+的CW32嵌入式开发实战》一书第12章(基于CW32的运动控制系统与自动追踪系统)的原著内容整理发布,供各位参赛同学参考。
需要电路源文件+代码源文件+项目讲解等详细资料,请复制飞书网址,在浏览器打开获取:
https://dwi41yhz703.feishu.cn/docx/A5f1d9jpSoeDm9xG2oYcvEGkn4q?from=from_copylink
或者百度网盘资料链接:
通过网盘分享的文件:2023电赛CW32_开源E题源码.zip
链接:?https://pan.baidu.com/s/1C5FAkXxE-9mP4mT8vbWv_A?pwd=CW32?提取码: CW32
或者CW32生态社区任意QQ群文件均可下载
12.1 ?系统总体设计方案
12.2.1 ?任务概述
根据题目要求,本项目拟设计制作一个运动目标控制与自动追踪系统,该系统包括模拟目标运动的红色光斑位置控制系统和指示自动追踪的绿色光斑位置控制系统。系统结构示意及摆放位置如图12-2所示。两个激光笔固定在各自独立的电控云台上。
图12-1?轨迹屏幕与控制系统位置图
12.2.2 ?总体设计方案与论证
一、系统总体设计
根据题目要求,运动目标控制系统以红色激光笔发射的光斑模拟运动目标,完成对红色光斑的复位、固定轨迹移动及循迹功能。自动追踪系统以绿色激光笔发射的光斑作为追踪效果,完成对运动目标的精准、快速循迹。
因此,根据设计需求分析,在该系统的硬件设计中,可选用一款32位单片机开发板,以舵机或步进电机搭建二维简易云台,采用OpenMV或K210视觉识别模块实现运动目标控制系统及自动追踪系统的搭建。其中32位单片机使用Keil完成软件程序的编写及开发,视频模块使用Python语言编写开发。
方案一:STM32芯片
ST意法半导体公司推出的STM32F103C8T6是一款基于ARM Cortex-M3内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压为2V~3.6V,工作温度为-40°C ~ 85°C。
方案二:CW32芯片
武汉芯源半导体有限公司推出的CW32F030C8T6是一款基于ARM Cortex-M0+内核32位微控制器,集成了主频高达64MHz的、多至64K字节FLASH和多至8K字节SRAM,以及一系列全面的增强型外设和I/O口。CW32F030可以在-40°C到105°C的温度范围内工作,供电电压宽达1.65V~5.5V。
两款芯片都可以满足要求。考虑CW32F030CT86成本较低,且受官方开发者扶持活动的支持,本设计选择CW32芯片作为主控MCU。
具体芯片参数如表12-2所示。
表12-1?CW32F030x6/x8家族产品功能列表硬件参数表
内核 | ARM Cortex-M0+ |
Flash | 64K,数据保持25年 |
SRAM | 8K,支持奇偶校验 |
GPIO | 39个GPIO,分别为PAO-PA15、PBO-PB15、PC13-PC15、PF0、PF1、PF6、PF7 |
Timers |
16位高级控制定时器,支持6路捕获/比较通道和3对互补PWM输出,死区时间和灵活的同步功能 |
四组16位通用定时器 | |
看门狗定时器(独立看门狗IWDG、窗口看门狗WWDG) | |
工作电压 | 2V~3.6V |
工作温度 | -40°C~105C |
通信串口 | 2*IIC,2*SPI,3*USART |
系统时钟 | 4~32MHz晶体振荡器、32kHz低速晶体振荡器、内置48MHzRC振荡器、内置32kHzRC振荡器、内置10kHzRC振荡器、内置150kHzRC振荡器、时钟监测系统、允许独立关断各外设时钟 |
三、电机选型
根据设计要求,本项目需要使用电机搭载激光笔,通过对电机角度的控制完成对运动目标的控制及追踪。电机选型方案如下。
方案一:步进电机云台
步进电机是一种定位精确的电机,主要由脉冲信号进行控制,使其每次转动一个固定的角度,其精度可高达1°及以上。步进电机在云台控制中常用于控制相对精确的位置,比如摄像机的方向变化。
方案二:舵机云台
舵机云台是一种装载了电子舵机、陀螺仪等控制元件并能够接受遥控信号的云台设备。通过云台内部的电子舵机进行控制,可以精确控制相机、传感器等负载物在三个维度上的角度。
综上所述,基于任务及成本要求,舵机云台成本更低,也符合本项目需求。因此,本设计采用两个MG995舵机搭建的二维云台,其详细参数如表12-3所示。
表12-2?MG995舵机硬件参数表
产品名称 | MG995舵机 |
产品重量 | 55g |
转动速度 | 53-62r/m |
工作扭矩 | 13kg/cm |
使用温度 | -30℃~+55℃ |
死区设定 | 4微秒 |
转动角度 | 180度/360度 |
使用电压 | 3-7.2V |
工作电流 | 100mA |
四、视觉模块选型
根据任务要求,需要对屏幕边线、黑色矩形边框进行识别,一般市面上广泛采用OpenMV和K210作为视觉识别模块。视觉模块方案如下。
方案一:OpenMV4H7Plus
OpenMV是一个开源,低成本,功能强大的机器视觉模块。该模块以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口,可以用Python语言使用OpenMV提供的机器视觉功能。
方案二:K210
K210是基于RISC-V精简指令集的一款MCU,在众多特色中,芯片架构包含了一个自研的神经网络硬件加速器KPU属于最大特色,可以高性能地进行卷积神经网络运算。在MCU的AI计算方面,K210芯片的算力非常给力,根据嘉楠官网的描述,K210的KPU算力能够达到0.8TFLOPS。
根据本任务需求,运动目标在30s内完成沿A4纸边线运动即可,对运动速度无较高要求。考虑到成本及设计技术等方面,该运动控制系统采用OpenMV作为视觉识别模块,具体详细参数如表12-4所示。
表12-3?OpenMV硬件参数表
处理器 | ARM 32bit Cortex-M7 CPUw/Double Precision FPU480 MHz (1027 DMIPS) |
RAM布局 | 256KB.DATA/.BSS/Heap/Stack32MB Frame Buffer/Stack
256KB DMA Buffers |
FIash布局 | 128KB Boot Loader
16MB Embedded Flash Drive1 792KB Firmware |
图像格式 | Grayscale、RGB565、JPEG(and BAYER) |
工作电压 | 3.3V |
工作温度 | -20°C~70°C |
五、总体方案确定
运动控制系统由openMV-1对一支红色激光笔射出的光斑进行定参,反馈数据坐标进入MCU,再根据题目需求对MG995云台-1进行运动控制,从而带动红色激光笔运动。自动控制系统由openMV-2进行识别红色激光笔射出的光斑,并反馈数据坐标进入另一块MCU,然后对MG995云台-2进行运动控制,从而带动绿色激光笔,使绿色光斑追踪到红色光斑,追踪到后发出光电提示。
系统组成框图,如图12-3所示。系统控制流程图如图12-4所示。
图12-2?控制系统框图
图12-3?系统控制流程图
本方案已完成任务基本要求及发挥部分,该运动目标控制系统能够较为精准、快速地实现运动目标(红色光斑)的复位、轨迹移动以及循迹功能。自动追踪系统可以实现在在任意位置、要求时间内实现对红色光斑的精准追踪及提示。
代码及更详细的文字描述请到飞书查看:
2023年电赛E题 国奖 开源分享(题目更详细内容看这里)
需要电路源文件+代码源文件+项目讲解等详细资料,请复制飞书网址,在浏览器打开获取:
https://dwi41yhz703.feishu.cn/docx/A5f1d9jpSoeDm9xG2oYcvEGkn4q?from=from_copylink
或者百度网盘资料链接:
通过网盘分享的文件:2023电赛CW32_开源E题源码.zip
链接:?https://pan.baidu.com/s/1C5FAkXxE-9mP4mT8vbWv_A?pwd=CW32?提取码: CW32
或者CW32生态社区任意QQ群文件均可下载