We have a new design, with a ESP32 controlling an LTC4015. Everything seems to be ok, it says Ready to charge, but then Charge suspended. Could someone have a look at the PCB design to see if I made some mistake? It's a KiCad design. Please tell me where to send Gerber files or what you need? Thnx in advance!
Some additional details:
There is also some problems with the I2C communication whenever VIN goes too low, below 14-15V, particularily with a good battery connected. Above or without a battery connected, communication is mostly good with occasional dropouts.
The circuit is powered by a benchtop PSU and feeds a fairly large 12V sealed lead-acid battery.
We are using the following MOSFETs:
M1, M2, M3: NTMFS5C670NL (60 V, 6.1mΩ, 71A, VGS(th) max. 2V)
M4: IPD50P04P4L-11 (-40V, 10.6mΩ, -50 A, VGS(th) max. -2.2V)
Some measured voltages as near to or on the LTC4015 as possible:
BG: 0,02 mV
It seems when I connect a busted lead acid battery that the charger tries to pull OutFET as I can hear clicking in the inductor, but when a good battery is connected as in the case above, it does not appear to try charging at all.
Some SMBUS data:
I (708138) batt: LTC4015_NTC_PAUSE_BF: 0I (708158) batt: LTC4015_TIMER_TERM_BF: 0I (708178) batt: LTC4015_CHARGER_ENABLED_BF: 0I (708198) batt: LTC4015_MPPT_EN_PIN_BF: 1I (708218) batt: LTC4015_CHARGER_SUSPENDED_BF: 1I (708238) batt: LTC4015_CHARGER_STATE_ALERTS: 0I (708258) batt: LTC4015_CHARGER_STATE: 256 (100000000)I (708278) batt: LTC4015_LIMIT_ALERTS: 0I (708298) batt: LTC4015_CHARGE_STATUS_ALERTS: 0I (708318) batt: LTC4015_SYSTEM_STATUS: 2759 (101011000111)I (708338) batt: LTC4015_EQUALIZE_REQ_BF: 0I (708358) batt: LTC4015_DRVCC_GOOD_BF: 1I (708378) batt: LTC4015_CELL_COUNT_ERROR_BF: 0I (708398) batt: LTC4015_OK_TO_CHARGE_BF: 1I (708418) batt: LTC4015_NO_RT_BF: 0I (708438) batt: LTC4015_THERMAL_SHUTDOWN_BF: 0I (708458) batt: LTC4015_VIN_OVLO_BF: 0I (708478) batt: LTC4015_VIN_GT_VBAT_BF: 1I (708498) batt: LTC4015_ABSORB_TIMER: 0I (708518) batt: LTC4015_EQUALIZE_TIMER: 0I (708538) batt: LTC4015_C_OVER_X_TERM_BF: 0I (708558) batt: LTC4015_VIN_UVCL_ACTIVE_BF: 0I (708578) batt: LTC4015_IIN_LIMIT_ACTIVE_BF: 0I (708598) batt: LTC4015_CONSTANT_CURRENT_BF: 0I (708618) batt: LTC4015_CONSTANT_VOLTAGE_BF: 0I (708638) batt: LTC4015_CHEM_BF: 8I (708658) batt: LTC4015_CELL_COUNT_PINS_BF: 6I (708678) batt: LTC4015_MEAS_SYS_VALID: 1I (708698) batt: LTC4015_IIN_LIMIT_SETTING: 10.67 AI (708718) batt: LTC4015_ICHARGE_TARGET_BF: 10.67 AI (708738) batt: LTC4015_VCHARGE_SETTING: 2.20 V/cell (13.20 V/tot)I (708758) batt: LTC4015_IBAT: 0.00 μA (0.00 mA)I (708778) batt: LTC4015_VBAT: 2085936.22 μV (2085.94 mV)I (708798) batt: LTC4015_VBAT_FILT: 11.12 mVI (708818) batt: LTC4015_VSYS: 18.2862 VI (708838) batt: LTC4015_VIN: 18.3389 VI (708858) batt: LTC4015_IIN: 0.0000 mAI (708878) batt: LTC4015_DIE_TEMP: 34.76 °CI (708898) batt: LTC4015_NTC_RATIO: 10037.61 ohmI (708918) batt: LTC4015_BSR: 0.00 ohmI (708938) batt: LTC4015_QCOUNT: 32768 C
IBAT and IIN do show values most of the time, but there is a bit of intermittency, this is just cut from a random reporting cycle.
Hi all, I sent you both friend requests. You can privately message me your KiCad project or gerbers so I can look at the layout.
Let's keep the discussion public to help others, though.
We're working with the theory at the moment that our issues are caused by a too long high speed switching path, with too poor connection to ground as the symptoms seem to fit a previous poster. Primarily for the switching path, our C1 was quite far from the other components.
We've tried to make a new outlay rectifying these two issues, so if you agree this is the likely culprit I will order up a test batch of these and give them a try.
If you have time to take a quick look at the latest revision we sent we would very much appreciate it as we are behind in our schedule, and have to get a new testbatch out on monday. It would be great to have some feedback so as to not risk another setback. Best regards Preben
Hi Preben, I have given you some feedback.
Thank you very much, we will returen with feedback on lessons from our update design
A quick update - we discovered we had actually left out a decoupling cap for INTVCC which must have gotten removed in some revision (it was present in earlier versions) which caused our 4 layer board to misbehave, but with this in place it works well.
The 2-layer version did not seem to work even with this cap added. For this reason we ended up with a 4 layer board which works well in nearly all respects, except for measurement of IBAT and the coulomb-counter.
The IIN seems to be pegged at 32768 with a battery connected, and the coulomb counter counts down really quickly until it reaches 0.
My current working theory that one of the CSP/CSN inputs get damaged during battery connection as I have tried a couple of chips, and they seem to both exhibit the same problem.
In the specs CSP/CSN is specified with a max difference of 50mV - do you know if exceeding this causes damage to the chip? Do you have any tips for avoiding this?
The abs max differential voltage for those pins is +/- 0.3V. Exceeding 50mV is not a problem.
It is possible that the IC was damaged due to inrush current through the sense resistor, but then a fresh IC would work.
Make sure the coulomb counter is configured correctly and check the CCREFP/CCREFM pins, etc.
Having soldered up a triplet of new boards, I've pretty much confirmed that the IC's had inrush damage - the new ones all work. I will do some aggressive testing on them and see if I can replicate the problem, but the two original chips with a problem had all been through a few solder cycles and some prototyping harassment, so I'm optimistic I won't have the problem going forward.
Thank you for the help, we are very pleased to have a well functioning board that will shortly go into production:)