Thanks to previous help from this forum I have managed to establish I2C communication with the BQ76920. I am now trying to measure the voltage of Cell 5 using the internal ADC. Below is a screenshot of the I2C communication with the device.
- Select SYS_CTRL1 Register
- Receive SYS_CTRL1 Register
- Send modified SYS_CTRL1 Register back with ADC_EN bit set
- Select ADCGAINHI register
- Read ADCGAINHI register
- Select ADCGAINLO register
- Read ADCGAINLO register
- Select ADCOFFSET register
- Receive ADCOFFSET register
- Select VC5_HI register
- Read VC5_HI register
- Select VC5_LO register
- Receive VC5_LO register
Analysing this data, ADC gain is 377 uV/LSB and offset is 50mV. The ADC value I read is 5526. Using the calculation Cell voltage = ADC*Gain + Offset, The voltage is 2.13V. The actual voltage is around 2.8V so this is quite inaccurate. The circuit used is shown below.
The Voltage on pin VC5 should read 2.8V. I will also include a link to an Imgur album containing traces of the LA here: https://imgur.com/a/lN7xt
So my question is why is the ADC so inaccurate? Is my configuration of the Registers incorrect? Or is my circuit not complex enough?. Thanks for the help.