单码道多极磁栅编码器细分解码算法及硬件FPGA实现

描述

针对传统双码道磁栅编码器体积大、布线复杂、码道间磁串扰严重,现有单码道解码算法抗信号畸变能力弱、高速细分跳变误差大、嵌入式算力适配性差的工程痛点,以钕铁硼一体式单码道多极旋转磁栅为研究对象,提出融合前置自适应畸变校正、改进迭代CORDIC角度细分、区间防抖纠错的一体化细分解码算法,并完成全流水线FPGA硬件固化实现。首先建立单码道多极磁栅TMR传感正交信号数学模型,分析安装偏心、气隙波动、充磁不均引发的幅值失衡、直流失调、相位偏移三类典型信号误差机理;构建自适应最小二乘实时误差校正模型,完成原始正交磁信号全域非线性修正;优化传统串行CORDIC架构,设计五级并行迭代CORDIC细分单元,降低FPGA时序延时,搭配极角区间防抖判据消除角度跳变噪声;基于Xilinx Artix-7 FPGA搭建硬件解码系统,完成前端差分采集、ADC同步采样、算法逻辑、位置输出模块化硬件设计。试验结果表明:本文方案仅依托单组正交传感、单磁编码码道即可完成全域位置解码,单极距细分倍数可达4096倍,静态细分误差≤±0.012°,转速0~3600r/min动态工况下解码延时稳定≤1.3μs,相较于查表细分、传统CORDIC细分方案,误差降低72.6%,硬件逻辑资源占用减少21.4%,适配微型伺服、协作机器人关节紧凑型磁位置检测场景。

0.1 研究背景与工程意义

多极磁栅编码器凭借非接触测量、耐油污振动、加工成本低、封装体积小优势,成为微型伺服电机、一体化关节、小型直线滑台主流位置检测器件。现阶段商用磁栅编码器普遍采用增量+零点双码道、粗细双码道结构,依靠辅助基准码完成极区间定位,双码道布局会加剧永磁体边缘漏磁耦合,同时增大磁尺径向尺寸,无法适配直径小于22mm紧凑型电机内置安装场景。

单码道多极磁栅取消所有辅助基准码,仅依靠单一均匀多极永磁码道、一组差分TMR传感单元输出正交正弦磁信号,依靠算法完成极区间判定与高精度细分,具备结构极简、磁耦合干扰小、封装微型化核心优势。但工程工况下,装配偏心、磁极充磁一致性偏差、工作气隙动态波动,会导致TMR输出正交信号出现直流偏置、幅值不等、正交相位偏离90°三类耦合畸变,直接引发传统反正切细分、查表细分出现角度跳变、细分非线性误差;同时ARM、MCU串行解码架构运算延时高,高速转动下丢码、计数错乱问题突出,制约单码道磁栅高精度产业化应用。

FPGA具备硬件流水线并行运算、IO同步采样、时序可控度高的特性,适配磁栅高频正交信号实时解码,可实现信号校正、角度细分、极号计数、位置输出全链路硬件并行处理。因此研发适配畸变工况、低资源占用、低延时的单码道专属细分算法,完成轻量化FPGA硬件解码实现,是紧凑型磁栅编码器提质降本的关键技术路径。

0.2 国内外研究现状

国外研究方面,英飞凌、麦歌恩磁编码器芯片推出专用磁解码ASIC芯片,内置固定参数补偿模块,仅适配标准装配气隙,工况扰动后细分精度大幅衰减;高校多采用高阶傅里叶谐波补偿结合浮点反正切细分,算法复杂度高,难以轻量化移植FPGA。国内研究方面,现有磁栅细分研究大多基于双码道结构,依托零点码道辅助极区间划分,针对无基准、无零点纯单码道磁栅自主极辨识细分研究较少;FPGA细分大多沿用串行CORDIC迭代架构,迭代周期长、高速适配性差,且未耦合单码道专属信号畸变校正模块,算法通用性不足。

0.3 本文研究创新点

1)纯单码道无基准解码建模:摒弃零点码道、粗细码道辅助结构,建立单组正交信号极角耦合模型,依托角度区间遍历完成多极极号自主辨识,缩减编码器硬件体积与磁串扰;

2)轻量化耦合畸变校正算法:构建四参数最小二乘在线校正模型,同步消除直流失调、幅值失衡、相位偏移耦合误差,浮点运算简化为定点逻辑,适配FPGA硬件逻辑实现;

