嵌入式开源FOC库
Embedded-Open-Source-FOC-Library
机器人电机驱动板
5/5
🧩 软硬件结合
已发布
项目简介
轻量模块化C库,用于PMSM/BLDC电机FOC控制,含Clarke/Park变换。
一个轻量级、模块化的C语言库,用于永磁同步电机和无刷直流电机的磁场定向控制。包含Clarke/Park变换、PI控制器、空间矢量调制和用于无传感器应用的滑模观测器。
标签
项目特点
**核心数学变换**:包含优化的Clarke变换、Park变换以及用于电压合成的逆Park变换。
**控制与调制**:提供带抗饱和(钳位法)功能的PID/PI控制器和空间矢量调制(SVM)算法。
**无传感器估计**:集成了滑模观测器(SMO),用于无传感器应用中的转子位置和速度估算。
**硬件无关性**:使用标准C语言编写,易于移植到STM32、ESP32或TI C2000等不同平台。
**数学优化**:使用`float`类型,并针对ARM CMSIS-DSP兼容环境进行优化,在保证高数值精度的同时优先考虑执行速度。
技术规格
| 目标电机 | 永磁同步电机(PMSM)、无刷直流电机(BLDC) |
|---|---|
| 控制算法 | 磁场定向控制(FOC) |
| 核心变换 | Clarke变换、Park变换、逆Park变换 |
| 控制器 | PID/PI控制器(带抗饱和功能) |
| 调制方式 | 空间矢量调制(SVM) |
| 无传感器算法 | 滑模观测器(SMO) |
| 编程语言 | 标准C语言 |
| 推荐硬件 | 带浮点运算单元(FPU)的微控制器 |
| 许可证 | MIT |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 嵌入式FOC库源代码 | 1 | — | 包含`foc.c`, `foc.h`, `main.c` |
| 带FPU的微控制器(如STM32) | 1 | — | 强烈推荐 |
| PMSM或BLDC电机 | 1 | — | 目标控制对象 |
| 电机驱动器 | 1 | — | 用于驱动电机 |
| 电流/电压采样电路 | 1 | — | 用于反馈控制 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 5/5
🔵 动手与操作: 3/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 2/5
所需技能
🔧 **动手能力**:需要能够搭建和连接电机驱动电路,使用示波器等调试工具。
💻 **编程能力**:需要精通C语言,熟悉嵌入式系统开发流程(如STM32 HAL库),并能理解FOC算法在代码中的实现。
⚡ **电子电路**:需要理解电机驱动原理(如三相逆变桥)、电流采样电路和PWM调制技术。
适用场景
**机器人关节控制**:为机器人关节提供高精度、高效率的伺服控制。
**电动工具**:用于开发无刷电机驱动的电动工具,如电钻、电锯等。
**无人机/航模**:为无人机和航模的无刷电机提供高效的FOC驱动。
**工业自动化**:应用于需要精确速度和位置控制的工业伺服驱动器。
**电动汽车**:作为电动汽车电机控制器的核心算法库。