1. 课程导入
在嵌入式测量、工业控制、汽车电子、医疗仪器和通信设备中,传感器与执行器的“原始输出”往往并不等于“可信物理量”。例如 ADC 读到的电压码值、IMU 输出的角速度、温度探头采集的电阻比,都会受到零点漂移、增益误差、温漂、非线性、老化与装配差异的影响。自动校准算法与参数管理,正是解决“如何让系统在生命周期内持续保持测量与输出精度”的核心技术组合。
一句话定义:自动校准算法负责“算得准”,参数管理负责“存得住、找得到、用得对、可追溯”。前者解决精度生成问题,后者解决精度保持与工程可运维问题。
1.1 核心概念:自动校准与参数管理分别是什么
自动校准是指系统在无需人工反复干预的情况下,依据参考源、已知激励、冗余观测或自洽约束,自动估计并补偿误差参数的过程。它通常包含误差建模、激励施加、数据采集、参数估计、补偿应用与结果验证六个环节。常见算法包括最小二乘拟合、递推最小二乘、卡尔曼滤波、查表插值、多项式拟合、神经网络补偿等。
参数管理则是对校准参数进行全生命周期治理,包括参数定义、存储介质选择、版本控制、读写接口、掉电保护、校验与恢复、批量烧录、产线追溯、OTA 更新与安全访问。它关注的不是单个算法公式,而是“参数从哪来、放到哪、谁改过、是否有效、失效后怎么办”。
两者关系可以概括为:自动校准算法产生参数,参数管理系统承载参数,运行时补偿模块消费参数,最终共同决定系统精度。缺少参数管理,校准结果可能因掉电、版本错配或存储损坏而失效;缺少自动校准,参数管理只能管理一组静态手工值,无法应对漂移与批量差异。
1.2 整体知识框架:从误差到闭环
本课程后续内容将围绕“误差建模—校准算法—参数存储—运行时补偿—验证与运维”展开。下图给出整体知识框架与数据流关系,便于建立全局视角。
该框架强调闭环:误差来源驱动建模,建模决定可辨识参数,算法估计参数,参数管理保证参数可信可用,运行时补偿输出结果,验证与运维再把新误差反馈回建模环节。任何一环缺失,系统精度都无法长期稳定。
1.3 方法流程:一次完整自动校准的典型步骤
- 明确校准目标:确定要补偿的误差项,如零点、灵敏度、温漂系数、非线性段。
- 设计激励与参考:选择标准源、已知负载、内部基准或冗余通道,保证激励可重复。
- 采集数据:覆盖工作温度、量程、电压与时间维度,记录原始码值与参考真值。
- 参数估计:用最小二乘、递推最小二乘或卡尔曼滤波求解误差模型系数。
- 参数写入与校验:将结果写入 Flash/EEPROM,附加 CRC、版本号与时间戳。
- 运行时补偿:固件读取参数,按模型实时修正输出。
- 验证与复盘:检查残差、重复性与温循表现,必要时重新建模。
下面是一段典型的参数存储结构示例,体现参数管理中的版本、校验与备份思想:
typedef struct {
uint16_t magic; // 0xCA1B 标识
uint8_t version; // 参数版本号
uint8_t crc8; // 头部校验
float zero_offset; // 零点补偿
float gain; // 增益系数
float temp_coef; // 温漂系数
uint32_t timestamp; // 校准时间
uint16_t crc16; // 数据区校验
} cal_param_t;
// 双备份写入:A/B 区交替,读取时选 CRC 正确且版本较新者
1.4 典型应用场景与误区复盘
| 应用场景 | 主要误差 | 校准方式 | 参数管理要点 |
|---|---|---|---|
| 压力/温度变送器 | 零点漂移、温漂 | 多点拟合+温度补偿 | 温区参数表、掉电保护 |
| IMU 惯性测量 | 零偏、标度因数、非正交 | 六面法/转台标定 | 版本追溯、批量差异 |
| 电机电流采样 | 增益误差、偏置 | 已知电流注入校准 | 上电自检、CRC 校验 |
| 电池管理 BMS | 电压/电流采样偏差 | 分段线性+查表 | OTA 更新、安全权限 |
| 射频功率检测 | 对数斜率、温漂 | 功率扫描拟合 | 多频点多温区存储 |
常见误区:只关注算法精度,忽略参数存储可靠性;校准后不做残差验证;参数版本与固件版本不匹配;单区存储无备份,掉电即丢失;产线校准数据未追溯,现场无法复现。
学习建议:先建立“误差—模型—算法—参数—补偿—验证”的闭环思维,再深入具体算法。每学一个算法,都问三个问题:它估计什么参数?参数存在哪里?运行时如何被安全使用?