一、增量式编码器介绍
二、ESP32drive控制霍尔电机
- 2.1、原理图
- 2.2、读编码器获取角度
- 2.2.1、硬件准备
- 2.2.2、硬件连接
- 2.2.3、代码演示
- 2.2.4、观察角度输出
- 2.3、控制电机
- 2.3.1、硬件连接
- 2.3.2、代码演示
- 2.3.3、观察电机运行
- 三、ESP32drive-D控制电机
- 3.1、原理图
- 3.2、硬件连接
- 3.3、控制单个电机
- 3.4、控制双电机
- 3.4.1、打开示例
- 3.4.2、修改代码
- 3.4.3、观察电机运行
- 3.4.4、双电机控制出现的问题
- 问题总结分析
SimpleFOC教程目录:请点击
一、增量式编码器介绍
- ABZ或者ABI,叫法不同但都是指 增量式编码器;
- ABZ编码器最初是光电式的,近几年随着磁编码器的兴起,磁编码器上也增加了ABZ信号的输出;
- A、B两相相差90度,可通过比较A相在前还是B相在前,以判断编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。
- 一般采用四倍频技术,比如500线的编码器,转一圈可以获得2000个脉冲信号,
二、ESP32drive控制霍尔电机
2.1、原理图
2.2、读编码器获取角度
2.2.1、硬件准备
序号 | 名称 | 数量 |
1 | USB转串口 | 1 |
2 | ESP32drive | 1 |
3 | 带增量编码器电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技 2804电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
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 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技 2804电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
2.3.2、代码演示
- 打开示例
- 修改代码
2.3.3、观察电机运行
- 性能和SPI接口差不多,
- AS5047P和TLE5012B都经过了测试,TLE5012B的最大转速没有AS5047P的高,大概是因为TLE5012B的CPR比AS5047P大,导致进入中断的频率高,影响了单片机的处理速度。
三、ESP32drive-D控制电机
3.1、原理图
3.2、硬件连接
序号 | 名称 | 数量 |
1 | USB转串口 | 1 |
2 | ESP32drive-D | 1 |
3 | 带编码器电机 | 2 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
ESP32drive 购买链接:https://item.taobao.com/item.htm?ft=t&id=662591519566,图锐科技 2804电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
3.3、控制单个电机
- 代码在上面的ESP32drive的基础上修改,只需改动驱动引脚配置,
3.4、控制双电机
3.4.1、打开示例
3.4.2、修改代码
3.4.3、观察电机运行
3.4.4、双电机控制出现的问题
- 电机初始化一切正常,发送指令,电机转动也正常,但会逐渐失控,表现为转速越来越快,或者突然堵转。
问题总结分析
- 单电机控制都正常,双电机控制不行,
- 霍尔电机和ABZ编码器的处理方式都是利用引脚中断,在信号没有硬件和软件滤波的情况下,出现问题是正常的。
- 目前只能学习演示,等待创作者升级。