zigbee温度实验这句话什么意思:#define ADC14_TO_CELSIUS(ADC_VALUE) ( ((ADC_VALUE) >> 4)-315 )将模拟信号转换为摄氏温度的公式为何是这种啊?主要是他们的这个数学关系不明白.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 12:59:03
zigbee温度实验这句话什么意思:#defineADC14_TO_CELSIUS(ADC_VALUE)(((ADC_VALUE)>>4)-315)将模拟信号转换为摄氏温度的公式为何是这种啊?主要是他

zigbee温度实验这句话什么意思:#define ADC14_TO_CELSIUS(ADC_VALUE) ( ((ADC_VALUE) >> 4)-315 )将模拟信号转换为摄氏温度的公式为何是这种啊?主要是他们的这个数学关系不明白.
zigbee温度实验这句话什么意思:#define ADC14_TO_CELSIUS(ADC_VALUE) ( ((ADC_VALUE) >> 4)-315 )
将模拟信号转换为摄氏温度的公式为何是这种啊?主要是他们的这个数学关系不明白.

zigbee温度实验这句话什么意思:#define ADC14_TO_CELSIUS(ADC_VALUE) ( ((ADC_VALUE) >> 4)-315 )将模拟信号转换为摄氏温度的公式为何是这种啊?主要是他们的这个数学关系不明白.
根据你的参数来看,你的芯片应该是使用的CC2430,ADC转换器为14位转换,参考电压为1.25V.这些你应该写上的,没有硬件条件,很难判定你的公式使用环境!寻找这个条件就费了我很大功夫!
这个公式是简化后的公式,并且为了增加计算速度,将除法转换成了右移4位!将温度计算补偿合并成了常数 315.
你可以看看TI公司的参考文档:DN102(参考资料),这个文档里详细说明了CC1110 • CC1111• CC2430• CC2431• CC2510 • CC2511几个芯片的温度计算原理及方法.下边我把我的理解写上!
根据文档,可以得出计算温度的公式(考虑有偏移误差)为:
T = (Voutput[mV] - (V0[mV] + Offset[mV]))/Temp coefficient
其中:
Voutput:AD转换取得电压.计算公式为:Voutput = ADC_VALUE*1250/8191.
V0:0℃时传感器输出电压.
Offset:温度偏移电压.计算公式为:Offset = V25 - (Temp coefficient * 25 + V0).V25为25℃时传感器输出电压.
Temp coefficient:电压-温度关系系数.此处,cc2430应该为2.45mv/℃.
将公式展开:
T = ADC_VALUE*1250/8191/Temp coefficient - (V0[mV] + (V25 - (Temp coefficient * 25 + V0)))/Temp coefficient
将参数带入,可得:
=ADC_VALUE/16.05436 - (V25 - 61.25)/2.45
根据你的计算公式,进行的是近似计算,不是每个产品都进行了率定,所以那个315应该是一个经验值!
晕啊!没有分啊!我在网上查了好长时间资料,看文档、推导公式是很耗时间滴啊!