• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

isolation of battery to inverter comms

Do you have a schematic of this architecture you could share? I am curious why 50V to 400V DC-DC converter is not isolated. It should be using HF ferrite transformer which is galvanic isolated part.

Non-Isolated designs can be more energy efficient, and from a design stand point could be implementing the same architecture used for the PV boost stage as well. I do not have schematics but if you review the line diagrams for the Solis ( S5 , S6 and 5G ) in the manuals shows no connects to ground, the battery inputs are dedicated.
 
Where does the output of canbus adapter connects to?
Output of Canbus adapter (indirectly from the BMS) goes to battery comms input of the Solis (for the inverter to receive SOC info etc.)
 
All Solis Hybrid's are non-isolated to the battery connections similar to the PV connections. So having a power supply off the battery will have significant voltage potential to ground
Thanks - that confirms what I am measuring.
 
Output of Canbus adapter (indirectly from the BMS) goes to battery comms input of the Solis (for the inverter to receive SOC info etc.)
Could you make a diagram of Solis, BMS, battery, CAN connections and where exactly did you connect 100R resistor with measurement equipment setup? I suspect inverter EMI filter caps could be biasing your battery with relation to ground. I was dealing with similar issue with Growatt 5000es recently.
 
Here's a diagram. Voltage between points A and B is about 190V, as detailed above (B being the battery -ve, which is -190V below ground level when measured with voltmeter). Connecting an ammeter and 100R resistor across those points triggered the small spark, but no current detectable on ammeter. But doing that zapped the TTL-Canbus adapter, despite the CAN connection being disconnected from the Solis at the time. As originally posted, re-connecting the batteries via the battery disconnector has occasionally zapped the CANbus adapter when it was connected to the Solis.

1702985545026.png
 
This is not a capacitive couple issue, it is a typology limitation for your way of implementing communications. You will have 1/2 mains voltage typically on the battery terminals as measured to ground as it is a non-isolated design. Your canbus needs to be fully galvanically isolated, no if , ands or butts on this.

You are very luck you didn't fail the inverter by placing components on the battery terminals to ground, stop playing around with this or you risk losing the inverter
 
This is not a capacitive couple issue, it is a typology limitation for your way of implementing communications. You will have 1/2 mains voltage typically on the battery terminals as measured to ground as it is a non-isolated design. Your canbus needs to be fully galvanically isolated, no if , ands or butts on this.

You are very luck you didn't fail the inverter by placing components on the battery terminals to ground, stop playing around with this or you risk losing the inverter
Thanks, I agree re not do any more tests like the current test one (don't want to lose the inverter or more)... and that makes sense re the mains voltage on the battery side. I will be swapping over to using a galvanically isolated CANBus adapter very soon.

But what is puzzling is there are no components (apart from the one-off 100R resistor test) on the battery terminals that are connected to ground.

The 48-60V to 5V buck converter that supplies the ESP32 and CANBus adapter are connected to the battery terminals themselves, so the -ve of the CANBus adapter is connected to the -ve of the battery and nothing else - so it was / is just floating and working well for over a year. I would assume that is the same architecture as all commercially available battery racks, as they don't have separate power supply for their BMS/CAN or RS485 comms.
 
190V/100ohm = 1.9A, rapidly discharged whatever capacitance (maybe you can measure while system shut off.) Spark indicated it was fast, and that went through something to complete the circuit.
If 1 meg ohm, 0.19 mA should be low enough to not damage ICs (they tend to spec maximum current on inputs, which flows through protection diodes.)

TTL CANbus was probably the other component to ground. At least when elevated voltage or high dV/dt applied.
 
This is why I'm very careful to never connect the battery negative to ground, and never connect anything that's connected to the battery to ground. Ground loops are insidious and often fatal to sensitives to electronics.

CAN and RS485 are differential, so they don't need a ground reference. In fact, the primary reason for differential signaling is noise isolation. Any EMI should act on the wires similarly, so the voltage to ground could vary wildly, but, as long as it does the same on both wires the signal will not be drastically affected.

The device that you're using does not have an isolation transformer, so any large voltage fluctuations on the input could fry the interface, but it's also going to fry the CAN IC as well, so it's probably not going to help.

I have some of the following isolated DC-DC regulations, which work well, and provide isolation between the battery and any device connected to them, so, as long as you don't connect those devices to ground anywhere, you shouldn't fry it:


Other than that, you need to figure out the path that is creating the ground loop. I would suspect the DPST switch. I'd have to think about it some more, but I think the delay between connecting positive and negative could cause a current surge though the CAN adapter.

It's also not obvious where your BMS are in the figure, but I assume it's before your negative battery connection in the figure. If anything is connected to the battery negative before the BMS, that's a problem.
 
Thanks for your thoughtful input...
This is why I'm very careful to never connect the battery negative to ground, and never connect anything that's connected to the battery to ground. Ground loops are insidious and often fatal to sensitives to electronics.
(y) I don't have any ground connections on or near the battery.

CAN and RS485 are differential, so they don't need a ground reference. In fact, the primary reason for differential signaling is noise isolation. Any EMI should act on the wires similarly, so the voltage to ground could vary wildly, but, as long as it does the same on both wires the signal will not be drastically affected.
(y) agree - I am only using CAN+ and CAN-, not using ground connection. Data transfer is reliable over 1 year+, so no need for shielded / grounded wire.

The device that you're using does not have an isolation transformer, so any large voltage fluctuations on the input could fry the interface, but it's also going to fry the CAN IC as well, so it's probably not going to help.
Input being the CANBus connection, you mean, rather than the SPI data lines from the ESP32?

I have some of the following isolated DC-DC regulations, which work well, and provide isolation between the battery and any device connected to them, so, as long as you don't connect those devices to ground anywhere, you shouldn't fry it:
Thanks - will take a look at that option :)

Other than that, you need to figure out the path that is creating the ground loop. I would suspect the DPST switch. I'd have to think about it some more, but I think the delay between connecting positive and negative could cause a current surge though the CAN adapter.
Thanks - I was also wondering whether if +ve connects before -ve (for a few milliseconds) or the other-way round whether that could be the trigger - and would also explain why it only occasionally happens. But I'm a bit stuck as to how that could happen when the battery is totally floating, unless there is a loop back down the differential CANBus. Will install the galvanically isolated CANBus adaptor over the holiday period and monitor.

It's also not obvious where your BMS are in the figure, but I assume it's before your negative battery connection in the figure. If anything is connected to the battery negative before the BMS, that's a problem.
Yes, you are correct. It's a JBD BMS, connected to battery negative. The 5V buck is driven from direct battery +ve and the negative side is from the battery cable which is after the BMS and a Victron Smart Shunt, but before the disconnector.
 
I just noticed that it looks like you're using a UART connection to the BMS, in which case the isolated power supply will not work, or at least will not help, since that interface requires a ground connection. You could try a CAN transceiver that is isolated, but it sounds like you had an issue even when CAN wasn't connected, so it doesn't seem like that would help.

FWIW, I use a bluetooth connection to my BMS for just this reason. CAN an RS485 to the inverter works fine as along as you stay isolated from a direct battery/BMS connection.

I assume the BMS is operational when this happens? Would it normally be configured to have discharge turned off? I'm thinking there might be a path through the BMS UART connection that could be causing this. The UART on one of my BMS appears to be non-functional now, and I suspect it's due to a similar issue.
 
I just noticed that it looks like you're using a UART connection to the BMS, in which case the isolated power supply will not work, or at least will not help, since that interface requires a ground connection. You could try a CAN transceiver that is isolated, but it sounds like you had an issue even when CAN wasn't connected, so it doesn't seem like that would help.
Yes, good point thanks, an isolated psu won't help with the uart signals... Will put my thinking cap on and see if I can work out how to isolate even further :unsure: - maybe adding an opto-isolator to the BMS's UART Tx and Rx connections.

