KTM5200 已经做到 ±0.015°,但为什么伺服电机还是会"嗡嗡"?
首发于公众号「如是有为」 · 查看原文

伺服工程实践系列
昆泰芯 KTM5200 校准后 INL 典型值可达 ±0.015°,但只验位置精度这个坑,会导致伺服低速扭矩纹波和发哼
很多伺服团队验的是“角度准不准”,客户最后投诉的却是“电机叫不叫”。
做编码器芯片有一个很有意思的错位。
我们在实验室里评价一颗芯片,电脑上经常盯着一条曲线:INL。
±0.1°。±0.05°。再往下压。
昆泰芯 KTM5200 是一颗高速高精度在轴 AMR 角度编码器,校准后 INL 典型值可以做到 ±0.015°。这个数字放在编码器芯片里已经很漂亮了。
但如果你问:做到 ±0.015°,装进伺服电机是不是就一定安静?我不会马上回答“是”。
甚至在实验室里,我可能会把 INL 那张图先关掉。因为做伺服以后你会慢慢发现一件很反直觉的事:客户的耳朵,不认识 ±0.015°。它只认识那一声——“嗡——”。
01
客户的耳朵,不认识 ±0.015°

有一次排类似的低速问题,我盯着屏幕上的角度误差,第一眼其实没觉得有什么大事。误差不大,没有跳变,通信也干干净净。
如果按传统编码器验收思路,这时候很容易得出一句话:位置没问题。
但电机就在桌子上转。速度一降下来,那声低频的“嗡嗡”又出来了。手搭在电机壳上,能感觉到很轻的周期振动。
这时候最危险的动作是什么?拿扳手。因为声音从机械端出来,人会本能地去查轴承、装配、转子、共振。
我没动机械。我做了一件看起来有点多余的事:把位置误差的横轴从“角度”换成“阶次”。
屏幕上的东西突然就不一样了。原来那条看起来幅值不大的误差曲线,并不是乱的。它在一圈里面,有规律地重复。
我在本子上写了两个字:“几阶?” 这两个字,把整个问题的方向改了。
02
先别拆轴承,先看阶次

这是很多人理解编码器时最容易漏掉的一层。假设编码器一圈的位置误差只有一个很小的周期波纹。站在编码器工程师的角度,我们很容易问:峰峰值多少?INL 超没超?
但站在伺服控制器的角度,它问的根本不是这个。它问的是:你这个误差,一圈来几次?
因为只要电机转起来,“每圈重复 N 次”就会立刻变成一个频率。
f = N × rpm / 60
然后干一件特别笨、但特别好用的事:换转速。
100 rpm 跑一次。200 rpm 再跑一次。如果那个峰也差不多跟着翻倍,我就不会再轻易把它当随机噪声。
这时候我甚至还不需要知道最终责任是谁。至少我已经抓住了一根线头:这个东西跟转子角位置有关。
03
一圈来几次,就会变成一个频率

很多现场排障,真正值钱的不是一上来就找到答案,而是先把错误的方向砍掉一半。
换转速的价值就在这里:同步于转子位置的误差,会随转速把频率一起搬走;随机噪声则不会以同样的阶次关系老老实实跟着你。
04
我接下来不盯 INL,我去拉 Iq

接下来我不会继续死盯 KTM5200 的角度曲线。我会转头找驱动工程师:“把 Iq 给我。”
这是编码器工程师特别容易少做的一步。我们太习惯在自己的边界里面证明自己:角度对不对,SPI 对不对,ABZ 对不对,寄存器对不对。证明完以后来一句:“芯片没问题。”
但是客户为什么要买编码器?不是为了在电脑上欣赏一条漂亮的角度曲线。它最终是要进控制环的。
FOC 要拿这个角度做坐标变换。假设编码器给出的角度和真实转子角度差了 Δθm,到了电机里面还要考虑极对数:
Δθe = p × Δθm
这时候一个“机械角上看起来很小”的东西,已经进入了电角度。如果这个误差还是周期性的,dq 坐标系就不是安安静静地跟着转子转,它在轻微地晃。
于是原本应该稳定的 Id、Iq,也可能跟着留下周期成分。而 Iq 后面是什么?扭矩。
到这里,编码器实验室里的那条小波纹,第一次和客户耳朵里的“嗡”接上了。
05
三张图,突然开始讲同一个故事

