Skip to content

如何做一个平衡小车?

简介

这是一个基于STM32的平衡小车学习教程,适用于从未接触过嵌入式的同学。

STM32是意法半导体(STMicroelectronics)公司推出的一系列32位微控制器(MCU),可以毫无疑问称为嵌入式领域最经典的MCU之一。与此同时,b站有两门公认优秀的STM32教程,分别来自于keysKing江协科技,于是乎学习STM32开发板成为了无数EE人的第一堂课。

  • 难度:⭐⭐

  • 先修基础:无

学习路径

C语言

学习目标是学会使用C的语法,至少能看懂指针。

教程:

练习:

STM32

能够驱动单片机基础外设,完成从撰写代码、烧录、实板验证的完整流程。

教程:

视频教程都深入浅出。两个教程的主要不同在于:

  • 江科大的教程使用Keil作IDE基于标准库开发,但在实际开发中通常使用STMCubeMX和更加抽象的Hal库,所以学习江科大的教程还需要另外学习CubeMX和Hal库的使用,同时学习过程中会涉及更多底层原理,看懂可能需要一些电路基础。

  • keysking的教程使用CubeMX和Hal库开发,底层原理(尤其是电路方面)会更少侧重,并且使用的开发板为学习板而非最小系统板,个人认为可以一步到位,没必要使用学习板作为过渡。

个人学习顺序是先学完江协科技再过一遍keysking。

微积分

在电机控制部分,需要理解PID原理。

平衡小车

教程:

基于HAL库和cubemx方式开发,手把手教你做一辆STM32平衡小车,成本两百左右,主打就是一个讲解细致,草履虫都能学会,非常适合刚刚入坑的电子小白,以及大一大二的电子类专业的大学生。(搬运自作者简介)

对工科专业要尤其避免“为了学习的学习”,只有上手做项目才能将所学的知识融汇贯通。

下一步去哪?

  • FreeRTOS - 为单片机增加实时操作系统

  • 树莓派 - 或许你想试试嵌入式Linux

  • 数据结构 - 更好的组织代码

  • 绘制PCB - 设计你的电路板

  • 复刻更多开源项目? - 去看看GitHub、OSHWHub

参考文献