【simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机】
目录
- 一、增量式编码器介绍
- 二、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个脉冲信号,
文章图片
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/62106c73965e40a5aa4849ca2ffc2b92.jpg)
文章图片
?
2.2、读编码器获取角度 2.2.1、硬件准备
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive | 1 |
3 | 带增量编码器电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
带编码器电机 购买链接:某宝购买
ESP32drive 购买链接:某宝购买
?
2.2.2、硬件连接
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/2d5123f6e8c046d2b77d048b642f22d3.jpg)
文章图片
2.2.3、代码演示
- 2.2.3.1、打开示例
文章图片
- 2.2.3.2、修改代码
文章图片
- 如果编码器的CPR设置正确,转动电机一圈,角度输出刚好是6.28 rad,
文章图片
?
带编码器电机 购买链接:某宝购买
ESP32drive 购买链接:某宝购买
?
2.3.2、代码演示
- 打开示例
文章图片
- 修改代码
文章图片
文章图片
- 性能和SPI接口差不多,
- AS5047P和TLE5012B都经过了测试,TLE5012B的最大转速没有AS5047P的高,大概是因为TLE5012B的CPR比AS5047P大,导致进入中断的频率高,影响了单片机的处理速度。
文章图片
?
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/834581080b404a1a8b3d6eb9c73e5b45.jpg)
文章图片
3.2、硬件连接
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive-D | 1 |
3 | 带编码器电机 | 2 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
带编码器电机 购买链接:某宝购买
ESP32drive-D 购买链接:某宝购买
?
3.3、控制单个电机
- 代码在上面的ESP32drive的基础上修改,只需改动驱动引脚配置,
文章图片
?
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/d39de73fd9cc4f7f811d97872f416dc6.jpg)
文章图片
?
3.4.2、修改代码
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/e5a7c90123cf4c529fd506b4b34f835c.jpg)
文章图片
?
3.4.3、观察电机运行
![simpleFOC|SimpleFOC之ESP32(八)—— ABZ编码器电机](https://img.it610.com/image/info8/f58780bc78cb4da286b9560c2a23022e.jpg)
文章图片
3.4.4、双电机控制出现的问题
- 电机初始化一切正常,发送指令,电机转动也正常,但会逐渐失控,表现为转速越来越快。
- 单电机控制都正常,双电机控制不行,
- 霍尔电机和ABZ编码器的处理方式都是利用引脚中断,在信号没有硬件和软件滤波的情况下,出现问题是正常的。
- 目前只能学习演示,等待创作者升级。
?
(完)
?
?
欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:CSDN)
?
?
请继续阅读相关文章:
SimpleFOC之ESP32(一)—— 搭建开发环境
SimpleFOC之ESP32(二)—— 开环控制
SimpleFOC之ESP32(三)—— 闭环控制
SimpleFOC之ESP32(四)—— 电流闭环控制Inline
SimpleFOC之ESP32(五)—— 电流闭环控制Lowside
SimpleFOC之ESP32(六)—— 双电机控制
SimpleFOC之ESP32(七)—— 霍尔电机
SimpleFOC之ESP32(八)—— ABZ编码器电机
SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈
推荐阅读
- simpleFOC|SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈
- ESP32|[教程] ESP32+TFT+分光棱镜实现透明小电视
- 拯救NodeMCU ESP-32S v1.1
- PlatformIO IDE搭建统一的物联网嵌入式开发环境
- esp32的spi驱动的编写遇到的问题
- esp8266|arduino ESP32各外设例程 esp32外设代码查询