Pazuri Powerwall

Solloh

Member
Joined
May 26, 2020
Messages
34
Hi all,

I have been drinking the 18650 kool aide and I have decided to take the plunge. I am a huge all things renewable fan from solar harvesting, rain water harvesting, grey water recycling, etc.

After watching very many helpful videos from HBPowerwall, Will Prowse, Dave Poze, Lithium Solar, DIY Tech and Repairs, Jehu and others (many thanks to you all "solar gods"), I felt I can go for something substantial from the word go.

The powerwall is to power a poultry project, thatincludes 130W freezer, 5 x 100W heating lamps, security lights (max 100W) and other miscellenous appliances

My first set up:


  • Target: 4.84 kWhVoltage: 24VConfig: 7S100P

Components:

  • 700 18650 cells from used laptop batteries
  • 1 x Liitokala Li-500
  • 38 x TP4056 charging modules (30 in the mail)
  • 4 Opus BT-3100 for charging (being ordered)
  • 4000W Reliable Inverter
  • BMS from china
  • EPever MPPT Tracer120AN charge controller
I am currently collecting and testing cells with ~400 cells currently in the kitchen but the rest of the components have already been delivered. During cell testing, I measure and record the original cell voltage, charge them fully and record that voltage too, let them sit for 3-4 weeks then record their voltages too. The plan is then to pop them into the Liitokala or OPus for testing of actual capacity as well as IR. All this data is logged in a google spreadsheet

One major question is how to monitor the whole setup remotely. The farm is 150KM away and I would like to log each and every parameter online if possible. I am ok with programming with arduinos but I wont mind using off the shelf solutions. Any leads will be very welcomed.

I am also battling with selecting/sizing the best solar panels for such kind of a setup. I have a lead of a 200W, 22.2V, 7.54A panel, but I don't know if this will be enough. Any leads and pointers will also be very helpful.


image_baxdwu.jpg

image_aukvro.jpg

image_eanrno.jpg

image_fgvdsd.jpg



The link to the google spreadsheet --> https://docs.google.com/spreadsheets/d/1baRBSUUdu7JgwFKBZFM6LG8HpAwsJ7omw4VpOnvYJIA/edit?usp=sharing
 
Nice setup so far. Good beginnings.

I first read "power a poultry project" as was initially thinking "small". Then later I see you refer to a farm. Must be "real" birds, eh? :p

For remote monitoring you'd need internet on the farm. Then set up influxdb and grafana on a server that you can access remotely. Rpi is a good way to get a quick jump start in that area. Or if you have an older computer/laptop that's collecting dust, you can repurpose it.


Question: How come you went with 24V setup? At least you aren't going with 12V :p
 
Korishan said:
Nice setup so far. Good beginnings.

I first read "power a poultry project" as was initially thinking "small". Then later I see you refer to a farm. Must be "real" birds, eh? :p

For remote monitoring you'd need internet on the farm. Then set up influxdb and grafana on a server that you can access remotely. Rpi is a good way to get a quick jump start in that area. Or if you have an older computer/laptop that's collecting dust, you can repurpose it.


Question: How come you went with 24V setup? At least you aren't going with 12V :p

Thanks

Yes, real birds, capacity of 2000 birds, but since Covid happened, we are down to 700.

I currently have internet on the farm, no problem there. I have a server that I can send data to and access remotely, check that too. I have a couple Rpis which I can use, check that too. I think my main question is how to get the data from the charge controller and inverter?

