diy solar

diy solar

Taves BMS

I have not heard any arguments as to why the ADC accuracy of the attiny is insufficient.
I should be clear here. Others specified what they felt the accuracy should be, but they did not supply a rationale for that level.
 
I have not heard any arguments as to why the ADC accuracy of the attiny is insufficient. @BiduleOhm made good arguments that it was better to have a larger margin of "safety" with respect to the reported ADC accuracy, and to be sufficiently accurate to not have to worry about it. These are good points, but don't specify the threshold that is needed for this application. In other words, if I had 16 bits, the same argument can be used to say that 24 is needed. From what I have seen, I have no problem detecting the knee of the curve. I posted a screen shot here showing the dramatic rise within a short amount of time and you can see plenty of resolution in the data points.

Hmm.. I think I answered rather clearly why in this post: https://diysolarforum.com/threads/taves-bms.14980/page-5#post-171277


I have not seen a better solution. @Cal and @BiduleOhm have stated how to make the different parts, but I have not seen a complete design that is expandable to 32s, measures temperature, voltage, drains the cell, and has low power (the attiny uses , 30uA when asleep, which it should be most of the time).

Why 32s?

I'm currently making a 16s one which is almost completed (just need to route one board and design the balancing board, but all the complex stuff is done). And in theory you can expand it to 32s by adding a few components but I'm not sure why you would want that many cells in series.



Still broken on my end. It redirects to the home page, I guess because the URL is 404.
 
Last edited:
Hmm.. I think I answered rather clearly why in this post: https://diysolarforum.com/threads/taves-bms.14980/page-5#post-171277




Why 32s?

I'm currently making a 16s one which is almost completed (just need to route one board and design the balancing board, but all the complex stuff is done). And in theory you can expand it to 32s by adding a few components but I'm not sure why you would want that much cells in series.




Still broken on my end. It redirects to the home page, I guess because the URL is 404.
Still broken here also.
 
