diy solar

diy solar

16S, 272Ah Lishen + TinyBMS - Build Thread

Not sure if that's a sign of a good top balance, or if the BMS is able to manage any imbalance (I think it balances at 150 mA).
Looks good to me. I have a 100mv delta at the top and a 500mv at the bottom with my 8 EVE cells. I don't think 150ma's will help much with balancing. As long as you are comfortable with the delta between the knees there is no need to worry about it. If my cells start to misbehave between the knees, then I will add active balancers later on.
 
(I think it balances at 150 mA).
I don't think 150ma's will help much with balancing.
What I have heard, but have nowhere near a solid understanding of, is that the values listed by BMSes and even by active balancers, are maximum values based around large differentials in voltage, and at lower deltas the balance current is much less.

As mentioned I don't understand the math or all the factors, but thinking about it now, with a (passive) resistive balancer it may be as simple as Balance Current = Voltage / Resistance

Where R would be the value of the resistor(?) and V would be the difference in voltage between a high cell and...well something :rolleyes:

Do either of y'all have a better understanding of this?
 
Do either of y'all have a better understanding of this?
Ha! Absolutely not...

I will say that the balancing does look impressive when charging. Any time one of those blue bars gets higher than the others, the top of it turns orange and it gets back in line. It may be all for show, but it certainly gives me a warm fuzzy feeling.
 
I think with passive balancing it's just that simple. The resister bleeds off the high voltage cells to match the lowest voltage cells within the delta defined on the BMS. My balance delta is set to 15mv. The BMS keeps track of the voltages and knows when to stop balancing. In my case it would stop when the cells are within 15mv's of each other while charging because that's what I set the delta.

The problem is it's almost impossible to keep the cells voltages low enough, long enough, for the balancer to have enough time to balance because the voltage goes up so quickly, and my BMS requires at least 200ma to keep balancing active. But my BMS does allow me to set it to balance when not charging which I have played with although I haven't spent much time going in that direction.

As far as the value of the resistor, using ohms law with 150ma's at 3.4 volts (the voltage my BMS starts balancing) I come up with a 22.66 ohm resistor. If the cell voltage is 3.65 volts then the value of the resistor would be 24.33 ohms. The resistor would need to have at least a 5.5 watt rating. I don't know the exact value of the resistor that's used in my Overkill BMS and as I recall my BMS has a 70ma balance rating.
 
Step 3 - BMS Connection: As previously noted, I went with a TinyBMS for this build. The main drivers for my BMS decision were 1) flexibility (tons of analog and digital pins to play with), 2) quality (this thing is really pretty...), 3) fit for purpose (I'm using all external relays for LVP, HVP, and LTP, so I wasn't concerned at all about current ratings), and 4) excellent documentation.

First step (after reading the manual) was to get the wiring harness sorted and installed, starting with the balance leads. For this temporary setup, I just added a second nut to all my negative terminals and sandwiched the tinned leads between the two nuts. I'm going to have to replace a lot of the leads, so didn't want to waste my time with connectors. The 300mm leads provided with the BMS just barely made it to the oposite corners of my 2 x 8 configuration.

Next, I soldered on the B+ and B- leads. I went with 22awg wire for these, as no current (beyond what's needed to power the BMS) will be passing through them. From there, I connected up B+ and B- leads to the battery terminals and it fired right up. I then installed the balance lead connectors, external current sensor, and USB cable. After a quick driver update, the BMS connected to the Battery Insider application automatically and all my cell voltages popped up. I was quite please that there were no issues here, considering I'm running the application Windows running on Parallels on a Macbook Pro.

Next, tinkered with the settings on the BMS to get it set up for my 'testing configuration'. For this initial setup, I'm using the BMS in single-port mode with the switch set to the AIHO1 pin. It took me a bit of testing to figure out exactly how these pins function. I'm probably going to get the terminology wrong here, but I believe these relays are controlled as 'low side' switches, in that they can take 48v power from anywhere in the system, and the switch connects or disconnects that supply to ground. For my setup, I'm using a 5A Relay with 48V input (Crydom EH10F5) wired in series with the inverter switch. I'm pulling the 48v 'signal' directly from the switch itself, so i only need one 'low side' wire running back to the BMS. I've tested it out, and it seems to be working fine (ie, it turns the inverter off if there's a fault detected.

Here's a few pics (so you know I'm not just making this all up...):
View attachment 34557 View attachment 34559
View attachment 34560 View attachment 34561
Looking good to me.
 
