Open source brushless motor driver board firmware project ported to Linux, based on Clion
stm32-foc-raw
机器人电机驱动板
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
开源无刷电机驱动板固件项目移植到Linux,基于Clion。
Open source brushless motor driver board firmware project ported to Linux, based on Clion
项目特点
基于STM32的FOC无刷电机驱动固件,支持磁场定向控制算法
项目已移植到Linux环境,摆脱Windows IDE依赖
使用CLion作为主要开发工具,享受现代化IDE的代码补全、调试和版本控制功能
代码结构清晰,适合学习和二次开发
开源免费,所有源码和配置均在GitHub上公开
技术规格
| 主控芯片 | |
|---|---|
| 控制算法 | |
| 电机类型 | |
| 开发环境 | |
| 编程语言 | |
| 构建系统 | |
| 调试接口 | |
| 开源协议 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| STM32开发板(如Nucleo或自定义板) | 1 | — | 需支持FOC所需外设 |
| 无刷直流电机(BLDC) | 1 | — | 建议带霍尔或编码器 |
| 三相MOSFET驱动板 | 1 | — | 需与STM32引脚兼容 |
| 直流电源(12V-48V) | 1 | — | 根据电机额定电压选择 |
| ST-Link / J-Link | 1 | — | 用于烧录和调试 |
| 杜邦线/排线 | 若干 | — | 连接各模块 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| CLion | 代码编辑、编译、调试 | ✅ 是 |
| CMake | 构建系统 | ✅ 是 |
| ARM GCC工具链 | 交叉编译STM32固件 | ✅ 是 |
| OpenOCD | 烧录和调试(通过SWD) | ✅ 是 |
| STM32CubeMX | 生成外设初始化代码 | ▢ 推荐 |
| Git | 版本控制 | ▢ 推荐 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅STM32手册和FOC算法资料,但项目本身代码量不大
**动手与操作**:4/5 — 需要连接硬件、焊接或接线、调试电机驱动板
**编程与算法**:4/5 — 涉及C语言、FOC控制算法、PWM和ADC配置
**设计与建模**:2/5 — 不需要设计PCB或机械结构,但需理解电机控制模型
**实验与调试**:5/5 — 核心环节,需要反复调试电流环、速度环参数
**协作与分享**:2/5 — 单人项目,暂无社区协作机制
**学习与研究**:5/5 — 非常适合深入学习FOC和STM32底层驱动
**系统集成**:3/5 — 需要将固件、驱动板、电机和电源整合成完整系统
所需技能
C语言编程基础
STM32微控制器开发经验(GPIO、定时器、ADC、PWM)
理解FOC(磁场定向控制)基本原理
熟悉Linux命令行和CLion IDE
能够使用示波器或逻辑分析仪调试电机波形
基本的电路连接和焊接能力
适用场景
学习无刷电机FOC控制算法的入门项目
从Windows IDE迁移到Linux开发环境的过渡练习
机器人、无人机、电动工具等需要电机驱动的DIY项目
高校嵌入式或电机控制课程的教学案例
想要定制电机驱动固件但不想被商业IDE绑定的开发者