如题,现采用BQ76930,按照技术文档给出的接线方式,现读出来的2路温度不准确,一路显示16度,一路显示37.5度,通过测量2路温度的电阻值查表2路灯实际温度应该是:27.5度和28.5度左右,不知道为什么从BQ76930中读出来的数据差了这么多?
//温度1
data_analysis[temp1] = (read_data_buf[22] & 0x3F);
data_analysis[temp1] = (uint16_t)(((double)((data_analysis[temp1] << 8) | read_data_buf[23])) * 382/1000);
calc_temp.temp_r[0] = (uint32_t)((double)10000 * data_analysis[temp1] / (3300 – data_analysis[temp1]));
这是计算公式,希望大家帮我看下,是不是哪里有问题? 温度2也是按这个公式算的。
Mingmo Zhu:
这个计算公式只是算出热敏电阻的值,还要根据所用的热敏电阻特性转换成温度。
yulin wang:
回复 Mingmo Zhu:
谢谢你的回答,我知道这个是算出来电阻的值,通过这个电阻值查表才能得到温度的值,可是我通过这个计算方法 算出来的电阻值和我实际量热敏电阻两端的阻值不一样,所以查表得到的温度也不对了。
Li Guo1:
回复 yulin wang:
可以检查一下[TEMP_SEL]的设置,以及internal和external的计算方法不同