Step 4 - Capacity Testing: With the BMS installed and generally working as expected, I'm moving on to a capacity test of the bank. I don't have any way to test individual cells in an efficient manner, so a full bank test will have to suffice. I've wired up one of my Growatt inverters along with a 1500 watt space heater. I'm using 4awg wire from the inverter to the battery and i've included a 50A fuse on the positive side. With the heater on high power, it was pulling about 29amps (~0.1C) from the batteries. I checked all connection points and wires and nothing was getting hot, so I proceeded with the test.

Unfortunately, as soon as I got the system up and running, I noticed that the current measurements coming from the BMS were wildly variable (it's using an external hall effect sensor). At my 30amp draw, it was swinging back and forth between about 20 amps to 40 amps, almost in a sine wave pattern. I once again checked all connections and settings and couldn't figure out what was going on. I sent the guys at Energus an email and decided to go ahead with the test and just use the current numbers coming from the Growatt as the basis for my test. Let me know if you have any thoughts on what might be going on here.

The heater ran for 9 hrs and 25 min before the first cell hit 2.50 and the BMS shut things down. A few of the cells were still up around 2.7 at this point, but they were all dropping fast. According to all the calculations I performed, the system (inverter + heater) was pulling just over 1500 watts from the bank during the test. 9.4 hrs * 1500 watts = 14.1 kWh. I've been using a 'nominal' value of 14.3 kWh (51.2v * 280 Ah) as my basis, so i'm fairly pleased with this result. Yes, it's a rough approximation based on how I measured current, but I'm satisfied...

Screen grab of the voltage readings at 1% SOC pasted below. I'd be interested on thoughts on whether or not this looks like a typical level of imbalance for a top balanced bank at a very low SOC. I charged the batteries back up over night at 20 amps and I'm very please to report that they all stayed extremely well balanced back up to 80%. Not sure if that's a sign of a good top balance, or if the BMS is able to manage any imbalance (I think it balances at 150 mA).

View attachment 34740 View attachment 34746
I would say that it is obvious you did a good job with the top balance, that is pretty darn close both top and bottom.
 
Your battery insider report looks pretty normal for the bulk cells we are using. I can tell you, that if you do a full charge to full discharge at least 3x these will actually level up a bit on both ends (top & bottom). Pending on your BMS and Balancing system used the cells can further level out. Do appreciate that Passive Balancing on large cells above 100AH does not perform as many think it will... Higher amp capable Active Balancing which transfers Hi Volts to Low Volt cells (opposed to just burning off hi volts) is more effective on large cells.
 
BMS Set-up Update: So, I heard back from Energus about the variability I'm seeing in current measurements. They didn't have much to offer intially, really just questions about the setup so far. I'm hoping to hear more from them in the next day or two. In the meantime, I'm hoping someone on this forum might confirm something for me:

Can anyone with a Growatt SPF 3000 LVM 48P (or similar) inverter confirm that the current profiles I'm observing on not tyipcal/expected? I've pasted current values from my BMS log (1-second frequency) for a 20 A charge (top/red) and a 30 A dischage (bottom/green). I'm seeing a sine wave pattern with readings varying by about +/- 25% around the mean. The frequency of the wave pattern seems to be around 5 seconds, but it varies.
Charging.png
Discharge Curve.png


Is this how a high-frequency inverter pushes/pulls current from batteries? If not, any thoughts on what might be going on here? Could this have something to do with the way I've got the system grounded (or don't...)?
 