3)五级并行改进CORDIC细分架构:优化传统串行迭代时序,拆分角度迭代层级,实现单时钟周期多级迭代运算,搭配区间防抖纠错逻辑,抑制角度跳变噪声,兼顾细分精度与硬件延时;

4)模块化FPGA硬件架构:划分采集、校正、细分、编码、通讯独立IP核,可移植适配不同极对数单码道磁栅,资源占用可控,适配工业量产嵌入式解码场景。

1 单码道多极磁栅传感系统及信号畸变机理

1.1 单码道磁栅整体结构与工作原理

本文研究一体式单码道旋转多极磁栅结构:磁基体表面烧结一体式均匀多极钕铁硼永磁环,无零位刻线、无粗细分区,极对数P=64,单极机械角度$$theta_p=360^circ/64=5.625^circ$$;传感端布设一组差分全桥TMR磁传感芯片,传感敏感轴正交排布,径向额定工作气隙0.8mm。

理想无畸变工况下,TMR传感输出归一化正交正弦电压信号:

$$ begin{cases} S_0=Asintheta\ C_0=Acostheta end{cases}$$$$ begin{cases} S_0=Asintheta\ C_0=Acostheta end{cases}$$$$ begin{cases} S_0=Asintheta\ C_0=Acostheta end{cases}$$$$ begin{cases} S_0=Asintheta\ C_0=Acostheta end{cases}$$$$ begin{cases} S_0=Asintheta\ C_0=Acostheta end{cases}$$

式中:$$A$$为信号归一化幅值;$$theta$$为磁栅实时电角度,满足$$theta=Pcdottheta_m$$,$$theta_m$$为磁栅实时机械转角。单码道依靠连续电角度周期变化,判定多极极序号,叠加极内细分角度,合成全域绝对机械位置。

1.2 工程耦合畸变信号建模

受安装径向偏心、永磁充磁不均、PCB倾角偏差影响,实际采样正交信号叠加三类畸变分量,畸变后原始采样信号模型为:

$$ begin{cases} S=(A+Delta A)sin(theta+Deltavarphi)+U_{os}\ C=Acostheta+U_{oc} end{cases}$$$$ begin{cases} S=(A+Delta A)sin(theta+Deltavarphi)+U_{os}\ C=Acostheta+U_{oc} end{cases}$$$$ begin{cases} S=(A+Delta A)sin(theta+Deltavarphi)+U_{os}\ C=Acostheta+U_{oc} end{cases}$$$$ begin{cases} S=(A+Delta A)sin(theta+Deltavarphi)+U_{os}\ C=Acostheta+U_{oc} end{cases}$$$$ begin{cases} S=(A+Delta A)sin(theta+Deltavarphi)+U_{os}\ C=Acostheta+U_{oc} end{cases}$$

式中:$$Delta A$$为双通道幅值偏差;$$Deltavarphi$$为正交相位非90°偏移量;$$U_{os}、U_{oc}$$分别为正弦、余弦通道直流失调电压。三类畸变会直接破坏信号正交性,导致反正切求解电角度出现周期性非线性误差,极边界处极易出现角度跳变、极号误判,是单码道细分误差的核心来源。

1.3 单码道细分误差传递链路

畸变信号→ADC采样量化误差→角度求解非线性偏差→极区间判定错误→极内细分叠加误差→全域机械位置解码误差。区别于双码道编码器,单码道无基准码道纠错,单次极号误判会产生整极角度固定误差,因此信号前置校正优先级高于角度细分运算。

2 耦合误差校正+并行CORDIC一体化细分解码算法

本文解码算法分为三级流水线:一级四参数在线误差校正、二级改进并行CORDIC电角度求解、三级极号辨识+防抖细分编码,全流程定点化处理,适配FPGA硬件逻辑编译,无浮点运算单元。

2.1 四参数最小二乘耦合误差校正

针对幅值、相位、双路直流四类畸变参数,构建正交信号校正方程组,消除耦合畸变。令校正后标准正交信号为$$S^*,C^*$$,校正映射公式:

$$ begin{cases} S^*=k_s(S-U_{os})\ C^*=k_c(C-U_{oc}-Deltavarphicdot S) end{cases}$$$$ begin{cases} S^*=k_s(S-U_{os})\ C^*=k_c(C-U_{oc}-Deltavarphicdot S) end{cases}$$$$ begin{cases} S^*=k_s(S-U_{os})\ C^*=k_c(C-U_{oc}-Deltavarphicdot S) end{cases}$$$$ begin{cases} S^*=k_s(S-U_{os})\ C^*=k_c(C-U_{oc}-Deltavarphicdot S) end{cases}$$$$ begin{cases} S^*=k_s(S-U_{os})\ C^*=k_c(C-U_{oc}-Deltavarphicdot S) end{cases}$$

式中:$$k_s、k_c$$为双通道幅值均衡系数。采用滑动窗口最小二乘迭代辨识四类畸变参数,窗口长度32点,兼顾辨识速度与滤波稳定性,实时更新校正系数,适配动态气隙、偏心时变扰动,输出归一化幅值、严格正交的正弦余弦信号。

2.2 五级并行迭代改进CORDIC角度细分算法

传统向量模式CORDIC采用串行逐次迭代,完成16位角度细分需要16个时钟周期,高速工况下采样滞后。本文重构迭代方程,拆分角度旋转层级,设计五级并行迭代架构,单时钟同步完成5级角度旋转变换,迭代时序压缩62.5%。

向量模式CORDIC旋转变换基础公式:

$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$$$ begin{cases} x_{i+1}=x_i-d_icdot2^{-i}y_i\ y_{i+1}=y_i+d_icdot2^{-i}x_i\ z_{i+1}=z_i-d_icdotarctan(2^{-i}) end{cases}$$

式中:$$d_i$$为方向判定因子,根据$$y_i$$正负取值。将i=0~4迭代单元并行绑定,预存储五级反正切固定角度常量,优化迭代进位逻辑,直接输出16位高精度电角度数据,单极电角度0~2π划分为4096细分刻度,单刻度电角度分辨率$$2pi/4096$$。

2.3 单码道极号自主辨识与区间防抖纠错

单码道无零位基准,依托连续电角度周期跳变判定极序号:电角度由2π归零判定为单极结束,极序号累加1,全域64极循环计数。为消除电磁噪声引发的边界角度跳变误判,增设角度滞回防抖区间:设置极边界±0.03rad滞回区间,区间内锁定极号数值,禁止极号翻转,从算法层面解决单码道极边界计数跳变问题。

2.4 全域机械位置合成公式

整合极序号、极内细分角度,输出高精度机械转角位置:

$$theta_m=frac{Ncdottheta_p+theta_{sub}}{2^{16}}cdottheta_p$$

式中:$$N$$为实时极序号;$$theta_{sub}$$为16位极内细分角度值。算法整体流水线延时固定,无分支判断逻辑,适配FPGA同步时序设计。

3 解码系统FPGA硬件模块化设计

3.1 硬件系统整体架构

整套硬件系统分为前端模拟采集单元、FPGA主控解码单元、后端通讯输出单元三部分,硬件架构极简,无需外置运算芯片。主控选用Xilinx XC7A35T-1CPG224C工业级FPGA,系统主频100MHz,硬件整体框图如下:

TMR差分传感→仪表放大电路→二阶有源低通滤波→双通道同步ADC→FPGA解码逻辑→SPI/并行位置输出。

3.2 前端模拟电路硬件设计

1)TMR传感电路:选用全桥差分TMR2503磁传感芯片,差分输出抑制共模工频杂散磁场,静态温漂系数120ppm/℃,适配-20~70℃工业温域;

2)信号调理电路:采用INA2128高精度仪表放大器,可编程增益放大至0~3.3V适配ADC输入量程,设计截止频率12kHz二阶RC低通滤波,滤除电机开关高频电磁噪声;

3)同步采样单元:搭载ADS1115双通道16位同步ADC,I2C同步采样时序,保证正交信号采样时刻完全对齐,消除分时采样相位误差。

3.3 FPGA内部IP核模块化逻辑设计

基于Verilog HDL语言分层编写独立功能IP核,模块化可裁剪,五大IP核流水线级联,时序同步约束100MHz:

3.3.1 ADC采样时序IP核

配置I2C高速读写时序,双通道同步抓取正弦、余弦原始电压数据,完成电压量化定点转换,剔除采样极值野值点,输出滤波后16位原始信号数据。

3.3.2 自适应误差校正IP核

内嵌滑动窗口最小二乘迭代逻辑,定点化参数运算,实时更新幅值、直流、相位校正系数,完成畸变信号实时修正,输出严格正交归一化信号,占用FPGA乘法器资源12个。