As for 24V, I opined that 12V is small and 48V is an overkill. No hard data was used to arrive at that opinion :( :rolleyes:
 
Solloh said:
Yes, real birds, capacity of 2000 birds, but since Covid happened, we are down to 700.

Ouch, 2000 to 700. That sux. Hopefully things will pick back up and get a full flock again soon.

Solloh said:
I think my main question is how to get the data from the charge controller and inverter?

With that inverter, you might not get much from it itself. You need to use something else to do the monitoring.

On the AC side of things, you could use OpenPowerMonitor, which is an open source power monitoring solution. I'm using the custom built version, putting the components together myself. There are other solutions as well.
For the DC side, you'll want to get some kind of Shunt sensor

Both of the results can be fed into the Rpi and uploaded.

Solloh said:
As for 24V, I opined that 12V is small and 48V is an overkill. No hard data was used to arrive at that opinion :( :rolleyes:

12V for small, and 48 for large. Hrmmm, yeah, it's not like that. At least not directly.

Let's say you have a 3000W load on that inverter. 3000W / 120V = 25A. Seems fine on the AC side. Using 10AWG can handle that current w/o a problem. But what about the DC side? 3000W / 24V = 125A. Now to handle 125A, you're going to need a muuuuuch larger cable. You'd need 1/0 at least, and better to go 2/0. Not only are they harder to work with, but also more expensive.
Now lets go to a 48V comparison: 3000W / 48V = 62.5A. Now you'd only need 4AWG, which is easy to work with, and quite common in welders wire format to make it even better.

The higher the voltage, the smaller the wire for any given amperage. There's a few sections in the FAQ that discuss these things ;)

Another thing about using LiIon cells and "24V" setup. Your operating voltage range for LiIon is 3.2V - 4.2V absolute max. With a 7s system, that'd give you a range of 22.4V - 29.4V. In comparison a lead acid would be 21V - 29V (assuming 10.5 - 14.5V per battery). This seems to fit, but you'll kill your LiIon battery bank as you're basically running them cells at peak capacity each cycle. Considering you're using recycled cells that 1) you don't know their life cycles used and 2) are going the recycled route, you want to make these last as long as possible. Soooo, that would mean you'd want to pull their effective voltage range in a bit. So it'd be recommended for 3.5 - 4.0V range, or for 7s: 24.5 - 28V. With this range, we are now below what lead acid could do. You could go with 8s (28 - 32V), but that goes way over.
In either case, if the charger and inverter can operate just fine in these ranges, that's fine. But it's harder to get both devices to operate exactly in those ranges. Not saying it can't be done, just takes more effort.

Now, I'm not saying there's nothing *wrong* with using 24V. You can use it if you want. That's totally up to you. :)
 
Korishan said:
Ouch, 2000 to 700. That sux. Hopefully things will pick back up and get a full flock again soon.
Thanks. Things will be better


Korishan said:
On the AC side of things, you could use OpenPowerMonitor, which is an open source power monitoring solution. I'm using the custom built version, putting the components together myself. There are other solutions as well.
For the DC side, you'll want to get some kind of Shunt sensor

Both of the results can be fed into the Rpi and uploaded.
Thanks. This is really helpful

Korishan said:
Let's say you have a 3000W load on that inverter. 3000W / 120V = 25A. Seems fine on the AC side. Using 10AWG can handle that current w/o a problem. But what about the DC side? 3000W / 24V = 125A. Now to handle 125A, you're going to need a muuuuuch larger cable. You'd need 1/0 at least, and better to go 2/0. Not only are they harder to work with, but also more expensive.
Now lets go to a 48V comparison: 3000W / 48V = 62.5A. Now you'd only need 4AWG, which is easy to work with, and quite common in welders wire format to make it even better.
I only looked at this from the AC side, hadn't considered the DC side. I will see a workaround for that, either limit the max wattage that can be drawn or buy the bigger cables and limit the distance from battery to inverter. I can also use it later in a smaller project that I will be building.

Korishan said:
Another thing about using LiIon cells and "24V" setup. Your operating voltage range for LiIon is 3.2V - 4.2V absolute max. With a 7s system, that'd give you a range of 22.4V - 29.4V. In comparison a lead acid would be 21V - 29V (assuming 10.5 - 14.5V per battery). This seems to fit, but you'll kill your LiIon battery bank as you're basically running them cells at peak capacity each cycle. Considering you're using recycled cells that 1) you don't know their life cycles used and 2) are going the recycled route, you want to make these last as long as possible. Soooo, that would mean you'd want to pull their effective voltage range in a bit. So it'd be recommended for 3.5 - 4.0V range, or for 7s: 24.5 - 28V. With this range, we are now below what lead acid could do. You could go with 8s (28 - 32V), but that goes way over.
Thanks for this. I had considered this and I am not so much concerned on operating below the lead acid capacity. In this part of the world I have seen that I can get cells at a song, only that the processing takes a lot of time and effort. It seems I will definitely upgrade to 48V at a later stage.

Korishan said:
In either case, if the charger and inverter can operate just fine in these ranges, that's fine. But it's harder to get both devices to operate exactly in those ranges. Not saying it can't be done, just takes more effort.
In the meantime I will try and get these perfectly set.

Thanks alot for the advise and great tips.
 
