news 2026/6/1 1:02:01

ESP32 + SimpleFOC + 三路AS5600实现三轴FOC电机控制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32 + SimpleFOC + 三路AS5600实现三轴FOC电机控制

使用一块ESP32(具体型号:ESP32 LOLIN D32)开发板,实现三个无刷电机的FOC闭环控制。由于AS5600磁编码器采用固定I2C地址,而ESP32硬件仅提供两路I2C接口,因此需要对SimpleFOC进行一定扩展。经过测试,最终成功实现了三路AS5600角度采集以及三路BLDC电机闭环控制。

一、SimpleFOC默认仅支持两路I2C

AS5600是一款性价比较高的磁编码器,分辨率12位,通过I2C接口读取角度数据。其最大的特点是使用方便,但也存在一个限制:I2C地址固定为0x36,无法通过硬件配置修改地址。

在单个I2C总线上,如果同时连接多个AS5600,就会出现地址冲突问题。ESP32虽然支持两组硬件I2C控制器,但对于三个AS5600来说仍然不够使用。

SimpleFOC库原生支持通过TwoWire对象指定不同的I2C总线,因此可以较容易地实现两路AS5600的读取。然而当需要连接第三个AS5600时,就必须寻找新的解决方案。

二、增加一路软I2C,实现三路AS5600读取

为了在不增加额外硬件的情况下实现第三路AS5600连接,我采用了软件模拟I2C(Soft I2C)的方案。

由于常见的SoftwareWire库在ESP32新版本Arduino框架下兼容性存在问题,因此重新编写了一套轻量级SoftI2C类,用GPIO模拟I2C通信时序,实现AS5600寄存器读取功能。

随后,为了让SimpleFOC能够像使用普通I2C传感器一样使用第三个AS5600,又增加了一个新的传感器类:

  • SoftI2C类
  • MagneticSensorI2CEx类

其中SoftI2C负责底层通信,而MagneticSensorI2CEx则继承SimpleFOC的Sensor基类,实现角度数据读取接口。

这样一来:

  • 第一颗AS5600使用Wire
  • 第二颗AS5600使用Wire1
  • 第三颗AS5600使用SoftI2C

成功解决了固定地址冲突问题,实现三路编码器同时工作。

经过测试,三个AS5600均能够稳定读取角度信息,并实时输出到串口。

三、借助SimpleFOC实现三路电机闭环控制

在解决编码器问题之后,剩下的工作就变得相对简单。

每个电机分别配置:

  • BLDCMotor对象
  • BLDCDriver3PWM驱动器
  • AS5600位置传感器

然后通过SimpleFOC提供的接口完成:

  • 传感器绑定
  • 驱动器绑定
  • 电机初始化
  • FOC初始化
  • 闭环运行

经过调试后,三个电机均能够正常完成电角度校准,并进入闭环控制状态。

后续还增加了串口控制指令,例如:

  • M1P6.28
  • M2P3.14
  • M3P100

通过串口即可直接控制三个电机运动到指定位置,实现多轴协同控制。

四、硬件配置与应用展望

本次实验使用的主要硬件如下:

  • ESP32 LOLIN D32开发板 ×1
  • SimpleFOC Mini驱动板 ×3
  • AS5600磁编码器 ×3
  • 无刷电机 ×3

整个系统仅使用一块ESP32即可实现三路FOC控制,大幅降低了硬件成本和系统复杂度。

完成三轴控制平台搭建后,可以直接利用SimpleFOC开源库提供的丰富功能,实现:

  • 三轴云台控制
  • 机械臂关节控制
  • 机械恐龙运动控制
  • 摄像稳定平台
  • 多自由度机器人

相比传统自行编写FOC算法,SimpleFOC已经完成了电流环、速度环、位置环等大量底层工作,开发者只需关注运动控制逻辑即可,大大缩短开发周期。

经过本次实践验证,通过增加一路软I2C和扩展传感器接口,ESP32完全能够胜任三路AS5600和三路BLDC电机的FOC控制任务,为后续多轴运动控制项目提供了一个低成本、易扩展的解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 0:56:12

3步掌握AtlasOS:Windows系统优化实用指南

3步掌握AtlasOS:Windows系统优化实用指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atlas …

作者头像 李华
网站建设 2026/6/1 0:54:32

ctf show web入门58

这是一道远程代码执行漏洞,我们先查看源代码发现这里是使用POST方式传参给$c,再通过eval()函数来执行输入的内容 我们可以打开hackbar来进行POST提交这里提示我们system()函数被禁用了,我们尝试其他命令 我…

作者头像 李华
网站建设 2026/6/1 0:47:03

全景态势可视可控 动态跨镜接力驱动安防治理数字化升级技术解析方案

一、方案概述传统安防治理模式长期依赖碎片化视频监控、定点可视、事后回溯的运行逻辑,整体数字化程度偏低。各监控终端视域相互割裂、数据时序错位、感知维度单一,无法形成全域统一的态势认知体系。在人员车辆高频流动、多目标交织运行、场景遮挡盲区常…

作者头像 李华
网站建设 2026/6/1 0:22:05

人工智能名词科普:从小白到懂行,这一篇就够了

人工智能名词科普:从小白到懂行,这一篇就够了别再被 AI 术语吓到了,一文搞懂人工智能核心概念一、先搞清楚三个层级的关系在学习具体名词之前,我们先明确三个最基础的概念之间的关系:人工智能(AI&#xff0…

作者头像 李华
网站建设 2026/6/1 0:21:02

如何永久保存微信聊天记录:WeChatMsg完整指南与数据守护

如何永久保存微信聊天记录:WeChatMsg完整指南与数据守护 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeC…

作者头像 李华