diy solar

diy solar

16S, 272Ah Lishen + TinyBMS - Build Thread

Battery Case Update: I completed a 24-hour test of the battery heating 'system' (ie, heating pads + insulated box + controller). For the first 6 hrs, the heating pads were cycling at a 33.3% duty cycle (1 sec ON, 2 sec OFF, ~33watts). The heating pads, which are in direct contact with the bottom compression plates, were getting a bit higher than I wanted to see it (trying to keep the compression plates below 40C), so after 6 hrs, I dropped the cycle down to 16.7% (1 sec ON, 5 sec OFF, ~17 watts). The box remained undisturbed with the heater on that duty cycle for the remainder of the 24 hour test.

Results are pasted below. Again, I had three thermistors in the box (one between the pad and the bottom plate (T1), one center pack (T2), and one top of box (T3)), and one thermistor outside the box measuring ambient (T4). Overall, I was quite surprised by just how little heat was required to increase the pack temp. Based on my average duty cycle over the 24 hrs, I applied an average of about 20 watts of heat. That level of heat was able to raise the pack temp to 12C (22F) above ambient over the 24 hr test, and temps were still rising steadily. I did take some additional readings at the end of the test, and found that the bottom cells (those in direct contact with the compression plates) were around 32C. The temperature gradient from bottom cells to top cells (32C to 24C) does concern me a bit, and make me think that it's important to maintain temp, rather than to raise it with long periods at higher duty cycle.

I'm thinking that I should be able to keep the heat control fairly simple for the final configuration. Maybe have 5 different duty cycles, which are triggered based on pack temp. Maybe something like this.
Pack Temp Duty Cycle
>10C 0%​
7.5 - 10C 5%​
5 - 7.5C 10%​
2.5 - 5C 15%​
<2.5C 20%​

Let me know if you think this will work, or if you think there might be a better approach to consider. I'm also interested in thoughts on the 'optimal' relay switching frequency for a setup like this might be. Not really sure what the pros/cons are to longer vs. shorter cycle time.
Screen Shot 2021-02-07 at 9.00.35 AM.png
 
General Update: I made some decent progress on my build over the last few days. Here's a few highlights, along with some pictures.
  • Bus Bars: I got the bus bars wrapped in a nice thick heat shrink. I used forstern bits (3/4" on the front and 1" on the back) to make circular cuts in the heat shrink. My original plan was to wrap the entire length of the busbars with heat shrink, then cut holes in the wrap for the connection points. That didn't quite work out, so i ended up cutting off the ends, and just leaving those exposed. Should be fine. I also got busbars cut and bent for the main Pos and Neg connections. These turned out pretty good. They don't look perfect, but do a nice job of keeping things organized.
  • BMS wiring: I got heat shrunk the balancing leads and ran things behind the bus bars. Looks pretty good, in my opinion.
  • Inverter wiring: I cut holes in the top of the box for the main Pos & Neg wires, then used cable glands to keep everything nice and tight.
  • Main Breakers: I ordered two Midnight MNEDC100 breakers (100A/150V) from alt-e store for the main positive connections to the inverters. Those get bolted directly to the main Pos bus bar. I then have 2awg wire running from those breakers to each inverter (ie, one 100A breaker for each inverter). Interested in thoughts on 'separate breaker' approach. Certainly a lot cheaper than one big breaker.
Running a quick check of connections using a 30A load. No connections seem to be getting hot. The only slightly elevated reading (10C above ambient) I saw was at the connection to the Pos wire at the back of the breaker, but it also seems like the breaker is heating up a bit as well. Not sure if that's normal or not. Still waiting on a few parts to get all my relays and final temp control setup in place. Also need to get the AC wired to/from both inverters so i can test the split-phase signal, but I suppose that's content for a different thread.

Thanks for looking!

IMG_7622.JPG IMG_7620.JPG
IMG_7604.JPG IMG_7602.JPG
 
Last edited:
TinyBMS (interim) Review: I've now had a few weeks to tinker around with the TinyBMS, and my overall impression is that I made a good choice. As for the functional performance, I really haven't had a chance to put the balancing to the test, but I can say that the protection and monitoring functions (with the exception of current) are working as expected. It does all the things I would expect a BMS to do...but a $75 BMS from Alibaba can do all that... One of my objectives for this project was to learn how all these components work, and how they work together. Installing, setting up, and customizing the TinyBMS has provided me with a ton of valuable information about how these systems work, which I appreciate. So, from the learning perspective, the TinyBMS has been great.

