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

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

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

08/12 16:31
780
阅读需 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模型 风险等级 参考价格 更多信息
12045773 1 Delphi Automotive LLP Wire Terminal, 1mm2
$0.25 查看
RC0603FR-0710KL 1 YAGEO Corporation Fixed Resistor, Metal Glaze/thick Film, 0.1W, 10000ohm, 75V, 1% +/-Tol, 100ppm/Cel, Surface Mount, 0603, CHIP

ECAD模型

下载ECAD模型
$0.02 查看
NDT3055L 1 Fairchild Semiconductor Corporation Power Field-Effect Transistor, 4A I(D), 60V, 0.1ohm, 1-Element, N-Channel, Silicon, Metal-oxide Semiconductor FET
$1.34 查看

相关推荐

电子产业图谱

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

B站