Last edited:
Thats just weird. You could try something like 3mm ferrite bead chokes on your sense leads, and larger ferrite chokes on the main cables. Maybe parallel a really large electrolytic capacitor with your battery. Something is injecting a bad ripple into your system, either into the BMS or the battery itself. The PWM of a HF inverter happens way too fast (microseconds) to show up on a graph like that.

Does it go away when you turn off the inverter and physically disconnect it?
 
This is very normal. Inverters create an AC ripple on the battery. You can measure this effect by putting your meter on AC and measuring at the battery while the inverter is powering a load. You will see an AC voltage!

Different shunts / BMS'es have varying levels of smoothing for this phenomenon. I wouldn't worry about it unless your calculated SoC is constantly wrong.
 
Thats just weird. You could try something like 3mm ferrite bead chokes on your sense leads, and larger ferrite chokes on the main cables. Maybe parallel a really large electrolytic capacitor with your battery. Something is injecting a bad ripple into your system, either into the BMS or the battery itself. The PWM of a HF inverter happens way too fast (microseconds) to show up on a graph like that.

Does it go away when you turn off the inverter and physically disconnect it?
Yeah, it goes away when the inverter is switched off. Even when the inverter is still switched on, if there is no current being drawn from or supplied to the batteries, it seems to provide stable readings.

I clamped on the leads to the current sensor and monitored the voltage of supply and sensing leads, and didn't detect any of that noise. That makes me think the 'ripple' is being injected into the BMS at some point.

I'll need to look into ferrite bead chokes. Not something I'm familiar with. Thanks for the suggestion!
 
This is very normal. Inverters create an AC ripple on the battery. You can measure this effect by putting your meter on AC and measuring at the battery while the inverter is powering a load. You will see an AC voltage!

Different shunts / BMS'es have varying levels of smoothing for this phenomenon. I wouldn't worry about it unless your calculated SoC is constantly wrong.
I'll definitely try that tomorrow! Great suggestion!
 
Yeah, note that this isn't injection of noise anywhere - especially since you see a stable reading while the inverter is on but without load. Chokes aren't the solution. Either software (which does better averaging) or an inline resister & capacitor on the shunt/CT leads (someone smarter than me would have to give you the values). But, I'd just let it go. In the long term you'll stop caring about it :)
 
This is very normal. Inverters create an AC ripple on the battery. You can measure this effect by putting your meter on AC and measuring at the battery while the inverter is powering a load. You will see an AC voltage!

Different shunts / BMS'es have varying levels of smoothing for this phenomenon. I wouldn't worry about it unless your calculated SoC is constantly wrong.
Dang big ripple @ 15A, thats way too large for a normal ripple from an inverter, that'd be in milliamps or maybe an amp at most.
 
Dang big ripple @ 15A, thats way too large for a normal ripple from an inverter, that'd be in milliamps or maybe an amp at most.

Not on a 48 volt battery (~800 watts) and with certain BMS/shunts. Exactly the same kind of stuff I see in my system. As long as the measured AC ripple with the meter at the battery terminals is low (under a few volts) at maximum load, then you know you don't have a physical/wiring problem (or a bad cell).
 
Not on a 48 volt battery (~800 watts) and with certain BMS/shunts. Exactly the same kind of stuff I see in my system. As long as the measured AC ripple with the meter at the battery terminals is low (under a few volts) at maximum load, then you know you don't have a physical/wiring problem (or a bad cell).
So, I measured AC voltage at the battery terminals, and got the following readings (all very stable and repeatable):
Growatt OFF: 0.00V AC
Growatt ON (no load or charging): 0.00V AC
Growatt ON, charging from grid at 20A: 0.05V AC
Growatt ON, grid disconnected, 28A inverter load: 0.07A AC