The 10 mV is a rough average that make sense and that you can see in most other BMSs. 100 mV is too coarse (that's like 20 % of the typical 3.0 to 3.5 V range we use with LFP...) and 1 mV is obviously very nice but most people don't want to spend the money to have that kind of accuracy.
No, this does not justify 10mV. It only states it.

It does not specify whether this is _+10mV or +- 5mV.
It makes the case that 100mV is too coarse and 1mV is not necessary.
Is 10mV the only number between 1 and 100?

I think the circuit is delivering at least +-10mV.
 
I agree this is not a terribly important point.

The point is that you just string together as many as you want. @Roqm needs 13s, and if I had 13 batteries I could show you a screen shot of it in action right now.

I'm currently making a 16s one which is almost completed (just need to route one board and design the balancing board, but all the complex stuff is done). And in theory you can expand it to 32s by adding a few components but I'm not sure why you would want that many cells in series.
Again, I am not saying that there are no better solutions. I am just saying I don't know them. This sort of response provides no information in that regard. You provide no cost, no size info, and suggest a much more complicated solution with the words "just need to route one board and design the balancing board, but all the complex stuff is done".
 
No, this does not justify 10mV. It only states it.

It does not specify whether this is _+10mV or +- 5mV.
It makes the case that 100mV is too coarse and 1mV is not necessary.
Is 10mV the only number between 1 and 100?

I think the circuit is delivering at least +-10mV.
I recommend you do some data logging. See how stable the measurement is before you get too far down the road.

You can purchase THIS from just about anywhere. I'm just in the process of modifying one of those SD card readers to work with ESP32 (3.3V). The adapter has a 5V to 3.3V regulator. I removed the regulator and connected regulator input to regulator output pins. In other words, ESP32 supplies the 3.3V (@Vcc) required for the SD reader.
 
No, this does not justify 10mV. It only states it.

It does not specify whether this is _+10mV or +- 5mV.
It makes the case that 100mV is too coarse and 1mV is not necessary.
Is 10mV the only number between 1 and 100?

I think the circuit is delivering at least +-10mV.
The measurement needs to be more accurate than the application minimum requirements - by a significant factor. Most of the function of a BMS is about relative measurements, not so much absolute accuracy. You want to know the difference between each cells and be in s position to respond to deviations within a reasonable amount of time. What accuracy is really appropriate is a human decision made early in the design process.

Me personally, I don't have any trouble making a mV accurate system without any special parts so I would do that. I am not a battery expert by any means, but I would say +/-10mV accuracy and +/-1mv stability is a passable specification. My implementation would be close to +/-1mV and some micro volt stability which ensures that I am able to see and act on good data well ahead of it hitting the extremes of the requirements.

In testing, if I want to measure .001", I use a mic that is guaranteed to .0001"
If I want to measure to single mV's, I use a volt meter that is guaranteed 10x better than that.
 

Still not working.

But I fixed it: https://pnwsoft.com/Taves/Schematic_cells.pdf for the record, uppercase in URLs is out of spec, for the exact reason it can create problems like this one --> don't use uppercase in URLs.


No, this does not justify 10mV. It only states it.

It does not specify whether this is _+10mV or +- 5mV.
It makes the case that 100mV is too coarse and 1mV is not necessary.
Is 10mV the only number between 1 and 100?

I think the circuit is delivering at least +-10mV.

Ok, justification: 100 mV is too coarse, 1 mV is very nice but expensive, 10 mV is a good middle ground between the two.

It's +/- 10 mV.

No, not the only number of course, but it is the only round number.

With 8 ENOB it is definitely less accurate than +/- 10 mV, at best it'll be +/- 14.3 mV.


Again, I am not saying that there are no better solutions. I am just saying I don't know them. This sort of response provides no information in that regard. You provide no cost, no size info, and suggest a much more complicated solution with the words "just need to route one board and design the balancing board, but all the complex stuff is done".

Well, then I guess you don't know them because you didn't look for them.

Yes, it's more complicated because it also has a lot more features, and includes the high power switch, and is highly modular (so multiple boards instead of one big one).

You said that you have not seen a better solution nor a complete design, well, I provided one, I never said it was simpler.
 
Last edited:
Yes, it's more complicated because it also has a lot more features, and includes the high power switch, and is highly modular (so multiple boards instead of one big one).
I have been attempting to answer @Factory400's question quoted below. Thus the discussion you are commenting on was supposed to be about the choice of using an attiny per cell to measure the voltage, (and temperature of that cell), turn on/off the drain resistor (to do balancing), and communicate to/from a CPU (controller) that will act on that info.

I have not made any comment regarding a complete installation that might also include a high power switch, an inverter, or solar panels or any other number of things.
I cannot for the life of me understand why ATtiny would be the choice for a fresh design - at least if the central function is ADC performance.
 
Most of the function of a BMS is about relative measurements, not so much absolute accuracy. You want to know the difference between each cells and be in s position to respond to deviations within a reasonable amount of time.
I don't agree with this. The batteries get damaged as the absolute voltage rises/falls past some threshold. The difference between each cell is rather irrelevant except to balance them which only affects the whole pack capacity.
Me personally, I don't have any trouble making a mV accurate system without any special parts so I would do that.
Great, I am all ears. Show me a design that produces better accuracy for similar cost/complexity.

Note, however, that you plop down N of the cell circuit for an Ns battery, and connect those in series to the controller circuit, which really has nothing specific to N on it. Note also that a board that handles 4 cells is fine, so long as you can connect that to the controller and handle what any N.
 
I recommend you do some data logging.
I have been collecting data. The controller is capable of delivering data to a server (advbms.com).

I am wondering if I should build that out so that one can create their own account on that server and view/control their BMS from afar.

I assume someone will want MQTT at some point, and someone already asked for CAN bus.
 
I have been attempting to answer @Factory400's question quoted below. Thus the discussion you are commenting on was supposed to be about the choice of using an attiny per cell to measure the voltage, (and temperature of that cell), turn on/off the drain resistor (to do balancing), and communicate to/from a CPU (controller) that will act on that info.

What are you talking about? I answered what you said while answering to me.


I have not made any comment regarding a complete installation that might also include a high power switch, an inverter, or solar panels or any other number of things.

Ok, this is getting ridiculous... for the record I don't have any inverter or solar panels or whatever here, it's just a BMS with a FET based high current switch like more than half the BMS on the market...
 
I have been collecting data. The controller is capable of delivering data to a server (advbms.com).
Are you collecting data every 5 seconds and storing the data in a file that can be read by excel (.csv)?

Let's do some design verification. How does the voltage drift over temperature? How stable is the output? I don't think you tested your adc adequately yet. Let's see some data. You say your adc is good enough. Show us.
 
Are you collecting data every 5 seconds and storing the data in a file that can be read by excel (.csv)?

Let's do some design verification. How does the voltage drift over temperature? How stable is the output? I don't think you tested your adc adequately yet. Let's see some data. You say your adc is good enough. Show us.
You know this is just a hobby project, right?
Let's keep the conversation at that level, so we all learn or contribute something productive.
 
Are you collecting data every 5 seconds and storing the data in a file that can be read by excel (.csv)?

Let's do some design verification. How does the voltage drift over temperature? How stable is the output? I don't think you tested your adc adequately yet. Let's see some data. You say your adc is good enough. Show us.
Right now the system is collecting every 2 seconds. The cells are delivering the data in .4 secs for my 8s pack, so I can trivially go higher. Anything can be stuck into csv, so I don't see the point of that.

I agree that I have not tested adequately yet. I should be able to heat my compartment, where the cell boards are located, to stupid temps and see what that does for the V readings this weekend. It might get near freezing tonight, so I should have a reasonable range to play with.
 
I have been collecting data. The controller is capable of delivering data to a server (advbms.com).

I am wondering if I should build that out so that one can create their own account on that server and view/control their BMS from afar.

I assume someone will want MQTT at some point, and someone already asked for CAN bus.
MQTT and CAN are excellent choices for external interfacing.
 
You know this is just a hobby project, right?
True, but on the other hand, it seems to me that a lot of the BMS choices are rather poor.

1) I don't see the point of BMS that has the circuits to deal with amps of the system. Just like we do not include an inverter or charger in the BMS circuit, which totally depend upon the amps, there's no point in putting the main cut-off circuit in there. Many of these BMSs have an ugly compromise between wiring sizing and physical mounting mass that suck. There should be a product that is both a shunt and a cut-off circuit, since this would combine 2 separate lumps of Amp related components into 1.
2) I don't see the point of a BMS that will only balance when at the top of the charge. These designs force a large heat sink, or no balancing capability onto the physical characteristics. It seems to me that people routinely equate balancing with some sort of requirement, instead of simply improving the capacity of the pack.
3) These BMSs are generally 12V or 24V and are not expandable with additional cell monitoring modules. I figure anyone that is buying a DIY setup, has a good chance of changing their mind in the future and adding some more cells, maybe in series. For example, the only reason I am not at 48V is because I can't find a reasonable 48/12V DC/DC converter that will deliver 70A @12V. The 48V choices are rather slim today, but I see no reason this won't change.
4) I don't have any patience with LCDs and pathetic UIs crammed into a few buttons. Any BMS that supports that will have a headache with customer support. I see no point to bluetooth either. WiFi allows you have a browser based UI that puts no restrictions on the buttons and UI. You can plug in just about any tablet or old phone if you want a dedicated UI mounted somewhere near the battery. There's no issue with security, except for ill-informed fear. The data can be sent to the cloud.

So, I am not limiting my thinking to just a hobby. Sure, the odds are that it will be just be a hobby, but I figure it makes sense to drive down costs which includes not only ICs on a particular PCB, but number of PCBs/enclosures. Right now, the product consists of 1 unit/product#/IPC that handles 12V, and 1 unit/product#/IPC that allows that to expand to 32s, supporting any Ns in between. The software, and thus user manuals and help, remain the same regardless of number of cells.

In addition I put plenty of thought into making a UI that is easy to use and won't F'up your batteries. I think about how the user will plug all this in and verify that they have wired it up correctly and set the settings correctly. There is a lot to do on that front.
 
Back
Top