GUAIK-ORG/CawFOC
机器人电机驱动板, 机器人
3/5
🧩 软硬件结合
已发布
项目简介
基于STM32 HAL库的FOC封装
基于STM32 HAL库的FOC封装
标签
项目特点
基于 STM32 HAL 库,移植方便,兼容主流 STM32 系列芯片
封装了完整的 FOC 算法,包括 Clarke/Park 变换、SVPWM、电流环、速度环、位置环
支持多种电流采样方式:单电阻、双电阻、三电阻
内置简易的串口调试协议,方便实时调参和监控
代码结构清晰,模块化设计,便于二次开发和定制
提供示例工程,上手快,适合学习和工程落地
技术规格
| 支持电机类型 | BLDC / PMSM |
|---|---|
| 控制架构 | 磁场定向控制(FOC) |
| 控制环 | 电流环、速度环、位置环(级联 PID) |
| 坐标变换 | Clarke 变换、Park 变换、逆 Park 变换 |
| 调制方式 | SVPWM(空间矢量脉宽调制) |
| 电流采样方式 | 单电阻 / 双电阻 / 三电阻 |
| 硬件平台 | STM32 系列(F1/F4/F7/H7 等) |
| 底层驱动 | STM32 HAL 库 |
| 通信接口 | UART(串口调试协议) |
| 编码器支持 | 增量式编码器 / 霍尔传感器 |
| 开源协议 | 待确认(仓库未明确标注) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| STM32 开发板(如 STM32F103C8T6) | 1 | — | 推荐 Blue Pill 或类似板 |
| 三相 BLDC 驱动板(如 DRV8301 或类似) | 1 | — | 需支持 3 路 PWM 输入 |
| 低压 BLDC / PMSM 电机 | 1 | — | 建议 12-24V,带霍尔或编码器 |
| 直流稳压电源(12-24V) | 1 | — | 根据电机额定电压选择 |
| 电流采样电阻 / 运放模块 | 1套 | — | 根据采样方式选配 |
| USB 转 TTL 串口模块 | 1 | — | 用于串口调试协议 |
| 杜邦线 / 排针 / 电机线 | 若干 | — | 连接各模块 |
能力画像
**记忆与知识检索**:3/5 — 需要理解 FOC 基本概念和 STM32 HAL 库结构,但封装后降低了记忆负担
**动手与操作**:4/5 — 需要焊接、接线、搭建硬件电路,调试电机和驱动板
**编程与算法**:3/5 — 主要调用封装好的 API,但修改 PID 参数和适配不同电机仍需一定编程能力
**设计与建模**:2/5 — 项目本身不涉及 PCB 设计或机械建模,但可扩展
**实验与调试**:4/5 — 需要反复调参、观察电机响应、使用串口工具分析数据
**协作与分享**:2/5 — 个人项目为主,但代码结构清晰适合团队二次开发
**学习与研究**:4/5 — 非常适合学习 FOC 原理和 STM32 电机控制实践
**系统集成**:3/5 — 可集成到机器人、云台等系统中,但需额外适配
视频
所需技能
基础的 C 语言编程能力
了解 STM32 微控制器及 HAL 库的基本使用
会使用 STM32CubeMX 配置外设
掌握基本的电路连接和焊接技能
了解无刷电机和 FOC 控制的基本原理(加分项)
会使用串口调试工具进行参数调整
适用场景
学习 FOC 磁场定向控制原理与实现
机器人关节电机驱动开发
云台、平衡车、电动滑板等运动控制项目
小型工业伺服驱动器原型验证
高校电子、自动化专业的课程设计与毕业设计
创客空间或实验室的电机控制实验平台