Thread Rating:
  • 2 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
AJW22's modular 3d printed 30kWh PowerShelf
My PowerShelf project has come a long way since I started collecting 18650 cells about 1 year ago.  This is the latest status:

I've had my grid tied system with feed in tariff installed a few years ago, which unfortunately is nearly useless on cloudy days and entirely useless during the night.
At my company I had a drum full of old powertool batteries, and decided to put them to good use after stumbling across a Youtube video featuring some quirky Aussie who built himself a powerwall.
Later switched to old ebike packs containing mostly 2Ah Sanyo cells.  While not free, it's still cheap and there's a near endless supply.
While spending several months harvesting cells as well as reading up on various projects, I figured that I'd need years to complete the full system I wanted.  So the logical approach for me was to construct a modular system that I could expand by adding PV panels / chargers / batteries / inverters as I went.

=== Overview of current status  /  [planned max] ===
* 6.36kW solar panels    /  [9.54kW]
* 2x eSmart3 60amp solar chargers configured to max total 70Amp    /  [3x, max 180Amp]
* Batteries in parallel:  1x 14s92p, 2x 14s108p; nom 30kWh, 20kWh AC usable    /  [10x 14s108p, nom 100kWh]
* 3x Chinese "Smart BMS 60A" with bluetooth, RaspberryPi3 + Grafana monitoring
* 2x 1kW grid tie inverter with limiter   / [4x 1kW]
* 1x 1.5kW standalone inverter for emergencies

=== The details:  Solar panels ===
Canadian solar 265W on 4x racks @6 panels.  Connected in 4p3s configuration.  Each eSmart3 charger is attached to 2 DIY racks.  Racks are securely anchored to the concrete.

=== The details: eSmart3 60amp solar chargers ===
Currently using 2, each configured to charge at a maximum of 35Amp (combined total 70Amp) due to the limitations of the batteries, and 56.7V (4.05V*14) to extend battery life.  Quite happy with these units.

=== The details: Battery packs ===
Made of custom designed 3d printed parts.  I compromised severely on the electrical design aspects to maximize the serviceability and ease of construction/replacement.  I've made various improvements to the design, and it's now in the 9th Version.  I've attached the source .SCAD file below.  You need a free CAD software called OpenSCAD edit it (it's just a text file), render ("F6"), and save as .STL (File->Export->).  Edit the bottom 10 lines to suit your needs, it should be pretty self-explanatory.

* a pack can be taken out by undoing 2 wood screws and disconnecting the XT60 connector.  No need to fumble with the BMS lead as it's integrated into the XT60 connector.
* Apart from removing/reattaching the fuse wire, a cell can be replaced without tools simply by pushing them out.  No prying apart, hammering, etc required.
* If done carefully, cells can be replaced while the pack is still in use.
* bus bar is made of just 1 length of partly stripped 5.5mm^2 cable.  No twisting, powertools or bending contraption required
* hardly any possibility of accidental shorting, even during maintenance or when bumping into it with metal tools stuck all over your body.
* Cells will (dis-)charge unevenly under high load, so limited to 30A
* Cell voltage monitoring might be inaccurate under high load

=== The details: 18650 cells ===
Initially I started off with a free supply of old powertool batteries.  Unfortunately, they typically are 1300~1500mAh low capacity/high drain cells - the exact opposite of what a powerwall needs.  After exhausting that supply, I switched to old ebike cells.  Now I almost exclusively use 1800~2400mAh Sanyo cells.
I capacity and leak test every cell, but do not sort them in any way.  My latest 108p packs are built with basically randomly selected cells, although I try to put in some low capacity cells into the front of every pack.  They generally end up with very similar capacities, but if they should not, I can easily swap some of those low capacity cells with high capacities (or vice versa, if the pack capacity is too large) to equalize capacities.  This replacement operation can be performed without taking the pack offline, by pulling the pack forward a bit *carefully*.

=== The details: BMS/wire harness ===
I use one chinese 14s 60A Smart BMS purchased on Aliexpress on each battery.  The sensor/balancing leads are integrated into the XT60/harness so as to simplify maintenance.  There is a 30A fuse inline in the harness for extra safety.
* Cheap
* Balancing can be set to start at any voltage and diff.  Currently configured start if at 3.8+V and more than 0.015V difference.
* Can balance/bypass at only 50mA.  This is so far proving to be enough, except when there are faulty cells.  On the plus side, faulty cells will not go undetected.  
* Initial balancing / balancing after maintenance can take days, if not weeks.

=== The details: 1kW grid tie inverter with limiter ===
I went with these instead of hybrid inverters, because I didn't want to rewire the whole house breaker.  This just requires a dedicated line to the breaker panel and a clamp meter on the main line to prevent feeding back into the grid.  At the moment I have 2 of those on the same phase, and while they do not feed back into the grid, they often do not share the load equally.  They are currently configured to slow down / stop when the battery voltage reaches 46.2V (3.3V*14)

