待补充
davidmolony/MESC_Firmware
机器人电机驱动板
3/5
🧩 软硬件结合
已发布
项目简介
FOC library for BLDC/PMSM compatible with all STM32 targets with FPU.
MESC_Firmware 是一个专注于嵌入式无刷直流电机(BLDC)磁场定向控制(FOC)的开源固件项目。它的核心目标是让 FOC 控制变得易于学习、易于移植,同时提供高性能的电机控制能力。项目主要运行在带有浮点运算单元(FPU)的 STM32 微控制器上,尤其是 STM32F405RG 系列,兼容市面上大量 VESC 标准的硬件(如 Trampa、SHUL、FSESC 等),并支持通过更换 MCU 核心板来适配不同目标,例如参考硬件 MP2 ESC 可用于高功率电动滑板车和约 10kW 的电动摩托车。
标签
项目特点
**易于学习和移植**:代码结构清晰,文档详细,降低了 FOC 控制的学习门槛,方便开发者快速移植到不同硬件平台。
**高性能 FOC 控制**:充分利用 STM32 的浮点运算单元,实现高效、平滑的磁场定向控制算法。
**广泛的硬件兼容性**:原生支持多种 VESC 标准硬件(如 Trampa、SHUL、FSESC),并支持通过更换 MCU 核心板适配不同目标。
**高功率应用支持**:参考硬件 MP2 ESC 可驱动高功率电动滑板车和约 10kW 的电动摩托车,适合大功率场景。
**开源社区驱动**:基于 GitHub 托管,接受社区贡献,持续迭代优化。
技术规格
| 目标微控制器 | STM32F405RG(带 FPU) |
|---|---|
| 支持的硬件标准 | VESC 标准(Trampa、SHUL、FSESC 等) |
| 控制算法 | 磁场定向控制(FOC) |
| 电机类型 | 无刷直流电机(BLDC) |
| 参考硬件功率 | 最高约 10kW(MP2 ESC) |
| 固件语言 | C |
| 开发平台 | STM32CubeIDE / Keil / Makefile |
| 通信接口 | UART、CAN、USB(取决于硬件) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| STM32F405RG 核心板 | 1 | — | 主控,带 FPU |
| 稳压电路(如 3.3V LDO) | 1 | — | 为 MCU 供电 |
| 三相栅极驱动器(如 DRV8301) | 1 | — | 驱动 MOSFET 桥 |
| N 沟道功率 MOSFET | 6 | — | 三相全桥,具体型号视功率而定 |
| 电流采样电阻 + 运放 | 3 | — | 用于 FOC 电流反馈 |
| USB 转 UART 模块 | 1 | — | 调试与固件烧录 |
| 电机三相输出端子 | 1 | — | 连接 BLDC 电机 |
| 电源输入端子 | 1 | — | 电池或电源输入 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅 FOC 算法文档和 STM32 数据手册,但项目本身文档较全。
**动手与操作**:4/5 — 涉及焊接、接线、硬件调试,需要一定的动手能力。
**编程与算法**:4/5 — 需要理解 C 语言和 FOC 控制算法,但代码结构清晰。
**设计与建模**:2/5 — 主要使用现成硬件,设计工作较少,但可修改硬件参考设计。
**实验与调试**:5/5 — 需要大量调试电机参数、电流环、速度环,依赖示波器和调试器。
**协作与分享**:3/5 — 开源项目,可通过 GitHub 提交 Issue 或 PR 参与。
**学习与研究**:5/5 — 非常适合深入学习 BLDC 和 FOC 控制理论。
**系统集成**:3/5 — 可将固件集成到电动滑板车、机器人等系统中,但需额外适配。
项目图库
所需技能
嵌入式 C 语言编程基础
STM32 微控制器开发经验(使用 STM32CubeIDE 或类似工具)
理解磁场定向控制(FOC)基本原理
熟悉无刷直流电机(BLDC)工作原理
基本电路知识(电源、MOSFET 驱动、电流检测)
使用示波器和逻辑分析仪进行调试
焊接与硬件组装能力
适用场景
电动滑板车、电动自行车、电动摩托车的高功率电机控制
机器人关节电机驱动(如四足机器人、机械臂)
无人机或航模的无刷电机调速
工业自动化中的小型伺服电机控制
教育科研:学习 FOC 算法和嵌入式电机控制
DIY 爱好者自制高性能 ESC(电子调速器)