AJW22's modular 3d printed 60kWh PowerShelf

In response to a request: here are my postgresql db structure and my latest grafana dashboard export. Note that I'm still experimenting with stuff, so it's ugly andsome weirdness may be going on.
note:
* All data stuffed in just one table for now
* values are stored as integers ofmV/mA, in hopes of improving performance... not sure it did
* battery_id(0) entries contains the sum/average of all batteries


image_rofuhk.jpg
 

Attachments

  • postgresdb_grafanadash.zip
    7.6 KB · Views: 183
ajw22 said:
In response to a request: here are my postgresql db structure and my latest grafana dashboard export. Note that I'm still experimenting with stuff, so it's ugly andsome weirdness may be going on.
note:
* All data stuffed in just one table for now
* values are stored as integers ofmV/mA, in hopes of improving performance... not sure it did
* battery_id(0) entries contains the sum/average of all batteries


image_rofuhk.jpg

Thank you so much!!
 
Awesome progress BobinTN and AJW22 and thanks for the initial source code as shared with AJW22

BobinTN said:
BMS Python Code implementation update:

AJW22! It is going well. I am not complete in implementation, but it is taking awhile so I figured I owed you an update.

I am now testing your code on my 3 china BMS's. I collected from one for awhile playing with the Influxdb/Grafana component.

There seems to be some instability in the Bluetooth (I don't quite know where it is coming from {rpi, linux, bluetooth comms, influxdb...}).

How do you run your python code? from IDE, from command line, daemon...

Do you have a restart script to monitor the main code?

I am not asking for code, just wondering. I have been looking for a script restart after failure solution.

Can you share the updated source code? I am in the stage of adding the BMS and start playing monitoring and graphing.

Thanks
 
Here's my latest code for fetching data from my 6 BMSs and storing them on a postgresql db. Really really in need of a ground up rewrite...
Also a script to control theTPLink HS105 smartplug.

BMS notes/changes :
* My USB bluetooth dongle by CSR (aka Cambridge Silicon Radio) could not connect to 6 BMSs at the same time, so I have 2 USB BT dongles (hci0 + hci1) sharing the load. Onboard BT is disabled.
* 5 minute collection interval is ok for logging, but a little slow for switching loads. So near real time data is stored in "/dev/shm/bms.txt"

Smartplug notes/changes :
* tries a couple of times in case of connection error.
* Reading the current status is possible, but I've not coded it yet.
 

Attachments

  • bms4_smartplug.zip
    4.2 KB · Views: 175
ajw22 said:
Here's my latest code for fetching data from my 6 BMSs and storing them on a postgresql db. Really really in need of a ground up rewrite...
Also a script to control theTPLink HS105 smartplug.

BMS notes/changes :
* My USB bluetooth dongle by CSR (aka Cambridge Silicon Radio) could not connect to 6 BMSs at the same time, so I have 2 USB BT dongles (hci0 + hci1) sharing the load. Onboard BT is disabled.
* 5 minute collection interval is ok for logging, but a little slow for switching loads. So near real time data is stored in "/dev/shm/bms.txt"

Smartplug notes/changes :
* tries a couple of times in case of connection error.
* Reading the current status is possible, but I've not coded it yet.

Thanks, will test it and revert
 
ajw22 said:
Here's my latest code for fetching data from my 6 BMSs and storing them on a postgresql db. Really really in need of a ground up rewrite...
Also a script to control theTPLink HS105 smartplug.

BMS notes/changes :
* My USB bluetooth dongle by CSR (aka Cambridge Silicon Radio) could not connect to 6 BMSs at the same time, so I have 2 USB BT dongles (hci0 + hci1) sharing the load. Onboard BT is disabled.
* 5 minute collection interval is ok for logging, but a little slow for switching loads. So near real time data is stored in "/dev/shm/bms.txt"

Smartplug notes/changes :
* tries a couple of times in case of connection error.
* Reading the current status is possible, but I've not coded it yet.

Cool
 
Besides increased BMS cost, what are the downfalls of doing 3x 14s100p instead of 14s300p?

I like the idea of being able to add capacity 1400 cells at a time vs 4200....
 
mtucker502 said:
Besides increased BMS cost, what are the downfalls of doing 3x 14s100p instead of 14s300p?

I like the idea of being able to add capacity 1400 cells at a time vs 4200....

More work wiring everything up. Particularly creating my main battery harness with all the sensing/balancing wires is a pain in the a$$.But that's a one time work that saves time and effort later during maintenance.
I might go for 120p or 140p for my last batteries, to fully utilize my rack space and have a bit more capacity.

Otherwise very happy with the smaller packs - it's really helpful to be able to pinpoint problems down to 100 cells, just by looking at my graphs!
 
ajw22 said:
mtucker502 said:
Besides increased BMS cost, what are the downfalls of doing 3x 14s100p instead of 14s300p?

I like the idea of being able to add capacity 1400 cells at a time vs 4200....

More work wiring everything up. Particularly creating my main battery harness with all the sensing/balancing wires is a pain in the a$$.But that's a one time work that saves time and effort later during maintenance.
I might go for 120p or 140p for my last batteries, to fully utilize my rack space and have a bit more capacity.

Otherwise very happy with the smaller packs - it's really helpful to be able to pinpoint problems down to 100 cells, just by looking at my graphs!


Wouldn't there be issues having 14s packs with varying capacities? or will the new shelf not be connected in parallel to the 14s packs on the first shelf?
 
mtucker502 said:
ajw22 said:
I might go for 120p or 140p for my last batteries, to fully utilize my rack space and have a bit more capacity.

Wouldn't there be issues having 14s packs with varying capacities? or will the new shelf not be connected in parallel to the 14s packs on the first shelf?

No, it's not a problem. In fact, my first battery is 14s96p with just 120Ah (shitty cells)or so and the others 14s108p, one with nearly 190Ah!
Not even a problem with a much larger difference, say a 14s300p. It would simply supply/draw 3x more current, but the voltages will all equalize. Just need to make sure the BMS, breakers, and wires can handle that extra current.
 
Cover1987 said:
Hi AJW,

im a big fan of your 3d printed packs. In fact I have only an anycubic i3 Mega (200x200mm base) so i decided to use your designe and make it possible to print at my printer in 2 parts. I made it a littlebit bigger (136 cells);)and i'll use 2 busbars and connet only 1 cell with one fuse wire.

If someone wants my partsi can also upload step files of my version.

Some testing

image_chdulj.jpg


Does it fit together?

image_lqmarg.jpg


image_mileos.jpg


A draft of to complete assembly

image_zlbhkw.jpg

image_yjalja.jpg


And now the first part is printing

image_mxktti.jpg

Hi,
I would like to print your parts, would you be able to share them please.

Regards,
 
ajw22 said:
Hank said:
Cover1987 said:
If someone wants my partsi can also upload step files of my version.
I would like to print your parts, would you be able to share them please.

My parts are attached to the very first post in this thread. Not sure if Cover1987 has posted his version.

Hi ajw22,

Thank you for quick reply,
I have tried to modify your version to two bus bars, but it was unsuccessful.

Regards,
 
Back
Top