analog circuit problem - scratching my head, is there a better solution? - Page 1
Forum section: electronics / projects

author: tatus1969
author_rank: Super Contributor
timestamp: July 29, 2020, 10:48:11 am
content: Hi guys,I'm designing a BMS around the BQ40Z80 from TI. This chip controls protection MOSFETs in the positive (high-side) path, but measures the battery pack current in the negative (low-side) path. From the chip design perspective I can totally understand why they are doing this, but in my application I just don't have access to th negative power path altogether.Because this chip literally has no competition at the moment (I have done a lot of research - the only other option is ISL94202 but that's the chip that I had been using in the previous design that I am currently replacing because of very bad results - long story), I have designed a circuit that adds high-side current sensing to it. It works well, but has a precision problem. The two resistive dividers R17/R18 and R19/R20 need to have exceptional precision, and even with 0.1% resistors I get a theoretical differential offset of 0.607mV. This corresponds to 607mA, which is way more than the precision of the involved chips. The INA186 for example is specified for +-0.05mV offset error.These are the boundary conditions for my design choice:- the BQ40Z80 wants a common mode voltage at SRP/SRN of no more than 300mV (info from the TI field engineers).- the maximum current will be +/-100A, which must correspond to +/-100mV differentially at SRP/SRN.- I have chosen a 300uR current shunt, the INA186 has a gain of 25, and my resistive dividers have a gain of 0.13 approximately.- I do not have enough space on the board for more components (like, e.g. a buffer opamp).- current consumption must be minimal, as the circuit is directly powered from the battery.What is making my head scratch is that I have the impression that there must be a better way to do this, which avoids the need of high precision resistors. The OUT pin of the INA186 needs to be able to produce a +/-0.75V swing relative to its REF input, as that corresponds to +/-100A. This means that the REF potential needs to be at least 0.75V with respect to GND. But the BQ40Z80 cannot accept this voltage at its SRP pin according to the TI engineers. Hence, I have to scale down both OUT and REF voltages, which makes me end up with two resistive dividers and the resulting precision problem.I hope that I am missing something obvious here?Cheers Frank

author: OM222O
author_rank: Frequent Contributor
timestamp: July 29, 2020, 11:05:42 am
content: This seems EXTREMELY odd. how do you have access to all the cells but not the negative of the first one (PACK -) ? if there are any balance leads or the actual negative lead of the battery anywhere on your circuit (which I assume there is, because otherwise you're either powering everything from a single cell (or maybe a few of them) but not the rest which leads to unbalanced discharge of those cells. VERY BAD DESIGN FOR A BMS. other solution would be using a separate battery for the BMSthat's a really stupid idea as well.Please provide more details, it is very unlikely that a BMS does not have access to PACK- input.

author: ninux
author_rank: Contributor
timestamp: July 29, 2020, 12:44:25 pm
content: I have to admit I do not quite understanding why you would not have the negative port to the battery available but nevertheless, here some thoughts:I had a similar situation with the ADP1046A full-bridge controller, where I had to implement an isolated current measurement. Here, a decent precision was required for active current sharing control. First, I used the ACS717 current sensor IC, which unfortunately has a single-ended differential output. I added a OpAmp circuit to interface the controller. However, it was not accurate enough so I switched to a LEM current transducer (CKSR series) which has a differential output and a fairly good accuracy. Here, it's worth mentioning, that my customer had a very good price condition for the LEM current transducer, as they already used it in high volumes. In general, the current sensors IC is much more cost effective.As you seem to have a difficult interfacing to the battery, maybe you could use a similar approach having an isolated current measurement instead of delicate analog circuitry using a shunt? In addition, you have +/- 100 A of current, which is relatively high for shunt measurements in my experience (thermal effects and drifts ...). Maybe it could also help to make the design more robust?

author: tatus1969
author_rank: Super Contributor
timestamp: July 29, 2020, 01:49:14 pm
content: Quote from: OM222O on July 29, 2020, 11:05:42 amYes I know... This is a design for a customer as a retrofit solution, and their battery pack is constructed like this and they don't want to change it. The previous (unsuccessful) design around the ISL94202 didn't require access to the negative power path, hence the construction now isn't made for it.Quote from: OM222O on July 29, 2020, 11:05:42 amThe BMS draws its power (< 100uA average) only from PACK+ (via power path) and - (via balancer cable). The cell sense inputs don't draw current (1uA max leakage), so I don't see this as a problem.Quote from: ninux on July 29, 2020, 12:44:25 pmNot in this case, as the BQ40Z80 already has the signal conditioning built in. The sense resistor is SMD 2512 style and costs almost nothing.EDIT: just reading what I wrote. Not entirely true in this case, as the INA186 also has its price. Just checked the ACS711 that I am using in another project - this isn't an option as it draws 4mA of current.Quote from: ninux on July 29, 2020, 12:44:25 pmThat's the required measurement range and also includes short circuit current amplitudes. The BMS is designed for 30A continuous (6S4P 18650), which is well in the range of the shunt resistor. The part is also impulse hardened.Quote from: ninux on July 29, 2020, 12:44:25 pmI'm aware of this, and I know that I will have to account for gain errors due to the solder joints. The solution doesn't need good gain accuracy as the task is only to cut off on charge/discharge overcurrent, as well as short circuit. What I need though is a reasonably good zero current value, as that is relevant for load detection and sleep mode activation.Quote from: ninux on July 29, 2020, 12:44:25 pmThe total solution including balancer connector and solder pads for the + power path and thermistor is just 50 x 19 mm. Would be hard to fit a LEM here :-)

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: July 29, 2020, 02:38:06 pm
content: Hi,You need to check the input bias currents on the SRN and SRP pins.You are proposing a high impedance divider between the INA186 and the BQ40Z80.In the normal application circuit the sense resistor is 1 to 3mand the recommended filter resistor are 100, so low impedance. So the bias currents will have little impact.The bias currents are not listed on the BQ40Z80 datasheet.Also check that you have not slowed down the response to a short circuit (fault condition).Regards,Jay_Diddy_B

author: tatus1969
author_rank: Super Contributor
timestamp: July 29, 2020, 03:28:50 pm
content: Quote from: Jay_Diddy_B on July 29, 2020, 02:38:06 pmI have both measured this (<50nA single ended, below my instrument detection levels differentially / at room temp) and had asked the TI engineers about this although didn't get a number. I can't afford buffer amps here because of space constraints, I literally only have space left for a few 0603's.Quote from: Jay_Diddy_B on July 29, 2020, 02:38:06 pmThe filter matches their suggested 100nF / 2x 100R, so that shouldn't be a problem.

author: tatus1969
author_rank: Super Contributor
timestamp: August 31, 2020, 09:02:34 am
content: I needed to modify the circuit, as the offset was excessive as suspected. I went and moved the attenuator to the input of the INA186. This 'magnifies' its own offset, but with a typical value of 5uA and 50uA max this is be well within my set target. I'm posting this here for anyone having a similar problem. The INA186 is a burner :-)