Here's what I'm most excited about: Energus (maker of TinyBMS) provides excellent documentation with their product, including a document that provides all the UART communication protocols. Based on those protocols, I've coded an Arduino (Elegoo Node32s) to send requests for and receive all the data generated by the BMS. I'll be using that Node32s for remote monitoring (over WiFi) as well as control of other 'peripherals'. I'm currently monitoring the system using the Blynk app (screenshot below). I'm able to see real-time (pulled every 500ms) readings of pack voltage, minimum and maximum cell voltages, pack current, state of charge, and three different temperature values (pack top, bottom, and BMS temp). I can plot any/all of those values. And I can do it from anywhere.

I can also use any of those values in 'ancillary' programs running on the Node32s. For example, I'm using the pack temperature values from the BMS to control the heating system. And I plan to use the SoC values in my diversion load control system. Having access to all that data is really why I went with TinyBMS, so I'm extremely pleased that I was able to figure out how to get at it. I'm planning to create a new thread in the 'show and tell' forum that provides more details on this setup. I'll provide the wiring diagram, as well as the code, there.

Now, for the not-so-good: I'm still not able to get stable current readings out of the BMS when the current is coming from/going to the Growatt inverters. I've exchanged a few emails with the Energus support team, and they haven't really given me an answer to whether or not this is normal, or if there's something wrong. Also, there's an issue with the BMS sleep mode where it wakes up and beeps every 30 seconds. Annoying to the point that I have added an 'ignition' feature, which I keep in 'on' mode all the time to prevent sleep mode. Energus claims this is not normal, and has asked me to send the unit back for inspection. I've asked them to send me a new unit first. We'll see who folds first...

1613572367454.png
 
The workmanship of battery pack not so good. Maybe damaged among the transportation or the initially produced like this?
Yes, several cells arrived with corrosion under the vents, and the threading on all 16 cells was terrible. I don't think any of this happened in transit, as the cells were packed quite well, and the cells with corrosion also had the QR codes scratched off. The supplier ended up crediting me the cost of 5 of the cells.
 
Long overdue build update here...

Finally have pretty much everything installed and running. Surprisingly, very few issues to speak of. I'm very pleased to report that my approach to separate-port battery protection seems to be working well (one 'winter' design flaw, more on that later). As a reminder, this is an off-grid setup located in the barn on our hobby-farm. Here's few pics/details:

Here's the battery/inverters/AC breaker box/Combiner box (sorry for the bad pic). So far, I'm really happy with the Growatt inverters. For the price, I thought for sure I would have identified weak points, but they're doing everything I want them to.
tempImageblzpDe.jpg

Close up of the combiner box. At present, I only have half the panels up. Wiring is in place for the remaining 2 strings, but it dead-ends at the breakers at this point. Note the SSR on the positive line. This was one of the big question marks around this design. That is, will a 40A/200VDC SSR wired between my panels and the MPPT safely and effectively 'control' charging (ie, for battery protection, not routine control). So far, the answer is Yes. Its got two strings of three 305 watt panels running through it. At peak, that's about 17A at 100VDC. I don't have a heat sink on the relay, but I did put some heat transfer past between the relay and the aluminum combiner box. So far, it gets warm, but nothing concerning.
tempImage1w3VHG.jpg

Panels on the metal roof: I went with the Tamarack mounting system, with rails mounted vertically. I put a square of EPDM (cut out of a motorcycle inner tube) to seal around the holes. Mounting seems quite solid. Still need to put up anther set of rails and get the remaining 6 panels up, but at this point, I get all the power I can use from the 6 panels I have up. This was probably the most challenging part of the installation, as I did this all by myself (and that's a 9:12 pitch!).
tempImagejghBub.jpg

BMS data: TinyBMS seems to be doing it's job. It cuts charging off (using the SSR between the panels and the inverters) when battery temp goes below zero. And the cells seem to be staying relatively well balanced (I haven't had a charging cut off due to a cell over voltage state yet, which is a pleasant surprise). That said, the battery tends to stay between 70 - 90 %, and rarely gets pushed hard (the SoC value in the screenshot below is not accurate). The biggest load I have is a 2.5-gal under-sink water heater which draws 1500 watts for about 15 min at initial startup. At < 0.4 kWh, that barely makes a dent.
tempImagefpeej4.jpg
 
Back
Top