本文主要是介绍SimpleFOC(五)—— 双电机控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 一、硬件说明
- 1、硬件清单
- 2、硬件连接
- ⑴、驱动板背面跳线
- ⑵、编码器接线
- ⑶、全部接线
- 二、程序演示
- 1、打开例程
- 2、修改程序
- 3、验证上传
- 4、打开串口监视器
- 5、等待初始化
- 6、观测电机
- 7、发送指令
- 8、电机操作
- 三、其他控制模式
- 1、速度模式
- 2、速度和力矩混合模式
双电机控制不能使用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(九)—— 霍尔电机控制
这篇关于SimpleFOC(五)—— 双电机控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!