一、入门 STM32 单片机
在开始学习之前,先了解 RM 的比赛方式和大致规则,知道为了参加比赛需要做些什么,并简单了解底盘、云台、悬挂、摩擦轮等机器人部分。
- 了解单片机开发流程、常见名词和 STM32 的各类型号。
- 根据教程学习环境配置、编程基础、单片机简单知识,以及原理图和 PCB 设计。
二、熟悉 STM32 开发
在了解单片机、外设、UART、中断、IO、原理图、引脚、编译和调试后,尝试只使用开发板、传感器和通信模块完成简单项目。
- 使用 DHT11 进行温湿度采集。
- 使用单片机内置 DSP 库实现矩阵乘法、求逆等操作。
- 完成矩阵按键及其输入信号处理。
三、原理图、PCB 与焊接
不能一直满足于使用购买的模块和开发板,需要自己设计一块开发板,并在上面运行自己编写的程序。
- 准备焊台、烙铁头、高温棉、焊锡丝、助焊油、镊子、万用表和直流电源。
- 了解贴片与插件、焊盘、过孔、针脚、SMT、钢网等基本名词。
- 具备焊接 0603 电阻电容和小封装芯片的基础能力。
四、控制理论与 PID
对 PID 的理解不能局限在比例加速响应、积分消除累计误差、微分缓解震荡。需要了解 Kp、Ki、Kd 如何整定,学会使用上位软件查看波形,并对串级控制的内环和外环有初步认识。
五、进阶嵌入式开发
学习路径会出现分叉:数字电源与功率拓扑、FPGA、Linux 操作系统与嵌入式、运动控制算法与信号处理。
- 数字电源:MOS 管、三极管、运算放大器、DCDC、逆变器与 PCB 设计。
- FPGA:数字信号处理、雷达信号、网络和 IC 验证。
- Linux 嵌入式:在香橙派、树莓派、Jetson 等平台上运行更复杂的算法。
- 运动控制与信号处理:运动学建模、PID、串级 PID、低通滤波和卡尔曼滤波。
六、七:高级开发与超级电容
进一步学习自动控制原理、现代控制理论、LQR、MPC、物理模型和 C++,并在运行 Linux 的设备上部署算法。超级电容作为相对独立的硬件模块,可参考 GKD 超级电容仓库。
从基础到能交付。
建议按顺序推进,每一阶段都留下代码、板卡、结构或实验记录,方便后续考核和面试时展示。
01 · 电路基础与读图
先补齐电压、电流、功率、模拟和数字信号、保护器件以及常见接口的基础知识。拿到一块现有板卡时,能沿着电源和信号路径读图,知道每个芯片的作用、输入输出范围和可能的故障点。
02 · 原理图与 PCB
学习器件选型、封装核对、布局布线、地平面、去耦和 DRC。建议从一个小型板卡开始,完成原理图、PCB、物料清单和打样检查,并在提交加工前自己复核连接器方向、安装孔和关键网络。
03 · 电源与通信
围绕机器人实际工况理解电池管理、电压转换和功率分配,估算启动、持续运行和堵转时的电流余量。同步掌握 CAN、串口等通信链路的终端、电平和布线要求,知道电源问题为什么会表现成通信或控制故障。
04 · 打样、焊接与调试
从焊接、万用表和示波器开始建立调试流程:上电前检查短路,上电后分级测量,再连接负载。出现故障时记录现象、复现条件和测量值,最后通过负载、振动和长时间运行测试验证修改确实有效。
建议的阶段产出:一张自己画的小型 PCB、完整的原理图和物料清单、上电检查表,以及包含波形和测量数据的故障记录。