ODrive踩坑ODrive配置使用AS5047P磁编码器的ABI接口
Posted Mark_md
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ODrive踩坑ODrive配置使用AS5047P磁编码器的ABI接口相关的知识,希望对你有一定的参考价值。
前两篇已经介绍过ODrive
在Windows
下的使用环境搭建,以及TLE5012B - ABI编码器闭环运动的基本配置
。
ODrive踩坑(一)windows下使用环境的搭建,odrivetool及USB驱动的安装
ODrive踩坑(二)电机和编码器参数配置、校准、位置闭环模式转动电机(TLE5012B - ABI)
1、AS5047P简介
这次使用的是另一款磁编码器:AS5047P
。性能方面优于 TLE5012B-E1000
。
AS5047P 是一款14位绝对角度
位置传感器,适用于最高 28K RPM 转速的测量,动态角度误差最大值约为 ±0.2°。拥有 SPI、ABI、UVW、PWM 等多种接口。配备了革命性的集成 动态角度误差补偿(DAEC™)
,延迟几乎为零,并提供强大的设计,可抑制外部杂散磁场的影响。
ODrive
支持 AS5047 的SPI接口,但配置较为麻烦,也较容易出错,SPI设置会在下一章单独介绍。
这章主要来说 AS5047P 的ABI接口,之前用的磁编码器型号为 TLE5012B-E1000
,与之相比,AS5047P
有如下好处:
- 14 位绝对角度位置传感器。(分辨率虽然比
TLE5012B-E1000
低1位,但拥有更高的动态精度) - 适用于最高 28K RPM 转速的测量,动态角度误差最大值约为 ±0.2°。
- 通信支持 标准
4线SPI
标准接口。 - 拥有 SPI、ABI、PWM、UVW 等多种位置角度输出方式。
- ABI 接口可配置输出为 4096/4000/2048/2000/1600/1200/1024/800/400/200/100 步每转。(有默认值,如需调整需OTP编程,只可更改一次)(注意:ABI 接口最大只支持 12位输出。)
2、AS5047P 与 TLE5012B 参数对比
2.1、最高转速
TLE5012B-E1000
支持的最高转速仅为 10K RPM
。
AS5047P
适用的最高转速仅为 28K RPM
。
2.2、定位精度、动态误差
虽然 AS5047P
的分辨率比 TLE5012B-E1000
的15位少了1位,但这并不影响 AS5047P
要好于 TLE5012B-E1000
的事实。与ADC好坏的判断标准一样,不止要看分辨率,更重要的是精度。
AS5047P
的手册中明确给出了测试结果,动态角度误差
最大值约为 ±0.2°。
而 TLE5012B-E1000
在这方面没有详细的测试结果,手册中仅给出:在整个使用寿命和温度范围内,启用自动校准,最大1.0° 角度误差。
2.3、系统延迟
AS5047P
内置了动态角度误差补偿 (DAEC™)
,可用于减少系统传播延迟并动态补偿误差。
没有启动 DAEC™
时,ABI 接口的系统传播延迟最小为 90us,而启动后则降低为 小于 2us
。
TLE5012B-E1000
即使开启了角度预测,ABI(IIF)接口的延迟也要 大于 70us
。
考虑到无刷电机高转速的运动场合,几十us会带来几十度的误差,这方面AS5047P
完胜。
另外最最重要的一点,ODrive
仅能使用 TLE5012B-E1000
的ABI接口,而对于 AS5047P
则可同时使用 ABI 和 SPI。
3、ODrive配置使用AS5047P 的ABI接口
过程与TLE5012B
的ABI配置基本一致,参照如下:
ODrive踩坑(二)电机和编码器参数配置、校准、位置闭环模式转动电机(TLE5012B - ABI)
唯一不同之处在于1.4、配置编码器参数
,AS5047P
的 cpr 配置为 4000
。
# 配置电机0编码器CPR(每转一圈,编码器的计数),为编码器线束*4,博客开篇有讲
odrv0.axis0.encoder.config.cpr = 4000
以上是关于ODrive踩坑ODrive配置使用AS5047P磁编码器的ABI接口的主要内容,如果未能解决你的问题,请参考以下文章
ODrive踩坑ODrive配置AS5047P-SPI绝对值磁编码器,不需每次上电校准无刷电机,直接上电可用
ODrive踩坑电机和编码器参数配置校准位置闭环模式转动电机
ODrive踩坑windows下使用环境的搭建,odrivetool及USB驱动的安装