per cell charge controller
Comments
-
bump
-
I'd probably lean toward something like arduino mega with lots of 5v analog inputs.
My understanding is most lithium bms use resisters to bleed off full cells. If using relays, I imagine you'd want to do something to avoid relay chatter at switching voltages in circuitry and/or software.
If the objective is just top balancing cells, my guess is there is likely to be something available off the shelf that could work.Off-grid.
Main daytime system ~4kw panels into 2xMNClassic150 370ah 48v bank 2xOutback 3548 inverter 120v + 240v autotransformer
Night system ~1kw panels into 1xMNClassic150 700ah 12v bank morningstar 300w inverter -
By description that is similar to what a BMS with cell ballancing is designed to do, usually the ballance current is limited to prevent voltage runaway, the ballance process can be extremely slow if the cells are initially widely out of ballance or of large capaity. Single cell chargers like this https://m.aliexpress.com/item/32849198398.html?spm=a2g0n.orderlist-amp.item.32849198398&aff_trace_key=f21b1de61d9d4ac28eb12f5b6a60c877-1550104340720-09665-UneMJZVf&aff_platform=msite&m_page_id=180amp-ZXkLFFJjLTwwvWd9Q8WQJQ1550105161211 are useful to perform initial ballance as well as speed up the process when all cells are in series . As to using alternative methods the only comment I'll make is, be sure to limit current as the voltage approaches the knee in the charging curve because voltage climbs rapidly.
By bus and removing from the bus, are the cells in series?1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
If the concept is to take cells in and out of the series connection there are several issues. One, the voltage fluctuations could be significant for the pack and inverter. Two, the size of the relays to shunt around cell would have to be able to handle the full pack current. That could increase the cost to the point that the off the shelf shunt resistor type of BMS looks inexpensive. I think that is essentially what @Estragon said above.8 kW Enphase micros AC coupled to a SolArk 12K
-
I'm liking this for Arduino: dual core ESP32
comments?
_____
Yes, delays aka "hysteresis" is required, ideally adjustable like the open/close V setpoints.
I'm thinking somehow maximum per-cell current limiting as well, since as cells's relays disconnect from the charge buss, the remaining cells could draw higher amps than what's good for them wrt longevity.
____
Suggestions for OTS devices would be **very** welcome.
Some "hobby chargers" for electric aircraft have some similar features, but haven't seen any that get above 6-8A per cell, many do not allow for adjustable voltage, and all are very limited in cell count, so going to say 48 cells ends up costing thousands.
______
I am looking (ideally, eventually) to eliminate the need for "bulk charging" at any specific bank-voltage. Every charge cycle being a per-cell top-balance charge if you like.
So 12V portable pack, or 96V EV propulsion bank, same charging setup handles it all.
-
I do not believe in BMSs, at least from what I've seen so far. Yes to their various functionalities though, but IMO bleed balancing is stupid, and yes too slow.
I want here to focus on strict Voltage based control, high currents (over .5C, maybe allow up to 1C briefly in the low SoC ranges) are a good thing, as charging will often be fed by ICE sources, and short runtimes are an important goal, even if sacrificing a little cell longevity off the back end.
_______
No not in Series
While charging they all share the same Negative Return/Common Reference buss, as well as the high-side Positive charge circuit, so I suppose in that sense they are all wired in Parallel, to the extent / while each cell's relay is closed, connecting it to the + / - busses.
But, when a given cell's relay opens, that cell is 100% isolated, you could say "at rest". Does that make sense?
Doing this while they're in series requires each to be fed by an upstream-isolated-ground source, which I think would be way too expensive.
I suppose it should be the Positive connection that the relay / contactor opens & closes?
-
I would like to limit the topic here to the specific per-cell relays + regulator functionality outlined, referencing a collection of N standalone cells, not connected in any xPyS pack configuration.
AFAIK there is no inverter involved in this scenario.
______
The per-cell relays do need to handle the maximum **charging** ampacity, which yes will be pretty high depending on cell Ah capacity, since voltages are so low, in the 3.2-4.0V range.
Maybe start out assuming 8-12A? So, for prototyping purposes, looking to use ideally 20-25Ah cells, but anywhere in the 15-40Ah range.
I mean, we **could** start with baby cylindricals like A123 cells, what 2-3 Ah? Which would put rates at say 800-1500A per cell.
I'm just afraid then components will be very different, and maybe test results won't extrapolate well when moving up to the bigger sizes, maybe cylindrical LFPs have different behaviour responses than pouch/prismatics.
The design must eventually scale up to 180Ah cells, ideally even over 1000Ah.
Or if that's not realistic, one workaround for large Ah cells, is to bulk charge "rough" still wired as a xPyS pack, up to say 95% SoC, depending how well they stay balanced that way, and then do the per-cell "fine finish" per-cell charging for just the last 10-20Ah, to restore close as possible to a well-balanced state.
______
Finally, note that I am **not** looking for "a BMS" as a possible OTS alternative here. I am considering this a voltage-based per-cell **charge regulation** challenge.
To me, the cluster of functionalities encapsulated in "a BMS" should all be oriented toward "last-ditch" redundancy protection of the cells, against failure of the normal "usage-level" controls involved in normal daily cycling.
-
Coming back to current limiting.
I've come across systems in the past where smaller than usual wire gauge is used to reduce / limit current. I've always been wary about this idea from a safety POV especially in a mobile living or marine context, but lots of clever people do it, and I guess fuses can act as a failsafe?
Or I guess resistors could be used, bit above my pay grade though. Whichever, needs to be swappable as the regulators get put to use managing cells at different capacities.
Another option, if per-cell current regulation isn't practical, would be the supply buss gets current-limit throttled upstream at the pack level by the central controller (e.g. Arduino), based on the number of currently closed/connected relays.
So for a x16 25Ah example, a 200A-available buss as a starting point, would get scaled back by ~12A for each relay that gets opened/isolated.
-
The esp32 looks interesting. I did note that analog input, which you'd presumably use for reading cell voltage, was currently "unimplemented" though.
I'd probably want a backup way of preventing cell overvoltage in the event of a relay stuck closed. Could be done by a global stop-charge, or maybe per-cell?
Off-grid.
Main daytime system ~4kw panels into 2xMNClassic150 370ah 48v bank 2xOutback 3548 inverter 120v + 240v autotransformer
Night system ~1kw panels into 1xMNClassic150 700ah 12v bank morningstar 300w inverter -
There is a fairly common method for limiting high current flow for AC inverter outputs.
If you have a 600 Watt surge capable inverter and a "120 Watt" refrigerator compressor that pulls ~600 VA on start up that trips the inverter over current limits.
If you put a (for example) 100 foot 16 AWG (light duty) 120 VAC extension cord between the inverter and the refrigerator, some folks have found that the added resistance reduces the starting surge, preventing the inverter from over current tripping, and still enough current allowed for the fridge compressor to start.
Regarding per cell protection and using a relay or FET to "disconnect" a cell from the bank...
Are you planning on (for example) 16 strings of cells (4 cells in series for ~12 volt bank). Will it be 4x in series times 16 parallel strings? Or will it be 16 cells in parallel (one "big" cell), and those 4 parallel groups connected in series for 12 volts?
And what is the intent behind disconnecting one cell? Protect cell from over/under voltage? When connected in series, disconnecting one cell disconnects the entire series string. In parallel, you cannot really monitor the voltage of one cell, it is the voltage of all 16 cells connected together.
And if you cannot monitor per cell voltage on a 16 parallel string, all you can monitor is current per cell (shorted or open cell). That means per cell current monitoring. Or 16x current shunts or other current monitoring per cell. Not a fun wiring job.
If you are using 18650 or other common Li Ion cells, there are the PCB assemblies that fit on the end of a cell that would disconnect with over current (and over/under voltage).
Other issues that can be a pain--Having a per cell wire from cell to a micro computer/ADC voltage reader... Each of the sense wires will have full per cell voltage and per cell/paralleled groups of current available. Adding a high value resistor or small fuse per wire is common in sense circuits to limit any short circuit current.
And why, for example, Lead Acid battery monitors are connected on the ground side of the battery bank. The current sense leads for the shunt (precision power resistor) are always within 0.1 or 0.05 volts of ground, or at ground. You will not get high levels of current if a shunt sense lead is shorted.
-Bill
Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset -
Once cells are connected in parallel you would in essence have a single cell, or cell block if you like, the voltage of all individuals will eventually ballance to a single voltage across all cells within the block. The need then would be for a single cell charger that limits current once the voltage nears the fully charged state, unless I'm missing something.
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
My Android browser don't seem to work with the quoting here ATM.
> Once cells are connected in parallel you would in essence have a single cell, or cell block if you like
But this would only happen for the time the charge buss voltage is high.
> The need then would be for a single cell charger that limits current once the voltage nears the fully charged state
No per cell current control, only voltage - those cells that hit their high-V setpoint first, get isolated first. If their resting V drops they get reconnected for a set minimum time, or until high V is hit again.
-
> There is a fairly common method for limiting high current flow for AC inverter outputs.
Yes that's what I'm talking about. Maybe crude but cheap, if it works and can be varied with cell size as needed, great.
Ther is no bank, no xPyS, just a collection of isolated cells wired to a charge buss.
The cell gets taken offline to let V drop. If V stops dropping below the chosen Full setpoint, that means it is Full, charging has stopped. That is the only intent.
Each cell is isolated, no series, no parallel, each V independent.
Current does not need to be measured at all here, as long as from the beginning, preventing going over a rough ceiling, .5-1C.
LFP prismatics, as stated
> 20-25Ah cells, but anywhere in the 15-40Ah range
for prototyping purposes, design intended to be useful for much larger ones.
> Adding a high value resistor or small fuse per wire is common in sense circuits to limit any short circuit current.
If needed for safety then I'll do it.
But just sensing voltage going on, no ammeter here.
-
> The esp32 looks interesting. I did note that analog input, which you'd presumably use for reading cell voltage, was currently "unimplemented" though.
No idea, I assumed a voltage sensing device of some sort could report back digitally to the central controller. Was certainly not intending to buy an Arduino board per cell, each central controller should be handling as many cells as possible, the per-cell hardware I was thinking would just be the sensor wire and the relay.
> I'd probably want a backup way of preventing cell overvoltage in the event of a relay stuck closed. Could be done by a global stop-charge, or maybe per-cell?
I'm thinking cutting off the upstream charge source, but happy to leave that issue for a later design iteration.
-
Normally to ballance cells they are connected in parallel, then charged to 3,65V, a charger designed for the purpose will begin to limit current as the voltage reaches around 3.4V, tapering down to milli amps as the terminal voltage nears. Without current restriction the voltage would increase rapidly, as in seconds, due to there being little capacity above 3.4V, If all cells are charged in parallel the voltages would /should all be identical, therefore it would be unnecessary to cut charging individual cells. Not regulating current is not a wise decision, IMHO, but I ask the question, what is it you're attempting to achieve as it seems unconventional, will the cells be connected in series to achieve a higher nominal voltage? This link explains in more detail
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
The mobile version of this new Rich Test editor is missing the backwards P (paragraph Mark) on the left side of the screen. (That is where you find the quote tag)
This editor is still in beta and this is a known bug being worked.
Bill
Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset -
So all the cells are connected in parallel. So, except for a little bit of resistance, they are all at the same voltage. They are all going to hit 3.49V at the same time. So why disconnect them individually?
I am available for custom hardware/firmware development
-
My point exactly, once in parallel the voltage of all cells is equal.
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
I would **really** prefer, for purpose of this thread, to focus on the HowTo accomplish what I've outlined, if members here have the knowledge & skills to help me without putting in a lot of work, I'd really appreciate it.
Not so much on the "big picture" why's, theory of charging, what my intentions are, etc. Yes this is "unconventional" even experimental, and yes if maybe a waste of my time and money so be it, I will learn a lot and try something else.
Or maybe come back and share some interesting results that somehow extend our knowledge or help other DIY types.
So, again, the purpose is
Achieving top-balancing by low-voltage, independent CC-only charging at the cell level, using voltage-based termination only.
And ideally if possible, using this for every-day charging in normal cycling.
There is no dynamic-while-charging regulation of per-cell currents. Periodic charge disconnection is based strictly on hitting the top voltage setpoint, then re-connecting each cell to the buss based on the low-volt setpoint and hysteresis delays, basically a CV-only delta-peak style algorithm comparing cell- vs the buss circuit-voltage
Remember this is not "a bank" nor even "a pack", just a bunch of individual cells. When the pack is ready to be put back in service, its cells will be returned to whatever xPyS full-bank topology delivers the voltage and Ah capacity required by the intended use case at that time.
But that "stage's" configuration / wiring, details on the overall use case(s) is IMO moot and off-topic here; I think getting into that would divert the focus of the thread.
While the packs are "broken down" like this, the cells are **not** paralleled in the usual sense, or rather, **only** while the "cell-level regulator" is holding that cell's relay open to accept the buss' charging current.
Those relays **may** well get opened (isolating the cells) at a "closely similar" time, but if so, only at the first opening time.
But even then, I suspect not at **exactly** the same time, since the starting-point SoC and SoH (health, resistance, age, residual capacity) of each cell may be quite different from each other.
Furthermore, depending on the programmed number of minutes' delays, and the degree of hysteresis between those top- and bottom-voltage setpoints, each cell will differ in the time it takes during their "resting" period for the relay to subsequently cycle **closed / connected** again, and subsequently between closed and open, until the ultimate goal is reached:
To ensure as close as possible balance of resting voltage (as a proxy for SoC) between all the cells on that charge buss, without using measurement of trailing current, egg-timing the CV/Absorb stage, etc. As stated earlier
> I am looking (ideally, eventually) to eliminate the need for "bulk charging" at any specific bank-voltage. Every charge cycle being a per-cell top-balance charge if you like.
> So 12V portable pack, or 96V EV propulsion bank, same charging setup handles it all.
For any given cycle, if charge time needs to be shortened, exactitude of balancing can be postponed until the next leisurely opportunity.
-
When editing existing text, the cursor also jumps around while deleting / backspacing.
quoting now seems to be OK
-
Then I agree with others - any micro-controller board with sufficient analog inputs and digital outputs. Preferably 5V.
Search ebay for this 16 channel, < $10 relay board.
16-Channel-16-CH-5V-Relay-Shield-Module-Interface-Board-Optocoupler-for-Arduino
I am available for custom hardware/firmware development
-
Sorry for the unintended derail, I'll refrain from future comment, but do follow up with the results of the experiment, be safe and good luck.
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
Personally, I'd rather you didn't refrain from comment.
Off-grid.
Main daytime system ~4kw panels into 2xMNClassic150 370ah 48v bank 2xOutback 3548 inverter 120v + 240v autotransformer
Night system ~1kw panels into 1xMNClassic150 700ah 12v bank morningstar 300w inverter -
I find it's often at least as important to understand why something won't/doesn't/can't work, as understanding why something does. The exercise can be useful in its own right, even if it doesn't result in something useful. If that makes any sense.
Off-grid.
Main daytime system ~4kw panels into 2xMNClassic150 370ah 48v bank 2xOutback 3548 inverter 120v + 240v autotransformer
Night system ~1kw panels into 1xMNClassic150 700ah 12v bank morningstar 300w inverter -
looks like quoting still does not allow inline editing?
I was trying to guide the thread topic so as to **not** derail, but certainly not my intention to cause anyone to take their ball and go home.
My apologies if I offended.
Obviously I will not be able to conduct these experiments without help.
If I need to pay for that help, so be it I guess.
Suggestions on such resources, other forums, learning materials to help me self-teach etc would be most welcome.
-
That is very helpful, thanks.
So far I only find low-current relays, rated 10A? Since such makers / vendors are often "optimistic" in their ratings, I would think I'd want a 30+A rating per relay in order to be confident about comfortably withstanding 12A continuous. Maybe even higher?
But wrt what central control board to use, does that style of "relay board" require Analog vs Digital control signals? Does a 5V signal imply Analog?
Say I was going Arduino, what hardware platform would you recommend to control such a relay board?
How many such x16 boards could be switched from a single central controller?
Or is 16 relays already a lot?
-
The reason some of us are asking questions about the actual energy needs of your system is that size (both AH capacity, working current, and working voltage) does matter. What makes sense for a small system may not make sense for a larger system (or even be safe).
The issue with measuring voltage... You are looking for (typically) two place decimal accuracy... I.e., 3.69 volts.
When you are working with a single cell, not a problem with most Analog to Digital converters. However, if, for example you are working with a 24 volt battery bank, you now have 29.69 volts to measure, or 4 places, instead of three digit accuracy.
So, either a very accurate metering system that measures from zero volts to XX.XX volts and you "do the math" (subtract the other XX cells' series voltages/offsets to get the one voltage for the last cell in the string). Or you need a voltage measuring system that can measure isolated voltage (like a standard DMM, you measure voltage across cell A, then B, then C, etc...). Typically, isolated voltage measuring systems (to measure X.XX volts on each battery in series) are more complex and expensive (the isolation and communications circuitry required).
And another question... When you increase AH capacity... You do this with more cells in parallel, or larger single cells.
In the parallel case, all cells have the "same voltage", so you can only sense current per parallel cell to see what is happening/if anything is going wrong to disconnect.
If you go with independent series strings of cells--Then each cell can be monitored, but now you have X parallel strings * Y number of cells per string and lots of voltage monitoring wiring to deal with (X*Y=Z cells to monitor).
And larger AH groups of parallel cells (or single cells), you have higher current ratings for balancing, plus the "disconnect" system current rating.
And for larger number of cells in series, you have higher disconnect voltages to worry about (getting much above 24 VDC for electronic switches, you start getting into specialized high(er) power transistors).
I will stop here... Your desire to not get "off thread" discussions from what you want to do is pretty difficult. Your cell types, energy needs, method of series/paralleling cells, over all construction, what it is you are trying to do (per cell voltage monitoring, failsafe, balancing, capacity/current monitoring, etc.) all matter from an engineering viewpoint.
-Bill
Near San Francisco California: 3.5kWatt Grid Tied Solar power system+small backup genset -
There is no offense taken, the purpose of the comments was to point out some obvious shortcomings of the intended method of charging. When someone tells you the world is flat and they refuse to acknowledge that it is in fact a sphere, it's sometimes better to let them venture out in a single direction, only to return to where they started. The purpose of sharing information is to help avoiding potential problems, however if one chooses not to listen, then they are blind. The reason there is no information regarding the proposed charging method, is because it is not possible, the word unconventional was intentionally used to soften the blow, if you like. You however are free to do whatever you wish, but proceed with caution, that is the best advice I can offer in this case. Naturally there is no offense implied by this post.
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding. -
Paraphrasing Bill, making a practical, real-world usable version will need a lot more detail and proper engineering.
I'm assuming from earlier posts this is more of a messing about / experimental thing, just for learning and the heck of it.
So with that in mind...
You could read voltage on individual cells on the analog inputs to an arduino, with a sense wire from each cell+ to an input. The arduino would control the relays with digital output pins. Assuming a relay for each cell, you'd need an input and output pin for each.
Another way would be to do the analog read with per cell sensors like: https://datasheets.maximintegrated.com/en/ds/DS2438.pdf
These read and store voltage in digital form, and each sensor is addressable on a "1-wire" bus, so you don't need a big mess of wires going to a bunch of analog pins. I'm playing with a similar setup for temp sensors using a dedicated 1-wire master board and a pi zero.
Off-grid.
Main daytime system ~4kw panels into 2xMNClassic150 370ah 48v bank 2xOutback 3548 inverter 120v + 240v autotransformer
Night system ~1kw panels into 1xMNClassic150 700ah 12v bank morningstar 300w inverter -
The flaw is, when all cells are in parallel the voltages across all cells is identical, give or take a mV or two due to wiring or termination loss, there is no way to accurately control this, especially at high current, the key is to reduce current, but the whole project is null and void because it's impossible to control the voltage to individual cells if they are all at the same potential, or very close, thousands of a volt.
1500W, 6× Schutten 250W Poly panels , Schneider MPPT 60 150 CC, Schneider SW 2524 inverter, 400Ah LFP 24V nominal battery with Battery Bodyguard BMS
Second system 1890W 3 × 300W No name brand poly, 3×330 Sunsolar Poly panels, Morningstar TS 60 PWM controller, no name 2000W inverter 400Ah LFP 24V nominal battery with Daly BMS, used for water pumping and day time air conditioning.
5Kw Yanmar clone single cylinder air cooled diesel generator for rare emergency charging and welding.
Categories
- All Categories
- 222 Forum & Website
- 130 Solar Forum News and Announcements
- 1.3K Solar News, Reviews, & Product Announcements
- 191 Solar Information links & sources, event announcements
- 887 Solar Product Reviews & Opinions
- 254 Solar Skeptics, Hype, & Scams Corner
- 22.3K Solar Electric Power, Wind Power & Balance of System
- 3.5K General Solar Power Topics
- 6.7K Solar Beginners Corner
- 1K PV Installers Forum - NEC, Wiring, Installation
- 2K Advanced Solar Electric Technical Forum
- 5.5K Off Grid Solar & Battery Systems
- 425 Caravan, Recreational Vehicle, and Marine Power Systems
- 1.1K Grid Tie and Grid Interactive Systems
- 651 Solar Water Pumping
- 815 Wind Power Generation
- 622 Energy Use & Conservation
- 608 Discussion Forums/Café
- 302 In the Weeds--Member's Choice
- 74 Construction
- 124 New Battery Technologies
- 108 Old Battery Tech Discussions
- 3.8K Solar News - Automatic Feed
- 3.8K Solar Energy News RSS Feed