(continued from Grid-Assisted Solar, pt. 1)
With the batteries and inverter set up, the next item to research was a solar charge controller. Finding an inexpensive charge controller that supported a 48v battery bank was surprisingly difficult. I knew I didn’t have room for a large solar array, so I needed to maximize the power I could get from the panels. Because of this, I opted for an MPPT controller. There are a lot of choices in the 12/24v range but significantly less for 48v battery banks. While in the process of searching, I found EPsolar’s product list which has a decent filter for searching. I decided to go with the ET4415BND model because it is adequately sized for my needs and has a good feature set. It is also fairly configurable in case I want to change battery chemistries in the future.
The last pieces of the puzzle are the solar panels themselves. My roof faces close to due south at an ideal angle for keeping the panels at a fixed angle year-round. Again, there are a lot of suppliers for solar panels, but Renogy panels seem to be well-reviewed and some are available through Amazon. I chose 5 of the 150 Watt monocrystalline panels because they were a good fit for the space I had available. I ordered them through Amazon and was glad I did, because one of the panels was damaged during shipping. Amazon got a replacement to me two days later, just in time for the weekend when I was planning to install them. Getting the panels mounted to the roof was a pain because of the roof pitch, but I think it only took a couple hours to get them up and running. Since I had everything else in place already, all I had to do was run the wires inside and connect them up. Once I verified that I was gathering power from the solar panels, I switched my inverter over to battery mode to start taking advantage of it!
With the system operational, I began investigating data collection. The solar charge controller has a serial interface and uses the Modbus protocol to communicate. Using a Raspberry Pi and a USB <=> RS-485 adapter, I was able to connect to it and begin gathering information. I wrote a Python script to collect data at regular intervals and store it in a database for live display or later retrieval. I would like to do the same with a voltage/current monitor for the battery bank and the inverter, but they don’t have published protocols. That won’t prevent me from connecting to them, but it will increase the difficulty as I’ll have to reverse-engineer the protocols first. I currently have a solar dashboard on the main page of my site, and I’m working on a concise way to display the historical data.
Current system stats:
Solar Panels: 5x 150W monocrystalline panels in one string
Charge Controller: 45A MPPT (up to 2400W with a 48V system)
Batteries: 48V 125Ah (6000Wh) sealed lead-acid
Inverter: 2000W (6000W peak) pure sine wave