Honda EU 10i: a perfect backup for the Victron MultiPlus-II 24/3000/70-32

In our trailers and vehicles I prefer 24V 8s batteries, as the price-weight-power triangle of our Eve 280Ah cells is hard to match. With a gross weight of roughly 55kg we get a nominal “capacity” of 7168Wh. Even at a low cell voltage of 2.7V we can still get more than 2400W (3000VA) out of the battery. Exactly what a Victron MultiPlus-II 24/3000/70-32 (or any 3000VA inverter/charger for that matter) can deliver.

The Honda EU 10i has a sustained output of 900W which equates to roughly 3.9A at 230V. Now, this is not too interesting by itself.

However, the minimum AC current input of the MultiPlus is 3.6A. So, exactly within the range of the Honda EU 10i. A 5000VA inverter for example, would drain the generator with its minimum input of 4.6A+. And with its fuel tank capacity of 2.1l it runs nearly 4h on full load. Which in turn means, I can charge our 24V 8s battery about 50% without refueling.

Note: ideally we would charge it from 25% up to 75% SoC.

So, for me this generator is the ideal backup when I am away without any EV station nearby. With its 13kg and small form factor (and price) there is always a place in my vehicles where I can put it.

And as a side benefit: when I run the generator along with the inverter I can generate up to 3300W (or over 14A). That is: run my oven and boil potatoes at the same time …

And the generator even makes sense when combined with a Victron MultiPlus Compact 24/1600/40-16 (or its 12V counterpart). They are the smallest inverters/chargers in that power range. They strong enough to run a coffee machine or immersion water heater, but are not pwoerful enough to run a full 2000W appliance. However, in combination with the Honda, they just reach 2180W. Of course, charging a 24V 8s battery with a “Compact” device takes much longer, due to its smaller charger.

Twitter – Honda EU 10i in action

Using a Raspberry PI 2 Model B 1GB as a Victron GX device running Venus OS v3.00

Along with some others I am waiting for Raspberry PIs to become available again (while *not* supporting these overpriced resellers on eBay, Amazon and elsewhere).

Luckily, back in 2016 (or was it 2015?) I bought two Raspberry PI2 Model B Rev. 1.1 with 1 GB RAM and an Edimax EW-7811Un WLAN adapter. At that time the PI did not have built-in WLAN and it was said that the original Wifi dongle Raspberry Pi WLU6331 did not work with all distributions.

We had some plans what to do with the Pi – but they never made it into reality. Instead, they went into the locker.

Edimax EW-7811Un WLAN adapter

Fast forward into the future, the whole world experiences stock supply shortages and a Raspberry Pi (now in its 4th generation) is hard to get hold of.

As I am building a couple of batteries mostly with JK-BMS I need a RS-485 connection to my Victron inverters to control charge and discharge currents. Except for the GX versions of the MultiPlus-II and EasySolar-II that _sort of_ support RS-485 (not out-of-the-box, but) in a single box, I always need an additional device like a Cerbo, BBB or: a Raspberry Pi!

But as I already wrote: I did not want to support resellers with their pharmacy pricing, so I had a look at the Venus OS compatibility list and saw that – surprisingly – even a Pi 2 is supported. So, I went looking in my shelves, lockers and other places to find these rusty old Pi 2s – and after a couple of weeks I actually found them (when I was looking for something completely different). Anyway, here they are – but only with a single GB of RAM.

Nostalgic side note: yes, there were times where I would have left out the word “only” …

I was not to sure if Venus OS would run on it. And if – how quick. It was time to find out …

Installation was straight forward: following Getting Started was all it needed. I connected the Pi to my local wired network for that purpose and makes updating and installing software much easier. At the very start I also enabled superuser and SSH access.

Note: There was a minor issue or whatever one might call it. After the install of v3.00 (via the SD card) I had the device check for an update (which at that time should not have been available). But for whatever reason, I was offered to update from v3.00 to v3.00. I did that and it worked and after that no more updates were recommended.

From then on, installing additional packages worked without an issue – but took considerably longer than on a Cerbo, Pi 4 or even the GX in the EasySolar.

One thing just seemed to be missing. Having the Pi to act as a Wifi access point (and router with DNS and DHCP). Why would I want this?

Some of my batteries are just standalone installations in a car, trailer or other machinery. And external network is not always available. And I do appreciate the comfort of wirelessly connecting to the GX – just as I am used to when using my EasySolar-II GX.

And as nearly always: I was not the first one to ask for such a feature:

Victron themselves, apparently, have no plans for supporting this feature.

Luckily, pagedo did all the hard work and gave a step-by-step description on how to enable a Wifi access point. And that worked on the Pi 2 as well.

Essentially, we have to enable Wifi, activate tethering and modify the config file:

$> connmanctl enable wifi
$> connmanctl tether wifi on <SsidName> <SsidPassword>
$> connmanctl technologies
$> nano /etc/connman/main.conf
  TetheringTechnologies = wifi
  PersistentTetheringMode = true
  AddressConflictDetection = true

After a reboot, I could successfully connect to the access point and VictronConnect immediately found the “Cerbo”:

Raspberry Pi 2 Model B Rev. 1.1 as a Victron GX device while acting as an access point

After I enabled the access point (or tether option) I could no longer see or access any other SSIDs from the Pi:

WLAN client is deactivated when running an access point

Running ifconfig gave me this output:

ifconfig output after enabling the access point

Certainly, I was interested in the performance or resource consumption of the Pi 2. As it turned out, the UI really took some CPU but the additional network services themselves were not quite as hungry: idle floats between 71% and 92%.

Pi 2 running with a RS-485 adapter and enabled access point

So, this is it. My investment of roughly 35$ in 2016 (even with intereste rate) really paid off. I have a working GX device that does everything I want – plus an access point – all in a single box.

Pi 2 running with dbus-serialbattery, BatteryAggregator and access point

Using Victron MultiPlus-II for top balancing LiFePO4 cells

Top balancing is a topic where a lot of people have written about – and now it is my turn …

It is common understanding to use a regular charger when top balancing, and one the one hand set the Charge Voltage Limit (CVL) to cellCount * 3.65V and use a reasonable current and wait for an extended period of time until all cells have reached their cell voltage maximum. And reasonable means to use a current where the BMS balancer keep up with and distribute the Amps across the cells without going into a Overvoltage (OVP) for a single cell.

So, instead of using a charger with a high supported current of at least 20A we now can use our regular Victron MultiPlus-II inverter/charger – with the help of Venus OS.

The reason why we cannot use a Victron MultiPlus-II out of the box as a charger is the fact, that is does not support fixed Amp configurations (only maximums). And after a while at a specific voltage the MultiPlus-II would enter Absorption phase and thereby reducing the current over time and stopp charging after a while altogether.

So with the help of a custom service (or Python script based on the dummyservice) we can create a battery monitor and set a fixed current.

I am not going into details on how to get a Venus OS device (Victron Cerbo GX or Raspberry Pi) up and running. There is plenty of information on the internet. Or have a look at this article where I briefly describe the setup of a Pi for our BYD battery system.

The *service* itself can be run from a shell: /data/VirtualBatteryMonitor/VirtualBatteryMonitor.py (I copied the script into /data to survive a firmware update).

And then the service should appear in the “Device List”:

Our service as a device to support a constant charge current

There are two more configuration entries needed:

  1. Enable our service as “Battery Monitor” (Settings, System setup, Battery Monitor)
  2. Enable DVCC (Settings, DVCC)
Our service configured as a “Battery Monitor”
Enable DVCC

The actual parameters (charge current and maximum voltage) can be configured via dbus-spy from a shell:

Service parameters as shown by dbus-spy

The actually configured values are then shown under “Parameters” of the service (Service, Parameters):

Current configuration set to 5A constant charge current

Note1: There is no need for an actual integration of the BMS with the Venus OS.

Note2: Use at your own risk. Misconfiguring could potentionally harm the BMS, the battery or both.

Note3: Do not leave the script running / the battery charging unattendedly.

#!/usr/bin/env python3

"""
A class to put a simple service on the dbus, according to victron standards, with constantly updating
paths. See example usage below. It is used to generate dummy data for other processes that rely on the
dbus. See files in dbus_vebus_to_pvinverter/test and dbus_vrm/test for other usage examples.

To change a value while testing, without stopping your dummy script and changing its initial value, write
to the dummy data via the dbus. See example.

https://github.com/victronenergy/dbus_vebus_to_pvinverter/tree/master/test
"""
from gi.repository import GLib
import platform
import argparse
import logging
import sys
import os
import dbus
import os

# our own packages
sys.path.insert(1, os.path.join(os.path.dirname(__file__), "../ext/velib_python"))
sys.path.insert(1, "/opt/victronenergy/dbus-systemcalc-py/ext/velib_python")
from vedbus import VeDbusService
from vedbus import VeDbusItemImport

class VirtualBatteryMonitor(object):
    def __init__(
        self,
        servicename,
        deviceinstance,
        paths,
        productname="MultiPlus Charger",
        connection="dbus",
    ):

        try:
            # Connect to the sessionbus. Note that on ccgx we use systembus instead.
            logging.debug("Opening SystemBus ...")
            dbusConn = dbus.SystemBus()
            logging.info("Opening SystemBus SUCCEEDED.")
        except:
            logging.error("Reading system SOC FAILED.")

        logging.debug("Opening dbus '%s' ...", servicename)
        self._dbusservice = VeDbusService(servicename)
        logging.info("Opening dbus '%s' SUCCEEDED.", servicename)
        self._paths = paths

        logging.debug("%s /DeviceInstance = %d" % (servicename, deviceinstance))

        # Create the management objects, as specified in the ccgx dbus-api document
        self._dbusservice.add_path("/Mgmt/ProcessName", __file__)
        self._dbusservice.add_path("/Mgmt/ProcessVersion", "Unkown version, and running on Python " + platform.python_version())
        self._dbusservice.add_path("/Mgmt/Connection", connection)

        # Create the mandatory objects
        self._dbusservice.add_path("/DeviceInstance", deviceinstance)
        self._dbusservice.add_path("/ProductId", 0)
        self._dbusservice.add_path("/ProductName", productname)
        self._dbusservice.add_path("/FirmwareVersion", 0)
        self._dbusservice.add_path("/HardwareVersion", 0)
        self._dbusservice.add_path("/Connected", 1)

        # Create all the objects that we want to export to the dbus
        self._dbusservice.add_path('/Dc/0/Voltage', 3.4 * 16, writeable=True)
        self._dbusservice.add_path('/Dc/0/Current', 5, writeable=True)
        self._dbusservice.add_path('/Dc/0/Power', 3.4 * 16 * 2, writeable=True)
        self._dbusservice.add_path('/Dc/0/Temperature', 15, writeable=True)
        self._dbusservice.add_path('/Dc/0/MidVoltage', None)
        self._dbusservice.add_path('/Dc/0/MidVoltageDeviation', None)
        self._dbusservice.add_path('/ConsumedAmphours', 123, writeable=True)
        self._dbusservice.add_path('/Soc', 75, writeable=True)
        self._dbusservice.add_path('/TimeToGo', None)
        self._dbusservice.add_path('/Info/MaxChargeCurrent', 5, writeable=True)
        self._dbusservice.add_path('/Info/MaxDischargeCurrent', 0, writeable=True)
        self._dbusservice.add_path('/Info/MaxChargeVoltage', 3.65 * 16, writeable=True)

        self._dbusservice.add_path('/Info/BatteryLowVoltage', 2.75 * 16, writeable=True)
        self._dbusservice.add_path('/Info/ChargeRequest', False, writeable=True)
        self._dbusservice.add_path('/Alarms/LowVoltage', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/HighVoltage', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/LowSoc', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/HighCurrent', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/LowCellVoltage', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/LowTemperature', 0, writeable=True)
        self._dbusservice.add_path('/Alarms/HighTemperature', 0, writeable=True)

        self._dbusservice.add_path('/Capacity', 156, writeable=True)
        self._dbusservice.add_path('/CustomName', "Virtual Battery Monitor (%/V/W)", writeable=True)
        self._dbusservice.add_path('/InstalledCapacity', 280, writeable=True)

        self._dbusservice.add_path('/System/MaxCellTemperature', 15, writeable=True)
        self._dbusservice.add_path('/System/MaxCellVoltage', 3.4, writeable=True)
        self._dbusservice.add_path('/System/MaxTemperatureCellId', "C5", writeable=True)
        self._dbusservice.add_path('/System/MaxVoltageCellId', "C2", writeable=True)
        self._dbusservice.add_path('/System/MinCellTemperature', 15, writeable=True)
        self._dbusservice.add_path('/System/MinCellVoltage', 3.4, writeable=True)
        self._dbusservice.add_path('/System/MinTemperatureCellId', "C6", writeable=True)
        self._dbusservice.add_path('/System/MinVoltageCellId', "C3", writeable=True)
        self._dbusservice.add_path('/System/NrOfCellsPerBattery', 16, writeable=True)
        self._dbusservice.add_path('/System/NrOfModulesBlockingCharge', 0, writeable=True)
        self._dbusservice.add_path('/System/NrOfModulesBlockingDischarge', 0, writeable=True)
        self._dbusservice.add_path('/System/NrOfModulesOffline', 0, writeable=True)
        self._dbusservice.add_path('/System/NrOfModulesOnline', 1, writeable=True)
        self._dbusservice.add_path('/System/Temperature1', 15, writeable=True)
        self._dbusservice.add_path('/System/Temperature2', 15, writeable=True)
        self._dbusservice.add_path('/System/Temperature3', 0)
        self._dbusservice.add_path('/System/Temperature4', 0)

# === All code below is to simply run it from the commandline for debugging purposes ===

# It will created a dbus service called com.victronenergy.pvinverter.output.
# To try this on commandline, start this program in one terminal, and try these commands
# from another terminal:
# dbus com.victronenergy.pvinverter.output
# dbus com.victronenergy.pvinverter.output /Ac/Energy/Forward GetValue
# dbus com.victronenergy.pvinverter.output /Ac/Energy/Forward SetValue %20
#
# Above examples use this dbus client: http://code.google.com/p/dbus-tools/wiki/DBusCli
# See their manual to explain the % in %20


def main():
    logging.basicConfig(level=logging.DEBUG)

    from dbus.mainloop.glib import DBusGMainLoop

    # Have a mainloop, so we can send/receive asynchronous calls to and from dbus
    DBusGMainLoop(set_as_default=True)

    pvac_output = VirtualBatteryMonitor(
        servicename="com.victronenergy.battery.VirtualBatteryMonitor.ttyO1",
        deviceinstance=0,
        paths={
            "/Ac/Energy/Forward": {"initial": 0, "update": 1},
            "/Position": {"initial": 0, "update": 0},
            "/Nonupdatingvalue/UseForTestingWritesForExample": {"initial": None},
            "/DbusInvalid": {"initial": None},
        },
    )

    logging.info(
        "Connected to dbus, and switching over to GLib.MainLoop() (= event based)"
    )
    mainloop = GLib.MainLoop()
    mainloop.run()


if __name__ == "__main__":
    main()

The script is available here.

For my use case, this really helps as now I have a powerful charging (3 * Victron MultiPlus-II 48/5000/70-32 in parallel) that can charge the battery initally with 140A+ and later with smaller and smaller currents until all cells have reached their maximum voltage.

Maybe you find this useful, too.

Changing the cabling of a Victron MultiPlus Compact 12/1600/70-16 from 35mm2 to 2* 35mm2

In this article I describe what I did to install 2 pairs of 35mm2 cable to a Victron MultiPlus Compact 12/1600/70-16.

Out of the box the MultiPlus comes preconfigured with a pair of 1m 35mm2 (2AWG) welding cables (and as a side note: with unusually thin M8 cable lugs).

When connected to a 12V battery based on 4s Eve LF280K cells, the maximum current drawn can go beyond the recommended 0.5C rating – especially when the cell voltage decrease under the nominal 3.2V or the total cable length is longer than 1m. Using a larger inverter or smaller cells will make things even worse.

And when we look at Victron’s Recommended battery cables document, we see that they are recommending 50mm2 for currents up to 150A anyway (for cable lengths of up to 5m).

Victron recommended battery cable sizes, copyright https://www.victronenergy.com/upload/documents/BatteryCables.pdf

For a 1m cable the theoretical voltage drop is within their recommended range of 0.259V. But they explicity state that resistance leading to additional voltage drop due to contacts is not calculated into the recommended cables size.

Already a cable size of 2m will lead to over 3% and 0.3V voltage drop when the cell voltage is only 4* 2.6V = 10.4V (and by default raise a “Low Voltage Alarm” on the MultiPlus). And even a cell voltage of 4* 2.75V = 11V is close to 3% and over the recommended threshold (of course, calculation is based on full inverter load of 1600VA). Besides Victron explicitly recommends a voltage drop of under 2.5% in their Wiring Unlimited document.

So why is Victron fitting the inverters with only 35mm2 cables? Especially since they are using welding cables that are only rated up to 60°C. I do not know.

But I do know, how I can fit an additional 35mm2 pair into the inverter and minimise a potential heating problem.

Adding a second pair makes particular sense at least in my case, as I am using a JK-BMS and Eve cells that both come with two M6 terminals per connection point. So running two cable pairs to battery and BMS saves me from using a bulkier and stiffer 70mm2 cable that I would have to split at the BMS and main positive cell anyway. And with that, I can still use the Anderson SB175 connectors with regular housing and 1383 wire contacts and without having to resort to 2/0 housings and 1328G1 wire contacts.

The inverter comes with 30mm holes in the front panel where the supplied cable is fitted with an M25x15mm cable gland (side note: why are they using IP68 glands when the whole inverter is only rated at IP21). Eland H07RN-F 35mm2 cable has a diameter of 14.6mm, so actually two of these cables do not fit through the holes at once.

But as the cable lugs are actually that long that they stick out of the chassis the required diameter is 2* 12.5mm = 25mm which is just the size of the hole. When wrapped in heat shrink we need some more space. And certainly we want a little bit of head room, so the cables do not scratch against the metal when moving.

Klauke 105R8 M8 35mm2 dimensions, https://www.klauke.com/kr/en/compression-cables-lugs-to-din-cu-4935

So, the M25 holes had to be enlarged slightly to make space for the double cable lugs as seen on the picture below. I used a Hilti GDG 6-A22 grinder for this. I covered the inverter to prevent metal splices and dust getting inside (board, circuity) of it. And I added extra insulation around the cable lugs to prevent them cutting into the metal.

Bottom side of MultiPlus with enlarged holes and extra cable insulation

Mounting the cables to the connection points is done with two Klauke M8 35mm2 DIN 46235 compression cable lugs (back to back).

Note: the compression cable lugs from Weidmüller will not fit, as their connection plate is too long.

Instead of the factory supplied washers, spring locks and nuts, I use M8 serrated washers and lock nuts. As the negative connection point (which is directly under the 250A MEGA fuse) is around 2mm higher than with only one cable lug, I added an additional (copper) washer under the fuse terminal to make more space.

I could cover the original bolts with insulation tape to prevent accidental contact with the chassis when squeezed (but this is something that could have happened even before).

Victron MultiPlus Compact 12/1600/70-16 with dual 35mm2 battery cables

Now we have a 2* 35mm2 = 70mm2 connection to our battery as seen below.

2* 35mm2 connection between battery and inverter

So the voltage drop over the whole cable (1.5m from invert to battery with 70mm2) should be around 114mV:

Voltage drop at different cell voltages

So as it seems, the main difference between the larger and the smaller cable is the power loss (17.22W vs 34.44W at full power or 15W vs 30W at 0.5C). So all in all we save nearly 0.84% battery capacity per cycle with the thicker cables (which is 5000Wh over the whole cell life) – probably less than we spend on the cables and lugs, the labour and the time to do the calculation and writing up the article …

Building a battery case for a 4s Eve LF280K configuration

Based on our Eve 8s design, I made a sketch for a 4s 12.8V battery, which I could later connect to a Victron MultiPlus Compact 12/1600/70-16:

Wooden case for the 4s Eve LF280K battery

Again, this battery has a wooden inner case and sits inside a utz 400mm x 300mm x 325mm RAKO container.

There are a few differences however:

  1. There is no space for fuses inside the container
    (so it is more like a traditional battery);
  2. all bus bars are “bent” and not straight
    (we need three 35mm2 pairs, so six cables altogether);
  3. main positive and main negative are on the opposite sides of the cells;
  4. I use a JK-BMS B2A8s20P without soldered cables but with dual M6 threads
    (so I can use 35mm2 cables all the way).
utz RAKO 400mm x 300mm x 325mm container with wooden frame

To cut the plywood in an efficient way, I used a web site called cutlistoptimizer which gave me this result:

Cutting suggestion by https://cutlistoptimizer.com/

For this build, I planed all the boards after cutting, before putting in the cells. With this, I hoped to minimise the chance of any particles on the board damaging the cell insulation.

And for the small board at the short side of the case, I did also use 20mm plywood, but planed it several times until it I could just slide it in.

This is how the wooden case looks with the cells and insulation boards (shown in red):

Top view: battery cells with depicted insulation boards (shown in red)

Note: when using a JK-BMS I found it important to have the main negative connection point on the upper left (or lower right). Only with this orientation it was (relatively) easy to connect the cell to the BMS.

BMS connected to cells

It needed some fiddling to get the main negative cable pair to the BMS and the main positive cable pair out of the frame, as we can see from the image above.

The connection to the individual cells are fed through WAGO 221-2411 2 conductor inline splicing connectors. The holes into the top board were done with a forstner bit and a jigsaw. This version of the BMS can be fixed with four screws to the board (so no need for wire straps as with the 24s version).

Again, instead of a display I just used the pluggable power button that is connected to the display port of the BMS to power on and off the device.

In the end, I added Anderson SB175 connectors and 1383 (2AWG) contacts to both pairs and connected them to the inverter.

Battery connected to inverter

Some more details

  • All 35mm2 cables are Eland H07RN-F flexible rubber cable;
  • compression cable lugs are Klauke M6 35mm2 DIN46235;
  • cell contacts were secured with M6 serrated washers and M6 16mm steel bolts;
  • BMS threads B- and P- were secured with M6 lock nuts to M6 16mm steel bolts (with the bolt upside down);
  • cell wires from the BMS were fitted with uninsulated ferrules;
  • cell wires on the positive cell poles were fitted with ring lugs and a 2.5mm2 hookup wire;
  • I added handles to the SB175 connectors to facilitate disconnecting the cable pairs;
  • I added dust covers to the SB175 connectors;
  • all compression cable lugs and the SB175 were crimped with a Hilti NUN54-22;
  • all cable lug connections and Sb175 were heat shrinked;
  • I added 2*35mm2 cable pairs with SB175 connectors to the inverter by replacing the existing 35mm2 welding cable with M8 lugs (you still need M8 lugs on the inverter positive and negative terminals).

Things to improve next time

  • Mount the SB175 connectors to the outside of the container
    With this the lid can be closed and the cables and BMS are better protected against pulling;
  • add 3A inline fuses to the cell wires;
  • use 45° angled cable lugs for main positive and main negative to make it easier to get the wires routed outside the container;
  • feed an additional wire pair for the voltage sensor from the main positive outside the container to be able to connect it to the inverter (but I am not too sure about this, as I think the voltage drop on the 2*35mm2 connection is neglectable – it might better to add a temperatur sensor to the main positive):
  • maybe add protective wire sleeves to the SB175 connectors (but they are quite expensive):
  • add a Victron MK-3 USB-C interface with RJ-45 cable into the case (to be able to restrict AC power on the inverter).

What did it cost?

Cost calculation for the 4s battery including case and inverter

Summary

This case is not as complete as the 8s version – due to its form factor. Neither the inverter has an RCBO nor the battery has a DC MCB. This has to be added separately (incurring additional cost and space). As written above, the 4s version is more like a traditional battery. However, the form factor is quite compelling; 3.5kWh in 400mm x 300mm x 325mm case. Especially in combination with the compact edition of the Victron MultiPlus. And the cost (as always without labour) is very reasonable, as well.

The inverter delivers 1200W constant power – in my opinion, enough for a small and mobile electricity build. Runnig a Krups Inissia Nespresso machine is not a problem, and boiling water with our 1000W immersion heater neither. Worst case, you could also run a 300W infrared panel heater for more than 11 hours.

One drawback of the inverter is probably the relatively small charger. With 70A at 12V it can only charge the battery with around 840W. This is certainly not the problem of the battery which would support charging up to 1344W.

Charging a leisure battery at a Tesco Superstore podPOINT

Some time ago, I wrote about charging leisure batteries at EV charging stations. Today, I was charging at the Tesco Superstore in Wick and got a tip from a neighbouring EV car driver: when you disconnect and reconnect your EV charger within 15min, charging is free of charge.

So, I gave it a try – and it worked. I topped up my battery with my CCS Type2 Neutrik adapter and I was not charged a penny!

Free charging at Tesco Superstore podPOINT

Why they do this is not totally clear to me. But hey, I am ok with that.

In the video below you see our Toyota “2er” Hiace 1994 retrofitted semi-electrical vehicle being charged at the podPOINT Ralf-Milo:

Charging a 24V Eve 8s LF280K battery at an EV charging station

Travelling with Pets from Switzerland to the United Kingdom via transit through Europe

Once in a while, our cat travels with us to Loch Watenan. And in this article, I summarise what paper-work is needed to get the cat in one piece to the UK and back to Switzerland.

And our cat is 10+ years old. For young cats and other pets different rules apply.

We have two main travel routes:

  1. CH – (entering via car) DE – NL – (via ferry) UK
    UK – (entering via ferry) NL – DE – CH
  2. CH – FR – (entering via train/tunnel) UK
    UK – (entering via train/tunnel) FR – CH

First, for entering the EU from Switzerland (a non-EU country) we need

  1. a Swiss Pet Passport (which is equivalent to the EU Pet Passport);
  2. a microchip;
  3. vaccination against rabies (after you got the chip, not older than 3 years);
  4. a recent letter from a Swiss vet stating the overall health of the cat (not older than 10 days);
  5. a written declaration completed by the owner or an authorised person, stating the pet is not for import (never had this checked);
  6. no tapeworm treatment is needed for cats.

For entering the Netherlands from Germany no additional documents are needed. This might change if you are not in transit but stay longer in Germany. I do not know.

At the ferry in Amsterdam, you need to show the documents and supporting material for entering the United Kingdom:

  1. the Swiss Pet Passport;
  2. read the microchip and have it compared to the number in the passport;
  3. the letter from the CH vet.

From there we can freely transit through England into Scotland and from there into the Highlands. For most of the time, without any additional border controls.

But on the way back to Switzerland, things are a little bit different.

The EU does not accept the Swiss Pet Passwort when entering from the United Kingdom (except for Northern Ireland). And as we cannot get a EU Pet Passport we need a recent (not older than 3 months) EU health certificate, demonstrationg the overall health of the cat and the ability of the vet to tackle a very complicated online form:

  1. a European Health Certificate;
  2. a microchip;
  3. vaccination against rabies (after you got the chip, not older than 3 years);
  4. a recent letter from a UK official or authorised vet stating the overall health of the cat (not older than 10 days);
  5. a written declaration completed by the owner or an authorised person, stating the pet is not for import (never had this checked);
  6. no tapeworm treatment is needed for cats.

As upon entry to UK this will be checked before entering the ferry. In addition, the paperwork is examined after leaving the ferry in Amsterdam.

Here is a link to the official reading of the EU: Non-commercial movement from non-EU countries.

Transit through Germany does not seem to have any additional requirements,. And for entry into Switzerland we can again use our Swiss Pet Passport (but this has never been checked when I entered).

Hope this helps.

Hilti NUN54-22 and the Klauke K22 Series

A couple of months ago, I purchased a Hilti NUN54-22, a cordless crimper and cutter. Originally, I wanted to go for a device from Klauke as I am using Klauke compression cable lugs for most of the time anyway. But they only offered their tool with either Bosch or Makita batteries. And I did not want to start to invest into a new battery platform.

So, for me it was going to be only a tool from either Hilti or Milwaukee (the only manufacturers for battery powered tools I have). When I looked closer at the Hilti device, I found striking similarity to one of the Klauke devices offered. And the accessories like crimping dies seemed to be pretty much -well- identical, as well.

So, I asked my local Hilti sales manager what this was all about. Officially, no answer. But inofficially, the Hilti tool seemed to be a Klauke clone.

Soon after the purchase, after I realised that Hilti themselves only offered crimping dies for compression cable lugs, this came in really handy when I needed a crimping die for pre-rounding wire: the RU2210.

This made the Hilti tool so much more versatile.

For reference, here is a list of all K22 accessories, that are compatible with the Hilti tool: https://www.klauke.com/de/de/serie-22.

Note: this is certainly not supported by either Hilti nor Klauke.

Recovering a Victron MultiPlus Compact 12/1600/70-16 after a failed firmware update

The other day, I received my Victron MultiPlus Compact 12/1600/70-16. One of the first steps to do upon commissioning was to update the firmware. In my case from v481 to v502.

With my Windows PC running the latest VictronConnect App and a MK3 to USB-C Interface, I connected to the MultiPlus and enabled the advanced settings by entering the infamous zzz password (which you officially can only get from an official Victron training or distributor or simply by searching the internet).

I was offered to install 2606502.vff to which I happily clicked OK. So it seemed, I was running on a new microcontroller with 230V (hence 26) and really had a MultiPlus Compact 12/1600 (06). But I did not know this at that time.

Note: For a list of the current model numbers see the document VE.Bus firmware versions explained and its link to VE.Bus firmware versions explained on Professional Victron Energy (account needed).

After a couple of seconds into the update process, the operation stopped by telling me something failed. And after a restart, the only thing I could see was the yellow LED constantly flashing as soon as power was connected to the device and regardless of the main switch position.

Victron MultiPlus Compact flashes yellow after failed firmware update

When I tried to reconnect with the VictronConnect app, the detection phase took very long – but the MultiPlus was not recognised.

VictronConnect trying to detect the MultiPlus after the failed firmware update
Detection unsuccessful after the failed firmware update

Even when I tried the “Force detection” option (which is intended to be used after a failed firmware update) no usable result was yielded.

“Force detection” did not work either

So, then I resorted to VEFlash (which is deprecated and has to be selected explicitly when installing the Victron tools on Windows).

But this did not work either, as it could not find anything behind the MK3:

VEFlash failed to recognise the MultiPlus

However, having a closer look at the hints VEFlash gave me before the recovery I was confused that VEFlash asked me to unplug the AC power source. How would I be able to update the firmware? Via DC? And why would it matter anyway which power source was connected?

VEFlash hint at not using AC power on a MultiPlus Compact

So I carefully re-read the VE.Bus Configuration guide and apparently the connection would have to be made via DC as it is pointed out in Chapter 5 Connecting:

MultiPlus Compact requires DC power source

How strange. And even stranger – it worked!

Using a Blue Smart Charger as a DC power source for the MultiPlus

As soon as I connected a Blue Smart IP65 Charger in “Power Supply” mode to it (and configured a voltage of 14.4V) the “Force detection” option in VictronConnect worked.

Note1: I did not alter any of the DIP switches as recommended by VEFlash.

Note2: when reading the manual I learned about the firmware numbers and where to download them. The current firmware is on https://updates.victronenergy.com/feeds/VEBus/firmware-archive/ and not on https://professional.victronenergy.com.

I was then again presented with the option of a firmware update which eventually succeeded.

And the MultiPlus is running happily on 2606502 ever since …

Building a battery case for an 8s Eve LF280K configuration

In one of our previous articles, we stated that, due to power, weight and size, we would rather go for a 24V 8s (280Ah) battery configuration instead of 48V 16s.

However, there are relatively few battery cases for 8s battery packs that fit our Eve LF280K cells. And they are pricey! So, instead of spending a 500+ USD per case, I was thinking to repeat what others have done before me: build a case myself. And certainly, I took inspiration from various others and commercial kits.

So first, here are my requirements:

  1. Case must fit 8 EVE LF280K cells including all electronics and cabling such as BMS, MCB, GX.
  2. Battery must be pluggable to the inverter via Anderson SB 175 connector.
    Check: why not use Amphenol sockets/plugs?
  3. Case must not absorp moisture/liquids that would build up from below.
  4. Case must have no external display or buttons (i.e. solid walls).
  5. Cells must be insulated against each other.
  6. Cells must be fixed to the case so the do not fly around when the box is moved.
  7. Battery status should be readable from the box itself (optional).
  8. The case should be usable independant of any BMS.
  9. Battery is meant to be used 1:1 with a single inverter.
  10. Battery must have an integrated MCB that can also act as a mains switch.

Basic considerations

Zerobrain – LiFePO4 – ALLES und noch viel mehr über Lithium Akkus

Of course, there are more questions to be answered. And I took a lot of inspiration and advice from the discussion above and came to these conclusions:

  1. Material
    I will use a 600mm x 400mm x 325mm utz RAKO box
    Fun fact: if you buy the “same” box in Switzerland, it is 2mm higher and one gets 2mm more usable space inside.
  2. Fire resistance
    The cells should not involve themselves in a “chain reaction” if a cell becomes faulty. The critical temperature of the cells starts at around 90°C. If something is really getting sideways, the resin board will not withstand any of that at all. But as the battery case will be contained either within an aluminium container or directly inside in an aluminium box, I will take that as a mitigation (only the brave).
  3. Moving and lifting
    the cells should have a weight of roughly 8* 5.5kg = 44kg;
    the 20mm resin board weight roughly 3.34kg (13.67kg/m2);
    BMS, MCB, cables, lugs etc might add another 3kg;
    the Rako(R) box has a weight of 2.35kg;
    resulting in a total weight of 52.69kg – which certainly is over the official limit of 32.5kg to be lifted by a single person – but still doable if one has to.
    For moving the battery box around I have a trolley where the RAKO box just fits on.
  4. Compression
    Initially I thought, I would *have* to compress. But according to the above video, it seems the is only needed (or recommended) during the initial charging of the cells (to minimise gas bubble inside the cells). And from then on, it is not *required* for a safe operation of the battery, but instead might contribute to an extended cell life – how much? we do not know.
    So, I will probably only slightly compress the cells by placing them firmly into the frame inside the box.

Layout

So, I started with some sketches in FreeCAD and came up with the follwoing layout.

It should be possible to fit 8 EVE LF280K batteries in a 600mm x 400mm x 325mm RAKO box and still have space for the electronic components. Inside the plastic box there is a wooden structure, so the weight of the batteries is better balanced (the plastic floor might like this).

Batteries will be insulated against each other and fitted with sponge strip. Internal cabling will be fed through the lid where the BMS is mounted on. Cables to the outside (VE.Bus, 2*35mm2 DC, 2* 3-core AC) will be fed through the side wall.

Empty utz RAKO box 600mm x 400mm x 325mm
Box with batteries and electronic components on top
View of frame with cells inside box

BMS Cabling

I am going to use a 150A JK-BMS for the battery which comes with 2 pairs of 7 AWG wiring (approx. 10.5mm2 per wire). As I am going to have a mximum current of 150A (at 20V; or 117A at 25.6V) this will result in a voltage drop between 0.1% and 0.2% on the BMS cable. For the rest of the cable to the battery I will use a 50mm2 that results in an additional max 1% of voltage drop. The actual connection to the batter will be done via an Anderson SB 175 connector.

The individual BMS cell wires will be fed through a WAGO TOPJOB S 3-conductor through terminal block (with a separate fuse) (or I use a WAGO 2-conductor fuse terminal block – don’t know yet). With this I can easily connect and disconnect the individual wires from/to the cells. And with the 3-conductor terminal block if needed, I can later add an additional balancer to the system without having to rewire the cells either.

The cells will be wired in a regular 8s cconfiguration to the BMS. Both voltage sensors will be placed in the middle of the batteries.

Bus bars

My Eve LF280K cells have 2 M6 thread for each pole. The bus bars that came with the cells (cross section is 2mm * 20mm) were not flexible and only suitable for connecting the poles on the long sides. However, with my 8s configuration, I need 4 connections on the short side and 3 connections on the long side of the cells.

So, I created my own bus bars with the help of 2* 35mm2 DIN46235 M6 cable lugs per connection.

Dimensions: short side 30mm + 29mm; long side 30mm + 80mm (cutting at 30mm for the cable lugs to be crimped).

The Build

So, I with this information I started the actual build. And certainly I made some adjustments to the layout. This is what it looks like:

Case with all the cells on one side

As you can see, I moved the batteries to one side. With that I have more space on one end to install a MCB and leave room for cables.

Updated drawing with cells on one side
Wago fused terminal blocks for connecting the indivisual cell wires

All the battery wires are connected to WAGO TOPJOB S 2002-1681 2-conductor fuse terminal block. The fuse I used is a 3A Mini OTO fuse (as the balancer is a 2A balancer).

Connection of the BMS to the cells
Case with cells covered

The BMS rests on a board that can be fixed to the side walls. I intentionally left some space between both boards to have room for the temperature sensors. On the right hand side, we see the BMS wires connected to the terminals. With this it is easy to see which cable goes where. I could have cut the BMS wires. Maybe I will do this later.

As the DC cables were quite stiff, I used a screw to support a 90° angle on the cable going out of the box. The screws are fitted with electrical insulation wire. Let’s see how long this holds up.

Victron MultiPlus-II 24/3000/70-32 with Neutrik connectors

The inverter now has Neutrik panel connectors. I used a 24mm and 29mm hole saw for this. With this I do not have AC cables hanging out of the inverter. The connectors are rated for 16A (VDE) or 20A (UL). I set the maximum current on the inverter settings (as the inverter supports up to 32A which is beyond the capabilities of the socket).

Of course, the DC cable is still present. Maybe I can install a socket for that as well.

Inverter with battery

Above you see the “final” case. The battery is connected via Anderson SB 175 to the inverter. The battery cables fits into the case when not in use.

Not seen on the picture. The inverter has been fitted with a Siemens 16A RCBO for AC out. And inside the case is a non-polarised Thomzn 125A DC MCB.

The BMS charge and discharge current is set to 125A (though the inverter only supports up to 70A, and in reality only seldomly charge with more than 63A).

The Specs

With this inverter/battery duo, I have a system with a nominal power of 7168Wh that can deliver 2400W of constant power (below the 0.5C rating of 140A). Down to a cell voltage of 3V I can make use of the full power (then running at 125A). As the current minimum cell voltage is configured to 2.55V I always have a minimum power of 2550VA (or 2040W). But in reality I have never seen all the cells at the minimum voltage at the same time.

The case weighs around 51+kg and the inverter is around 20kg.

The maximum charge current of 70A @24V result in a maximum charge power of 1680W. So theoretically it takes slightly over 4h to fully charge the battery. In reality we can expect the battery to be charged around 20% per hour. A real life test shows that within 3h we can charge from 20% to 85%.

The Aftermath

What went well, what went wrong? Here are some of my thoughts:

  1. The case looks and feels solid when lifted. So I really think the weight will not by a problem, though the RAKO box is not certified for that weight. I think, I could have used even thinner plywood and that would have saved some additional space.
  2. Moving the cells to the right made more space on the other side, so I was able to fit the DC cable with the Anderson plug into the case as well (in addition to a MCB).
  3. Creating the bus bars was relatively easy. The cable is still quite stiff. And the longer bus bars bend over the edges. That is why I had to add an extra piece of board to the sides.
  4. The JK BMS wires are very fine strained and hard to get into the lugs (it literally took me over an hour to connect the 4 wires).
  5. The addition to the fused terminal blocks makes the cabling much cleaner. But the WAGO terminals are not cheap.
  6. Unfortunately, with my JK BMS the cables are soldered to the BMS and cannot be replaced. I think 2* 7 AWG is relatively small/thin. I would have preferred 2* 35mm2 (as for the bus bars). With the new JK BMS model there is the option to connect my own cable to the BMS.
  7. This version of the BMS comes with a power button, making it much easier to turn it on than before. No need for a DC power source with higher voltage than the cells.
  8. Fitting the cells into the case (with some compression) was easier than I thought. I used some insulation board between the rubber and the board to push it between the frame and the cells.
  9. I actually do not use the RS485 option for this standalone installation. The BMS seems to take care of the the charge and discharge currents. And if I have really have to know the SOC, I connect via bluetooth to the BMS directly. And I only use the VE.BUS connection with the VictronConnect App when I want to change or limit the AC input current. For this I use the VE.BUS bluetooth dongle.
  10. Having the Neutrik connectors makes it much easier to disconnect the inverter when moving.
  11. Regarding the Neutrik panels on the inverter. I could not fit them in the holes where the AC wirng would normally go through, as the cable clamps were in the way. So I had to use the space between the ventilation slots. It is quite fiddly to get them screwed onto the cover. I used a 24mm and 29mm hole saw with M3 x 20mm hex bolts and M3 hex nuts for it.
  12. The integrated RCBO saves me from having a separate elecitrical panel.
  13. Maybe I change the DC connectors to Amphenol sockets as the SB175 is quite bulky.
    (update on this: probably not; they are quite expensive and only have 50+ connection cycles guaranteed; plus, it is not specified if they can be switched under load)

The cost

Here is a rough estimate of the accrued cost for this build:

Estimate for the material used for this build

If I only count the cost for the case (excluding cells, inverter, BMS) I come up with approx. 400CHF/450USD/350GBP/400EUR. So it seems, that I could have bought a prebuilt case for nearly the same amount of money, right? True. But … with this case, I have the exact dimensions that I want and with much less weight. And with the exact components I want. Plus, I can repair (if needed) everything by myself, as I completely know how it was built.

Let’s see what I will change on the next case I build.

Updates

Here are some hints and thoughts that arose after I wrote the article.

  • Getting the cells into place
    I used a 12mm marina plywood with an extra sheet of insulation board, so the board could “slide” (be pushed) between the frame and the cell. I used a planer with a depth of 0.5mm to cut away just as much so I could just firmly squeeze it in.
  • Frame and any wooden part in general
    It is a good idea to grind the surface of the wood facing the cells to remove any pieces sticking out that could damage the very thin insulation of the cells.
  • Insulation boards
    At first, I cut the insulation boards from a 250mm x 500mm board. I found it the easiest way to use a drawing pin to mark the cut and then bend it bothways. But this means we have to do 5 cuts for getting 3 boards – that takes time. So, I now have precut 170mm x 200mm insulation board with rounded corners. Much easier to handle.
  • Fixing the M6 bolts to the contacts
    I used an insulated torque ratchet wrench (4Nm) to tighten the bolts to the contact.
  • For the cable lugs I used Klauke M6 35mm and 16mm DIN 46235 cable compression lugs.
  • For the cell voltage sense cable I used 2.5mm wires (I know, 1.5mm would have been more than enough, but it was the only wire size I had). The JK-BMS supplied voltage sense cables were fitted with uninsulated ferrules, so they would fit into the WAGO 2002-1681 terminal fuse blocks.
  • Regarding cost
    The other day, I saw Pylon US3000 3.55kWh Lithium Battery being sold at CCL Components for 860.06GBP (excl. VAT). This includes a 19″ rack metal case, a BMS, connectivity and the cells and equates to roughly 269 GBP/kWh. Quite a bargain! Why making your own battery (case) any more?
  • I will replace the 24s BMS with an 8s version so I can use 35mm2 cable all along. Plus, I will use two pairs of 35mm2 cables from the inverter to the battery. That also means, I will have 2 separate 63A DC MCBs instead of a single 125A MCB.

Cutting the plywood

I found web site that offers help in cutting rectangles in a more efficient way that I could come up with: Cut list optimiser. The board for the case could be cut like in the image shown below.

Cutting suggestion by https://cutlistoptimizer.com/