信号处理学习笔记6:ADC采样线性处理实测拟合

张开发
2026/4/15 10:58:22 15 分钟阅读

分享文章

信号处理学习笔记6:ADC采样线性处理实测拟合
只要你能实测几组真实值永远优先用 实测线性拟合 y kx b以后所有线性传感器都可用这个方法校准:y kx b测 2~5 组真实值 → 拟合 k、b → 直接写进代码目录问题描述通用场景理论公式为什么理论公式往往不准硬件原理推导物理量实测拟合实测拟合使用场景电压公式计算使用场景实测拟合与ADC理论公式代码特点总结问题描述ADC理论公式电压 ADC / 4096 × 3.3VSTM32f103C8T6 具有12位ADC精度0 ~ 4095但通过通用场景的物理计算无法得出真实的电压值这就是使用通用理论公式会导致 数据往往不准通用场景理论公式电压 ADC / 4096 × 3.3V单片机 ADC 的标准理论公式逻辑是这样的单片机 ADC 是12 位范围0 ~ 4095ADC 的参考电压 Vref 3.3V含义数字 0 → 对应 0V 数字 4095 → 对应 3.3V所以任意 ADC 值对应的输入电压就是这一步完全是硬件原理和测什么、接什么传感器无关是通用基础为什么理论公式往往不准Vref 不是精确 3.3000VADC 有零点偏移、增益误差分压电阻有 1%/5% 误差运放有失调电压走线有压降传感器本身有公差结果按理论公式算出来的数值 ≠ 真实测量值硬件原理推导物理量拿到 Vin 之后还要算真实物理量比如外部 0~10V 电压 → 分压成 0~3.3V4~20mA 电流 → 转成电压压力传感器 → 电压输出温度传感器 → 电压输出实测拟合思路完全转变不再关心中间电路怎么工作只关心输入真实值 → 输出 ADC 值只要关系是线性的就可以拟合真实值这个方法的通用意义自动抵消所有硬件误差自动修正 Vref 偏差自动修正电阻误差自动修正 ADC 非线性、偏移最终结果直接对标真实物理量例如实测如下对应关系DC直流真实值1V2V5V7V10VADC值178424116416572396根据y kx b直接得出关系 DC (ADC 68.6074) / 246.4815实测拟合使用场景传感器 / 物理量 和 ADC 之间是线性关系线性分压电路电压分压、电阻分压线性传感器4-20mA、0-10V、PT100、电流采样、压力传感器…带运放 / 放大电路的线性信号0-10V 转 0-3.3V 这类衰减电路任何输入→输出呈直线的系统电压公式计算使用场景没有条件做实测校准只能纯理论计算刚画完板子没实物要求理论值不要求精度极低成本产品不做校准实测拟合与ADC理论公式代码特点理论计算ADC → 电压float voltage (adc_val * 3.3f) / 4096.0f;// 如果要物理量继续 × 系数 ÷ 分压float value voltage / 0.2f;实测校准直接 真实值 k*ADC bfloat real_value adc_val * 0.00245f 0.036f;总结不用算电压不用管理论分压不用管 3.3V/4096实测线性拟合 最准、最简单、单片机最常用电路是线性分压 → 适用这个方法

更多文章