← Back
LEARNING PATH / HARDWARE

Hardware learning path

Hardware deals with the whole power and signal chain: main controller, drivers, motors, battery, sensors and communication interfaces all have to work reliably on the same robot. Start from requirements, components and operating conditions — a schematic that merely passes a check is not enough.

Source Compiled by GKD's hardware group from two internal documents: GKD Hardware Group Introduction (the group's work and required skills) and Tutorial Study (recommended tutorials). "4. Learning route" and "5. Suggested deliverables per stage" come from the group's original learning repository. Original files: GKD Hardware Group Introduction (PDF) and Tutorial Study (DOCX) · Repository: GKD-RM-Lab/GKD_HardwareLearning ↗

一、硬件组的工作

对于 RoboMaster 机甲大师,硬件组主要负责所有机器人电气走线安排与管理、协调整车结构、分电板设计、超级电容开发、USB_TO_CAN && IMU && 集线器设计。

1.1 机器人电气走线安排与管理

负责全车电气系统的布线设计,包括底盘供电、CAN 通信网络、裁判系统等关键线路。具体包括:将 24V 主电源通过滑环从底盘引至云台,合理分配功率电至各电机与计算单元;规划底盘与云台之间的 CAN 总线拓扑结构,确保通信稳定性;完成裁判系统相关传感器与主控之间的信号连接。所有走线均需兼顾电磁兼容性、机械运动空间与后期维护便利性,实现整洁、可靠、抗干扰的布线布局。

1.2 协调整车结构

在机械组进行整车结构设计过程中,硬件组全程参与协作。我们根据电气布局需求,提出走线通道、元器件安装位置、接口布局等建议,并反馈可能影响布线或电气性能的结构问题。在整车装配阶段,硬件组负责确认电气与机械的配合精度,确保线缆不受挤压、弯折半径合理,提升整体集成度与可靠性。

1.3 分电板设计

由于机器人内部有许多电源线和信号线接口,我们需要设计一块电路板将电源线和信号线上挂载的设备联系起来,这块电路板就叫分电板。

图 1 步兵英雄通用分电板

1.4 USB_TO_CAN && IMU && 集线器设计

由于所有电机的主控——电脑用的是 USB 接口,电机的通讯接口是 CAN 总线,两者用的通信协议不同。故我们需要 “USB_TO_CAN” 设备,将一种协议变成另一种协议,以便电脑理解和控制。IMU(惯性测量单元)是一种用于测量物体运动状态的微型传感器,通常由三轴加速度计和三轴陀螺仪组成,它可以为电脑实时提供云台当前的角度位置,以供电脑完成闭环控制。集线器需要汇集整理 CAN 线和 24V 电源线。此块电路板需要集成上面说的三种功能。

图 2 USB_TO_CAN && IMU && 集线器

1.5 超级电容开发

在 RM 比赛当中,每个机器人会有一定的功率上限,如果超过功率上限就会扣除机器人的血量。因此在设计机器人时我们需要一个超级电容模块管理功率,做到在整车低功率时,储存电源流出来的多余的电能,在需要高功率的场景下,把之前储存的电能释放出来。

图 3 超级电容器模块(上下板)
图 4 超级电容器模块(整体)

二、需要掌握的技能

2.1 基础要求

  1. 掌握 C 语言。至少知道变量、函数、结构体这些基本概念,能看懂简单的代码。
  2. 熟悉 STM32 平台开发,能使用 STM32CubeMX 配置外设,掌握 HAL 库进行 GPIO、UART、CAN、I2C、SPI、ADC 等常用外设开发。
  3. 掌握各种电子元件(电容电阻不说了,三极管、MOS 管、运算放大器的使用)。
  4. 熟悉各种经典电路,比如滤波电路、运算放大器电路等等,并了解它们在信号处理当中的作用。
  5. 嘉立创 EDA 绘制 PCB(学会绘制原理图和 PCB,并掌握一定的布局布线技巧)。
  6. 熟练掌握焊接技术。能焊接电线,电路板贴片和片上飞线。

2.2 进阶

  1. 关于数控开关电源基础知识。
  2. 电源拓扑结构:Buck / Boost / Buck-Boost。
  3. 功率器件使用:MOS 管,栅极驱动,栅极电阻,死区控制。
  4. 能用示波器、万用表等工具查电路故障。
  5. 进阶 PCB 设计……

三、推荐教程

在此推荐一些硬件组相关教程,也可以在网上自行搜索教程进行学习。

3.1 学习 HAL 库开发

  • [STM32 HAL 库] 课程介绍,最佳教程,没有之一 —— b23.tv/4K7FhqY
  • 【小蜜蜂笔记】基于 STM32CubeMX 的嵌入式开发基础教程 —— bilibili

3.2 学习外设原理

  • 【STM32 入门教程 - 2023 版 细致讲解 中文字幕】 —— b23.tv/dur3hUb

3.3 学习用嘉立创绘制原理图和 PCB

  • 【教程】零基础入门 PCB 设计 - 国一学长带你学嘉立创 EDA 专业版 全程保姆级教学(大师篇已更新)—— b23.tv/mmfdRJC
  • 【教程】大师篇 - 零基础入门 PCB 设计 - 国一学长带你学嘉立创 EDA 专业版(已完结)—— b23.tv/krnfsWH

四、学习路线

硬件组的学习大致按下面的顺序推进:先把单片机用起来,再逐步过渡到自己画板、自己焊、自己调,最后进入电源、嵌入式系统这些更专门的方向。

4.1 入门 STM32 单片机

在开始学习之前,先了解 RM 的比赛方式和大致规则,知道为了参加比赛需要做些什么,并简单了解底盘、云台、悬挂、摩擦轮等机器人部分。

  • 了解单片机开发流程、常见名词和 STM32 的各类型号。
  • 根据教程学习环境配置、编程基础、单片机简单知识,以及原理图和 PCB 设计。

4.2 熟悉 STM32 开发

在了解单片机、外设、UART、中断、IO、原理图、引脚、编译和调试后,尝试只使用开发板、传感器和通信模块完成简单项目。

  • 使用 DHT11 进行温湿度采集。
  • 使用单片机内置 DSP 库实现矩阵乘法、求逆等操作。
  • 完成矩阵按键及其输入信号处理。

4.3 原理图、PCB 与焊接

不能一直满足于使用购买的模块和开发板,需要自己设计一块开发板,并在上面运行自己编写的程序。

  • 准备焊台、烙铁头、高温棉、焊锡丝、助焊油、镊子、万用表和直流电源。
  • 了解贴片与插件、焊盘、过孔、针脚、SMT、钢网等基本名词。
  • 具备焊接 0603 电阻电容和小封装芯片的基础能力。

4.4 控制理论与 PID

对 PID 的理解不能局限在比例加速响应、积分消除累计误差、微分缓解震荡。需要了解 Kp、Ki、Kd 如何整定,学会使用上位软件查看波形,并对串级控制的内环和外环有初步认识。

4.5 进阶嵌入式开发

学习路径会出现分叉:数字电源与功率拓扑、FPGA、Linux 操作系统与嵌入式、运动控制算法与信号处理。

  • 数字电源:MOS 管、三极管、运算放大器、DCDC、逆变器与 PCB 设计。
  • FPGA:数字信号处理、雷达信号、网络和 IC 验证。
  • Linux 嵌入式:在香橙派、树莓派、Jetson 等平台上运行更复杂的算法。
  • 运动控制与信号处理:运动学建模、PID、串级 PID、低通滤波和卡尔曼滤波。

4.6 高级开发与超级电容

进一步学习自动控制原理、现代控制理论、LQR、MPC、物理模型和 C++,并在运行 Linux 的设备上部署算法。超级电容作为相对独立的硬件模块,可参考 GKD 超级电容仓库。

五、各阶段的产出建议

建议按顺序推进,每一阶段都留下板卡、实验记录或测量数据,方便后续考核和面试时展示。

5.1 电路基础与读图

先补齐电压、电流、功率、模拟和数字信号、保护器件以及常见接口的基础知识。拿到一块现有板卡时,能沿着电源和信号路径读图,知道每个芯片的作用、输入输出范围和可能的故障点。

5.2 原理图与 PCB

学习器件选型、封装核对、布局布线、地平面、去耦和 DRC。建议从一个小型板卡开始,完成原理图、PCB、物料清单和打样检查,并在提交加工前自己复核连接器方向、安装孔和关键网络。

5.3 电源与通信

围绕机器人实际工况理解电池管理、电压转换和功率分配,估算启动、持续运行和堵转时的电流余量。同步掌握 CAN、串口等通信链路的终端、电平和布线要求,知道电源问题为什么会表现成通信或控制故障。

5.4 打样、焊接与调试

从焊接、万用表和示波器开始建立调试流程:上电前检查短路,上电后分级测量,再连接负载。出现故障时记录现象、复现条件和测量值,最后通过负载、振动和长时间运行测试验证修改确实有效。