This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

bq27510 internal temp sensor equation

Other Parts Discussed in Thread: BQ27510, BQ27501

I am using a bq27510 and want to read and report the temp using the internal temperature sensor in the  device.  The board the bq27501 is on has an I2C connector so I can use the bqeasy with the EVM module and I can use the microprocessor to also read the part using I2C.    If I set a breakpoint in the microprocessor to just before it reads the temp from the bq27510 so the micro stops I can then have bqeasy do a single refresh and show all the data including the temperature.  I can then read the temperature using the micro and get the raw reading so I can report the same temperature as bqeasy does using the micro.  What I found was the following:

Bqeasy reports 19.5 deg C so the device is configured OK. 

The micro reads 0x0B6F = (2972Dec) or if it’s byte swaped   0x6F0B =  (28427Dec). 

The data sheet on the bq27510 says that the internal temp sensor is -2mV / Degree C.  Do the numbers I read look correct because I was assuming the micro will read mV volts and I have to divide by two to get the temp in Deg C and either add or subtract an offset  but based on the numbers I read it doesn’t look correct.    The micro and I2C interface and configured OK because I can read  State Of Charge, number of cycles, Current Voltage and firmware version etc.

If the number the micro reads is correct, what is the equation to take the raw reading of 0x0B6F and get 19.5 deg C?

Thanks,

Doug

  • The data you are reading makes sense.  The units of the Temperature() read are 0.1 Kelvin according to Table 1 of the Datasheet.  Everything is linearized and scaled for you by the firmware so you can ignore the -2mV/DegreeC spec.