4. 精度与分辨率测试:静态精度、动态精度与细分误差

精度和分辨率,这两个词在编码器领域经常被混为一谈。但说实话,它们完全是两码事。分辨率是编码器能分辨的最小位移量,而精度是实际位置与真实位置的偏差。我见过不少工程师拿着高分辨率的编码器,就以为系统精度一定高——结果被现场数据狠狠打脸。

这一章,我们就来拆解精度与分辨率的测试方法。我会把静态精度、动态精度、分辨率验证和细分误差分析这四块内容,结合我踩过的坑,一一讲清楚。

核心概念速查:

  • 分辨率:编码器能输出的最小位置增量。比如 23 位绝对值编码器,分辨率就是 360°/2^23 ≈ 0.000043°。
  • 精度:编码器输出值与真实值的偏差。通常用角秒或微米表示。
  • 细分误差:在模拟信号细分过程中,由于信号正交性、幅值偏差、直流偏置等非理想因素引入的周期性误差。
精度与分辨率测试知识体系 精度与分辨率测试知识体系 精度与分辨率测试 静态精度测试 动态精度测试 分辨率验证 细分误差分析 多位置比对法 自准直仪法 恒速跟踪法 激光干涉比对 最小步进测试 噪声基底分析 李萨如图分析 FFT谐波提取 ⚠ 注意:精度测试需要高等级基准设备 基准设备精度至少比被测编码器高 3 倍以上

4.1 静态精度测试方法

静态精度测试,说白了就是让编码器停在某个位置,看它报的值准不准。听起来简单,但做起来门道很多。

方法一:多位置比对法

这是最常用的方法。你需要一个高精度的基准角度基准——比如多面棱体加自准直仪,或者高精度圆光栅。我个人习惯用 24 面棱体,每隔 15° 测一个点。为什么是 24 面?因为 360/24=15°,正好覆盖整周,而且棱体面数越多,对安装偏心越敏感。

测试步骤大致如下:

  1. 将编码器轴与多面棱体同轴安装,锁紧。
  2. 自准直仪对准棱体第一个面,记录编码器读数。
  3. 旋转轴到下一个棱体面,再次记录编码器读数。
  4. 重复直到测完所有面。
  5. 计算每个位置的偏差:Δθ = θ_编码器 - θ_基准。

我的经验: 安装偏心是静态精度测试最大的敌人。我曾经有一次测出来的误差曲线呈正弦波形状,折腾了两天才发现是编码器轴心与棱体中心偏了 0.02mm。所以,测试前一定要用千分表打一下跳动,控制在 0.005mm 以内。

方法二:自准直仪配合多齿分度台

如果被测编码器是绝对式的,而且你需要更高的测试密度(比如每 1° 一个点),多面棱体就不够用了。这时候我会用多齿分度台。它利用端面齿盘啮合定位,重复定位精度可以做到 0.1 角秒以内。

测试流程类似,但分度台可以任意角度定位。不过要注意:分度台每次啮合都会产生微小的切向力,如果编码器轴系刚度不够,读数会跳变。嗯,这里要注意,测试前先预啮合几次,让机械充分稳定。

4.2 动态精度测试方法

静态精度只能反映编码器在静止状态下的表现。但实际应用中,编码器是转着的。动态精度测试,就是看编码器在运动过程中,输出值跟真实位置之间的偏差。

恒速跟踪法

这个方法比较直观。让电机带着编码器匀速旋转,同时用高精度基准(比如激光干涉仪或高精度圆光栅)同步采集位置。然后对比两条轨迹的差值。

我一般会测三个速度段:低速(1 rpm)、中速(100 rpm)、高速(额定转速)。为什么?因为不同速度下,编码器的动态响应和信号处理延迟表现不一样。低速时细分误差占主导,高速时信号传输延迟和电气噪声会更明显。

避坑指南: 我曾经在高速测试时发现编码器输出突然跳变,排查了很久,最后发现是屏蔽层接地不良,导致高速脉冲串被共模噪声干扰。所以动态测试时,示波器一定要挂在编码器输出端,实时监控信号质量。

激光干涉比对法

对于直线编码器,或者需要极高动态精度的旋转编码器,我会用激光干涉仪做基准。激光干涉仪的分辨率可以到纳米级,而且响应速度极快,能捕捉到编码器在加减速过程中的瞬时误差。