=== The details: Raspberry Pi 3 + Grafana monitoring ===
I've been working on this for a week now.  While it definitely still needs some more work, it's already proven extremely useful in identifying pack issues, such as differences in capacity.  I've taken the snapshot below a day after replacing / reshuffling some cells.  Not enough time for the balancer to properly top balance.
hbpowerwall, Church1182, MissSolar And 8 others like this post

Attached Files
.zip (Size: 1.86 KB / Downloads: 79)
Modular PowerShelf using 3D printed packs.  40kWh and growing.
Great innovation and planning.  I will be watching this very closely.
ajw22, 100kwh-hunter, hbpowerwall like this post
care to share the stl files and are you printing using pla
ajw22 likes this post
Attached my OpenSCAD source and .STL file to the top post. You can change the pack size by opening the source file in OpenSCAD (freeware) and just editing 1 number (the "cells" variable).
It now creates 70P brackets, but you can create brackets as short as 10P or as large as your printer allows.

I print using PLA, though ABS with its higher melting point may be a safer choice in case of catastrophic cell failure.
hbpowerwall, choncy12, stevelectric like this post
Modular PowerShelf using 3D printed packs.  40kWh and growing.
hbpowerwall, ajw22, BlueSwordM like this post
Fully sick!
ajw22 likes this post
I am impressed. I am in the process of building packs of 14S80P with the single holders (about 5kWh per pack). This give me packs of 400mm by 560mm which can be located easily next to each other. So I do not need to go to much in to the height (as I life in a earth quack prone environment). The first pack is fully packed and the next couple of packs are underway. I am looking to use the smaller BMS to have every pack separate controlled like you probably do. I want to start hooking them up when I have six packs (approx. 30 kWh). My current issue is to fin what kind of inverter to use.
ajw22 likes this post
Using 7S80P pack. Building 14S40P packs.
"Tell me, and will I forget. Show me, and I may remember. Involve me, and I will understand." Confucius 450 BC
Very impressive bud well done! looks great
Scottietheyoung, ajw22, Walde And 1 others like this post
If you'd like to support the forum please feel free to use my affiliate links to purchase all kinds of stuff for your projects 
Amazon -
eBay - 
Aliexpress -
Banggood -
Battery Hookup - 
A few words on Raspberry Pi 3 + Grafana monitoring, and its uses.

I thought about using rePackr to assemble the packs for my first 14s92p battery.  Turns out I'm too lazy to catalogue 1288 cells, much less sort/fetch the exact ones rePackr says I need.  So instead I went the sort-into-100mAh-buckets route.
For the second battery (14s108p) I couldn't be bothered to do even that.  The third battery (another 14s108p) was assembled using totally random cells, though I capacity & leak tested all of them.

After 6 months of operation, I finally got around to installing a remote monitoring system.
The 3x chinese "Smart BMS" each came with a bluetooth dongle.  The (extremely poorly written) specifications are listed on their website , and there are several projects on the internet if you search for "smart bms bluetooth programming".  I couldn't get any of them to run properly, so I wrote my own python script to connect to and query 3 BMSs and once a minute upload the data to a local (RaspPi3 that is) Postgres DB server and graph the data using Grafana.  
The first time I drained to 3.2~3.35V, it was immediately noticeable that the packs had mismatched capacities.  One pack had broken fuses (bad soldering), some had cells with electrolyte leaks, others were low/high capacity purely due to bad luck.

(ignore the noises/blips.  Just software glitches I've now mostly sorted out)

After fixing the problems as well as shuffling some low/high capacity cells to balance out the capacities:

So not only does this system help me identify and fix issues, it also allows me to build my packs in the most lazy way and sort out any capacity balance issues later :-)
zag2me, Korishan, LEDSchlucker And 2 others like this post
Modular PowerShelf using 3D printed packs.  40kWh and growing.
Very neat!
Arrow  See My DIY PowerWall Build here Arrow