真正让我兴奋的从来不是某张图“超标”,而是三张完全不同的图,突然开始讲同一个故事。
第一张:位置误差阶次谱。这里有一个峰。
第二张:Iq。对应位置又看到了它。
第三张:振动或者速度纹波。它还在。然后换转速,那个东西跟着跑。
这时候我才会在实验本上重重画一条链:
位置误差 → 电角度误差 → dq 电流扰动 → 扭矩纹波 → 电机振动 → 嗡声
做到这里,会议室里那句经典问题:“到底是不是编码器的问题?”终于可以换一种问法:“这个阶次到底是从哪一级进来的?”
后一个问题,工程师能解决。前一个问题,通常只能吵架。
06
别只问误差多大,还要问误差长什么样

这也是为什么,我现在看 KTM5200 这种高精度编码器,不会只盯着“±0.015°”。
注意,我不是说 ±0.015° 不重要。恰恰相反,INL 是非常重要的基础能力。KTM5200 基于 AMR 技术,校准后 INL 典型值可以做到 ±0.015°,ABZ 输出最高可以做到 65,536 脉冲/圈。
但如果它最终进的是伺服系统,我还会多问一句:剩下的误差长什么样?
这是一个芯片工程师和一个系统工程师看同一个参数时,视角最大的区别。芯片工程师容易看“多大”,系统工程师必须再看“长什么样”。
随机散着的 0.01°,和每机械转固定重复某个阶次的 0.01°,对闭环系统来说未必是一回事。峰值相同,不代表后果相同。
07
中间隔着控制器、电机和机械结构
更麻烦的是,这条链并不是固定增益。位置估计误差不只是影响位置,它可以产生不同阶次的扭矩谐波;而最终恶化到什么程度,还和电流控制架构有关。
这意味着你不能拿着一颗编码器,在台架上测完“精度很好”,然后直接推出“所以所有伺服上都一定很好”。
中间隔着控制器。隔着极对数。隔着采样。隔着电流环。隔着电机。隔着机械结构。
工程上最麻烦的事情,往往就藏在这些“隔着”里面。
08
高精度编码器,最后交付的不该只是一张 INL 图

所以现在如果让我验一颗准备上伺服的编码器,我不会只保存最终那张 INL 图。我的文件夹里至少会留下三层东西。
第一层,编码器自己的:角度误差、一圈误差、多圈叠加、阶次谱。
第二层,控制器的:电角度、Id、Iq、Iq_ref、速度估计。
第三层,客户最后真正感受到的:速度纹波、振动、噪声。
然后我会干一件在 PPT 上很不起眼、但在实验室特别有用的事情:把三张图的横坐标统一。
别一张是角度,一张是 Hz,一张又是 rpm,最后所有人看着三张图各说各话。统一成阶次以后,很多东西会自己跳出来。
你会突然看到:原来编码器这里的一个峰,电流里也有,振动里也有。换转速以后,它们还一起走。这时候,问题才真正从“供应商扯皮”变成“工程问题”。
这也是我做国产编码器芯片以后越来越强烈的一个感受。我们以前特别喜欢比参数:16 bit、18 bit、24 bit、±0.1°、±0.05°、±0.015°。这些数字当然要卷。KTM5200 能把校准后 INL 典型值做到 ±0.015°,这就是产品能力。
但国产编码器真正要往高端伺服里走,下一阶段不能只回答一句:“我准不准?”还得回答:“我的误差进入你的闭环以后,会发生什么?”
所以以后再碰到一台伺服低速发哼,我还是会查轴承。但扳手拿起来之前,我大概率会先把电脑拉过来:存一圈位置,做阶次谱,拉 Iq,换两个转速。
如果几个峰完全对不上,再去拆机械也不迟。但如果它们对上了——那一刻你会发现一个特别有意思的事情:客户听见的是电机在“嗡”,驱动工程师看见的是 Iq 在抖,电机工程师看见的是扭矩纹波,而坐在编码器实验室里的我,看见的可能只是:一圈 360° 里面,一个很小、却每次都准时出现的误差。
一个 ±0.0X° 的小东西,穿过整个伺服闭环以后,最后会长出声音。
高精度编码器最后交付的,不应该只是一张漂亮的 INL 图,而是一台安静转起来的电机。
补充一点基础知识:

产品事实依据:昆泰芯 KTM5200 官方公开产品资料。文中系统链路用于解释工程验证方法,具体伺服表现仍取决于电机极对数、电流环、采样与机械系统等条件。
https://www.conntek.com.cn/html/web/product/magneticCurrentLinearSensingChip/KTM52XX/index.html

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