2
\$\begingroup\$

I've been trying to create a new battery pack for an old (and long discontinued) Sony product. Luckily the battery pack in question uses standard smart battery specification. So I've designed a new PCB and instead of using the old fuel gauge/protector combo I've gone and used modern Maxim MAX17320 fuel gauge/protector IC. And here is where I am having some trouble...

Upon connecting a 2 cell RC battery to it (for testing purposes) and shorting the discharge/charge pin to the battery positive terminal (to wake the IC up) the IC starts communicating with the MAX17320 programming software. Problem is that immediately upon doing so it goes into permanent failure. The below two screenshots:

Fresh battery 1

Fresh battery 2

Upon clearing the PermFail flag the FET failure indicators turn green and the pack starts working. My initial thought was that this was due to the parameters being wrong so I went through configuration (hopefully setting up everything correctly) and writing the configuration to RAM. But again upon doing so and rebooting the IC goes into PermFail mode...

Configured battery 1

Configured battery 2

Since clearing the fault works - the battery behaves as expected based on a short test in the actual product - I tried to write the working configuration into non volatile memory. But I can't do so because the software complains that I need to fix the permanent failure first. Any ideas on what I am doing wrong? Why is it going into pfail in the first place?

Some additional info: I am not using any permanent protections on the PCB - so I have the PFAIL output connected to ground with 1k resistor as described in the datasheet. When going through the programming wizard I also disabled permanent failure protection and unchecked the option for disabling programming in case of permanent failure. But that doesn't seem to do anything.

EDIT: Schematic for my board is here... it's mostly based on the evaluation board:

Board schematic

Link to datasheet: https://datasheets.maximintegrated.com/en/ds/MAX17320.pdf

\$\endgroup\$
11
  • \$\begingroup\$ Link to datasheet? Schematics? \$\endgroup\$
    – Null
    Commented Dec 22, 2021 at 15:22
  • \$\begingroup\$ Some schematics would be helpful... \$\endgroup\$
    – citizen
    Commented Dec 22, 2021 at 15:28
  • \$\begingroup\$ Page 50 of the Datasheet mentions a few reasons for which the Permanent Failure flags are raised. Do any of them possibly apply to your situation ? \$\endgroup\$
    – citizen
    Commented Dec 22, 2021 at 15:36
  • \$\begingroup\$ DIS FET Shorted: If discharging is detected during discharge fault, nBattStatus.DFETFs is set and written to NVM. • CHG FET Shorted: If charging is detected during charge fault, nBattStatus.CFETFs is set and written to NVM. \$\endgroup\$
    – citizen
    Commented Dec 22, 2021 at 15:37
  • \$\begingroup\$ Also you show that the "TooColdC - Undertemperature for charging" flag is raised on at least one occasion ? Can you dispel any of these situations ? \$\endgroup\$
    – citizen
    Commented Dec 22, 2021 at 15:42

2 Answers 2

2
\$\begingroup\$

I've found the problem - it seems to be with the configuration wizard for the chip itself. Upon further investigation the programming .ini file that it produces contains this line:

0x1A8 = 0x8000 //nBattStatus Register

If we look at the bit that is set by this (bit 15) that bit is actually permFail bit. So basically the board would be programmed with the permFail bit set already. Changing the value of this register to 0 has cleared the issue. I'll be contacting Maxim to let them know about the error and to see if they have any other solutions - but generally the values that you select in the configuration wizard quite often seem to be ignored.

\$\endgroup\$
1
  • \$\begingroup\$ Well even better !! that's a definite solution if you have confirmed the cause. Let them know I'm sure it was a simple oversight ... thanks for sharing the solution ... \$\endgroup\$
    – citizen
    Commented Jan 4, 2022 at 10:47
0
\$\begingroup\$

Check the thermistor for cell2. Its temperature is showing zero degrees. That is probably why you are getting the perm fail.

\$\endgroup\$
1
  • \$\begingroup\$ I don't have two thermistors. When going through setup I set it to only use one thermistor as well. \$\endgroup\$
    – roli
    Commented Dec 22, 2021 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.