线性霍尔实现离轴式绝对位置测量
这里讲一种通过线性霍尔+单极对磁环来实现离轴式绝对位置测量的方法,我们在设计电机离轴式编码器方案时,比较多的是用光编和磁编。其中磁编有很多现成的芯片方法,比如IC-haus、MPS、麦歌恩等都有现成的芯片方案,这些方案使用起来十分的简单,校准、信号解码等都集成。这里介绍的是一种使用线性霍尔来实现的低成本方案,精度对于使用在低速端读取关节端绝对位置完全够用。
一般磁环我们选择径向冲磁,对于一个线性霍尔传感器,传感器输出电压的形式如图所示是一个正弦波。由于没有校准相位,所以峰值振幅未知。
如果我们间隔90°放置两个传感器输出波形如下图,我们看到两个正弦波的峰值是不相等(大多实际情况也是不相等的)。我们先这样想,如果通过某种方法两其峰值相等,相隔90度的传感器是否就等于
a
∗
s
i
n
θ
{ a*sin\theta }
a∗sinθ 和
a
∗
s
i
n
θ
+
π
2
{ a*sin\theta + \frac{\pi}{2} }
a∗sinθ+2π 三角函数公式转换不就成了
a
∗
s
i
n
θ
{ a*sin\theta }
a∗sinθ和
a
∗
c
o
s
θ
{ a*cos\theta }
a∗cosθ.,这样一看是否就可以通过求反正切得到角度呢?
首先我们要做的就是峰值校准,公式ti文档直接给了出来。
理论上通过峰值校准后求出反正切就能得到角度,但是理论归理论,实际上直接通过两个间隔90°的线性霍尔传感器求反正切得到的角度误差ti给出来的文档大概在8°以内,实际我测下来在±5°,可能传感器选择和其他方面和ti有差异。
所以我们需要对数据进行处理,首先通过硬件方法,这里摘抄一下付彦超大佬的论文,分别对2、4、8个线性霍尔输出的正交型号绘制李萨如曲线,如下图。
这个曲线就很形象,增加传感器数量能够较小误差,但是我们知道单片机算力和ADC资源有限,不可能每个信号都交给单片机来解码。所以一般选择四个间隔90°传感器,将两个间隔180°的传感器数据接入差分减法器的正反相输入端,由于间隔180°波形相反,减法器输出的是反向叠加的波形,起到一个叠加滤波的效果。
将两个减法器输出的正余弦信号输入单片机后,再进行插值校准。原理也很简单,使用查找表校准系统,记录已知角度的传感器电压数据,然后从已知电压之间的线性插值中获取任何测量电压的角度。具体过程就是通过开环强拖或者其他方式使磁环旋转一周,对于每个期望的校准角度,将磁铁旋转到该角度,并记录每个传感器的测量电压(类似于MITcheetah的线性化校准),然后,在正常操作期间,每个传感器的测量电压落在先前记录的两个电压之间,称为Vsbover和Vsbower。使用两个传感器时,确保每个传感器的Vavover和Vbewer与相同的校准角度相关联,然后将测量的角度作为这两个电压和各自已知角度的比率,直接贴出ti的公式。
这样操作后精度基本能到0.1°,也没太具体的测试。