灵动微电子 MM32
直播中

李功灵

9年用户 36经验值
擅长:单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机 单片机
私信 关注
[问答]

请问MCU内部温度传感器如何计算温度

       最近想使用灵动微芯片里面自带的温度传感器来测试大概的温度,根据参考手册提供的信息:    T(◦C) = (V25 - VSENSE) / Avg_Slope + 25
                   V25:温度传感器在 25◦C 时的输出电压。
                  Avg_Slope: 温度传感器输出电压和温度的关联参数。
                  V25 和 Avg_Slope 的典型值请参考数据手册温度传感器章节。
                  VSENSE:温度传感器当前的输出电压
                  VSENSE = Value * Vdd / 4096
最终经过简化之后得出如下公式:
               Temp = (float)(1.45-(ADCPara.ADC_SensorVal*1.2/4096))/0.04801+25;
根据这公式计算,随着温度的升高,ADCPara.ADC_SensorVal的值也跟随上升,代入公式可看出,ADCPara.ADC_SensorVal的数字不断增大,温度反而是降低的。暂且不讨论这公式算的准不准,从原理上来说就已经行不通了。
        为何出现这种情况呢,究竟是哪里有错,公式我明明是对着文档给的?              

回帖(2)

李林

2019-4-15 18:25:05
ADCPara.ADC_SensorVal 这个数值是传感器的温度数值吗
1 举报
  • 李功灵: 是的,就是12位的AD值,经过滤波之后的了。芯片读出来的AD值是可以随着温度变化而变化的,我用烙铁加热做过实验了,关键在于怎么转化为温度,片子用的是F003的。采用L073那一套温度算法根本不管用,灵动微其它人员提供的公式计算都是不靠谱的。

zhu

2019-4-26 09:31:54
参考官网MM32F003手册上的ADC温度计算公式。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分