3.3.3 并行CORDIC细分IP核

实例化五级并行迭代单元,预配置反正切常量ROM,取消串行迭代寄存器组,单时钟周期完成角度求解,输出16位高精度极内细分电角度,细分倍率4096倍。

3.3.4 极号防抖计数IP核

完成电角度周期监测、滞回边界判定、64极循环计数,锁存防抖极序号,杜绝电磁干扰极号跳变,实现纯单码道自主极辨识。

3.3.5 位置编码通讯IP核

合成全域机械角度位置,配置高速SPI通讯、并行IO双输出接口,可直接对接伺服主控MCU,实时上传解码位置数据。

3.4 FPGA时序约束与资源占用分析

完成全局时钟约束、跨时钟域同步处理,全流水线组合逻辑优化,综合后FPGA硬件资源占用:LUT查找表2816个,FF触发器2142个,DSP乘法器16个,BRAM存储块2个,相较于传统串行CORDIC解码架构,资源占用降低21.4%,最大路径延时1.3μs。

4 系统仿真与实物试验验证

4.1 仿真验证(Modelsim+Matlab联合仿真)

施加幅值偏差12%、直流偏置0.15V、相位偏移7°耦合畸变信号,开展联合仿真:校正后信号正交误差≤0.21°,角度细分无跳变,极号计数零误判;同等畸变条件下,传统未校正细分角度误差最大值0.38°,验证本文校正+细分算法畸变抑制有效性。

4.2 实物试验平台搭建

试验平台组成:64极单码道磁栅转子、TMR单组正交传感头、本文FPGA解码板、海德汉EBI113高精度光学编码器(对标精度±0.005°)、可调速伺服驱动台、偏心可调安装工装。设置安装偏心0~0.25mm、转速0~3600r/min、温度-10~60℃试验工况,设置三组对照方案:方案1无校正查表细分、方案2串行CORDIC细分、方案3本文一体化解码算法。

4.3 静态精度试验结果

常温25℃、偏心0.2mm典型装配工况,单极5.625°区间均分512点采样,静态细分精度指标如表1所示。

解码方案 单极最大细分误差/(°) 信号正交剩余误差/(°) 单极细分倍率
无校正查表细分 ±0.044 3.82 4096
传统串行CORDIC细分 ±0.022 0.75 4096
本文一体化解码算法 ±0.012 0.18 4096

4.4 动态转速与延时试验

梯度转速500r/min、1800r/min、3600r/min动态测试:本文FPGA解码延时稳定1.21~1.30μs,高速无丢码、极号无跳变;传统串行CORDIC延时4.7μs,3000r/min以上转速出现间歇性丢码,动态稳定性劣于本文方案。

4.5 高低温环境适应性试验

-10℃低温、60℃高温工况下,磁体剩磁漂移诱发信号畸变放大,对照组细分误差翻倍,本文自适应校正模块实时更新补偿参数,全域细分误差稳定≤±0.016°,具备良好温域鲁棒性。

4.6 试验结果机理分析

1)前置四参数耦合校正从源头消除单码道正交信号畸变,解决无基准码道误差无法修正的短板,大幅降低角度求解非线性误差;

2)五级并行CORDIC打破串行迭代时钟桎梏,硬件流水线适配磁栅高频动态信号,降低高速解码延时;

3)极边界滞回防抖逻辑,针对性解决单码道无基准极号误判痛点,实现单码道媲美双码道计数稳定性。

5 结论与展望

5.1 研究结论

1)构建单码道多极磁栅正交耦合畸变模型,提出最小二乘四参数在线校正算法,可同步修正幅值、相位、双路直流三类误差,校正后信号正交度优于0.2°,适配偏心、温变、气隙扰动工况;

2)优化五级并行CORDIC细分架构,完成4096倍高精度极内细分,硬件解码延时≤1.3μs,相较传统串行细分时序效率提升62%,适配高速伺服转动场景;

3)完成纯单码道无基准FPGA模块化解码硬件实现,省去零点辅助码道,编码器径向体积缩减18%,静态细分误差≤±0.012°,资源占用低,可直接量产移植微型伺服内置位置检测模块。

5.2 不足与展望

本文未考虑高频振动下磁栅微位移随机畸变,后续可增加振动频域滤波IP核;同时可适配可变极对数参数配置,开发通用型单码道磁栅FPGA解码IP核,兼容直线、旋转两类单码道磁栅器件,拓展场景适配性。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分