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.
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.
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.
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).
Fixed
Still broken here also.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.
I don't see the problem. Both of these URLs work for me:Still broken here also.
No, this does not justify 10mV. It only states it.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.
I agree this is not a terribly important point.Why 32s?
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".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.
I recommend you do some data logging. See how stable the measurement is before you get too far down the road.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.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 don't see the problem. Both of these URLs work for me:
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.
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".
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.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 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.
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.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.
Great, I am all ears. Show me a design that produces better accuracy for similar cost/complexity.Me personally, I don't have any trouble making a mV accurate system without any special parts so I would do that.
I have been collecting data. The controller is capable of delivering data to a server (advbms.com).I recommend you do some data logging.
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.
Are you collecting data every 5 seconds and storing the data in a file that can be read by excel (.csv)?I have been collecting data. The controller is capable of delivering data to a server (advbms.com).
You know this is just a hobby project, right?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.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.
MQTT and CAN are excellent choices for external interfacing.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.
True, but on the other hand, it seems to me that a lot of the BMS choices are rather poor.You know this is just a hobby project, right?