Arduino Simple Field Oriented Control (FOC) project - Chinese 😃🇨🇳
时代的进步通常令人激动。现今,无刷电机已经进入各种爱好者DIY社区,并且出现了很多高质量且拥有优异性能的无刷电机驱动方案。
相比于直流电机,无刷电机的优点可谓数不胜数,但同时它也拥有巨大的不足,那就是控制过于复杂。尽管身处工具链和PCB制造设计技术发达,设计自己的PCB变得很容易的年代,但一个低成本的无刷电机驱动方案却尚未出现。其中一个原因就是自行编写无刷电机的驱动方案太过复杂,尽管我们可以在网上找到很多成熟的FOC代码方案,但他们大部分都针对特定的硬件配置、特定的单片机;同时,现在很多的FOC算法和硬件开发尝试都是围绕着高功率无刷电机应用,低成本低功率的FOC硬件十分难找,甚至根本就找不到。
灯哥开源 是SimpleFOC官方中文资料的维护者。作为中文官方,我不仅及时更新SimpleFOC的中文翻译和技术资料,还基于SimpleFOC库开发了全开源的基于ESP32的双路无刷电机控制器硬件DengFOC。作为SimpleFOC技术的提倡者,欢迎大家使用SimpleFOC开源技术,若对中文资料有翻译问题或者疑惑,也欢迎大家联系我 (QQ群:471832283)。
如果在国内的朋友访问速度慢,可以访问中国国内中文文档镜像站: http://simplefoc.cn/
基于以上痛点,本项目尝试:
- 🎯 揭开 FOC 算法的神秘面纱,制作一个强大而简单的 Arduino 库: Arduino SimpleFOClibrary
- 此库要支持尽可能多的电机+传感器+电流检测+驱动器+单片机 ,做到通用性
- 🎯 建立几套适应不同应用情况的低成本FOC驱动板:
- 新 📢: 简化版 无刷直流驱动器 (<3A) : SimpleFOCMini .
- 支持小功率 云台设备的板子(<5A): Arduino SimpleFOCShield .
- 支持中等功率 无刷直流电驱动器的板子(<30A): Arduino SimpleFOCPowerShield .
- 另外 @byDagor 也做了完全集成的 基于ESP32 的板子,大家可以一看: Dagor Brushless Controller
新发布 📢: SimpleFOClibrary v2.3.0 查看发布
- Arduino Mega 6pwm 支持更多定时器
- Arduino 板子 - 支持频率更改,支持32kHz或4kHz
- Arduino Uno - 在3pwm和6pwm模式下具有同步定时器 #71
- Teensy 3.x 初始化支持 6pwm
- Teensy 4.x 初始化支持 6pwm
- v3.1 SimpleFOCShield 的示例
- RP2040 兼容性适用于earlehillpower核心 #234 #236
- 更灵活的 monitoring API
- 开始、结束和分隔符字符
- 小数点位数(可通过Commander进行设置)
- 在
Commander
中添加了机器可读的详细模式#233- SimpleFOCWebController - 基于Web的SimpleFOC用户界面 @geekuillaume - webcontroller.simplefoc.com
- bugfix - 修复了
MagneticSensorPWM
的多个问题 - #258- bugfix - 修复了电流传感器对齐的问题,在交换引脚时添加了偏移交换
- bugfix - 修复了梯形波150的问题
- bugfix - 修复了ESP8266上的4pwm问题 #224
- Additional
InlineCurrentSense
andLowsideCurrentSense
constructor 构造函数使用每安毫伏进行设置 #253- STM32L4xx 电流感应支持由 [@Triple6]提供(https://github.com/Triple6) (discord) #257
- 在6pwm模式下可以禁用相位
- stm32 - 软件和硬件6pwm
- atmega328
- atmega2560
- 使用电机电感进行滞后补偿 #246
- 通过电压转矩模式增强电流控制
- 扩展了
BLDCMotor
和StepperMotor
构造函数以接收电感参数- 也可以通过
motor.phase_inductance
或通过Commander
进行设置
Arduino SimpleFOClibrary v2.3.0
这个视频演示了 Simple FOC 库的基本用法、电器连接并展示了它的性能。
特性
- 简易安装:
- Arduino IDE: Arduino 库管理器集成
- PlatformIO
- 开源:在github上可以获得完整的代码和文档
- 目标:
- 易于设置和配置:
- 简单的硬件配置
- 每个硬件组件都是一个 C++ 对象(易于理解)
- 轻松 调整控制回路
- SimpleFOCStudio 配置 GUI 工具
- 内置通信和监控
- 跨平台:
- 支持尽可能多的 传感器,无刷直流电机和驱动器板 组合
- 从一个微控制器系列到另一个系列的无缝代码传输
- 支持多种 MCU架构:
- Arduino: UNO, MEGA, DUE, Leonardo …
- STM32
- ESP32
- Teensy
- 其他
Arduino SimpleFOCShield v2.0.4
特性
- 即插即用:通过库 Arduino SimpleFOClibrary 实现- github
- 低成本: 15 欧元的价格 - 查看价格
- 在线电流传感: 双向可达 3A/5A
- 可配置:3.3A - 3.3V adc, 5A - 5V adc
- 集成 8种 调节器:
- 通过焊盘启用/禁用
- 最大功率 120W - 最大电流 5A, 电源 12-24V
- 适用于 >10Ωs 的云台电机.
- 可堆叠接插:同时运行2个电机
- 编码器/霍尔传感器接口:集成的3.3kΩ上拉(可配置)
- I2C 接口:集成的4.7kΩ上拉(可配置)
- 引脚配置:见 硬件配置 - 焊接连接 章节
- 支持的Arduino 型号: Arduino UNO, Arduino MEGA, STM32 Nucleo boards…
- 开源:开源全部DIY文件 - 如何自己制作它
如果你对这个产品感兴趣,可以在这个链接上找到更多信息: Arduino SimpleFOCShield
其他的可代用FOC方案
列出几个可代用的FOC方案以供参考
Odrive | Trinamic | Infineon | FOC-Arduino-Brushless |
---|---|---|---|
✔️开源 | ❌ 开源 | ✔️ 开源 | ✔️ 开源 |
✔️易用 | ✔️ 易用 | ✔️易用 | ❌ 易用 |
❌ 低成本 ($100) | ❌ 低成本 ($100) | ✔️低成本 ($40) | ✔️ 低成本 |
❌ 低功率 (>50A) | ✔️ 低功率 | ✔️ 低功率 | ✔️ 低功率 |
❌ 支持步进电机 | ❌ 支持步进电机 | ❌ 支持步进电机 | ❌ 支持步进电机 |