目录

  • 说明
  • 一、硬件介绍
    • 1.1、原理图
    • 1.2、ESP32drive-D方案
      • 1.2.1、准备清单
      • 1.2.2、硬件连接
    • 1.3、SimpleFOCShield方案
      • 1.3.1、SimpleFOCShield原理图及跳线
      • 1.3.2、硬件清单
      • 1.3.3、硬件连接
  • 二、代码演示 — 双I2C接口
    • 2.1、打开官方示例
    • 2.2、编译报错
    • 2.3、查找错误原因
    • 2.4、修改代码
    • 2.5、验证测试
  • 三、代码演示 — 双电机驱动
    • 3.1、速度模式
    • 3.2、其它模式


SimpleFOC教程目录:请点击

说明

本文教程适配SimpleFOCShield和ESP32drive-D两款驱动器。

一、硬件介绍

1.1、原理图

  • ESP32drive-D的M1有三个使能引脚,与PowerShield V0.2大功率驱动板的控制方式一致,
  • SimpleFOCShield只需一个使能引脚,在本文中定义为IO32,本文的演示代码以SimpleFOCShield为例,
  • SPI和I2C2的引脚有复用,所以不能同时使用。

1.2、ESP32drive-D方案

  • ESP32drive-D的两边采用非对称电路,M1为3个使能引脚独立模式,与PowerShield V0.2 的控制方式一致,M2的使能引脚并联,与SimpleFOCShield V2.0.4 保持一致。这样设计可以实现功能最大化,调试时注意这个区别!

1.2.1、准备清单

序号 名称 数量
1 USB转串口 1
2 ESP32drive-D 1
3 带编码器电机 2
4 12V电源 1
5 杜邦线 若干


电机 购买链接:某宝购买
ESP32drive 购买链接:某宝购买

1.2.2、硬件连接


1.3、SimpleFOCShield方案

1.3.1、SimpleFOCShield原理图及跳线

电流采样需要PWM输出与采样输入引脚对应,所以必须了解SimpleFOCShield的原理图,



1.3.2、硬件清单

序号 名称 数量
1 ESP32-DevKitC 1
2 simpleFOCShield 2
3 云台电机 2
4 USB线 1
5 12V电源 1
6 杜邦线 若干


SimpleFOCShield 购买链接:某宝购买
电机 购买链接:某宝购买

1.3.3、硬件连接

两块SimpleFOCShield堆叠

ESP32-DevKitC SimpleFOCShield
33 5
26 9
14 6
32 8
35 A0
34 A2
16 3
17 10
5 11
4 7
39/VN A1
36/VP A3
3V3 VCC
GND GND

如果是AS5600编码器,如下

ESP32-DevKitC AS5600电机1
21 SDA1
22 SCL1
3V3 VCC
GND GND
ESP32-DevKitC AS5600电机2
18 SDA2
19 SCL2
3V3 VCC
GND GND


如果是AS5047P编码器,如下

ESP32-DevKitC AS5047P电机
23 MOSI
19 MISO
18 SCLK
13 SS
GND GND
3V3 VCC

二、代码演示 — 双I2C接口

双电机控制的难点在于两个I2C的配置,所以演示双电机驱动前,先把双I2C的接口调试通过。

2.1、打开官方示例

2.2、编译报错

升级后的simpleFOC库已经修改了这些错误,请勿纠结。20220520

2.3、查找错误原因

  • 2.3.1、ESP32有2个I2C接口,
  • 2.3.2、I2C接口可以配置到任意引脚,
  • 2.3.3、定义其它引脚的函数如下,

    可以用setPins()和setClock()函数代替begin()函数。
  • 2.3.4、驱动中已经声明了两个I2C的结构体:Wire和Wire1,

2.4、修改代码

2.5、验证测试

接两个编码器测试读取的角度。

三、代码演示 — 双电机驱动

3.1、速度模式

3.1.1、打开示例

3.1.2、修改代码


3.1.3、验证上传

3.1.4、串口发送指令

速度模式,单位rad/s,
控制A电机,发送“A6.28”,表示6.28rad/s,也就是1圈/秒,
控制B电机,发送“B20”,

3.1.5、观察电机运行

3.2、其它模式

  双电机控制还可以力矩模式和角度模式,或者混合模式,只需修改控制模式和对应的PID即可,不再赘述。


(完)



请继续阅读相关文章:
SimpleFOC之ESP32(一)—— 搭建开发环境
SimpleFOC之ESP32(二)—— 开环控制
SimpleFOC之ESP32(三)—— 闭环控制
SimpleFOC之ESP32(四)—— 电流闭环控制Inline
SimpleFOC之ESP32(五)—— 电流闭环控制Lowside
SimpleFOC之ESP32(六)—— 双电机控制
SimpleFOC之ESP32(七)—— 霍尔电机
SimpleFOC之ESP32(八)—— ABZ编码器电机
SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

