第1部分 硬件介绍
1.1 硬件清单
序号 | 品名 | 数量 |
---|---|---|
1 | SimpleFOC MINI V1.0 主板 | 1 |
2 | ARDUINO UNO主板 | 1 |
3 | MKS SF2804电机 | 1 |
4 | 杜邦线 | 4 |
5 | DC12V电源 | 1 |
6 | USB 线 | 1 |
1.2 硬件连接
1.SimpleFOC MINI V1.0 主板主板与Arduino UNO主板叠接。如下图所示:
2.USB 线一端连接 Arduino UNO 主板,另一端连接 PC;
3.DC12V 电源连接主板 DC 接口,上电后 PWR 指示灯亮。
4.电机三根相线连接至 SimpleFOC MINI主板 TB_M1 的 3 个接口。
AS5600 传感器 Analog 接口:
序号 | Arduino UNO 主板 | Arduino UNO 主板 |
---|---|---|
1 | A1 | OUT |
2 | 5V | 5V |
3 | GND | GND |
Analog 接口硬件连接如下图所示:
5.AS5600 传感器 I2C 接口:
序号 | Arduino UNO 主板 | Arduino UNO 主板 |
---|---|---|
1 | SCL | SCL |
2 | SDA | SDA |
3 | 5V | 5V |
3 | GND | GND |
I2C 接口硬件连接如下图所示: |
第2部分 AS5600 传感器测试
2.1 Analog 接口测试
2.1 Analog接口测试
-
打开Aruino IDE。打开示例,文件 -> 示例-> Simple FOC -> utils -> sensor_test -> magnetic_sensors -> magnetic_sensor_analog_example, 如下图1,2,3,4,5,6,7所示。
-
analog示例程序如下图所示。
-
连接开发板后,点击上传,并等待上传完成,如下图1,2所示。
-
打开串口监视器,可以监测电机的位置以及转速,如下图1,2所示。
-
转动电机,可以发现电机位置与转速发生改变,如下图3所示。
正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
2.2 I2C接口测试
-
打开示例:文件->示例-> Simple FOC -> utils -> sensor_test -> magnetic_sensors -> magnetic_sensor_i2c_example,如下图1,2,3,4,5,6,7所示。
-
I2C示例程序如下图所示。
-
连接开发板后,点击上传,并等待上传完成。
-
打开串口监视器,可以监测电机的位置以及转速,如下图1,2所示。
-
转动电机,可以发现电机位置与转速发生改变,如下图3所示。
正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
第3部分 闭环控制测试
3.1 闭环位置测试
-
打开示例:文件 -> 示例 -> Simple FOC -> motion_control -> position_motion_control -> magnetic_sensor -> angle_control,如下图1,2,3,4,5,6,7所示。
-
修改文件,如下图1,2,3,4,5所示。
第13行,用“//”屏蔽,如下图1所示。
如果用I2C接口则需要:第15行,删除“//”,取消屏蔽,如下图1所示。
如果用Analog接口则需要:第17行,删除“//”,取消屏蔽。
第20行,BLDCMotor motor = BLDCMotor(7);如下图2所示。
第21行,BLDCDriver3PWM driver = BLDCDriver3PWM(11,10,9,8);如下图 3 所示
第41行,driver.voltage_power_supply = 24;如下图4所示。
第57行,motor.PID_velocity.I = 2;如下图5所示。
第60行,motor.voltage_limit = 1; 如下图6所示。
-
连接开发板后,上传代码,并等待上传完成。
-
打开串口监视器,等待完成初始化,如下图1所示。
-
输入位置信息 T62.8,并点击发送,如下图1,2所示。
正转一圈约数值增加6.28(2π),反转一圈数值减少6.28(2π)。
-
可观察到电机转动约10圈,并返回位置信息,如下图3所示。
-
输入不同位置信息,可观察电机转动,并停在不同位置。
-
用手拨动电机会发现有阻力,松手后电机会返回原先的位置。
3.2 闭环速度测试
-
打开示例:文件 -> 示例 -> Simple FOC -> motion_control -> velocity_motion_control -> magnetic_sensor -> velocity_control,如下图1,2,3,4,5,6,7所示。
-
修改文件,如下图所示。
第16行,用“//”屏蔽,如下图1所示:
如果用I2C接口需要:第18行,删除“//”,取消屏蔽,如下图1所示。
如果用Analog接口需要:第19行,删除“//”,取消屏蔽。
第22行,BLDCMotor motor = BLDCMotor(7);如下图2所示。
第23行,BLDCDriver3PWM driver = BLDCDriver3PWM(11,10,9,8);如下图 3 所示
第43行,driver.voltage_power_supply = 24;如下图4所示。
第56行,motor.PID_velocity.I = 2;如下图5所示。
第59行,motor.voltage_limit = 1; 如下图6所示
-
连接开发板后,上传代码,并等待上传完成。
-
打开串口监视器,等待完成初始化,如下图1所示。
-
输入速度信息 T2,并点击发送,如下图1,2所示。
-
可观察到电机会以2圈/秒的转速转动,并返回转速信息,如下图3所示。
-
输入不同转速信息,可观察电机以不同转速转动。
Makerbase SimpleFOCMINI 基本测试 到此结束。
请继续关注后续课程。
欢迎加入 创客基地 电机控制Q群 讨论电机控制相关问题:732557609
欢迎光临 创客基地 B站 了解技术资料:
https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店 采购产品:
https://makerbase.taobao.com/