Post Go back to editing

MAX77972 stops charging due to incorrect THM temperature measurement

Thread Summary

The user experienced sudden temperature jumps to 127.9°C and loss of THM bias pulses on the MAX77972 when using an external 10 kΩ NTC thermistor. The issue was resolved by addressing clock stretching, which the MAX77972 does not support, as indicated in the datasheet.
AI Generated Content
Category: Software
Product Number: MAX77972

Hello everyone,

I am using the MAX77972 with an external 10 kΩ NTC thermistor connected to THM pin. The temperature source is configured as the external THM thermistor.
Most of the time, temperature readings are correct, around 28–30°C. I can also observe the periodic bias/current pulses on the THM pin when the IC performs the thermistor measurement.
However, after some time, the temperature suddenly jumps to 127.9°C. At the same time, I no longer observe the normal THM bias pulses used to measure the external thermistor resistance. It looks as if the internal switch/bias path for the THM measurement no longer closes, so the ADC reads a very high temperature value.

The only way I have found to recover from this condition is to reset the chip, or to trigger a full POR by removing power from the MAX77972 (disconnecting the battery). After that, the external thermistor measurement works normally again for some time.

According to the datasheet, setting FTHRM should force the thermistor bias switch and should result in an additional current consumption of about 200 µA with a 10 kΩ NTC. However, when I set FTHRM = 1, I do not observe a continuous 200 µA current on the THM pin. Instead, I still only see periodic measurement pulses on THM.

So even with FTHRM forced, the THM bias does not appear to be continuously enabled. It only seems to trigger periodic measurements.

Has anyone else noticed similar behaviour?
Thank you in advance for your feedback,
Best regards

Jean

 

TempCo raw value: 0x223E, ret=0
BAT_OK=1, BAT_DTLS=3, CHG_DTLS=2
Instant temp=30.1C, avg temp=30.2C
Temp source is THM thermistor: 1
FG alerts: VMN=0 mV, VMX=0 mV, TMN=0 C, TMX=0 C, SMN=0 %, SMX=0 %, IMN=0 mA, IMX=0 mA, dSOCI=0 %/min
FG: cap=1914/2000, curr=-41, pow=-181, volt=4261, SOC=95%, SOH=100%, temp=302, ins=1, chg=1, pwr=1, err=0, desing_capa=2000
CHG: state=2 chgin=3 bat=3 usb=1 zone=1 step=0 curr=350mA volt=4220mV err=0
FG therm cfg=29120
FG therm pullup 100k=0
Config register value: 0x200C, ret=0
Hibernate config: enable=1, enter_time=0, threshold=9, exit_time=1, scalar=1, ret=0
Is hibernate: 0, ret=0
TempCo raw value: 0x223E, ret=0
BAT_OK=1, BAT_DTLS=3, CHG_DTLS=2
Instant temp=30.1C, avg temp=30.2C
Temp source is THM thermistor: 1
FG alerts: VMN=0 mV, VMX=0 mV, TMN=0 C, TMX=0 C, SMN=0 %, SMX=0 %, IMN=0 mA, IMX=0 mA, dSOCI=0 %/min
FG: cap=1914/2000, curr=-39, pow=-169, volt=4261, SOC=95%, SOH=100%, temp=302, ins=1, chg=1, pwr=1, err=0, desing_capa=2000
CHG: state=2 chgin=3 bat=3 usb=1 zone=1 step=0 curr=350mA volt=4220mV err=0
FG therm cfg=29120
FG therm pullup 100k=0
Config register value: 0x200C, ret=0
Hibernate config: enable=1, enter_time=0, threshold=9, exit_time=1, scalar=1, ret=0
Is hibernate: 0, ret=0
TempCo raw value: 0x223E, ret=0
BAT_OK=1, BAT_DTLS=3, CHG_DTLS=2
Instant temp=127.9C, avg temp=31.2C
Temp source is THM thermistor: 1
FG alerts: VMN=0 mV, VMX=0 mV, TMN=0 C, TMX=0 C, SMN=0 %, SMX=0 %, IMN=0 mA, IMX=0 mA, dSOCI=0 %/min
FG: cap=1914/2000, curr=-40, pow=-171, volt=4261, SOC=95%, SOH=100%, temp=312, ins=1, chg=1, pwr=1, err=0, desing_capa=2000
CHG: state=2 chgin=3 bat=3 usb=1 zone=1 step=0 curr=350mA volt=4220mV err=0
FG therm cfg=29120
FG therm pullup 100k=0
Config register value: 0x200C, ret=0
Hibernate config: enable=1, enter_time=0, threshold=9, exit_time=1, scalar=1, ret=0
Is hibernate: 0, ret=0