Makerbase SimpleFOC Shield V3.2 第一课 基本测试

Makerbase SimpleFOC Shield V3.2 第一课 基本测试

第一部分 硬件介绍

1.1 硬件清单

序号 品名 数量
1 SimpleFOCShield V3.2 1
2 2808航模电机 1
3 12V电源适配器 1
4 AS5600编码器和配线 1
5 USB Type-B数据线 1

1.2 硬件跳线

SimpleFOCShield V3.2主板背面跳线如下图:

第二部分 软件配置

2.1软件准备

Arduino 版本:1.8.13

官方下载链接:项目首页 - arduino-esp32:Arduino core for the ESP32 - GitCode

企鹅群下载:732557609(群号)

2.2安装库

SimpleFOC库版本:2.2.1

1、点击"项目"→"加载库"→"管理库"

2、在搜索框中输入simplefoc搜索,选择版本:2.2.1,点击安装

安装完成后需要重启Arduino软件

第三部分 开环电机控制测试

注意:①开环测试主要用于测试硬件功能,长时间运行会导致驱动芯片和电机严重发热,运行时长不宜超过一分钟;

②示例中使用的是2808航模电机和DC12V电源,使用其他电机和电源时应根据实际情况输入适配的参数;

3.1 硬件连接

1、SimpleFOCShield V3.2主板插入Arduino uno主板;

2、接入电源线和电机的三相线;

3、使用Type-B数据线连接主板与PC

硬件连接如下图所示:

3.2 开环速度控制测试

1、点击"文件"→"示例"→"Simple FOC"→"motion_control"→"open_loop_motor_control"→"open_loop_velocity_example",打开官方开环电机速度测试示例;

2、根据选用的电机修改代码中的参数

①第7行,极对数参数:BLDCMotor motor = BLDCMotor();中的值修改为7;

②第9行,PWM接口修改为(6,10,5,8);

③根据供电电压修改driver.voltage_power_supply的值,示例使用DC12V电源,故此处没有做修改;

④做好电机电压限制,修改motor.voltage_limit的值为0.5(建议航模电机为0.5~1.0,云台电机4以下);

3、点击"工具"→"端口",选择主板对应的端口

4、点击"工具"→"开发板"→"Arduino AVR Boards"→"Arduino Uno"选择正确的开发板型号;

5、点击软件右上角的编译上传按钮;

6、烧录成功

7、点击"工具"→"串口监视器",在输入框中输入"T+数字"的指令,就可以控制电机以指定的速度运行(单位:rad/s),如下图所示,输入T10则是以10rad/s的速度开环控制电机运行;

3.3 开环位置控制控制

1、点击"文件"→"示例"→"Simple FOC"→"motion_control"→"open_loop_motor_control"→"open_loop_position_example",打开官方开环电机位置测试示例;

2、修改代码

①第七行,BLDCMotor motor = BLDCMotor(7);

②第九行,BLDCDriver3PWM driver = BLDCDriver3PWM(6, 10, 5, 8);

③第四十一行,motor.voltage_limit = 0.5;

3、选择正确的主板型号和端口后,编译上传代码;

4、打开串口监视器;

5、输入"T+数字"的指令,控制电机开环位置运行,例如输入"T3.14"就是控制电机转动到180°的位置(弧度制);

第四部分 编码器测试

4.1 硬件连接

1、Analog 接口接线

AS5600编码器Analog接口与SimpleFOCShield V3.2主板接口对应关系如下表:

序号 AS5600编码器(Analog接口) SimpleFOCShield V3.2
1 5V(3.3V共用) 3.3V
2 GND GND
3 OUT A1

2、I2C接口接线

1、AS5600编码器I2C接口与SimpleFOCShield V3.2主板接口对应关系如下表:

序号 AS5600编码器(I²C接口) SimpleFOCShield V3.2
1 5V(3.3V共用) 3.3V
2 GND GND
3 SCL SCL
4 SDA SDA


4.2 Analog 接口测试

1、点击"文件"→"示例"→"Simple FOC"→"utils"→"sensor_test"→"magnetic_sensors"→"magnetic_sensor_analog"→"magnetic_sensor_analog_example",打开官方磁编码器模拟接口测试示例;

2、编译上传代码

3、打开串口监视器,可以看到窗口返回的编码器信息,左列是位置信息,右列是速度信息,手动转动电机,可以观察到数据的变化,如下图:

4.3 I2C接口

1、点击"文件"→"示例"→"Simple FOC"→"utils"→"sensor_test"→"magnetic_sensors"→"magnetic_sensor_i2c"→"magnetic_sensor_i2c_example",打开官方磁编码器模拟接口测试示例;

2、编译上传代码

3、打开串口监视器,可以看到返回的编码器信息,左列是位置信息,右列是速度信息,手动转动电机,可以观察到数据的变化,如下图:

Makerbase SimpleFOC Shield V3.2 第一课 基本测试,到此结束。

请继续关注后续课程。


欢迎加入 创客基地 电机控制企鹅群 讨论电机控制相关问题:732557609

欢迎光临 创客基地 B站 了解技术资料:

https://space.bilibili.com/393688975

欢迎光临 创客基地 tb店 采购产品:

https://makerbase.taobao.com/

相关推荐
hlpinghcg3 个月前
无刷直流电机(BLDC)六步换向法
算法·simulink·电机控制·bldc·六步换向
youcans_4 个月前
【动手学电机驱动】STM32-FOC(10)使用旋钮调节电机转速
stm32·单片机·电机控制·foc·pmsm
youcans_4 个月前
【动手学电机驱动】STM32-FOC(9)无感 FOC 电机转速调节
stm32·单片机·嵌入式硬件·电机控制·foc
youcans_4 个月前
【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识
stm32·单片机·嵌入式硬件·电机控制·foc
朴人6 个月前
【从零开始实现stm32无刷电机FOC】【实践】【7.2/7 完整代码编写】
stm32·单片机·嵌入式硬件·foc
mengjiexu_cn6 个月前
FOC电机驱动开发踩坑记录
c++·svpwm·foc·滑膜控制器
别问,问就是全会6 个月前
FOC矢量控制
电机控制·svpwm·foc·bldc
朴人9 个月前
【从零开始实现stm32无刷电机FOC】【实践】【5/6 stm32 adc外设的高级用法】
stm32·单片机·嵌入式硬件·foc
朴人9 个月前
【从零开始实现stm32无刷电机FOC】【理论】【3/6 位置、速度、电流控制】
stm32·单片机·嵌入式硬件·电机控制·foc