diy solar

diy solar

DIY BMS design and reflection

I understand mission creap quite well.
But for what it does , OPA2189IDR is still worth additional cost.
 
Nice choice! The instrumentation amp (AD623) I'm using has an output offset tempco of 2.5 (average) to 10 uV/C. As seen from my measured data, that amp can be used as a thermometer!
 
I understand mission creap quite well.
But for what it does , OPA2189IDR is still worth additional cost.

Yes, I agree ;)

I only used the OPA4990 for the shunt and Vrefs buffering because I already had it in the BoM for the cells voltage measurement but thought it was good enough for the first task too. It was barely ok for that as of course it was selected for the second task originally, and since I could really use to have a faster op-amp (quicker short-circuit protection) with a lower temp coefficient (higher accuracy, less software compensations headaches) I decided to change it for something better even if it's a bit more expensive (I design up to a spec, not down to a cost; that must be why I blown the initial budget estimation by more than two... ^^).

I'm actually debating of replacing all the 4990 I used in the design by the 4991, it's not much more expensive and is twice better...

Nice choice! The instrumentation amp (AD623) I'm using has an output offset tempco of 2.5 (average) to 10 uV/C. As seen from my measured data, that amp can be used as a thermometer!

Yep, I was already planning to replace the op-amp before that but your experiment added weight in the decision, and I actually need to check if the ADC and the Vref are good enough for what I want (ADC should be, Vref maybe not IIRC) ;)
 
Last edited:
So the ADC (LTC2452ITS8#TRMPBF) has an offset tempco of 0.02 LSB/°C and a gain tempco of 0.02 LSB/°C too, so it means that even without any software calibration the error would be only 4 LSB over the whole BMS temperature range (-40 to +60 °C) which translates to an error of 31 mA @ 1 A, 49 mA @ 300 A, 61 mA @ 500 A for the current measurement, and an error of 0.44 mV @ 3 V, 0.50 mV @ 4 V for the cells voltage measurements.

So that's more than plenty good, I'm very happy with this ADC ?


The Vref (MCP1501-40E/SN) has a 50 ppm/°C max tempco (10 ppm/°C typical) so for a 4096 mV reference that means a 20.5 mV change over the whole temperature range (-40 to +60 °C). That's not super great but it's the worst case (typical value would be only 4.1 mV) and easily compensable in software so that's okay.

The more important concern is that it's also used for the hardware protections and that means a maximum error of 9.8 A on the current protections, 328 mV on the battery voltage protections and 2 °C on the temperature protections. Again it's worst case and over the whole temp range so typically it would be a lot better (like 5 to 10 times better...) but I'm not sure it's good enough; I guess it must be my perfectionist side...

What do you all think? should I hunt for a better Vref?


On another note I think this guy has the solution to 90 % of my manufacturing problems: https://www.youtube.com/playlist?list=PLIeJXmcg1baLBz3x0nCDqkYpKs2IWGHk4

It's a big deal because out-sourcing the manufacturing is really expensive in quantities of "only" a few hundreds units (and that's already a lot of units for my project), and the other DIY PnP projects are in the thousands of dollars, let alone the non-DIY ones...

Of course his PnP isn't finished yet but all the bases are here and it works good enough as a PoC so I'm not really worried for the future. It's basically exactly what I was looking for (well, he's doing that because he has the same needs as me and a lot of DIYers, so that's not surprising ^^).
 
Last edited:
It's hard to say right now but my estimation for a turn key BMS with the five boards would be around 500-600 USD with outsourcing manufacture. If I can have my own PnP and reflow oven then I should be able to drop the cost by 50-100 USD and stay under 500 USD.

I don't know if that would be considered expensive but given the fact I'm using only top tier components for everything and it can handle 300 A continous (real Amps, no derating needed like with cheap BMS) on top of having fully redundant HW protections, precharge for capacitive loads, highly accurate coulomb counting, being short circuit proof, I/Os to control external devices, high current balancing, ... so obviously I can't be as cheap as the chinese BMS who don't have all that and who are using the cheapest components available (plus I'll not manufacture in thousands+ quantities which is a big part in being able to reduce price).

Honestly I have no idea how many people would be interested at that price range as I didn't do any market poll or anything (plus right now I'm more focused on finishing the design and doing a lot of testing before even thinking about selling it). Originally it was just a personal project I chose to open source ?

Of course a 8s version would be less expensive, and a 4s one would be a lot less expensive (so much so I may be able to have a price low enough to not be too far off the cheap BMS prices).

It's also modular so if you don't want some boards like the balancer or the HMI you can reduce costs that way. If there's enough interest I can also do a lower current version, like 150 A for example, which would also be less expensive.

