SimpleFOC 库
Arduino-FOC
机器人电机驱动板、步进电机驱动板
🧩 软硬件结合
已发布
项目简介
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 算法的学习和实验平台,方便快速验证不同硬件和控制策略。