Who read this thread?
100 User(s) read this thread:
hbpowerwall (08-18-2019, 09:16 AM), AZ_Tekkie (07-11-2019, 05:14 AM), daromer (07-04-2019, 10:56 AM), Sean (09-27-2019, 07:22 AM), mike (06-05-2019, 04:44 PM), NiVa (12-13-2018, 04:44 PM), askmike72 (11-27-2018, 11:52 AM), owitte (08-29-2019, 05:31 PM), opus40 (06-19-2019, 11:22 PM), Glubux (11-25-2018, 03:30 PM), Majorphill (09-07-2019, 01:24 AM), Elwood (11-26-2018, 01:51 AM), riveracc1 (05-31-2019, 03:35 AM), ruby2 (08-24-2019, 07:18 AM), Korishan (09-27-2019, 11:47 AM), A + A (10-01-2019, 08:58 PM), PAF (09-27-2019, 06:34 AM), Franky Beuselinck (09-27-2019, 08:38 AM), Batrium (10-03-2019, 11:26 PM), Mike C (10-08-2019, 10:26 PM), jdeadman (09-27-2019, 01:12 PM), monsted (08-01-2019, 12:22 AM), wim (08-01-2019, 02:35 PM), ericg (10-05-2019, 04:51 PM), The-J-Man (06-03-2019, 02:29 PM), Christian (09-14-2019, 10:19 PM), Kaspars Krumins (06-10-2019, 07:12 AM), watts-on (09-27-2019, 10:09 AM), Dan Lim (03-08-2019, 01:23 AM), jesusangel (05-29-2019, 03:44 PM), Hanssing (06-10-2019, 12:58 PM), Fredd (09-12-2019, 09:58 AM), SeptimoJunio (09-06-2019, 11:40 AM), IronSky (03-17-2019, 12:49 AM), Stefaan De Ridder (11-27-2018, 06:45 AM), Chiptosser (08-30-2019, 11:09 AM), BlueSwordM (03-04-2019, 12:45 AM), Johnny Stauersbøl (11-29-2018, 05:54 AM), KaminoReal (07-08-2019, 01:33 AM), Shade (11-30-2018, 10:55 PM), Mazlem (09-29-2019, 11:22 AM), Geek (09-30-2019, 12:42 AM), SWEwall (08-09-2019, 04:03 PM), Jon (09-27-2019, 05:17 AM), Ivo Staelens (09-27-2019, 08:10 AM), floydR (11-24-2018, 10:16 PM), Menno (09-27-2019, 11:06 AM), hookemdevils22 (03-20-2019, 11:27 PM), David Arnshelm (07-07-2019, 07:17 AM), Grumplestiltskin (08-18-2019, 05:39 AM), caserio (06-12-2019, 07:56 AM), Lucian Macota (12-13-2018, 01:40 PM), DCkiwi (01-21-2019, 07:50 PM), zag2me (02-28-2019, 03:12 PM), emerca (11-30-2018, 06:43 AM), ChrisD5710 (05-30-2019, 09:30 AM), cristof (07-03-2019, 06:40 PM), Oz18650 (Today, 12:43 AM), setite (07-06-2019, 09:17 AM), okent (11-25-2018, 04:16 AM), wycito (08-30-2019, 01:45 PM), dmallia (07-11-2019, 08:27 AM), CarelHassink (05-28-2019, 10:18 AM), AndyMc1970 (09-13-2019, 08:44 AM), GMRedline (03-08-2019, 09:13 PM), Jensk (02-03-2019, 01:11 PM), AmDD (06-24-2019, 07:35 PM), Filip (07-04-2019, 05:35 PM), karmi27 (02-28-2019, 09:56 AM), modido (08-11-2019, 12:37 PM), bigblue (09-28-2019, 05:07 AM), Ste Collister (11-30-2018, 09:32 PM), Charly144 (06-03-2019, 10:20 AM), djuro (08-12-2019, 03:08 PM), BoomBoomShroom (12-11-2018, 09:31 PM), SecondHandPower (12-12-2018, 05:43 AM), ClardiPower (09-27-2019, 07:19 AM), sturgeo (07-24-2019, 11:52 AM), benwilliam (07-30-2019, 08:02 AM), rtgunner (11-25-2018, 03:40 PM), Drokz (08-12-2019, 07:17 PM), Issac (07-22-2019, 01:54 PM), simonisabella (06-10-2019, 12:34 PM), Dicklinn (09-29-2019, 10:47 PM), gpn (10-08-2019, 08:07 PM), NGPowerwall (06-04-2019, 10:35 AM), Chablis_m (08-09-2019, 07:33 AM), kanchana (06-10-2019, 04:19 PM), Eratigena (11-26-2018, 05:52 PM), ARLISS (08-11-2019, 08:28 PM), Crimp Daddy (03-06-2019, 07:18 AM), Redpacket (06-09-2019, 07:55 AM), velside (08-08-2019, 01:20 AM), EnergyDoc (12-11-2018, 01:01 AM), Ibiza (09-27-2019, 05:45 PM), Krokodino (06-25-2019, 09:31 AM), arturjfonseca (07-03-2019, 05:19 PM), Onizuka (05-30-2019, 07:15 AM), Zvonko000 (07-03-2019, 05:42 PM), Jonas Vanbeveren (09-03-2019, 07:33 PM)

Forum Jump:

Users browsing this thread: 1 Guest(s)