机器人大赛/第二十二届/人民当家作组/雪饼-电控升级计划:修订间差异
更多语言
更多操作
初稿 |
ContentBot2(留言 | 贡献) ContentBot: 优化排版(标题层级、Note/Warning模板、wikitext表格) |
||
| 第1行: | 第1行: | ||
校机器人大赛的电控有两条技术路径 | 校机器人大赛的电控有两条技术路径:一条是使用 Arduino 开发,另一条是使用 STM32。STM32 性能更强、外设更丰富,但上手难度也更大——接下来的内容会帮你理解这两条路分别意味着什么。 | ||
== 写在前面 == | |||
{{Warning|接下来的内容,统统不是校赛必需品。}} | |||
{{Note|本届校赛冠军用 Arduino + 杜邦线拿下第一。所以以下所有内容——PCB 绘制、STM32 开发、各种 IDE——都只是可选技术栈,不是通关密码。如果你时间紧张,关掉页面去调电机;如果你好奇"这些东西到底是干什么的",或者想为以后比赛做准备,那就往下看。}} | |||
== PCB:本质上是"高级杜邦线" == | |||
PCB(印刷电路板),说穿了就是把杜邦线"固化"在一块板子上。 | PCB(印刷电路板),说穿了就是把杜邦线"固化"在一块板子上。 | ||
* '''杜邦线的痛点''':松松垮垮,碰一下就接触不良;线一多像盘丝洞,查线查到眼瞎。 | |||
* '''PCB 解决了什么''':把电路图变成一块硬板,焊接好之后所有连接都是固定的,不会因为震动而松脱,检修时只需要查焊点而非整把线。 | |||
{{Note|校赛定位:非必须。如果你想接线整洁、减少赛场上的接触不良,可以画;但如果时间只剩一周,请放弃 PCB,用杜邦线直插,把时间留给调车。}} | |||
=== 用什么软件画?——嘉立创EDA === | |||
国内大一生最容易上手的 PCB 设计软件,没有之一: | |||
* 全中文界面,不用啃英文菜单 | |||
* 云端存储,图书馆电脑没装软件?浏览器登录直接干活 | |||
* 元件库丰富:搜 L298N、AMS1117、Type-C 接口,直接拖出来用,不用自己画封装 | |||
* 直接联动立创商城:画完板子,一键生成物料清单,在立创商城下单采购元件 | |||
=== 补充资源:立创商城 === | |||
补充 | |||
国内最大的电子元器件现货平台,芯片、电阻电容、接插件、模块,基本都能买到。校赛常用的元器件在这里搜型号直接加购,不用去淘宝大海捞针,关键是数据手册(datasheet)页面直接附赠下载,对新手极其友好。 | 国内最大的电子元器件现货平台,芯片、电阻电容、接插件、模块,基本都能买到。校赛常用的元器件在这里搜型号直接加购,不用去淘宝大海捞针,关键是数据手册(datasheet)页面直接附赠下载,对新手极其友好。 | ||
== STM32:两条技术路径,入门推荐 HAL 库 == | |||
STM32是意法半导体推出 | STM32 是意法半导体推出的 32 位单片机,性能比 Arduino 强一个量级——主频更高、外设更丰富,但上手难度也明显更大。 | ||
{{Warning|校赛定位:除非你有两周以上的提前量,否则不建议在校赛阶段碰 STM32。我们队决赛前一周想换 STM32,结果没赶上,血的教训。}} | |||
路径一(推荐入门):HAL库 + CubeMX + Keil5 | === 路径一(推荐入门):HAL库 + CubeMX + Keil5 === | ||
为什么推荐这条路径? | 为什么推荐这条路径?因为 HAL 库把底层寄存器操作都封装成了函数,你不需要一上来就纠结时钟树怎么配、寄存器怎么改,先把业务逻辑跑通再说。对于大一新生,这种"先看到成果"的正反馈非常重要。 | ||
'''工作流程:''' | |||
# '''STM32CubeMX''':图形化配置工具,点鼠标选引脚、配时钟、设外设,自动生成初始化代码 | |||
# '''Keil5(MDK)''':CubeMX 生成 Keil 工程文件后,用 Keil 打开,在里面写业务逻辑(比如电机控制、通信协议),最后在 Keil 里编译、烧录、调试 | |||
两者配合使用:CubeMX 负责"搭架子",Keil5 负责"填内容"。 | |||
两 | 入门门槛:需要熟悉两套软件的操作,但 CubeMX 的图形化界面大大降低了配置难度,网上 HAL 库教程也最多,遇到问题好搜答案。 | ||
=== 路径二(进阶):标准库 + Keil5 === | |||
标准库是 ST 早期推出的固件库,特点是偏底层,需要直接操作寄存器。学完之后你对单片机的理解会更透彻——因为你知道每一行代码背后在改什么硬件状态。 | |||
代价是:要学的东西多得多。需要手动建工程、配启动文件、查寄存器手册,一个 GPIO 点灯可能就要折腾半天。 | |||
{{Note|不推荐大一新手从这条路起步。如果以后想补这块,B 站"江科大 STM32"教程是经典入门课程。}} | |||
需要的软件:只装一个 Keil5 就够了,不需要 CubeMX。新建工程时手动添加启动文件、标准库源文件,并配置头文件路径和预处理器宏(如 USE_STDPERIPH_DRIVER),以及指定芯片型号和烧录工具(如 ST-Link)。 | |||
=== HAL库 vs 标准库:怎么选? === | |||
标准库 | {| class="wikitable" | ||
! !! HAL库(推荐入门) !! 标准库(进阶) | |||
|- | |||
| 上手速度 || 快,CubeMX 帮你配好底层 || 慢,每步都要自己搭 | |||
|- | |||
| 学习内容 || 学调用 API 和业务逻辑 || 学寄存器、时钟树、启动文件 | |||
|- | |||
| 对硬件的理解 || 较浅,API 封装了细节 || 深入,知道每行代码在操作什么 | |||
|- | |||
| 学习动力 || 快速看到灯闪、电机转,正反馈强 || 前期挫折感强,容易劝退 | |||
|- | |||
| IDE 组合 || CubeMX(配置)+ Keil5(编译烧录) || Keil5 单件搞定 | |||
|- | |||
| 适合人群 || 大一新生、校赛选手、想快速出活 || 想深入底层、为后续比赛/工作打基础 | |||
|} | |||
HAL库 | 我的建议:先用 HAL 库把车跑起来,获得成就感之后,如果还有余力,再回头补标准库的知识。先会开车,再学修车,顺序很重要。 | ||
== 总结:校赛电控选型决策树 == | |||
学 | <pre> | ||
时间只剩 1-2 周? | |||
→ 是 → 选 Arduino + 杜邦线,跑起来最重要,别想别的 | |||
→ 否(还有 1 个月+)→ 可以尝试: | |||
├── 想学硬件设计 → 嘉立创 EDA 画 PCB,立创商城买元件 | |||
└── 想学嵌入式底层 → STM32 | |||
├── 推荐入门:HAL库 + CubeMX 配置 + Keil5 编译烧录 | |||
└── 进阶:标准库 + Keil5(搭配江科大教程) | |||
注意:两者同时搞 ≈ 双倍风险,建议二选一 | |||
</pre> | |||
--- | |||
{{Warning|'''核心就一句:冠军用杜邦线 + Arduino 拿了第一,所以别被技术栈绑架,跑起来比跑得高级重要一万倍。'''}} | |||
[[Category:作品]] | |||
2026年7月21日 (二) 17:50的最新版本
校机器人大赛的电控有两条技术路径:一条是使用 Arduino 开发,另一条是使用 STM32。STM32 性能更强、外设更丰富,但上手难度也更大——接下来的内容会帮你理解这两条路分别意味着什么。
PCB(印刷电路板),说穿了就是把杜邦线"固化"在一块板子上。
- 杜邦线的痛点:松松垮垮,碰一下就接触不良;线一多像盘丝洞,查线查到眼瞎。
- PCB 解决了什么:把电路图变成一块硬板,焊接好之后所有连接都是固定的,不会因为震动而松脱,检修时只需要查焊点而非整把线。
国内大一生最容易上手的 PCB 设计软件,没有之一:
- 全中文界面,不用啃英文菜单
- 云端存储,图书馆电脑没装软件?浏览器登录直接干活
- 元件库丰富:搜 L298N、AMS1117、Type-C 接口,直接拖出来用,不用自己画封装
- 直接联动立创商城:画完板子,一键生成物料清单,在立创商城下单采购元件
国内最大的电子元器件现货平台,芯片、电阻电容、接插件、模块,基本都能买到。校赛常用的元器件在这里搜型号直接加购,不用去淘宝大海捞针,关键是数据手册(datasheet)页面直接附赠下载,对新手极其友好。
STM32 是意法半导体推出的 32 位单片机,性能比 Arduino 强一个量级——主频更高、外设更丰富,但上手难度也明显更大。
为什么推荐这条路径?因为 HAL 库把底层寄存器操作都封装成了函数,你不需要一上来就纠结时钟树怎么配、寄存器怎么改,先把业务逻辑跑通再说。对于大一新生,这种"先看到成果"的正反馈非常重要。
工作流程:
- STM32CubeMX:图形化配置工具,点鼠标选引脚、配时钟、设外设,自动生成初始化代码
- Keil5(MDK):CubeMX 生成 Keil 工程文件后,用 Keil 打开,在里面写业务逻辑(比如电机控制、通信协议),最后在 Keil 里编译、烧录、调试
两者配合使用:CubeMX 负责"搭架子",Keil5 负责"填内容"。
入门门槛:需要熟悉两套软件的操作,但 CubeMX 的图形化界面大大降低了配置难度,网上 HAL 库教程也最多,遇到问题好搜答案。
标准库是 ST 早期推出的固件库,特点是偏底层,需要直接操作寄存器。学完之后你对单片机的理解会更透彻——因为你知道每一行代码背后在改什么硬件状态。
代价是:要学的东西多得多。需要手动建工程、配启动文件、查寄存器手册,一个 GPIO 点灯可能就要折腾半天。
需要的软件:只装一个 Keil5 就够了,不需要 CubeMX。新建工程时手动添加启动文件、标准库源文件,并配置头文件路径和预处理器宏(如 USE_STDPERIPH_DRIVER),以及指定芯片型号和烧录工具(如 ST-Link)。
| HAL库(推荐入门) | 标准库(进阶) | |
|---|---|---|
| 上手速度 | 快,CubeMX 帮你配好底层 | 慢,每步都要自己搭 |
| 学习内容 | 学调用 API 和业务逻辑 | 学寄存器、时钟树、启动文件 |
| 对硬件的理解 | 较浅,API 封装了细节 | 深入,知道每行代码在操作什么 |
| 学习动力 | 快速看到灯闪、电机转,正反馈强 | 前期挫折感强,容易劝退 |
| IDE 组合 | CubeMX(配置)+ Keil5(编译烧录) | Keil5 单件搞定 |
| 适合人群 | 大一新生、校赛选手、想快速出活 | 想深入底层、为后续比赛/工作打基础 |
我的建议:先用 HAL 库把车跑起来,获得成就感之后,如果还有余力,再回头补标准库的知识。先会开车,再学修车,顺序很重要。
时间只剩 1-2 周?
→ 是 → 选 Arduino + 杜邦线,跑起来最重要,别想别的
→ 否(还有 1 个月+)→ 可以尝试:
├── 想学硬件设计 → 嘉立创 EDA 画 PCB,立创商城买元件
└── 想学嵌入式底层 → STM32
├── 推荐入门:HAL库 + CubeMX 配置 + Keil5 编译烧录
└── 进阶:标准库 + Keil5(搭配江科大教程)
注意:两者同时搞 ≈ 双倍风险,建议二选一
---