加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1.硬件平台与功能特性
    • 2.软件架构与主要功能
    • 例程开源链接
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

24电赛H题完赛资料开源,思想开源-(2)软件讲解

08/12 16:31
363
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在本文中,我们将详细介绍使用CW32F030C8T6芯片完成的全国电子竞赛H题智能小车项目。该项目旨在通过智能控制技术完成项目功能,以下是项目的完整代码和功能说明。

文章底部 可获取:例程开源链接

1.硬件平台与功能特性

我们选择了CW32F030C8T6芯片作为项目的核心控制单元。该芯片具备强大的处理能力和丰富的外设支持,非常适合于电子竞赛的应用场景。以下是项目中使用到的主要硬件和功能特性:

芯片选择与驱动:CW32F030C8T6芯片,使用标准库驱动。

电机控制PWM控制两路带编码器的电机,实现精确的速度控制。

循迹模块:五路循迹模块,通过BTIM1定时器实时读取传感器信号,实现精准的路径跟踪。

OLED显示:使用IIC通讯的OLED显示基本信息和参数。

角度传感器:通过串口3接收角度传感器数据,实时计算当前角度。

2.软件架构与主要功能

项目的软件部分采用了结构化的编程方式,主要包括底层驱动、外设控制和主程序逻辑。

软件工程图如下:

  • 主程序概述

主程序从上至下依次定义了变量并实现了各项功能模块。以下是主程序的关键点:

任务定义:使用任务1至任务4定义不同的操作流程,以应对竞赛中的各项挑战。

主程序的大循环中,执行任务代码如下:

硬件初始化:初始化各种外设如PWM控制、编码器读取、循迹模块和角度传感器。

任务执行:根据任务要求执行相应的动作,如直线行驶、路径跟踪、角度调整等、PID速度控制、速度计算等。

以下代码为速度计算代码:

更多代码请参考源工程文件。

模式切换:使用按键控制不同模式下的任务执行,确保灵活应对各种竞赛场景。

  • PWM控制与编码器读取

PWM设置:使用高级定时器2B和3B控制两路电机的PWM输出,实现精确的速度调节。

编码器计数:通过GTIM1和GTIM2定时器分别读取两路电机带编码器的脉冲信号,计算速度和行程。

循迹模块实现

循迹控制:使用五路循迹模块检测地面黑线,根据信号判断小车是否偏离路径,并进行实时调整。

以下代码为循迹执行子函数。

  • 角度传感器数据处理

串口通讯:配置串口3接收角度传感器数据,通过中断实时更新当前角度信息,并根据需要进行角度调整。角度主要是使用Z轴信息,实时获时Z轴方向的绝对角度。以下代码为角度获取实现代码。其中RealAngl变量为角度变量,有效范围为0-65535,代表-180度至180度。

例程开源链接

链接:https://pan.baidu.com/s/1PpacwWdcqvmT4xJEspaojw?pwd=6edb

提取码:6edb

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
19002-0001 1 Molex Push-On Terminal, 0.8mm2,

ECAD模型

下载ECAD模型
$0.23 查看
TP-108-02-1-T 1 Components Corporation Interconnection Device, ROHS COMPLIANT
$1.28 查看
CC0805KRX7R9BB104 1 YAGEO Corporation Capacitor, Ceramic, Chip, General Purpose, 0.1uF, 50V, ±10%, X7R, 0805 (2012 mm), 0.053"T, -55º ~ +125ºC, 7" Reel/Paper Tape

ECAD模型

下载ECAD模型
$0.08 查看

相关推荐

电子产业图谱

以开放、共享、互助为理念,致力于构建武汉芯源半导体CW32系列MCU生态社区。无论是嵌入式MCU小自还是想要攻破技术难题的工程师,亦或是需求解决方案的产品经理都可在CW32生态社区汲取营养、共同成长。

B站