You tell me if I'm just crazy or if it's reasonable (well, at least I'm still under the cost of a Batrium BMS ^^) but in any case I can't change what it costs.
 
Last edited:
The Vref (MCP1501-40E/SN) has a 50 ppm/°C max tempco (10 ppm/°C typical) so for a 4096 mV reference that means a 20.5 mV change over the whole temperature range (-40 to +60 °C). That's not super great but it's the worst case (typical value would be only 4.1 mV) and easily compensable in software so that's okay.

What do you all think? should I hunt for a better Vref?

Typical operating curves shows less than 4 .0 mV. I don't think you need to be concerned with max ratings when building relatively low quantities.

Also, do you need to be concerned about temperatures below -10C? I guess the battery pack could have a heater. -40C sounds like military requirements.
 
Well... I like to have some margin (and then some margin on top of the margin... :ROFLMAO: ) so I tend to always use worst cases for my calculations.

But yeah, I guess here it's not as critical as for thermal or current limits for example. And I could use my time to make progress on the design instead of searching new components ^^

The lower temp rating needs to go at least as low as -30 °C because LTO cells can handle that and the BMS can manage LTO cells.

All components have been chosen to handle the industrial -40 +85 °C range at a minimum (and I tried to chose -40 +125 or even -55 +150 when possible for the most important components), and the design is based around -40 +60 °C absolute max limits and -35 +55 °C recommended limits.

//

On another note I had kind of a eureka moment: for the cells voltage measurement there's currently 16 op-amps and two 8:1 MUXes. What about having 4 op-amps (3 actually but they come by 4 so...) and 4 MUXes instead?
- it's simpler
- it's less expensive
- has a lower component count (especially on the precision resistors)
- has a lower power consumption (ok, we're talking mW here, but still nice to have)
- has a better accuracy
- only downside is that I need to redo the routing of that part of the PCB but it should fit no problem

I don't know how I didn't saw that before but if I double the MUXes to switch two connections to each cell I can put them before the op-amp and then use only one of them for each 8 cells group + another one to eliminate the Vcm of the top 8 cells op-amp output. I just need to confirm the MUX leakage currents, etc... are good enough for that but I don't see why it wouldn't work. Anything wrong with that idea?
 
Last edited:
  • Like
Reactions: Cal
On another note I had kind of a eureka moment: for the cells voltage measurement there's currently 16 op-amps and two 8:1 MUXes. What about having 4 op-amps (3 actually but they come by 4 so...) and 4 MUXes instead?
- it's simpler
- it's less expensive
- has a lower component count (especially on the precision resistors)
- has a lower power consumption (ok, we're talking mW here, but still nice to have)
- has a better accuracy
- only downside is that I need to redo the routing of that part of the PCB but it should fit no problem

I don't know how I didn't saw that before but if I double the MUXes to switch two connections to each cell I can put them before the op-amp and then use only one of them for each 8 cells group + another one to eliminate the Vcm of the top 8 cells op-amp output. I just need to confirm the MUX leakage currents, etc... are good enough for that but I don't see why it wouldn't work. Anything wrong with that idea?
That's a great idea! The 100 nF filter should be connected between the cell and mux.

Edit, not sure now. The input to the mux will see the voltage of 8 cells. That's a range of 8 * 4V = 32V
 
Last edited:
Thanks ;)

Yep, the 100 nF caps stay where they are, better cut down the noise as early as possible.

I'll actually move the 100 k resistors before the caps so they form nice low pass filters (fc = 16 Hz) instead of just acting as bypassing caps.
 
Last edited:
So (of course...) the leakage current of the MUX is too high (10 nA @ -40 to +85 °C, and I want 1 nA or less) so I looked for a better one and found two. Out of the two, one is a 8:1 MUX, and the other one is a 2x 8:1 MUX. The later is an ideal solution because it's lower part count, lower real estate, has better matching between the channels and is less expensive than two separate parts.

It's the MUX36D08IDWR for those interested ;)

Oh, also, its logic inputs are Vdd tolerant so I can avoid one of 5 V regulators so that's very nice ?

@Cal Regarding your edit in your last post: the 100 nF caps are 100 V rated and the MUX and op-amps are 36 V (40 V abs. max) rated so no problem.

NB: it's actually 9s for LFP/LTO with 3.8 V/cell max (34.2 V total) and 8s for NMC with 4.1 V/cell max (33.6 V total) for the supplies rails just because I can do that easily and it allows to not be right at the rail voltage on the MUX and op-amp inputs/outputs so less error. I attached the schematic if you want to look into more detail ;)
 

Attachments

  • BO_BMSB_1630.pdf
    279 KB · Views: 2
So (of course...) the leakage current of the MUX is too high (10 nA @ -40 to +85 °C, and I want 1 nA or less) so I looked for a better one and found two. Out of the two, one is a 8:1 MUX, and the other one is a 2x 8:1 MUX. The later is an ideal solution because it's lower part count, lower real estate, has better matching between the channels and is less expensive than two separate parts.

It's the MUX36D08IDWR for those interested ;)

Oh, also, its logic inputs are Vdd tolerant so I can avoid one of 5 V regulators so that's very nice ?

@Cal Regarding your edit in your last post: the 100 nF caps are 100 V rated and the MUX and op-amps are 36 V (40 V abs. max) rated so no problem.

NB: it's actually 9s for LFP/LTO with 3.8 V/cell max (34.2 V total) and 8s for NMC with 4.1 V/cell max (33.6 V total) for the supplies rails just because I can do that easily and it allows to not be right at the rail voltage on the MUX and op-amp inputs/outputs so less error. I attached the schematic if you want to look into more detail ;)

Sometimes the depth of knowledge and experience on this forum really blows me away.

Of course the converse is also true but I try to keep quiet in that case ? unless I can help!
 
So (of course...) the leakage current of the MUX is too high (10 nA @ -40 to +85 °C, and I want 1 nA or less) so I looked for a better one and found two. Out of the two, one is a 8:1 MUX, and the other one is a 2x 8:1 MUX. The later is an ideal solution because it's lower part count, lower real estate, has better matching between the channels and is less expensive than two separate parts.
Correct me if I'm wrong, but is the impedance of the resistor divider the reason for needing a mux with lower leakage current.? Could you reduce the impedance by a factor of 10 and keep existing mux?

We had a discussion regarding my proposed cell voltage divider/filter. I'm using a common divider impedance of 17k ohm for all cells.

10 nA (max leakage) * 17k ohm = 0.17 mV

I don't see any problems with that.
 
Yes, it's because of the 100 k resistors, 10 nA in 100 k is 1 mV and I want around 0.1 mV max for the leakage current error.

If I reduce the value then it increases the power consumption, and as I said it's a good idea to change the MUXes for 2x 8:1 ones anyway. The one I selected has a 1 nA leakage current spec so it's perfect ;)
 
  • Like
Reactions: Cal
If I reduce the value then it increases the power consumption,
Isn't the power consumption of the resistor divider down in the mud? You have two 100k resistors across each cell.

P = V^2/R = 3.7^2/200k = 68 uW per cell

16 cells * 68 uW/cell = 1.1 mW

The MeanWell isolated dc/dc has a no load current of 3 mA. With input voltage at 59V, that's 177 mW.

But I understand, the new mux works better for you. It does have higher on resistance though.
 
Given the configuration the voltage can go as high as about 30 V into 200 k so 150 µA or 4.5 mW. But I just realised with the new topology only one cell per MUX will be connected at any given time and the others will be floating, and if I use a clever trick and re-arrange in what order things are connected to the main MUX I can effectively disable all cells when I'm not doing the measurement (e.g. 99 % of the time) so 10 k resistors are no problem.

But, the funny thing is that the 10 k resistors are much more expensive than the 100 k ones so even going with the MUX507*, which has basically the same specs as the MUX36D08 but same 10 nA leakage as the original DG408, would be more expensive in the global cost (around 2-3 $) and add a bit of complexity to the circuitry.

So I think I'll stay with the 100 k ones even if this MUX is a bit more expensive than the 10 nA version, the total cost is lower for the same perfs and a bit simpler circuitry.

Yep, I saw the higher Rdson but the bigger concern is the matching between the channels and it's a lot lower than the 50 Ohms tolerance of the 0.05 % 100 k resistors so I'm good. The other important rating is the flatness over the temperature range but given there's very few (basically one...) MUXes matching my constraints I must compromise on that. If it's too big I can always add some correction in software but a quick calculation tells me it should be ok.
 
  • Like
Reactions: Cal
Given the configuration the voltage can go as high as about 30 V into 200 k so 150 µA or 4.5 mW. But I just realised with the new topology only one cell per MUX will be connected at any given time and the others will be floating, and if I use a clever trick and re-arrange in what order things are connected to the main MUX I can effectively disable all cells when I'm not doing the measurement (e.g. 99 % of the time) so 10 k resistors are no problem.
Yes, of course, the highest cell has a voltage of 30V; therefore a dissipation of 4.5 mW.

You could use two multiplexers to connect the high-side and low-side of each cell to just one op amp. Speed would be reduced as there is voltage settling time.
 
You could use two multiplexers to connect the high-side and low-side of each cell to just one op amp. Speed would be reduced as there is voltage settling time.

Not sure we understood each other. That's exactly what I'm planning to do. If you actually understood that and meant to use only one op-amp for the 16 cells then I can't because the voltage would be too high; splitting the pack in two halves is mandatory. But it's not a big problem, just need to use two 2x 8:1 MUXes instead of two 16:1 ones, and add two op-amps, that's all ;)
 
Yes, exactly what I was thinking. My comment is to use just one op amp for a 8-cell group. That wasn't clear.
 
It's hard to say right now but my estimation for a turn key BMS with the five boards would be around 500-600 USD with outsourcing manufacture. If I can have my own PnP and reflow oven then I should be able to drop the cost by 50-100 USD and stay under 500 USD.
If you ever do an 8s of 100 amps continuous [not peak] safe then I might be interested. :)
 
Back
Top