Makerbase ESP32 FOC 例程7 双电机电流控制
第一部分 硬件介绍
1.1 硬件清单
序号 | 品名 | 数量 |
---|---|---|
1 | ESP32 FOC V1.0 主板 | 1 |
2 | ARDUINO UNO主板 | 2 |
3 | MKS SF2804电机 | 1 |
4 | 12V电源适配器 | 1 |
5 | USB 线 | 1 |
注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360°连续运转。
主要参数如下:
序号 | 名称 | 参数 |
---|---|---|
1 | 输入电压 | 12V |
2 | 极对数 | 7 |
3 | 工作电流 | 180mA |
4 | 最大转速 | 3840RPM |
5 | 编码器分辨率(I2C)接口 | 12bit |
6 | 编码器分辨率(Analog)接口 | 1024 |
硬件清单如下图所示:
ESP32 FOC V1.0主板说明书等更多资料请加入QQ群(732557609)下载
1.2 硬件连接
1.电机的三根相线连接至ESP32 FOC主板
2.连接电机的AS5600编码器至ESP32 FOC主板,端口对应关系如下表
(编码器端口对应关系如下方实物图所示,注意不要接反)
3.用USB线连接ESP32 FOC主板与PC
4.12V电源适配器连接主板
注意:请不要在上电的情况下进行硬件连接!
上电后绿色指示灯亮。
第二部分 软件配置
2.1 PC系统
Windows 10家庭中文版
2.2软件准备
Arduino 1.8.13
可从官方网站下载
也可从QQ群(732557609)下载
2.3 安装Arduino
略
2.4 安装SimpleFOC library
详情请查看《Makerbase SimpleFOC 第一课 入门配置》
文章链接:https://blog.csdn.net/gjy_skyblue/article/details/115353908
注意:本例程使用的库版本为2.1.1,如果已经下载过其他版本,请点击工具=>管理库
在搜索框搜索Simple FOC
选择版本2.1.1后,点击安装
之后重启Arduino
第三部分 双电机电流控制
3.1 修改代码
1.检查硬件连接,之后给主板上电。
2.用Arduino打开测试例程代码 7_current_control_example。
(例程代码请加入QQ群下载)
3.点击工具=>开发板=>ESP32 Arduino=>ESP32 Dev Module。
4.点击工具=>端口=>COM▢,选择对应的USB端口号。
5.用户可以选用其他的电机测试此例程,若如此做,则需要修改修改代码中的一些参数。
①14-18行,根据选用电机的极对数修改默认极对数的值,即“BLDCMotor(7)”括号中的值。
②47-59行,根据选用电机的供电电压修改voltage_power_supply的值。
此外,修改电流限制current_limit和电压限制voltage_limit的值,亦可以用注释取消这两段代码。
③83-104行,根据选用电机修改PID参数,以实现更好的效果
(注意:电机出现抖动、转速不稳定的现象可能就是PID参数还没调到合适的数值)
④108-109行,可以根据电机的性能修改转速限制。
(建议没有把握的小伙伴先设置为20)
3.2 编译上传与测试
1.点击左上角的的上传按钮
等待编译上传
等待显示上传成功
电机会进行自动校准,进入闭环模式,之后以0.05A的默认电流值运转。
2.点击工具=>串口监视器,打开串口窗口
(上图显示的是一些电机的校准信息和初始值)
3.在串口窗口输入框指令并点击发送,可以进行控制
输入“A+电流”的指令(电流单位:A),可以控制M0电机的运载电流;
输入“B+电流”的指令(电流单位:A),可以控制M1电机的运载电流。
例如,输入A0.08的指令,会观察到M0电机的转动速度会增加。
输入A0.1的指令,会观察到M0电机的转动速度变得更快。
Makerbase ESP32 FOC 第七课 双电机电流控制测试 到此结束。
请继续关注后续课程。
本文所使用的例程代码与资料等可从QQ群下载
欢迎加入 创客基地 电机控制QQ群 讨论电机控制相关问题:732557609
欢迎光临 创客基地 B站 了解技术资料:
https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店 采购产品:
https://makerbase.taobao.com/