SimpleFOC之ESP32(六)—— 双电机控制
目录一、硬件介绍1.1、原理图1.2、准备清单1.3、硬件连接二、代码演示2.1、I2C接口说明2.2、速度模式2.3、其它模式 SimpleFOC的教程比较多,做了一个总链接,欢迎点击阅读:SimpleFOC教程链接汇总 一、硬件介绍1.1、原理图1.2、准备清单序号名称数量1ESP32-DevKitC12simpleFOCShield V2.0.323云台电机24USB线1512V电源16杜邦
目录
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和力矩反馈
更多推荐
所有评论(0)