Makerbase SimpleFOC 第二课 基本测试

   日期:2021-04-03     浏览:207    评论:0    
核心提示:第1部分 硬件介绍1.1 硬件清单序号品名数量1SimpleFOCShield V2.0.2 主板12ARDUINO UNO主板13MKS SF2804电机14AS5600传感器15AS5600_A(3pin)连接线16杜邦线47直流24V 1A电源适配器18USB 线1硬件清单如下图所示:1.2 硬件连接SimpleFOCShield V2.0.2主板与Arduino UNO主板叠接。

第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/

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服