纳芯微磁编码器(MT6835/MT6826S)的NLC(Non-Linearity Calibration,自动非线性校准)是量产中补偿安装偏心、气隙偏差、磁铁缺陷的核心手段,可将 INL 从 ±0.2°~±0.3° 优化至±0.07°(MT6835)/±0.1°(MT6826S)。本文从校准原理、硬件 / 软件触发、参数配置、量产流程、状态监控、故障排查全链路给出可直接落地的规范,适配 BLDC/PMSM FOC 闭环控制场景。
一、NLC 校准核心原理(理解才能调对)
1.1 校准目标
补偿机械安装误差(径向偏心、轴向倾斜、气隙不均)与磁铁缺陷(充磁不均、径向偏差)引入的 2/4/6 次谐波非线性,同时修正 SIN/COS 正交、幅值、零偏误差。
1.2 技术原理
电机匀速稳定旋转(400~800rpm,波动≤±5%),芯片内置 DSP 采集全角度 SIN/COS 原始数据。
最小二乘法拟合误差模型,提取谐波分量,生成非线性补偿系数。
系数自动写入EEPROM(掉电不丢失),实时修正角度输出。
校准后:正交误差 <±0.1°、幅值比误差 < 0.5%、INL<±0.07°。
1.3 三级校准体系(NLC 是量产核心)
| 校准层级 | 执行方 | 补偿对象 | 效果 |
| 出厂基础校准 | 纳芯微 | 芯片电桥失调、增益、正交、ADC 非线性 | MT6835 INL±0.2°,MT6826S±0.3° |
| 客户端 NLC 自校准(核心) | 用户 | 安装偏心、气隙、磁铁缺陷、机械应力 | MT6835 INL<±0.07°,MT6826S<±0.1° |
| 动态温漂补偿 | 芯片实时 | 全温域(-40℃~125℃)温漂 | 温漂 <±0.3°/℃ |
二、NLC 校准硬件前提(必须满足,否则校准失败)
2.1 磁铁与安装规范(前置条件)
磁铁:两极径向充磁钕铁硼(N35~N52),φ6~φ12mm、厚度 2~5mm,表面磁场≥300mT(进入 AMR 饱和区)。
同轴度:径向偏心≤±0.2mm、倾斜≤±3°、径向跳动≤0.05mm。
气隙:0.5~3.0mm(推荐 1.0mm),均匀性≤±0.1mm。
机械:电机无振动、无卡死、轴窜动≤0.05mm。
2.2 硬件接口(触发与监控)
CAL_EN 引脚:MT6835 为 Pin4,拉高(3.3V)进入 NLC 校准;拉低退出。
PWM 引脚:输出占空比指示校准状态(50%= 进行中、99%= 成功、25%= 失败)。
SPI 接口:用于参数配置、状态读取、EEPROM 烧录(必须正常通信)。
三、NLC 校准参数配置(SPI 寄存器详解)
3.1 核心配置寄存器(AUTO_CAL_FREQ)
地址:0x154(MT6835/MT6826S 通用)。
位定义:AUTO_CAL_FREQ [2:0],共 8 档转速区间(校准必须匹配电机实际转速)。
| AUTO_CAL_FREQ[2:0] | 转速区间(rpm) | 适用场景 | 推荐值 |
| 000 | 25~50 | 超低速伺服 | 不推荐 |
| 001 | 50~100 | 低速机器人 | 不推荐 |
| 010 | 100~200 | 中低速 | 备用 |
| 011 | 200~400 | 通用 | 备用 |
| 100(默认) | 400~800 | 工业伺服、FOC 控制 | 首选 |
| 101 | 800~1600 | 高速电机 | 备用 |
| 110 | 1600~3200 | 高速工具 | 备用 |
| 111 | 3200~6400 | 超高速 | 备用 |
3.2 校准启动 / 状态寄存器
启动指令:SPI 写0x155 = 0x5E(软件触发,替代 CAL_EN 拉高)。
状态寄存器:0x113 [7:6](校准结果,只读)。
00:未校准 / 校准中
01:校准失败
10:保留
11:校准成功
3.3 EEPROM 烧录寄存器(参数永久保存)
校准完成后,需执行 EEPROM 烧录,否则断电参数丢失:
SPI 写0x156 = 0xAA(启动烧录,约 10ms 完成)。
烧录成功后,读 0x156 返回0x55确认。
四、NLC 校准完整操作流程(量产可直接复用)
步骤 1:硬件初始化与预检查
电机上电,确保无短路、无卡死,编码器 SPI 通信正常(读 ID=0x35/0x26)。
电流采样、过流保护、PWM 驱动正常,电机可平稳开环旋转。
磁铁安装到位,同轴度、气隙符合规范。
步骤 2:SPI 参数配置(关键!)
// 1. 配置校准转速区间(默认400~800rpm,推荐)SPI_Write(0x154, 0x04); // AUTO_CAL_FREQ=100 → 400~800rpm// 2. 清零零点(可选,避免干扰)SPI_Write(0x00, 0x00); // ZERO_POS清零// 3. 关闭温漂补偿(校准期间临时关闭,完成后开启)SPI_Write(0x157, 0x00);
步骤 3:电机进入匀速稳定状态
开环驱动电机旋转,转速稳定在400~800rpm,波动≤±5%(如 450rpm±20rpm)。
持续稳定≥2 秒,确保无振动、无冲击。
步骤 4:启动 NLC 校准(两种触发方式)
方式 A:硬件引脚触发(推荐量产)
MCU 拉高 **CAL_EN(Pin4)** 至 3.3V,芯片进入校准模式。
保持 CAL_EN 高电平,直至校准完成。
方式 B:软件 SPI 触发(实验室 / 调试)
SPI_Write(0x155, 0x5E); // 写入启动指令,进入NLC校准
步骤 5:校准过程监控(必须执行)
PWM 引脚监控:
50% 占空比:校准进行中(持续≥6 秒,旋转≥64 圈)。
99% 占空比:校准成功。
25% 占空比:校准失败(立即停止,排查原因)。
SPI 状态读取:
uint8_t status = SPI_Read(0x113);if((status & 0xC0) == 0xC0) { // 0x113[7:6]=11 → 成功 // 校准成功} else { // 校准失败,处理异常}
步骤 6:EEPROM 烧录(永久保存参数)
// 校准成功后,烧录EEPROMSPI_Write(0x156, 0xAA);HAL_Delay(10); // 等待烧录完成uint8_t eeprom_status = SPI_Read(0x156);if(eeprom_status == 0x55) { // 烧录成功,参数永久保存} else { // 烧录失败,重试}
步骤 7:校准生效与验证
拉低 CAL_EN(或断电重启),校准参数生效。
电机闭环运行,读取角度数据:
INL<±0.07°(MT6835)、抖动 <±0.01°、无突变。
SIN/COS 波形完美正交、幅值一致。
五、NLC 校准量产优化方案(效率与一致性)
5.1 批量校准流程(产线)
治具化:专用同轴度 / 气隙治具,批量一致性控制 ±0.03mm。
自动化:MCU 自动控制电机转速→触发校准→监控状态→烧录 EEPROM→结果判定。
效率:单台校准时间≤10 秒,适配产线节拍。
5.2 校准后验证指标(量产合格标准)
INL:MT6835<±0.07°,MT6826S<±0.1°。
角度抖动:<±0.01°(低速)、<±0.03°(高速)。
正交误差:<±0.1°。
幅值比:<0.5%。
六、常见故障与排查(100% 解决)
故障 1:校准失败(PWM=25%,0x113 [7:6]=01)
原因:转速不在配置区间、波动 >±5%、安装偏心 > 0.2mm、磁铁充磁错误、SPI 通信异常。
解决:核对 AUTO_CAL_FREQ 与实际转速;优化同轴度 / 气隙;更换径向充磁磁铁;检查 SPI 接线。
故障 2:校准成功但精度无提升
原因:未烧录 EEPROM、断电未重启、温漂补偿未开启、安装误差超极限(偏心 > 0.3mm)。
解决:执行 0x156=0xAA 烧录;断电重启;开启温漂补偿;重新安装优化同轴度。
故障 3:角度抖动大、INL 超标
原因:校准转速波动大、气隙不均 >±0.1mm、机械振动、PCB 干扰。
解决:稳定转速;优化气隙均匀性;加固电机 / 编码器;优化 PCB 抗干扰布局。
故障 4:校准后温漂大
原因:未启用动态温漂补偿、接地不良、温度传感器异常。
解决:SPI 写 0x157 开启温漂补偿;优化接地;更换编码器。
MT68xx NLC 自动非线性校准是实现工业级高精度的核心步骤,核心要点:
前提:严格控制同轴度、气隙、磁铁质量,转速稳定。
配置:AUTO_CAL_FREQ 匹配实际转速(推荐 400~800rpm)。
触发:硬件 CAL_EN 或软件 0x155=0x5E 启动。
监控:PWM 占空比 + 0x113 寄存器双重确认。
保存:必须烧录 0x156=0xAA,断电重启生效。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !