AD转换中知道数字量计算模拟量或温度 | 您所在的位置:网站首页 › 温度转换公式 › AD转换中知道数字量计算模拟量或温度 |
看你的AD设置的是几位的,如果是N位(采样分辨率)(在stm32中adc为十二位),假定你AD采集的数字量为M,基准电压为V则模拟量为:
V乘以M除以2的N次方。
假设V为3.3,N为8,则模拟量为:3.3*M/256
使用标度标度变换公式,将数字量转换成带有物理单位的实际值。
例如: 假设温度检测传感器测量温度范围是A0~Am,转换后的电压经
AD转换器转换的数字量是8位的,则其范围是00H~OFFH。
则如果某一时刻,AD转换器转换的数字量是N,那么测量的实际温度
为A,
根据线性传感器、AD转换器转换器的转换信号的关系:可以推出
A=(Am-A0)*N/(255-0)+A0
温度传感器可以用来测量器件周围的温度(T A )。 温度传感器在内部和ADC1_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。 温度传感器模拟输入推荐采样时间是17.1μs 读温度 为使用传感器: 1. 选择ADC1_IN16输入通道 2. 选择采样时间为17.1 μs 3. 设置ADC控制寄存器2(ADC_CR2)的TSVREFE位,以唤醒关电模式下的温度传感器 4. 通过设置ADON位启动ADC转换(或用外部触发) 5. 读ADC数据寄存器上的V SENSE 数据结果 6. 利用下列公式得出温度 温度(°C) = {(V 25 - V SENSE ) / Avg_Slope} + 25 这里: V 25 = V SENSE 在25 °C时的数值 Avg_Slope = 温度与V SENSE 曲线的平均斜率(单位为mV/ °C 或 μV/ °C) 参考数据手册的电气特性章节中V 25 和Avg_Slope的实际值。 注意: 传感器从关电模式唤醒后到可以输出正确水平的 V SENSE 前,有一个建立时间。 ADC 在上电后也 有一个建立时间,因此为了缩短延时,应该同时设置 ADON 和 TSVREFE 位。 内部温度传感器更适合于检测温度的变化,而不是测量绝对的温度。如果需要测量精确的温 度,应该使用一个外置的温度传感器。 STM32 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。该温度传感器 在内部和 ADCx_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。温度传感 器模拟输入推荐采样时间是 17.1μs。 STM32 的内部温度传感器支持的温度范围为:-40~125 度。精度比较差,为±1.5℃左右。 我们要使用 STM32 的内部温度传感器,必须先激活 ADC 的内部通道,这里 通过 ADC_CR2 的 AWDEN 位(bit23)设置。设置该位为 1 则启用内部温度传感器。 STM32 的内部温度传感器固定的连接在 ADC 的通道 16 上,所以,我们在设 置好 ADC 之后只要读取通道 16 的值,就是温度传感器返回来的电压值了。根据这个值,我们 就可以计算出当前温度。计算公式如下: T(℃)={(V25-Vsense)/Avg_Slope}+25 上式中: V25=Vsense 在 25 度时的数值(典型值为:1.43)。 Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/℃或 uv/℃)(典型值为 4.3Mv/℃) |
CopyRight 2018-2019 实验室设备网 版权所有 |