FWIW, I use a bluetooth connection to my BMS for just this reason. CAN an RS485 to the inverter works fine as along as you stay isolated from a direct battery/BMS connection.
As much as I hate wireless comms, I'd try bluetooth if it weren't for the fact that the ESP32 and only do WiFi or Bluetooth but not both - and I'm using its WiFi capability already.

I assume the BMS is operational when this happens? Would it normally be configured to have discharge turned off?
Yes, BMS is on all the time. Discharge never off. ESP32 is querying the BMS every second successfully.

I'm thinking there might be a path through the BMS UART connection that could be causing this. The UART on one of my BMS appears to be non-functional now, and I suspect it's due to a similar issue.
Oh gosh, maybe there's an issue there... I'll draw myself another diagram and have a think.
 
On Solis S5 I connected BAT- to Earth wih a 10kOhm resistor and measured 2.4V DC on it, so there is 240µA leakage current.

When floating, this charges the common mode filter caps to -195V which makes a nice ESD tester / chip zapper.

So a simple solution would be to permanently connect BAT- to Earth with a 10k-33k resistor ensuring a low common mode voltage at all times while being safe.

Contrary to what was said above the DC-DC converter between battery and HVDC bus in the Solis is isolated, it uses a transformer, I think it's a resonant topology. This isolation is mandatory for low voltage battery inverters in EU, don't know about US. Besides, low voltage stuff like fuse holders is not rated for mains safety so it cannot be at live voltage, it has to be isolated. High voltage battery inverters use non-isolated converters, so the battery is live. This is more efficient but opens another can of worms regarding safety (300-500V DC battery connected to mains can kill you in so many ways lol).

CAN and RS485 use differential signaling which gives good rejection against noise, but that doesn't mean they can be used without grounding! I see a lot of adapters with only two terminals for the differential signals and no ground. This is a mistake because it relies on the chip's internal ESD protection to dissipate high common mode charge. Or maybe there are extra protection components on the adapter board, but considering these are "aliexpress quality" I'll believe it when I see it. On my isolated CAN adapter, I don't see any. On the Waveshare "industrial" USB-RS485 there's adequate protection.

Even the isolated adapters require ground to be connected on both sides. I'm talking about the isolated ground on the isolated side of the transceiver, so this does not defeat the isolation. It simply creates a path for stray common mode current to flow, and it sets the common mode on both ends, instead of relying on the chips' input protection to do it. If "it works" but it occasionally blows then it doesn't really work :ROFLMAO:

If you want hotplug the safe solution would be to use a connector like USB which connects ground (shield) first, then ground and power, then data. But with RJ45 connectors there's no guaranteed contact order for the pins, it will all make contact in random order, so even if there's a ground wire it's not guaranteed it will contact first. So common mode charge in the inverter's EMI filter caps is discharged through the adapter's signal inputs, and it gets fried. Using an isolated adapter would reduce the current spike because current then has to flow through the isolation capacitance (a few pF) masking the problem but not eliminating it completely.

Personally I would use isolation for everything, here's a DIN mount 18-75V to 5V isolated converter for example. I want my Pi to be powered by the Pylontech batteries so I'm going to install one of these. There are also PCB mount versions. Then isolated adapters for CAN and RS485.
 
Thanks @peufeu for the additional investigation and insight to the internals of the the Solis's battery output circuitry. That all makes sense what you have said.

Since starting the thread I do now have an isolated CAN to SPI adapter (a Waveshare one), but not yet installed it. Plan is to isolate everything, including the PSU for the ESP32 and the UART comms to the JBD BMS, which as you say best to isolate everything 🤞
 
Yes isolate everything! Belt, suspenders and parachute!

If lightning hits close to your house but not on your house, it's like a vertical wire carrying a ton of current, so all the loops in the house get induced current from it, it is in fact a transformer with the lightning bolt being the primary and house wiring loops being the secondary. So the stuff that is at the intersection of various systems (ie, DSL router or smartmeter) is a prime victim because it sits on large loops that are not necessarily routed in nearby conduits which means large loop area so high induced current.

