Makerbase SimpleFOC 第二课 基本测试

第1部分 硬件介绍

1.1 硬件清单

序号 品名 数量
1 SimpleFOCShield V2.0.2 主板 1
2 ARDUINO UNO主板 1
3 MKS SF2804电机 1
4 AS5600传感器 1
5 AS5600_A(3pin)连接线 1
6 杜邦线 4
7 直流24V 1A电源适配器 1
8 USB 线 1

硬件清单如下图所示:
在这里插入图片描述

1.2 硬件连接

  1. SimpleFOCShield V2.0.2主板与Arduino UNO主板叠接。

  2. USB线一端连接Arduino UNO主板,另一端连接PC;

  3. 24V电源适配器连接主板DC接口,上电后PWR指示灯亮。

  4. 电机三根相线连接至SimpleFOCShield V2.0.2主板TB_M1的3个接口。

  5. AS5600传感器Analog接口:

序号 SimpleFOCShield V2.0.2主板 AS5600传感器
1 A1 OUT
2 5V 5V
3 GNG GND

Analog接口硬件连接如下图所示:
在这里插入图片描述

  1. AS5600传感器I2C接口:
    AS5600传感器与SimpleFOCShield V2.0.2主板连接关系如下表格所示。
序号 SimpleFOCShield V2.0.2主板 AS5600传感器
1 SCL SCL
2 SDA SDA
3 5V 5V
4 GNG GND

I2C接口硬件连接如下图所示:
在这里插入图片描述

第2部分 AS5600传感器测试

2.1 Analog接口测试

  1. 打开Aruino IDE。打开示例,文件 -> 示例-> Simple FOC -> utils -> sensor_test -> magnetic_sensors -> magnetic_sensor_analog_example, 如下图1,2,3,4,5,6,7所示。
    在这里插入图片描述

  2. analog示例程序如下图所示。
    在这里插入图片描述

  3. 连接开发板后,点击上传,并等待上传完成,如下图1,2所示。
    在这里插入图片描述

  4. 打开串口监视器,可以监测电机的位置以及转速,如下图1,2所示。
    在这里插入图片描述

  5. 转动电机,可以发现电机位置与转速发生改变,如下图3所示。
    正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
    在这里插入图片描述

2.2 I2C接口测试

  1. 打开示例:文件->示例-> Simple FOC -> utils -> sensor_test -> magnetic_sensors -> magnetic_sensor_i2c_example,如下图1,2,3,4,5,6,7所示。
    在这里插入图片描述

  2. I2C示例程序如下图所示。
    在这里插入图片描述

  3. 连接开发板后,点击上传,并等待上传完成。

  4. 打开串口监视器,可以监测电机的位置以及转速,如下图1,2所示。
    在这里插入图片描述

  5. 转动电机,可以发现电机位置与转速发生改变,如下图3所示。
    正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
    在这里插入图片描述

第3部分 闭环控制测试

3.1 闭环位置测试

  1. 打开示例:文件 -> 示例 -> Simple FOC -> motion_control -> position_motion_control -> magnetic_sensor -> angle_control,如下图1,2,3,4,5,6,7所示。
    在这里插入图片描述

  2. 修改文件,如下图1,2,3,4,5所示。
    第13行,用“//”屏蔽,如下图1所示。
    如果用I2C接口则需要:第15行,删除“//”,取消屏蔽,如下图1所示。
    如果用Analog接口则需要:第17行,删除“//”,取消屏蔽。
    第20行,BLDCMotor motor = BLDCMotor(7);如下图2所示。
    第41行,driver.voltage_power_supply = 24;如下图3所示。
    第57行,motor.PID_velocity.I = 2;如下图4所示。
    第60行,motor.voltage_limit = 1; 如下图5所示。
    在这里插入图片描述
    在这里插入图片描述

  3. 连接开发板后,上传代码,并等待上传完成。

  4. 打开串口监视器,等待完成初始化,如下图1所示。
    在这里插入图片描述

  5. 输入位置信息 T62.8,并点击发送,如下图1,2所示。
    正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
    在这里插入图片描述

  6. 可观察到电机转动约10圈,并返回位置信息,如下图3所示。
    在这里插入图片描述

  7. 输入不同位置信息,可观察电机转动,并停在不同位置。

  8. 用手拨动电机会发现有阻力,松手后电机会返回原先的位置。

3.2 闭环速度测试

  1. 打开示例:文件 -> 示例 -> Simple FOC -> motion_control -> velocity_motion_control -> magnetic_sensor -> velocity_control,如下图1,2,3,4,5,6,7所示。
    在这里插入图片描述

  2. 修改文件,如下图所示。
    第16行,用“//”屏蔽,如下图1所示:
    如果用I2C接口需要:第18行,删除“//”,取消屏蔽,如下图1所示。
    如果用Analog接口需要:第19行,删除“//”,取消屏蔽。
    第22行,BLDCMotor motor = BLDCMotor(7);如下图2所示。
    第43行,driver.voltage_power_supply = 24;如下图3所示。
    第56行,motor.PID_velocity.I = 2;如下图4所示。
    第59行,motor.voltage_limit = 1; 如下图5所示
    在这里插入图片描述
    在这里插入图片描述

  3. 连接开发板后,上传代码,并等待上传完成。

  4. 打开串口监视器,等待完成初始化,如下图1所示。
    在这里插入图片描述

  5. 输入速度信息 T2,并点击发送,如下图1,2所示。
    在这里插入图片描述

  6. 可观察到电机会以2圈/秒的转速转动,并返回转速信息,如下图3所示。
    在这里插入图片描述

  7. 输入不同转速信息,可观察电机以不同转速转动。

第4部分 电流感测测试

电流感测测试需要接I2C接口。
为了方便观察电流变化,电机需要进入闭环模式。
测试代码为闭环位置控制示例与电流感测示例合并所生成。
电流感测代码可以在Q群732557609下载。如下图所示。
在这里插入图片描述

解压后文件如下图所示。
在这里插入图片描述

  1. 打开下载好的程序文件,如下图所示。
    在这里插入图片描述

  2. 连接开发板后,点击上传,并等待上传完成。

  3. 打开串口监视器,可以监测电机的A相、B相的电流以及电流幅值,如下图所示。
    在这里插入图片描述

  4. 拨动电机A相电流、B相电流、电流幅值瞬间发生改变,如下图所示。
    在这里插入图片描述

Makerbase SimpleFOC 第二课 基本测试 到此结束。
请继续关注后续课程。

欢迎加入 创客基地 电机控制Q群 讨论电机控制相关问题:732557609
欢迎光临 创客基地 B站 了解技术资料:
https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店 采购产品:
https://makerbase.taobao.com/

猜你喜欢

转载自blog.csdn.net/gjy_skyblue/article/details/115390824