MagAlpha数字滤波器MA732和MA330的优势

by Dave Baker

简介

本文是MPS MagAlpha磁性旋转角度传感器系列文章的第二篇。文章探讨了MPS独有的SpinaxisTM 传感技术如何使用数字滤波来实现最终的输出分辨率,并介绍了具有可编程滤波器设置的其中两款传感器:MA732MA330。这些传感器通过前端霍尔元件阵列进行角度采样,然后将采样累积到改进后的卡尔曼型数字滤波器中,以消除噪声并提高最终的输出分辨率。

本文讨论的内容包括:

  • 输出分辨率和数字滤波器带宽之间的权衡
  • 为什么最高分辨率不一定是最好的解决方案
  • MA732MA330, 包括其可编程数字滤波器设置

MagAlpha的输出分辨率定义为具有超过1000个读数的3-sigma(σ)值。例如,MA702传感器具有11.5位的典型输出分辨率和45mT的磁场,也就是说,MA702每转有211.5 = 2896个唯一、可重复的角度位置。其角度读数遵循标准高斯分布,而且在±3σ范围内,这些读数具有99.73%的置信因数(见图1)。

sensor out

图1:±1σ, 2σ, 和3σ范围内角度读数和置信因数的高斯分布

输出分辨率由滤波器窗口尺寸的设置决定。这项设置在大多数MagAlpha器件中都是固定的,但在MA732MA330中允许用户对其编程。滤波器窗口尺寸参数越大,其处理的样本数量就越多,得到的输出分辨率也越高。

随着分辨率的提高,更多的样本被滤波,滤波器的时间常数τ(µs)也会增大,同时带宽减小。随着滤波器时间常数的增加和带宽的减小,传感器对速度变化的反应能力会变慢,也就是说,它需要更多的时间来跟上变化。随着滤波器窗口尺寸的增大,传感器上电后达到特定滤波器窗口尺寸设置的目标输出精度所花费的时间也会增加,因为滤波器不得不在一开始就加载更多的样本。因此,传感器的输出分辨率提高,其代价就是滤波器的带宽减小,对速度变化的动态响应也变慢。

表1汇总了MA732和MA330的可调滤波器窗口设置,以及同一系列中其他MagAlpha器件的默认设置。


FW (7:0)

时间常数τ (µs)

45mT磁场下的有效分辨率(bits)

fcutoff (Hz)

上电时间(ms)

默认设置
51 64 9.5 6000 0.5
68 128 10 3000 1.1 MA704
85 256 10.5 1500 2.5
102 512 11 740 5.5
119 1024 11.5 370 12 MA702, MA302
136 2048 12 185 26
153 4096 12.5 93 57 MA710, MA310
170 8192 13 46 123
187 16384 13.5 23 264 MA730


表1:MA732和MA330的滤波器窗口设置/b>

 

滤波器在稳态条件下(例如当传感器磁体以恒定速度旋转或静止时)不会引入额外的延迟,这是其结构使然。对于表1中列出的MagAlpha器件,在稳态条件下,从霍尔传感器前端到输出的SPI角度读数的总处理延迟通常固定为10µs。

滤波器传递函数可以通过公式(1)来计算:

$$H(s)= \frac {1+2τs} {(1+τs)^2}$$

其中,τ是滤波器的时间常数,它与公式(2)中的滤波器截止频率相关:

$$τ = 0.38 / fcutoff$$

固定角度滞后

在恒定速度下,10µs固定延迟时间导致的角度滞后可以通过公式(3)来计算,即将此延迟时间乘以每秒旋转速度(单位:度):

$$AngleLag_fixed = 10µs * (rotation rate in rpm/60) * 360$$

例如, 10,000rpm意味着166.7转/秒,即60,000度/秒。因此,AngleLag_fixed = 10µs * 60,000 = 0.6度。


动态角度滞后

在转速变化(加速或减速)的情况下,数字滤波器会增加一个额外的延迟,具体取决于滤波器的时间常数和速度变化的时间段。

速度变化(恒定加速度)时的附加角度滞后可以通过公式(4)来计算:

$$AngleLagDynamic = a * $$

其中“ a”是速度变化率(单位为:度/秒2),τ是滤波器的时间常数。

例如,如果MA702的τ值为1ms,MA730的τ值为16ms,我们可以看到滤波器时间常数对速度变化期间角度误差的影响。并由此确定例如在250ms内,从0rpm加速到10,000rpm的影响。

加速期和目标转速的影响可以通过公式(4)来计算。

若MA702在250毫秒内从0rpm加速到10,000rpm,10,000rpm为166.6转/秒或60,000度/秒。那么加速度将是:60,000 / 0.25 = 240,000 deg/sec2. 在250ms的加速过程中,τ值为1ms时的额外AngleLagDynamic延迟将为:240,000 * (0.001)2 = 0.24 度.

若MA730在250毫秒内从0rpm加速到10,000rpm,在250ms的加速过程中,τ值为16ms时的额外AngleLagDynamic延迟将为: 240,000 * (0.016)2 = 61.4度.

从上面的示例可以看出,更长的滤波器时间常数将在速度变化过程中更显著地影响附加的角度滞后误差。因此,选择MagAlpha传感器时,必须考虑目标系统的最大转速和最大速度变化率。

选择具有最高输出分辨率的器件可能会成为一个陷阱,因为滤波器响应可能会太慢而无法满足系统要求。

为了避免系统控制环路设计中的不稳定,理想情况下,滤波器的时间常数τ应该比环路的时间常数小约10倍。