Ethernet is transformer isolated so it tends to survive. But when this happens the ground wire in those "differential 2 wire only" modbus cables will really help, and the isolated adapters too. Of course the most resilient is radio.
 
Alright! My 2nd Solis S5 EH1P 48V hybrid inverter is installed. I am preparing to connect them both to the same battery bank.

So first I split the 4 pylontech's into 2 packs of 2, and connected each inverter to its own pack, with its own CAN cable. Two completely independent systems, and the inverters are on two different phases (I'm on three phase power).

At the moment there is a 150 ohms 1/4W resistor between the two battery pack "grounds" on the 48V side. It reads a current of a few µA DC, and a few tens of µA AC. Everything works fine, the inverters don't seem to care at all.

I will let it run like this until I receive the extra CAN adapters, we'll see if the resistor burns out...
 
Great news you finally have your 2nd Solis - I'm not the only one with two now :)

Your test sounds hopeful. Two questions though - is the PV input to both inverters similar or quite different. What does each Solis show on the screen (or via Grugbus) for "ground voltage" and DC bus voltage?
 
PV input is similar, 6kWp on each. One has 2 strings of 8x400W panels, the other one string of 8x400W and one string of 9x360W.

DC bus is 390V and "ground voltage" is 195V on both, but I think "ground voltage" is a mistranslation. It's probably the midpoint between the DC bus caps: they usually use two capacitor banks in series, so they have to be balanced, which would explain why it's half the bus voltage. There is a modbus register for "DC bus half voltage" which would correspond to the midpoint of the caps but it always reads zero.
 
Yes, I think @Solar Guppy worked out that "ground voltage" actually means mid point of the DC bus voltage, but also, that is the exact voltage that seems to be connected to the battery in some manner.

So, for example, if my DC Bus voltage is showing 390V, my "ground voltage" is showing 195V. Then, if I measure the voltage from battery -ve to ground (as shown earlier in this thread) I get -195V (negative).

Hence my concern that if you have two Solis inverters and share batteries between them, what happens if their DCBus voltage and corresponding "ground voltages" are different to each other :unsure:

I'm really hoping your tests prove that two S5 Solis inverters can share battery though :)
 
Yes, I think @Solar Guppy worked out that "ground voltage" actually means mid point of the DC bus voltage, but also, that is the exact voltage that seems to be connected to the battery in some manner.

So, for example, if my DC Bus voltage is showing 390V, my "ground voltage" is showing 195V. Then, if I measure the voltage from battery -ve to ground (as shown earlier in this thread) I get -195V (negative).

Indeed I get about 200V between battery negative and Earth too.

If I put a 10kOhm resistor between battery negative and Earth, voltage drops to 3V, implying a current of 300µA. So it's not a "real" voltage, although the amount of capacitance to Earth could be enough to zap devices connected to it...

I'd have two hypotheses: 1) identical leakage current between the battery and positive/negative of the DC bus, so the result is half the DC bus... and 2) a half bridge DC-DC that uses the half-bus capacitor midpoint like this one which means the common mode on the transformer is half the DC bus. That would also happen with any half bridge resonant DC-DC too.

I will leave the 100 ohm resistor between battery negatives, and the 10k resistor between battery negatives and Earth, we'll see if they burn...
 
I'd stick with the fully-isolated CAN bus (as I do with my RS485), the WaveShare devices just work, and I don't have to worry about common-mode range:
/*
The common-mode range (CMR) is -7V to +12V for RS-485 and -2V to +7V for CAN.
*/
So you may not think you have a ground connected, but there's a reference voltage in there somewhere...
 
I will leave the 100 ohm resistor between battery negatives, and the 10k resistor between battery negatives and Earth, we'll see if they burn...
Any progress with connecting the batteries fully together?
 

diy solar

diy solar
Back
Top