Makerbase SimpleFOC ESP32 例程5 双电机闭环位置测试

第一部分 硬件介绍

1.1 硬件清单

序号

品名

数量

1

ESP32 FOC V1.0 主板

1

2

YT2804电机

2

3

12V电源适配器

1

4

USB 线

1

5

6pin杜邦线

2

注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360°连续运转。
主要参数如下:

序号

品名

数量

1

输入电压

12V

2

极对数

7

3

工作电流

180mA

4

最大转速

3840RPM

5

编码器分辨率(I2C)接口

12bit

6

编码器分辨率(Analog)接口

1024

硬件清单如下图所示:

esp32 timer哪些不能用 esp32 simplefoc_串口

ESP32 FOC V1.0主板说明书等更多资料请加入QQ群(732557609)下载

esp32 timer哪些不能用 esp32 simplefoc_SimpleFOC_02

1.2 硬件连接

1.电机的三根相线连接至ESP32 FOC主板

2.连接电机的AS5600编码器至ESP32 FOC主板,端口对应关系如下表

(编码器端口对应关系如下方实物图所示,注意不要接反)

esp32 timer哪些不能用 esp32 simplefoc_上传_03

3.用USB线连接ESP32 FOC主板与PC

4.12V电源适配器连接主板

注意:请不要在上电的情况下进行硬件连接!

esp32 timer哪些不能用 esp32 simplefoc_串口_04

上电后绿色指示灯亮

第二部分 软件配置

2.1 PC系统

Windows 10家庭中文版

2.2软件准备

Arduino 1.8.13

可从官方网站下载

也可从QQ群(732557609)下载

esp32 timer哪些不能用 esp32 simplefoc_编码器_05

2.3 安装Arduino

2.4 安装SimpleFOC library

详情请查看《Makerbase SimpleFOC 第一课 入门配置》
文章链接:
注意:本例程使用的库版本为2.1.1,如果已经下载过其他版本,则需要更换版本。
更换版本的方法请参照往期示例。
文章链接:

第三部分 双电机闭环位置测试

3.1 修改代码

1.检查硬件连接,之后给主板上电。

2.用Arduino打开测试例程代码 5_close_loop_position_example。

(例程代码请加入QQ群下载)

esp32 timer哪些不能用 esp32 simplefoc_编码器_06

3.点击工具=>开发板=>ESP32 Arduino=>ESP32 Dev Module。

esp32 timer哪些不能用 esp32 simplefoc_串口_07

4.点击工具=>端口=>COM▢,选择对应的USB端口号。

esp32 timer哪些不能用 esp32 simplefoc_串口_08

5.19行和22行,根据选用电机的极对数,修改BLDCMotor()中的值

esp32 timer哪些不能用 esp32 simplefoc_esp32 timer哪些不能用_09

6.42行和45行,根据选用的供电电压,修改voltage_power_supply的值

esp32 timer哪些不能用 esp32 simplefoc_esp32 timer哪些不能用_10

7.59-65行,根据选用电机修改PID参数以实现更好的效果。

(若电机出现抖动和转速不稳定的情况,很有可能就是PID参数没有调到合适的值)

esp32 timer哪些不能用 esp32 simplefoc_编码器_11

8.67行和68行,根据供电电压修改voltage_limit的值。

esp32 timer哪些不能用 esp32 simplefoc_esp32 timer哪些不能用_12

3.2 编译上传与测试

1.点击左上角的的上传按钮

esp32 timer哪些不能用 esp32 simplefoc_上传_13

等待编译上传

esp32 timer哪些不能用 esp32 simplefoc_串口_14

等待显示上传成功

esp32 timer哪些不能用 esp32 simplefoc_esp32 timer哪些不能用_15

代码上传成功后电机会进行自动校准,之后会进入闭环模式。

此时手动扭动电机,能感受到阻力的存在。

若强行转动电机,电机也会旋转回原来的位置。

2.点击工具=>串口监视器,打开串口窗口

esp32 timer哪些不能用 esp32 simplefoc_esp32 timer哪些不能用_16

串口窗口会显示电机的当前位置

esp32 timer哪些不能用 esp32 simplefoc_上传_17

尝试扭动电机,能观察到位置信息的变化

3.在输入框输入指令并点击发送,可以进行控制。

输入“T+数字”的指令,可以控制电机转动到指定的位置。

例如输入T3.14(弧度制),电机会转动到-180°的位置。

输入T-3.14,电机会转动到180°的位置。

输入T62.8,电机会转动到-3600°的位置。

esp32 timer哪些不能用 esp32 simplefoc_串口_18

Makerbase SimpleFOC ESP32 例程5 双电机闭环位置测试 到此结束。