测试时,让运动平台按照预设的速度曲线(比如梯形或 S 形)运动,同时采集激光干涉仪和编码器的位置数据。然后做同步对齐,计算逐点误差。

这里有个关键点:数据同步。激光干涉仪和编码器的采样时钟必须同步,否则时间偏差会直接映射成位置误差。我习惯用硬件触发信号来同步,而不是软件时间戳——软件同步的抖动太大,尤其在高速运动时。

4.3 分辨率验证

分辨率验证,不是看 datasheet 上写的多少位,而是实测编码器到底能不能稳定输出最小步进值。

最小步进测试

这个方法很简单:让编码器轴转动一个理论最小步进角度,看输出值是否变化。比如一个 23 位编码器,最小步进是 360°/2^23 ≈ 0.000043°。你需要一个能精确控制这么小角度的微动台。

实际操作中,我会用压电陶瓷微动台,分辨率可以到 0.001 角秒。让微动台每次走一个步进,记录编码器输出。连续测 100 次,如果每次输出都正确变化,说明分辨率达标。

注意: 分辨率验证不能只看单次。编码器内部可能有抖动或噪声,导致偶尔跳变。我一般会统计 100 次测试中正确响应的比例,低于 95% 就认为分辨率不达标。

噪声基底分析

这个方法更深入一些。把编码器固定在静止状态,连续采集一段时间(比如 10 秒)的输出值。然后看这些值的标准差。如果标准差小于 1/2 个最小步进,说明分辨率是真实的;如果标准差接近甚至超过 1 个步进,说明分辨率被噪声淹没了。

我见过一些编码器,标称 20 位,但静止噪声就有 3-4 个 LSB。这种编码器在实际系统中根本发挥不出 20 位的性能。所以,分辨率验证一定要结合噪声分析。

4.4 细分误差分析

细分误差,是模拟量编码器(正余弦编码器)和磁编码器的「老大难」问题。它来源于信号的非理想性,比如正弦和余弦信号的幅值不等、正交性偏差(不是严格的 90° 相位差)、直流偏置等。

李萨如图分析法

把正余弦信号分别输入示波器的 X 和 Y 通道,你会看到一个圆(理想情况)或椭圆(有误差)。李萨如图的形状直接反映了信号质量:

李萨如图形状 可能的误差类型
标准圆 信号理想,无误差
椭圆(长轴在 45° 方向) 幅值不相等
椭圆(长轴在 0° 或 90° 方向) 正交性偏差
圆心偏移 存在直流偏置
图形扭曲、有毛刺 谐波失真或噪声

我个人习惯用示波器的 XY 模式直接看李萨如图,同时用 FFT 分析信号的谐波成分。这样能快速定位问题。

FFT 谐波提取法

细分误差通常表现为周期性误差,其频率是信号基频的整数倍。通过 FFT 分析,可以提取出各次谐波的幅值和相位,进而反推出误差来源。

举个例子,如果 FFT 显示 2 次谐波幅值较大,说明信号存在幅值不对称或正交性偏差。如果 3 次谐波明显,说明信号有非线性失真。

我的经验: 有一次我调试一个磁编码器,细分误差始终在 ±5 角秒左右,怎么都降不下去。后来用 FFT 一看,发现 4 次谐波特别大。排查了半天,原来是磁钢的充磁不均匀,导致磁场波形有四次谐波。换了高精度磁钢后,误差直接降到 ±1 角秒以内。

细分误差的补偿方法

如果硬件上无法完全消除误差,可以通过软件查表补偿。具体做法是:

  1. 用高精度基准测出编码器在一个信号周期内的误差曲线。
  2. 将误差曲线离散化为查找表,比如每 1° 电角度一个补偿值。
  3. 在实时系统中,根据当前电角度查表,对输出值进行修正。

这种方法可以补偿掉大部分周期性细分误差。但要注意,补偿表需要定期校准,因为温度变化会导致信号特性漂移。

警告: 细分误差补偿不是万能的。如果信号本身信噪比很差,或者存在非周期性误差(比如机械振动),补偿效果会大打折扣。我建议先通过硬件手段把信号质量做到足够好,再用软件补偿做「锦上添花」。

好了,精度与分辨率测试这部分内容就讲到这里。静态精度看的是「停得准不准」,动态精度看的是「跑得稳不稳」,分辨率验证看的是「能不能分辨」,细分误差分析看的是「信号干不干净」。四者缺一不可,才能全面评估编码器的真实性能。