嵌入式开源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兼容环境进行优化,在保证高数值精度的同时优先考虑执行速度。
技术规格
| 目标电机 | |
|---|---|
| 控制算法 | |
| 核心变换 | |
| 控制器 | |
| 调制方式 | |
| 无传感器算法 | |
| 编程语言 | |
| 推荐硬件 | |
| 许可证 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 嵌入式FOC库源代码 | 1 | — | 包含`foc.c`, `foc.h`, `main.c` |
| 带FPU的微控制器(如STM32) | 1 | — | 强烈推荐 |
| PMSM或BLDC电机 | 1 | — | 目标控制对象 |
| 电机驱动器 | 1 | — | 用于驱动电机 |
| 电流/电压采样电路 | 1 | — | 用于反馈控制 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 嵌入式开发IDE(如STM32CubeIDE, Keil) | 编写、编译和调试代码 | ✅ 是 |
| 示波器 | 调试PWM信号和电机电流波形 | ▢ 推荐 |
| 逻辑分析仪 | 分析控制时序和通信协议 | ▢ 推荐 |
| 电源 | 为MCU和电机驱动板供电 | ✅ 是 |
能力画像
记忆与知识检索
2/5
逻辑推演
4/5
表达与交流
1/5
感知与观察
1/5
数理与计算
5/5
动手与操作
3/5
狂热与坚持
3/5
创造与创新
2/5
所需技能
🔧 **动手能力**:需要能够搭建和连接电机驱动电路,使用示波器等调试工具。
💻 **编程能力**:需要精通C语言,熟悉嵌入式系统开发流程(如STM32 HAL库),并能理解FOC算法在代码中的实现。
⚡ **电子电路**:需要理解电机驱动原理(如三相逆变桥)、电流采样电路和PWM调制技术。
适用场景
**机器人关节控制**:为机器人关节提供高精度、高效率的伺服控制。
**电动工具**:用于开发无刷电机驱动的电动工具,如电钻、电锯等。
**无人机/航模**:为无人机和航模的无刷电机提供高效的FOC驱动。
**工业自动化**:应用于需要精确速度和位置控制的工业伺服驱动器。
**电动汽车**:作为电动汽车电机控制器的核心算法库。