Best option would have been to buy an 5048 pip. 48v 5kw inverter with built in solar charger and inverter. You get all the data easily out with for instance solar- sis on a raspberry pi and you dont have to fiddle around.

Then add a proper bms that you can do logging from that is smart instead of the one you choosed.

The gear you have picked up are cheap for a reason and the only one you get data from are the charger.
Combining la and lithium is just not worth it. You either degrade the la or the lithium. You gain alot running them separated. Lithium arent made to be fully charged nor to have float/bulk charge. La are always ment to be fully charged and bulk/floated.

You have done the most common mistake here if you ask me :) You have gone out buying stuff before you laid out all the parameters you wanted to solve.

Note: You should only test with 1 brand. You get different results otherwise that can result in issues.
 
daromer said:
Best option would have been to buy an 5048 pip. 48v 5kw inverter with built in solar charger and inverter. You get all the data easily out with for instance solar- sis on a raspberry pi and you dont have to fiddle around.

Then add a proper bms that you can do logging from that is smart instead of the one you choosed.

The gear you have picked up are cheap for a reason and the only one you get data from are the charger.
Combining la and lithium is just not worth it. You either degrade the la or the lithium. You gain alot running them separated. Lithium arent made to be fully charged nor to have float/bulk charge. La are always ment to be fully charged and bulk/floated.

You have done the most common mistake here if you ask me :) You have gone out buying stuff before you laid out all the parameters you wanted to solve.

Note: You should only test with 1 brand. You get different results otherwise that can result in issues.

Thanks daromer for the input and insights. I appreciate you taking the time.

As you have correctly pointed out, the gear that I have picked is cheap and from China. In my neck of woods, we don't have the leisure of amazon and ebay and in case they are available shipment + customs costs an arm and a leg, hence its a no-no for me for now.

I love tinkering with stuff so buying one big thing that does all the work isn't that much fun! In addition I want to learn by doing, so some mistakes here and there aren't catastrophic. I also plan to build other bigger/smaller systems so the components that are oversize/undersize can be re-purposed later on.

Thanks for the La and lithium insights, I am only doing Lithium Ion, no lead acid for me. I will follow the advice of cycling them between 3.5 - 4.0V to get as much cycles from them. Later on I will upgrade to 48V and maybe then I can think of a bigger more expensive inverter.

Muchas gracias
 
I have been building my charging station slowly and it's now complete. It's made up of:

26 TP4056
4 Opus-BTC3100 v2.2
1 Liitokala

A 12V fan for cooling



image_grbmvr.jpg

image_izfyto.jpg

image_rkxmup.jpg
 
My first build, 3S10P

After charging and testing a ton of 18650s, I selected a bunch which wont make it to the powerwall, that arebetween 900-1200mAh and made a 3s10p, 12V 10.6Ah (127W) battery which will be used to power 2 security lights.

One thing I still struggle with is wire gauge sizes, IMOI am usinga bigger wire than needed (better than a lighter one)


image_jufidt.jpg

image_whkjck.jpg

image_suwmvc.jpg
 
I think your BMS+Bluetooth are compatible with those I use. I use a RaspberryPi3 to query and log all the data. My amateurish Python code should be somewhere in my project page.
Note that the RPi onboard bluetooth adapter seems to have stability issues, best to use a USB dongle.
The data also contains temperature, which might be useful in deciding when to turn on/off heating.

And several TPLink HS105 to automatically/remotely control various loads, such as EV charging. In your case, might come in handy to turn on/off heating.
 
ajw22 said:
I think your BMS+Bluetooth are compatible with those I use. I use a RaspberryPi3 to query and log all the data. My amateurish Python code should be somewhere in my project page.
Note that the RPi onboard bluetooth adapter seems to have stability issues, best to use a USB dongle.
The data also contains temperature, which might be useful in deciding when to turn on/off heating.

And several TPLink HS105 to automatically/remotely control various loads, such as EV charging. In your case, might come in handy to turn on/off heating.

Thanks for this. It couldn't have come at a more timely time. Can you share the updatedsource code if you have done updates on it? I will share back any improvements that I make.
 
Solloh said:
ajw22 said:
I think your BMS+Bluetooth are compatible with those I use. I use a RaspberryPi3 to query and log all the data. My amateurish Python code should be somewhere in my project page.
Note that the RPi onboard bluetooth adapter seems to have stability issues, best to use a USB dongle.
The data also contains temperature, which might be useful in deciding when to turn on/off heating.

