MT6701编码器使用概述
下面以Arduino平台为例,也可以是ESP32板,其他平台如STM32可以复制库文件修改,也有类似源代码
- 使用ABZ接口
编码器默认支持ABZ,无需修改,即可。
- 单独测试MT6701编码器
接AB相即可
- 确认编码器硬件、接线正常后,开始做电机的闭环控制
使用arduino中simplefocfoc示例程序,根据引脚接线情况和电机属性,修改部分参数
实测OK
- 使用I2C接口
本编码器默认不使用I2C,需要短接I2C位置,如下图:
然后使用Simplefoc库进行控制,如下图在I2C类中加入MT6701的结构体
代码如下:
/** Configuration for MT6701 magnetic sensor over I2C interface */
MagneticSensorI2CConfig_s MT6701_I2C = {
.chip_address = 0x06, // I2C设备地址
.bit_resolution = 14, // 14位有效数据
.angle_register = 0x03, // 起始寄存器地址(高位字节)
.data_start_bit = 15 // 有效数据起始位(16位组合值中的最高位)
};
在头文件.h中加入声明
就可以引用了
本店在使用AS5600做编码器做过太多的实测,为减少篇幅,这里就不再上传基于I2C的测试。
- 使用PWM通信
默认是模拟输出,故需要修改寄存器
本店将在后续批次设置OUT_MODE默认为PWM,请关注,购买前,请咨询店家。
这里只是抛砖引玉,写得不好,详请可去麦歌恩官网下载说明书。