针对传统双码道磁栅编码器体积大、布线复杂、码道间磁串扰严重,现有单码道解码算法抗信号畸变能力弱、高速细分跳变误差大、嵌入式算力适配性差的工程痛点,以钕铁硼一体式单码道多极旋转磁栅为研究对象,提出融合前置自适应畸变校正、改进迭代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核,兼容直线、旋转两类单码道磁栅器件,拓展场景适配性。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !