SimpleFOC 库

Arduino-FOC

机器人电机驱动板、步进电机驱动板 🧩 软硬件结合 已发布
simplefoc 2844 Stars MIT BOM 完整度: 3/5 教程完整度: 0/5

项目简介

Arduino FOC库:基于Arduino的BLDC和步进电机磁场定向控制算法。


SimpleFOClibrary 是一个专为无刷直流电机(BLDC)和步进电机设计的开源场定向控制(FOC)库,基于 Arduino IDE 和 PlatformIO 构建,致力于让复杂的电机控制变得简单易用。FOC 算法是目前驱动 BLDC 电机最高效的方式之一,能够实现平滑、低噪音、高扭矩的精准控制,但传统上实现门槛较高,且现有方案往往局限于特定硬件组合。这个项目正是为了解决这一痛点而生——它提供了一套跨平台、模块化的解决方案,支持 Arduino、STM32、ESP32、RP2040、SAMD、Teensy 以及 MBED 等多种主流微控制器架构,并兼容市面上绝大多数电机、传感器和驱动板组合。

标签

项目特点

**易于安装**:支持 Arduino IDE 库管理器一键安装和 PlatformIO 集成。
**开源免费**:代码和文档完全开源,基于 MIT 许可证。
**硬件兼容性广**:支持多种 MCU 架构(AVR、STM32、ESP32、Teensy、RP2040、SAMD、MBED 等),以及多种传感器、驱动器和电流检测方案。
**配置简单**:每个硬件组件都封装为 C++ 对象,易于理解和配置;提供 GUI 工具(SimpleFOCStudio)进行实时调优和监控。
**功能强大**:支持电压/电流/估计电流三种扭矩控制模式,位置/速度/力矩三种运动控制模式,以及速度/电流前馈、改进的速度计算等高级功能。
**跨平台**:代码可在不同 MCU 家族间无缝移植,无需修改核心算法。

技术规格

支持电机类型
控制算法
控制模式
运动控制模式
支持传感器
支持驱动器
支持 MCU
电流检测
通信接口
调优工具
许可证
最新版本

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
BLDC 电机(如 2204、2212 等) 1 根据项目需求选择
步进电机(如 NEMA17) 1 可选,用于步进电机控制
三相逆变器驱动板(如 L6234、DRV8301、B-G431B-ESC1) 1 根据电机功率和电压选择
磁编码器(如 AS5600、MT6701) 1 用于位置反馈
霍尔传感器(如 49E) 1 可选,用于低精度位置检测
Arduino UNO R4 / STM32 Nucleo / ESP32 DevKit 1 根据项目需求选择
直流电源(12V-24V,根据电机规格) 1 为电机和驱动器供电
杜邦线 / 排针 / 接线端子 若干 用于电路连接
低侧电流检测电阻 + 运放(如 INA240) 1 可选,用于电流闭环控制

所需工具

电烙铁与焊接工具 必需
螺丝刀套装 必需
钳子/剪线钳 必需
伺服电机
传感器模块
树莓派/开发板 必需
电池/电源

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 3/5
⚪ 数理与计算: 4/5
⚪ 动手与操作: 4/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 3/5

所需技能

🔧 **动手能力**:需要焊接电子元件、连接电路、固定电机和机械结构。 💻 **编程能力**:需要掌握 Arduino IDE 或 PlatformIO 的基本使用,理解 C++ 面向对象编程,能够配置和调优控制参数。 ⚡ **电子电路**:需要了解 BLDC/步进电机驱动原理、PWM 信号、电流检测电路,以及常见传感器(编码器、霍尔)的接线。

适用场景

**机器人关节控制**:用于机器人手臂、四足机器人等需要精确位置/速度控制的关节。
**无人机/航模**:用于 BLDC 电机的 FOC 控制,提升效率和响应速度。
**CNC/3D 打印机**:用于步进电机的 FOC 控制,实现更平滑的运动和更高的精度。
**电动工具/家电**:用于无刷电机的低噪音、高效率控制。
**教学与科研**:作为 FOC 算法的学习和实验平台,方便快速验证不同硬件和控制策略。