在加速期之后,AngleLagDynamic减小为零,而角度滞后为根据旋转速度和10µs滤波器延迟而定的固定延迟AngleLag_fixed。


滤波器窗口以及对ABZ接口的影响

ABZ接口在两个通道(A和B)上输出增量正交脉冲,另外每旋转一次还输出一个索引脉冲(Z)。通道A和通道B之间的相移为90度,根据相序可以指示旋转方向(参见图2)。

Figure 2: ABZ Quadrature Encoder Interface Outputs

图2:ABZ正交编码器接口输出


MagAlpha ABZ接口的输出分辨率来自数字滤波器模块的最终分辨率。由于传感器输出具有一定的噪声,因此采用迟滞来确保滤波器输出噪声不会在ABZ接口上引起伪边沿过渡。

用户可以通过ABZ接口对所有MagAlpha器件的每转每通道脉冲数进行编程。对于大多数器件来说,每转最大ABZ脉冲计数和迟滞设置均为固定值,其值可确保器件在数据手册中规定的最小推荐磁场和最高温度下可靠地运行。

MA732MA330允许用户完全访问,并为给定分辨率设置更高的ABZ脉冲计数,并且可以调节迟滞。但必须注意,要为选择的每转脉冲计数施加足够的迟滞,以确保不会因滤波器噪声引起伪边沿(见图3)。

Figure 3: A/B Pulse Hysteresis

图3: A/B脉冲迟滞

ABZ的接口性能与数字滤波器输出端的噪声水平直接相关。通常建议将迟滞设置为1σ噪声水平的12倍。为每个滤波器窗口设置定义1σ噪声(请参见表3)。表2和表3列出了MA732和MA330的可调设置。

HYS (7:0)

迟滞(度)


200 0.08
188 0.14
148 0.18
152 0.36
156 (default) 0.52
116 0.70
120 1.4
124 2.1
84 2.8


T表2:MA732/MA330的ABZ迟滞参数


FW (7:0) 45mT下的有效分辨率 (位)

1σ噪声(度)


51 9.5 0.08
68 10 0.06
85 10.5 0.04
102 11 0.03
119 (default) 11.5 0.02
136 12 0.015
153 12.5 0.01
170 13 0.007
187 13.5 0.005


表3: 1σ 噪声与滤波器窗口(FW)设置


例如,MA732的默认滤波器窗口设置为119,此时分辨率为11.5位,1σ噪声值为0.2度。 MA732 ABZ接口的默认迟滞设置为1σ噪声值的±13倍,即±0.26度(总计0.52度)。

MA732或MA330的默认ABZ每转脉冲计数设置为1024/通道。这意味着A+B总共有4096条边沿,或边沿之间的步长为:360/4096 =0.088度。

0.52度的迟滞值对AB步长仅为0.088度的器件已经远超理想,但由于11.5位分辨率设置下的1σ噪声为0.02度,因此必须采用如此高的迟滞值。这意味着,当改变方向时,直到超过0.52度的迟滞,下一个AB边沿才会出现。可以认为,从顺时针旋转到逆时针旋转,AB边沿位置有0.52度的位移。 对于给定分辨率,要支持更高的每转脉冲计数,其代价就是更大的迟滞。

ABZ接口抖动和迟滞设置

迟滞的设置还需要进一步考虑ABZ接口中的抖动影响。将迟滞设置为高于单个AB边沿上的最大可能抖动,这一点也很重要。ABZ接口上的抖动是随机抖动和系统性抖动的组合(请参见图4)。

Figure 4: ABZ Jitter

图4: ABZ抖动

系统性抖动与传感器固有的非线性和每转脉冲数(PPT)设置有关。例如,MA702固有的非线性在室温下通常为±0.7度。在A或B上每转127个脉冲的PPT设置下,预期边沿位置的系统性抖动通常为7%。如果PPT设置值增大,则抖动百分比也会增加,因为非线性代表了较大的脉冲宽度比例。例如,在PPT为255时,系统抖动增加到13%。

随机抖动部分是给定分辨率设置和转速下传感器的噪声反映。随机抖动遵循高斯分布,并且被定义为3σ宽度的噪声分布。由于ABZ边沿位置来自于数字滤波器的深度和采样率,因此随机抖动与转速成正比。在低转速下,随机抖动小于传感器噪声,因为与高转速相比,ABZ接口在给定的时间段内可获得更多的更新。

例如,若PPT设置为127,MA702的3σ随机抖动通常为2.8%;若PPT设置为255,其随机抖动增加至5.5%。MA702的系统性抖动和随机抖动总和通常为0.3度。

在为MA732或MA330配置ABZ时,对于给定PPT设置,迟滞值应至少设置为随机ABZ抖动的两倍,以避免出现伪边沿过渡。


总结

MagAlpha系列中的滤波器窗口(FW)设置控制着传感器的输出分辨率。尽管最高分辨率是个诱人的选择,但设计人员还应考虑滤波器的时间常数对传感器对速度变化的响应时间产生的影响。分辨率和所导致的滤波器响应时间应与所需的系统控制环路性能相匹配。

滤波器窗口、每转ABZ脉冲计数和ABZ迟滞设置应根据最终系统的要求进行优化,同时考虑上述的性能折衷。    

下一篇有关MagAlpha的文章将讨论可以与MagAlpha角度传感器一起使用的磁体类型,以及如何选择正确的材料、尺寸和性能。 

____________________________

获取技术支持