SimpleFOC之ESP32(六)—— 双电机控制相关推荐

  1. SimpleFOC移植STM32(六)—— 双电机控制和力矩反馈

    目录 一.说明 二.硬件介绍 2.1.原理图 2.2.准备清单 2.3.接线 三.程序演示 3.1.设置参数 3.2.编译下载 3.3.根据设置的控制模式操作 四.双电机控制总结 五.力矩反馈 5.1 ...

  2. SimpleFOC之ESP32(二)—— 开环控制

    目录 注意事项 一.硬件介绍 1.1.原理图 1.2.ESP32drive方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.准备清单 1.3.2 ...

  3. SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

    目录 说明 一.ESP-NOP 1.1.简介 1.2.硬件准备 1.3.代码演示 1.3.1.官方示例 1.3.2.代码改进简化 二.力矩反馈 2.1.Dagor项目介绍 2.2.ESP32drive ...

  4. SimpleFOC之ESP32(八)—— ABZ编码器电机

    目录 一.增量式编码器介绍 二.ESP32drive控制霍尔电机 2.1.原理图 2.2.读编码器获取角度 2.2.1.硬件准备 2.2.2.硬件连接 2.2.3.代码演示 2.2.4.观察角度输出 ...

  5. SimpleFOC之ESP32(三)—— 闭环控制

    目录 一.硬件介绍 1.1.原理图 1.2.ESP32drive方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.准备清单 1.3.2.硬件连接 ...

  6. SimpleFOC之ESP32(九)—— WIFI、UDP和TCP

    目录 说明 一.网络通信 1.1.准备工作 1.2.UDP通信 1.3.TCP通信 二.硬件准备 三.代码参考 四.代码演示 4.1.WIFI_AP模式UDP通信 4.2.WIFI_STA模式TCP ...

  7. SimpleFOC之ESP32(七)—— 霍尔电机

    目录 一.霍尔电机介绍 二.ESP32drive控制霍尔电机 2.1.原理图 2.2.读霍尔角度 2.2.1.硬件准备 2.2.2.硬件连接 2.2.3.代码演示 2.3.控制霍尔电机 2.3.1.硬 ...

  8. Arduino ESP32 Web网页控制RGB灯

    Arduino ESP32 Web网页控制RGB灯

  9. ESP32:蓝牙BLE控制M3508电机

    ESP32:蓝牙BLE控制M3508电机 先给各位朋友拜个年,祝大家新春快乐,事事顺利,身体健康啊! 还是熟悉的3508,内容概述: ESP32主控 蓝牙BLE通信 使用实时系统(FreeRTOS) ...

最新文章

  1. centos java tomcat_centos配置Tomcat以指定的身份(非root)运行
  2. 集成两路MAX1169的STC8G1K08模块,带有两路PWM输出
  3. 解决 Iframe跨域session 丢失问题
  4. Linux中断线程化的优势,记一个实时Linux的中断线程化问题
  5. 集中火力 专项击破|数据分析可视化广深线下培训火热来袭
  6. ssm三个框架分别用来干什么_SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
  7. HEVC SAO技术阅读
  8. group by 为什么 distinct 效率高
  9. html5在线聊天插件,纯js网页在线聊天对话插件(原创)
  10. qq邮箱发html版式是乱的,为什么在Word里编辑的内容到QQ邮箱里发给别人是乱的,我用附件发的呀...
  11. 可以说是迄今为止最好用的右键菜单管理工具
  12. 0717Python总结-return返回值,全局及局部变量,函数名的使用,函数的嵌套,nonlocal修改局部变量,及locals和globals
  13. 如何做好性能压测(一):压测环境的设计和搭建
  14. java使用多态打印个人信息_java 多态 回顾
  15. 在win10上编译webRTC(问题篇)
  16. opencv(人脸检测和识别)
  17. 单片机I/O常用的驱动与隔离电路设计
  18. win7系统解决耳机插口的问题
  19. SQuAD 数据预处理(1)
  20. js的编码成gb2312的编码函数(URLEncode)

热门文章

  1. C# Access数据库查询条件LIKE
  2. 高中女生校服怎么画?怎样才能画好高中女生校服?
  3. 苹果数据线不能充电_啥?苹果数据线还能给安卓充电?
  4. axios请求跨域前端解决_完美解决axios跨域请求出错的问题
  5. OSG两个独立的相机观测
  6. 路由器管理:为已知设备分配固定IP,设置连接人数限制
  7. android 6.0魅族首批,有你的手机吗?首批安卓6.0升级名单一览
  8. cad命令栏还原默认_怎么把cad2014恢复默认设置(怎么讲CAD快捷键还原为默认模式?)...
  9. Android大厂面试题锦集附答案(BAT TMD JD 小米)
  10. 【数通学员心得】成功没有捷径,HCIE也没有侥幸