嵌入式开源FOC库 Embedded-Open-Source-FOC-Library

机器人电机驱动板 5/5 🧩 软硬件结合 已发布
MimHosseini 1 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
嵌入式开源FOC库

项目简介

轻量模块化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驱动。
**工业自动化**:应用于需要精确速度和位置控制的工业伺服驱动器。
**电动汽车**:作为电动汽车电机控制器的核心算法库。