站内搜索
更多
GD32实现24年电赛H题
专业版

GD32实现24年电赛H题

简介

使用GD32F103C8T6(完全兼容STM32F103C8T6)完成24年电赛H题,原理图和PCB完全是自己画的,代码中除了部分底层(没必要自己敲)是移植别人的,其余都是自己手敲的。

简介:使用GD32F103C8T6(完全兼容STM32F103C8T6)完成24年电赛H题,原理图和PCB完全是自己画的,代码中除了部分底层(没必要自己敲)是移植别人的,其余都是自己手敲的。
复刻成本:300

开源协议

GPL 3.0

创建时间:2024-11-21 12:02:03更新时间:2024-12-05 11:50:10

描述

项目简介

本项目是为了完成一个课程设计而做的,选题的24年电赛H题。刚开始使用的是STM32F103C8T6,在调试的时候不小心把12V电源和芯片的引脚短路,芯片直接炸了。手头也没有STM32了,就换成GD32F103C8T8了。GD32和STM32相同系列完全兼容,可以直接使用STM32,程序不需要任何更改。其实在我看来这辆小车的性价比一点也不高,成本300多,好在学校完全报销。
先简单说一下物料:

  1. 轮趣科技的四轮两驱小车底盘(带编码电机)------99
  2. 12V锂电池组2200mAh(电量够用)--------------27
  3. 慧净电子的数字量七路灰度循迹---------------68
  4. MPU9250九轴姿态传感器(大材小用)------------45
  5. PCB主控板(自己焊接的)---------------------50
  6. 0.96寸OLED-------------------------------10
  7. 无线串口---用来PID调参(可以不用)

原理图和PCB是是我用AD画的,嘉立创的专用免费券用不了,需要通用免费券,顺便吐槽一下AD画的PCB铺完铜后再隐藏铺铜,打板就没有铺铜,我焊接1个多小时,调试板子半个小时,最后发现没有铺铜,浪费钱有浪费时间。

项目功能

完全实现24年电赛H题,我的代码第4问时间35秒,其实还可以缩短的,但是都懂的,一个课程设计而已。

  1. 速度环PID控制电机实际转速
  2. 角度环PID控制小车前进方向
  3. 循迹没有使用PID,我也是刚开始学习使用PID,当时没有了解到循迹PID,做完题后偶然了解到循迹PID也不爱改了。当然我在别的代码使用过循迹PID可以提供出来。
    吐槽一下PID调参真的麻烦。

原理解析(硬件说明)

主板打样出来和我有一点不一样,新的PCB我把插件电源开关换成了贴片开关了。,还有电解电容的耐压要选25V的,当时没注意到35V和25V的封装大小不一样,我用热风枪吹了好久。

供电

供电可以通过DC插座(5.5-2.1),也可以通过XH插头(2.54)
这是12V转5V的开关电源,芯片SGM61220XTN6G/TR可以直接替换成更便宜的TPS54202DDCR。5V的主要用处有4个:循迹模块、电机驱动芯片、5V转3.3V、无线串口(调试的时候才可能会用)。
image.png

偏航角

我刚开始的时候是使用MPU6050获取偏航角的,但是发现偏航角的零漂有点严重,应该是完成不了题目要求的,要加上磁力计校准,了解磁力计后又发现磁力计QFN封装太小难以手焊。反正有报销,直接换成了MPU9250模块,得亏我一直留有一个IIC的接口。
image.png
image.png

剩下的电机驱动和其他杂项也没什么说的。

软件代码

主循环

int main(void)
{
	Hardware_Initializes(); //和硬件强相关的底层初始化
	Software_Initializes();	//应用层代码初始化,主要是变量。
	
	while(1)                                         
	{
		scheduler_run();//任务轮询,避免一些复杂的逻辑和BUG。
                //还有一个1ms的定时中断,用于计时计数和PID控制
	}
}

其余的代码我用GPT给加上注释,自己啃一下代码。

项目树

QQ截图20241204124237.png

移植代码来源

  1. 有自己的项目树的,但是移植这个MPU9250一直不成功,只好把我的代码移植到别人的项目0的底层来自https://www.bilibili.com/video/BV1TL411Y7h6/?vd_source=5021824f07fc1146ccf82ec7f49acd4f
  2. OLED及其IIC底层来自江科大,我自己也做过更改和删减。
  3. FLASH底层也来自江科大。
  4. 主循环的任务轮询是我借鉴别人的思想
  5. PID和循迹底层来自https://www.bilibili.com/video/BV1A1421671G/?spm_id_from=333.337.search-card.all.click&vd_source=5021824f07fc1146ccf82ec7f49acd4f 当然我也做了一些更改,将标量PID改成了矢量PID。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
SmartCar-V2.0.zip
5
2
SmartCar-V2.zip
3
3
内有循迹PID的代码.zip
4
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航