wybwwe 2024-03-14 10:20 采纳率: 0%
浏览 164

关于ADC计算的问题

(ADC_Value - 2048)/2048 * 3300,ADC的计算公式,为什么要减2048,再除2048,

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-14 10:21
    关注

    引自免费微信小程序:皆我百晓生

    在STM32中,ADC(模拟数字转换器)通常会将输入的模拟电压信号转换为一个12位或16位的数字值。对于12位分辨率的ADC,其输出数值范围是从0到4095(2^12 - 1)。这个公式 (ADC_Value - 2048)/2048 * 3300 主要用于将ADC采样得到的原始数值转换为实际对应的电压值。

    • 减去2048:这里的2048是STM32 ADC量程的一半,当输入电压为参考电压的一半时,ADC输出即为2048。这是为了中心化数据,确保计算结果既能反映正电压也能反映负电压(相对于参考电压而言)。在单极性ADC应用中,如果只关心正电压测量且参考电压为Vref,那么实际上可以理解为将ADC读数从以2048为中心点进行偏移,便于后续线性转换。

    • 除以2048:这是因为满量程(4095)对应的实际电压差是ADC的参考电压(如3.3V),而2048是这个范围的一半,所以每1个LSB(最低有效位)就代表参考电压的1/2048。因此,通过将ADC读数减去一半后除以2048,可以得到每个单位ADC数值所代表的电压比例。

    • 乘以3300:这个步骤是将上述得到的比例系数应用到具体的参考电压值上。此处假设ADC的参考电压是3.3V,那么最终得到的就是与输入模拟电压相对应的真实电压值。

    总结一下,该公式主要用于把STM32 ADC采集到的数字量转换成对应的电压值(假设参考电压为3.3V),适用于单极性ADC输入且输入电压范围在0至3.3V之间的情况。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月14日