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 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技

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 杜邦线 若干

在这里插入图片描述

ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技

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和力矩反馈

点击阅读全文
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