目录
双电机控制不能使用SimpleFOC v2.2.2的库有bug。需要退回到v2.1.1的版本。20220608
一、硬件说明
1、硬件清单
| 序号 | 名称 | 数量 |
|---|---|---|
| 1 | Arduino UNO | 1 |
| 2 | simpleFOCShield V2.0.3 | 2 |
| 3 | 带磁编码器的云台电机 | 2 |
| 4 | 12V电源 | 1 |
| 5 | 方口USB线 | 1 |
如下图所示:

2、硬件连接
⑴、驱动板背面跳线
两个驱动板,一个接9、5、6、8,另一个接3、10、11、7。

⑵、编码器接线
Arduino UNO的主板提供两路5V电源,所以两个编码器可以分别接5V,

注意:
背面跳线为9、5、6、8,对应的编码器接模拟信号A0,
背面跳线为3、10、11、7,对应的编码器接模拟信号A2,

⑶、全部接线
①、两个SimpleFOCShield V2.0.3驱动板与Arduino UNO主板堆叠连接,
②、USB线连接Arduino UNO主板,与主板通信并提供5V电压,
③、12V电源并联两个驱动板TB_PWR接口,注意正负极,
④、电机三根相线分别连接驱动板,
⑤、电机编码器的模拟接口与排母连接,注意正负极。
连接如下图:


二、程序演示
1、打开例程
打开的是V1版本不带电流采样的例程,

2、修改程序
官方例程用的是ABZ编码器,但当前电机用的是AS5600编码器,使用模拟接口。
①、修改电机极对数为7,
②、修改编码器为模拟接口,
例程为只读文件,可以验证上传,如需保存要“另存为”。


3、验证上传

4、打开串口监视器

5、等待初始化
初始化完成,电机开始转动,

6、观测电机
当前程序选择的是力矩模式,此时对电机施加阻力,电机表现为固定大小的力矩,使劲捏紧电机会停止,

7、发送指令
分别给两个电机设定不同的电压值,设置指令“A”对应电机1,指令“B”对应电机2,

8、电机操作
不同电压值,电机转速不同,表现出大小不同的力矩,如果此时有电流表可以观测到电流也不相同。

三、其他控制模式
1、速度模式
⑴、程序中已经罗列了速度控制模式的参数,所以可以很方便的从当前的力矩模式更改为速度模式。PID参数如果不合适请自行匹配修改。

⑵、程序上传后等待电机转动,初速度只有2rad/s(力矩模式表示初始力矩为2V电压),

⑶、设置指令调整电机速度,此时设置的速度单位为rad/s,

2、速度和力矩混合模式
⑴、修改电机1为速度模式,电机2为力矩模式(力矩模式不用PID调节),

⑵、设置指令,观察两个电机的转动

(完)
请继续阅读相关文章:
SimpleFOC(一)—— 简介(附有文件下载链接)
SimpleFOC(二)—— 快速入门 (开环控制)
SimpleFOC(三)—— AS5600角度读取
SimpleFOC(四)—— 闭环控制
SimpleFOC(六)—— PowerShield和AS5047P
SimpleFOC(七)——STM32(Bluepill)的应用
SimpleFOC(八)—— 理论+实践 深度分析SVPWM
SimpleFOC(九)—— 霍尔电机控制
本文档详细介绍了如何使用SimpleFOCv2.1.1库进行双电机控制,包括硬件连接、程序修改及上传、电机初始化和操作。还探讨了速度模式和速度力矩混合模式的切换,适合对电机控制感兴趣的读者。
1万+





