ams OSRAM AS5047P标称14-bit、最高28,000rpm,但ABI最高只有1024 PPR,会让低速伺服速度反馈变得更粗
首发于公众号「如是有为」 · 查看原文

前两天又看到有人拿ams OSRAM AS5047P做电机位置反馈,开口就是一句:
“14位,16384个位置,一般伺服肯定够了。”
这句话不能说错,但很容易把人带沟里。
因为AS5047P确实是14-bit角度传感器,最高转速也能做到28,000 rpm,但如果你最后接的不是SPI,而是驱动器最常见的ABI接口,那你真正拿到的并不是16384个增量计数。
它的ABI最高是1024 PPR,四倍频以后是4096 steps/rev。
也就是说,同一颗芯片,走SPI和走ABI,你看到的“分辨率”根本不是一回事。
很多选型翻车,就翻在这里。
实验室里高速跑起来通常没什么感觉。电机一转快,一个控制周期里能跨过很多个count,速度估算看着也挺顺。
真正容易暴露问题的是低速。
4096 counts一圈,单个count对应大约0.088°机械角。如果电机转得很慢,控制周期又很短,就会出现一种特别典型的现象:
连续几个周期位置不动,突然跳一个count。
速度反馈自然就会变成:
0、0、0、突然跳一下、再回到0。
这时候你在示波器上看到的,往往不是“分辨率不足”这么四个字,而是低速速度波形发毛,电流跟着轻微抖,电机爬行时不够顺。
然后大家开始调PI,改滤波,怀疑摩擦,怀疑机械,怀疑电流环。
折腾一晚上以后才发现,问题根本不是控制器突然变差了,而是你以为自己用了14-bit反馈,实际上控制环吃到的是4096个增量位置。
这也是编码器芯片特别容易让人误判的地方。
14-bit是真的,28,000 rpm也是真的,ABI只有1024 PPR也是真的。
问题不在厂家参数,而在于工程师很容易把几个不同层级的参数自动拼成一句:
“这颗芯片14位,所以A/B输出也是14位。”
实际上不是。
AS5047P内部角度计算和SPI绝对角输出是一套东西,ABI增量输出又是另一套东西。
而且这颗芯片的高速能力本身并不弱。它有DAEC动态角度误差补偿,目的就是降低高速旋转时内部处理延迟带来的角度滞后。
所以它很适合很多高速电机、BLDC、PMSM场景。
但“高速能跑得很好”和“低速反馈足够细”,从来不是同一个指标。
这也是我现在看编码器芯片越来越警惕的一件事:
数据手册第一页的那个“大数字”,通常不能直接拿来判断控制效果。
真正有意义的是,你最后通过什么接口把位置送进控制器。
如果走SPI,那就按SPI的绝对角数据去看。
如果走ABI,就老老实实按PPR和四倍频后的计数去看。
不要把“芯片内部有多少位”,直接当成“控制器最后拿到了多少位”。
很多时候,芯片没选错,参数也没看错。
只是你看对了数字,却理解错了它出现的位置。
而伺服系统最麻烦的故障,往往就从这种“小误解”开始。

关注公众号「如是有为」
微信扫一扫,新文章先在公众号发出。