Not sure if those values are significant. I also measured current using a Fluke T5-600 tester (AC-only current measurment). I was able to get stable current measurements with this meter, 12.5A while charging at 20A, and 16.0A while discharging at 28A. Again, not sure if that's at all meaningful.

To cinergi's point about the significance of all this, while I'd like to have a accurate real-time measure of current, it's really not all that relevent to my final set-up. To this point, SoC seems to be accurate, but I'm not really sure SoC from the BMS is all that critical in the grand scheme. I'm really just trying to make sure this BMS is functioning as it should as a battery protection device.
 
This is very normal. Inverters create an AC ripple on the battery.

Most inverters/chargers are switching type. In order to make and regulate AC from DC or AC to DC, they need to switch the source on and off. This is typically done at a high frequency. If you put an oscilloscope on the shunt, you will see this is real time.

When charging from an AC mains charger, or discharging through an inverter the current will be varying pretty substantially in the instantaneous view. For example a 20A average draw could be 6-38A range. If you were to start taking instant samples at almost any data rate, you would get responses in this range. If your sampling rate lines up with a multiple of the switching frequency, you may even get a semi sine wave pattern (positive offset of course).

Most battery monitors use hardware or software averaging to create a human readable output. Most BMS make decisions based on an average spanning enough time to get a average value.

Your pattern seems very regular, a bit more than others I have seen. Interesting.
 
Update on Growatt Beeping Issue: After a week of trying, I got the Growatt to stop beeping every time a pushed a button. As I previously noted, changing the set point for Program 15 (Alarm Control) to "bOF" did not turn beeping off. I tried every other setting I could think of in the inverter menu to no avail. Today, while setting up and exploring the online monitoring software (connected to http://server-us.growatt.com/ through the WiFi dongle), I stumbled across a 'Settings' button in the "My Photovoltaic Devices" window. Clicking on that opened a tab with all the settings of the inverter. At first, I assumed that this was just a 'readout' of the settings, but each setting does allow you to select an option or enter a numeric value. I changed the 'Buzzer' setting to 'Off' after searching around the www for the 'key' (growatt20210201 (ie, growatt + current date in yyyymmdd format)) I hit the 'Yes' button and sure enough, the inverter no longer beeps!

Kind of amazing. I was fairly sure that the wifi dongle and server were only for monitoring, but it looks like there is some remote setup/control functionality there, which is nice. Need to explore this a bit more.
 
Most inverters/chargers are switching type. In order to make and regulate AC from DC or AC to DC, they need to switch the source on and off. This is typically done at a high frequency. If you put an oscilloscope on the shunt, you will see this is real time.

When charging from an AC mains charger, or discharging through an inverter the current will be varying pretty substantially in the instantaneous view. For example a 20A average draw could be 6-38A range. If you were to start taking instant samples at almost any data rate, you would get responses in this range. If your sampling rate lines up with a multiple of the switching frequency, you may even get a semi sine wave pattern (positive offset of course).

Most battery monitors use hardware or software averaging to create a human readable output. Most BMS make decisions based on an average spanning enough time to get a average value.

Your pattern seems very regular, a bit more than others I have seen. Interesting.
Thanks for the additional info Luthj. I'm starting to feel a bit better about my situation.

What's your thinking around impact of this phenomenon on SoC values? Should I be concerned about the accuracy of my SoC? Not that I plan to use that value in my system control strategy, but I would like to know SoC at any given time.
 
What's your thinking around impact of this phenomenon on SoC values? Should I be concerned about the accuracy of my SoC?

Most battery monitors are counting Coulombs. They do this by mathematical integration. The algorithm is going to take samples which are both low and high current on that curve, but they will all average together. So any well designed battery monitor should show accurate values.

Though some BMS have a SOC monitor feature, it can be inaccurate, as some have this feature kind of slapped on at the last second.
 
Back
Top