Category Archives: Batteries

DIY Offgrid Project – Battery Management System and Contactor

This box of stuff will protect the battery in my home brew 23kwh storage system. Given the failure modes for lithium batteries involve dying permanently and catching fire you want to get this right. This will be able to stop the inverters from draining the battery and if things get really outside the comfort zone it will disconnect the battery completely. I could disconnect the solar panels from the inverters if I needed an absolute override for high voltage but I don’t think that’s going to be a problem.

The Batrium BMS is the brains of the operation.

The big thing on the left is the contactor. It’s designed for forklifts. It’s rated at 48 volts 200 amps DC. It came via AliExpress.

The relay coils are also 48 volt DC although the contacts aren’t really rated for that many volts. I’m not expecting problems because the main contactor draws only two hundred milliamps which isn’t going to sustain much of an arc.

If either relay is closed the contactor will close. The BMS has a pair of FET outputs that connect to ground when enabled. One is programmed as Charge OK and the other as Discharge OK. They can also be set to open and close a bistable contactor but thats not what I have and they scare me.

I designed everything using a sketch tool on my ipad called You Doodle.

Then I started to put it together. Here’s the result so far.

Next task is making the aluminium strap between the contactor and the current shunt. Then I’m ready to bolt it all to the wall.


Here it is mounted to the wall:


Note the shunt is operating BACKWARDS. There is a setting in the shunt setup window that tells the WatchMon that the shunt is reporting backwards.

After I reassembled everything I got really wildly fluctuating readings in the tool.

Pulling everything apart I discovered that one of the two brass screws that hold the sensor to the shunt and carry the voltage from the shunt to the sensor was loose. I probably put too much force on the sensor when wrangling everything into place.

One day I may replace that awful ugly aluminium bar. I went to the trouble of twisting it so you can see the LEDs but then I discovered that they are visible through the side of the sensor too! Sadly twisting it made it less than pretty.

Another interesting observation is that the contactor runs very hot. I know the EV community have used various circuits to reduce the average hold current on the contactor but it’s probably easier to put a little fan in the side of the box.

DIY Offgrid Project – Monitoring

If you are a fan of solar power you have probably heard of, a cloud service that records and graphs the generation and consumption of member’s renewable energy systems.

The new system is graphed here. If you hunt around you can find my existing grid-tied system too. As of writing, with 3kw of panels and running the pool pump and garden lights, a day looks like this:


Power is measured in watts “w”. Energy is power over time and the unit often used for electricity is kilowatt hours “kwh”, which is 1,000 watts for 1 hour. It’s also 2,000 for half an hour or 500 watts for 2 hours.

The dark green line is the power out of the solar panels that is charging the battery and running the inverter loads. The red line is the power consumed by loads and the overhead of the inverter itself which is around 50 watts, around 1.2kwh per day. The large green area above the pink “energy used” is the effective energy overheads of the system and losses while the charger tries to “balance” the battery pack. At present I appear to be wasting about 4kwh per day which is quite high when you stop and think about the maximum 20kwh per day the solar panels can produce. That said, my methodology is a little primitive.

The PIP inverter has an RS232 serial port which is “normal” for IT 20 years ago but unusual for solar kit these days where RS485, MODBUS or CAN are much more common. You need to talk at 2400 bits per second, 8 data bits, no parity and 1 stop bit. The protocol has been documented and I found some Python code to talk to the inverter in the AEVA PIP forum but it is for loading data into a database.

Data available includes the voltage and amps from the solar panels, the battery voltage and charge current in integer amps and the voltage and watts being supplied by the inverter to loads.

I cleaned up the existing code that reads the data about once every 1.5 seconds and wrote some that does some maths and logic and then uploads the data to pvoutput every five minutes. You can find my code stashed away on that forum.

I multiply PV volts by amps to get watts which is legitimate for direct current.

I multiply that by the duration in hours since the last sample (about 1.5 seconds but measured to microsecond accuracy by the RasberryPi) to give watthours.

I do the same for the inverter load which is reported in watts (and also in volt amps which is probably a source of discrepancy for those of you who understand reactive loads).

All of this is summed and then uploaded on the first sample after the wall clock minutes are integer divisible by 5. (Remember modulo?)

The next extension to the code is to listen to the Batrium BMS and upload the StateOfCharge% and net current in or out of the battery from it. It’s much more accurate than the integer amps from the PIP inverter.

