(ADC_Value - 2048)/2048 * 3300,ADC的计算公式,为什么要减2048,再除2048,
5条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
在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之间的情况。
解决 无用评论 打赏 举报 编辑记录-