SimpleFOC之ESP32(八)—— ABZ编码器电机
SimpleFOC教程目录:
一、增量式编码器介绍
-
ABZ或者ABI,叫法不同但都是指 增量式编码器; ABZ编码器最初是光电式的,近几年随着磁编码器的兴起,磁编码器上也增加了ABZ信号的输出; A、B两相相差90度,可通过比较A相在前还是B相在前,以判断编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。 一般采用四倍频技术,比如500线的编码器,转一圈可以获得2000个脉冲信号,
二、ESP32drive控制霍尔电机
2.1、原理图
2.2、读编码器获取角度
2.2.1、硬件准备
带编码器电机 购买链接: ESP32drive 购买链接:
2.2.2、硬件连接
2.2.3、代码演示
-
2.2.3.1、打开示例 2.2.3.2、修改代码
2.2.4、观察角度输出
-
如果编码器的CPR设置正确,转动电机一圈,角度输出刚好是6.28 rad,
2.3、控制电机
2.3.1、硬件连接
带编码器电机 购买链接: ESP32drive 购买链接:
2.3.2、代码演示
-
打开示例 修改代码
2.3.3、观察电机运行
-
性能和SPI接口差不多, AS5047P和TLE5012B都经过了测试,TLE5012B的最大转速没有AS5047P的高,大概是因为TLE5012B的CPR比AS5047P大,导致进入中断的频率高,影响了单片机的处理速度。
三、ESP32drive-D控制电机
3.1、原理图
3.2、硬件连接
带编码器电机 购买链接: ESP32drive-D 购买链接:
3.3、控制单个电机
-
代码在上面的ESP32drive的基础上修改,只需改动驱动引脚配置,
3.4、控制双电机
3.4.1、打开示例
3.4.2、修改代码
3.4.3、观察电机运行
3.4.4、双电机控制出现的问题
-
电机初始化一切正常,发送指令,电机转动也正常,但会逐渐失控,表现为转速越来越快。