DIY Offgrid Project – Integration Part 2

Lithium Iron Phosphate batteries like all lithium batteries need a battery management system to protect the individual cells from being over charged or over discharged.

This is a Batrium M8 Cellmon.

It connects to a monitoring box that has an embedded computer. In turn there is some software that only runs on a Windows machine that visualises the performance of the battery.

If a cell reaches maximum safe voltage before the others have fully charged the pack will not be fully charged. The red bits are the cellmons that are “by-passing” which means they are attempting to limit the voltage across their cell in an attempt to “balance” the voltages across all the cells. They can do this for about 1 amp which means it will take a while before the battery pack is fully “top balanced”. I can help this process along by discharging a high cell with a load like an incandescent headlight bulb. But during the main part of the charge and discharge cycle the cells are all at much the same voltage so the real imbalance is relatively small.

DIY Offgrid Project – Integration Part 1

I have been busy over the last few weekends and the weather has been unappealing for climbing around the roof when I have had time so I still don’t have an solar panels installed but all the parts of this system have been cluttering up the house so I decided to mount things on the wall and test out strapping the battery cells together this afternoon.

The straps came in a set of four at Bunnings and the timber end plates are some leftover Ikea solid timber bench. The best advice for LiFePO4 cells is that they should be strapped together because the cells bulge when they are full charged due to the lithium ions that are deposited within the graphite coating of the cathode during charging.

The two solar isolators are overly optimistic Chinese switches that claim they are rated at 32 amps. I’m doing 10 amps per contact so we should be good. The DC breaker is rated for 600 volts DC and 125 amps which is the absolute maximum the inverter is rated for. I hope I can find another enclosure the same for my second inverter. I bought this one when I made the 20 amp Tesla charging adaptor. IMG_0936

The cells will be tied together with these intercell links. They are 25mm by 3mm so they have a 75mm² cross section. That’s equivalent to 50mm² of coper which can handle around 150 amps with a recommended breaker of 125 amps. That’s around the maximum continuous rating of the cells anyway.


The white tube on top of the cells is Alvania electrical junction grease designed for aluminium connections. You can buy it here. This will all make sense when I join everything up and integrate the Battery Management System.

DIY Offgrid Project – PV panels

I found 13 x 250 watt PV panels on Gumtree for $100 each. It turned out they came with mounting rails and most of the clamps. That’s about $500 of cost avoided! The panels all appear in perfect condition. That’s 3,250 watts of panels for 40 cents per watt. By the time I get them on the roof they will owe me nearly 60 cents per watt. That’s about 4 cents per kWh over ten years. Cheap power!


The open circuit voltage of the panel, Voc is 37.6 so three in series is 113 volts which is less than 120.

There is an interesting loophole in the electrical safety rules. You don’t need to be a licensed electrician to install DC equipment that operates below 120 volts. Technically you don’t have to follow all the pesky safety rules around isolators, conduits, fuses and earthing. You know, all the SAFETY rules. I will be following those rules regardless. (You can find the rules online if your Google-foo is good. I don’t want to draw attention to them because hiding Standards behind paywalls is what we do in Australia: put up a fence and charge rent and if I link to the set I found they will probably be taken down.

More to come! Installing and wiring the panels is next.

DIY Offgrid Project – goals

The goals of my home brew off-grid solar storage system are:

  • make my house relatively black-out proof – keep the lights, fridge, hot water and internet running
  • run big daytime loads direct from solar – the pool, the air-con
  • reduce my effective electricity cost to $0.10 per kWh assuming a 10 year life of the system
  • cover the capital expense with two years of savings

I need to generate around 1 megawatthour of electricity each month to do this.

Based on the performance of my current system, in summer I need 5 kilowatts of solar panels, but in winter I need significantly more, around 10 kilowatts.

I have 3 kilowatts on a 2.8 kW grid-tie inverter already and I want that to export like crazy to maximise my return.

A key reason for building an off-grid solar system is to avoid losing my feed-in tariff. That’s going to take some dancing at some point after SAPN look at the NearMap photos and notice I have a bunch of new solar panels.

In the short term I need around 6 kilowatts of extra panels to generate all the electricity my household consumes.

Of course I will need to focus consumption into daylight hours as much as possible because that’s easier than storing it. My largest nighttime consumer is the pool but I can just change the timer. If I have a surplus and my car is home I will charge it. That will be a whole other project 🙂