And several TPLink HS105 to automatically/remotely control various loads, such as EV charging. In your case, might come in handy to turn on/off heating.

Thanks for this. It couldn't have come at a more timely time. Can you share the updatedsource code if you have done updates on it? I will share back any improvements that I make.


Posted it here:
https://secondlifestorage.com/showthread.php?tid=6458&pid=65907#pid65907
 
Thanks ajw22.

I have started modifying it and testing it. Would you mind if I clean it up, add a readme on how to use it and post it online publicly?
 
Solloh said:
Thanks ajw22.

I have started modifying it and testing it. Would you mind if I clean it up, add a readme on how to use it and post it online publicly?

Go ahead - remember to share the proceeds if it should become a m[/b]illion dollar business ;)
I just noticed that I reset bothhci0/hci1on any BT exception, but then only reconnect the BMS it's currently trying to query from. Probably need to reconnect to all BMSs.
Might explain the occasional data glitches I have in my graphs.
 
ajw22 said:
Solloh said:
Thanks ajw22.

I have started modifying it and testing it. Would you mind if I clean it up, add a readme on how to use it and post it online publicly?

Go ahead - remember to share the proceeds if it should become a m[/b]illion dollar business ;)
I just noticed that I reset bothhci0/hci1on any BT exception, but then only reconnect the BMS it's currently trying to query from. Probably need to reconnect to all BMSs.
Might explain the occasional data glitches I have in my graphs.

Hahaha, I will. No worries, all credits and links have been given. Seehttps://github.com/badili/diy_powerwall_monitoring

Some of the improvements so far:
  1. Added instructions on using the code
  2. I am running it on a virtual environment. Much cleaner than installing modules system wide. python has crazy dependancy issues, then there are modules for each version of python. Just safer to use a virtual environment if you want to use the system for other things
  3. Automatic discovery of characteristic handle id. The handle id was hardcoded and it didn't work for me. On some reading I found that you can scan for the writable characteristics of a bluetooth periphery. Once found, try writing with response set to True. If it writes well, thats your characteristic for reading data. Check the functiondetermine_data_characteristicofhttps://github.com/badili/diy_powerwall_monitoring/blob/master/bms.py
  4. I have also defined a variable for the bluetooth devices and their mac addresses
  5. I noted the reset on any exception so I added a general exception for all other exceptions
I added a flag on whether to write to db or not, in such a way that it can easily be toggled and data can be written to a local database or just printed to the console (I haven't really tested on writing to the db since I am certain I fiddled with the data structure and it might fail. I will let you know once its tested).

Next plans:
  1. Use sqlite3 for local logging (sqlite3 is resource friendly for the tiny pi as compared to PostgreSQL and MySQL)
  2. Setup an online grafana system for visualizations
  3. Setup an online MySQL db for saving the data.
  4. Send data from the pi to the online DB and configure grafana to use the DB as a data source
 
I control a lot of my stuff with Home Assistant, so I've taken the code and nailed some MQTT stuff to it.

My code now includes passwords etc, so I wasn't sure how to share it on github, but if anyone is interested let me know.

BTW I had to disable psycopg2 to get it to run on my fresh RaspberryOS install on a Pi Zero. Most likely because I don't have DB stuff installed.
 
dragonfly said:
I control a lot of my stuff with Home Assistant, so I've taken the code and nailed some MQTT stuff to it.

My code now includes passwords etc, so I wasn't sure how to share it on github, but if anyone is interested let me know.

BTW I had to disable psycopg2 to get it to run on my fresh RaspberryOS install on a Pi Zero. Most likely because I don't have DB stuff installed.

This is awesome. You can mask out the passwords and push to github or include all the passwords in a secrets file and omit it from the commit.

Thanks
 
dragonfly said:
I tried commiting my changes but I get

remote: Permission to badili/diy_powerwall_monitoring.git denied to dragonflyuk.
fatal: unable to access 'https://github.com/badili/diy_powerwall_monitoring.git/': The requested URL returned error: 403

This is great that you are trying to push changes to the repo. Awesome.

For github to submit the changes, you are meant to create a pull request. It is easy and very straightforward. I will then merge the changes.

Thanks
 
I must be missing something, I'm using linux commandline, because I run it on the pi zero, over ssh

I created a local branch call dragonfly, then I try to commit it with

git push origin dragonfly

but that's when I get the error.
 
Back
Top