Jump to content
Coulomb

Axpert 5 kVA patched firmware 72.70c

Recommended Posts

My colleague Weber and I have been working on a new version of the patched firmware. It's still based on 72.70. since that's the latest firmware that we have files for. For various reasons, he's been doing the majority of the work on this patch. It's been an amazing job: some 5 weeks of work, over 60 individual patches, and there is a complete new charge control mode called dynamic current limit control. The latter is complex enough that it has its own manual.

For users with lead acid batteries, the dynamic current limit probably won't be of much interest, but for users of paralleled systems there is a bug fix that should improve charging.

There is a quicker transition from line (utility, bypass) mode to battery mode, but I'm not happy with that part of things yet, and I am still investigating. But transitions are under a minute now, and it seems to me that they were much slower than that in both standard firmware and patched firmware before now.

Finally, it's no longer necessary to update the SCC firmware, which was always a bit more of a hassle for users than the DSP firmware.

It's beta software, so please try it if you're keen. But if you're cautious or not very confident about changing firmware, hold back for the "production" release, which will be called 72.70c, and will hopefully only be a week or so away.

Details are on this AEVA page: http://forums.aeva.asn.au/viewtopic.php?p=65938 . [ Edit: It's now released. See the release post instead. ]

[ Edit: removed the word "Beta" from the start of the topic title.  ]

Edited by Coulomb
Changed topic title.

Share this post


Link to post
Share on other sites

Nicely done...your work is always appreciated and i certainly look forward in this development. 

Just a clarification... are Lithium Ferrous Phosphate and Lithium Iron Phosphate (LiFePO4) the same type of battery?

Share this post


Link to post
Share on other sites
9 hours ago, PurePower said:

Just a clarification... are Lithium Ferrous Phosphate and Lithium Iron Phosphate (LiFePO4) the same type of battery?

Yes. 

Share this post


Link to post
Share on other sites

The Dynamic current control feature is pretty awesome but how does the Axpert and BMS  communicate? Is it via the RS232 port? And if yes, I'm guessing that the BMS needs to support the Axpert inverter?

I ask the above as the Pylontech lithiums don't mention any communication cable to be installed between the inverter and the battery... 

Share this post


Link to post
Share on other sites
4 hours ago, PurePower said:

I ask the above as the Pylontech lithiums don't mention any communication cable to be installed between the inverter and the battery... 

There are two ways to run with Lithium. Let's call it the Simple and the Advanced way.

The Simple way you treat the battery like any other. You have to configure the charger with the correct voltages for absorb and float, but that's it. The battery has it's own balancing stuff, as well as protection circuitry. The protection circuitry is essentially a big relay/contactor that switches off if there is a low cell. In other words, when the battery is empty, it literally switches everything off. No special comms is required with the inverter.

Some setups are a little more advanced, they have two individual control lines to control two relays, one that turns off the loads if there is a low cell, and another that turns off the charger if there is a high cell. Again, no special communication is required. This kind of setup won't work so well with an Axpert, since the MPPT is inside the same unit as the inverter, there is no individually switching of charger and inverter.

For off-grid use, the Simple setup is often more than sufficient.

Then there is the advanced kind of setup. This is most often used with hybrid inverters in setups where the grid is available. The battery BMS can then tell the inverter how much it is allowed to charge (the rest can be fed into the grid in some places), or how much it is allowed to discharge (a shortfall is imported from the grid), depending on the battery state, so instead of having a hard on-off control, you have a more gradual control.

I suspect the Pyontech batteries use a simpler kind of setup. You put the right kind of firmware on the inverter, which allows you to properly set safe voltage levels, but otherwise there are no special comms with the inverter. Anything goes wrong and the protection circuitry in the battery drops it like a hot potato.

Share this post


Link to post
Share on other sites
3 hours ago, plonkster said:

I suspect the Pyontech batteries use a simpler kind of setup. You put the right kind of firmware on the inverter, which allows you to properly set safe voltage levels, but otherwise there are no special comms with the inverter. Anything goes wrong and the protection circuitry in the battery drops it like a hot potato.

I know there is communication between Pylontech and the Goodwe inverters. Victron is amongst another dozen inverters which are on the approved list so Plonky from your side you can tell us what is the protocol for Victron/Pylontech and so get a handle on the BMS of Pylontech.

Share this post


Link to post
Share on other sites
30 minutes ago, Chris Hobson said:

Plonky from your side you can tell us what is the protocol

There is a long history behind this. I will dig into this one of these days but at this moment I don't know the full details. The protocol was originally designed by some German company that I cannot remember the name of, but it sort-of became a de facto standard (ie in practice, not so much by decree). It uses the CAN-bus. Batteries like LG Chem and similar all speak this protocol already, and so does our locally made FreedomWon batteries. I believe you can just ask Victron for the document and they'll give it to you.

There are specific messages by which you can ask for a maximum charge- or discharge current. In off-grid mode these values are ignored (because there isn't anything you can do about it), except when the values go to zero. When it goes to zero, the inverter/charger will turn off.

I think the Pylontech batteries speak this same protocol. They use a CAN-bus connection.

For interest sake, even Redflow has a BMS now that makes their battery speak this protocol.

Correction: The Redflow BMS uses modbus-tcp rather than CAN-bus.

Share this post


Link to post
Share on other sites
7 hours ago, PurePower said:

So will the Axpert still be able to apply the Dynamic current control on the Pylontech batteries if run in the "Simple" way :) ?

The Ausies have their own BMS. I think their requirement for finely adjusting the charge current has to do with the way their BMS balance the cells. They aren't the only ones to do it this way. You'd have to ask @Coulomb.

Lithium's are different to Lead Acids, when they reach full charge they pass very little current. In addition a cell can be damaged if it goes too high. When there is an imbalance, even if your inverter is set with the correct voltage levels, you could still end up with a cell that is too high. The most common way to deal with this is called passive balancing: Essentially you shunt some current past the high cell to allow the others to charge and catch up. If you can also accurately control how much current is sent your way you can balance the cells more accurately.

A note is perhaps necessary at this point: An imbalance isn't that big a problem in a Lithium battery, because it is usually fully reversible. You don't have to balance the bank on every charge. The problem with an imbalance is you stop discharging when the first cell goes too low. Whatever is left in the other cells at this point cannot be used. You balance the bank to recover this lost storage.

Without current control you can still balance things. I speak under correction, but as I understand it it simply takes longer (when using passive balancing), or you have to use active balancing, which is of course quite a bit more expensive.

I'm not sure what the Pylontech batteries use.

Share this post


Link to post
Share on other sites
On 09/11/2017 at 12:52 PM, plonkster said:

There is a long history behind this. I will dig into this one of these days, but at this moment I don't know the full details. The protocol was originally designed by some German company that I cannot remember the name of, but it sort-of became a de facto standard (ie in practice, not so much by decree). It uses the CAN-bus. Batteries like LG Chem and similar all speak this protocol already, and so does our locally made FreedomWon batteries. I believe you can just ask Victron for the document and they'll give it to you.

T

 

@plonkster I have asked Victron Both to sales@ xxxxx , docal distributer and Mattijias directly so far no results. I am trying to get canbus of another Chinese battery (compliant. The chinese did not get hold of any document from Victron so far and are willing to spend development efforts to design it 

the battery http://www.herewin.com/en/ProductShow.asp?ID=148 is less than 3000 USD for 10 KWh with 2000 cycles.

 

I have asked herewin to put allow to charge and allow to discharge and I will use it that way with a 3 KW multi  for my office 

Share this post


Link to post
Share on other sites
5 hours ago, ghatikar said:

I have asked herewin to put allow to charge and allow to discharge and I will use it that way with a 3 KW multi  for my office 

All you need to do is take those values and write them to /Bms/AllowToDischarge and /Bms/AllowToCharge on the vebus service on dbus. This is exactly what the redflow BMS does (except it uses modbus tcp). Writing those flags will cause the inverter to go into charger/bypass mode.

Share this post


Link to post
Share on other sites
On 10/11/2017 at 9:25 PM, plonkster said:

All you need to do is take those values and write them to /Bms/AllowToDischarge and /Bms/AllowToCharge on the vebus service on dbus. This is exactly what the redflow BMS does (except it uses modbus tcp). Writing those flags will cause the inverter to go into charger/bypass mode.

Is there a communication white paper apart from thishttps://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf)( where it explains which Dbus values to address 

IU have attached The Herewin Canbus protocol for another inverter ( i  think Goodwe ) . They need spoon feeding on what registers to use and what canbus address as they could not figure out on their own. and Lithium batteries is not something I am willing to experiment my limited programming skills on :) 

 

Otherwise, I am planning to do  the scheme hardwired " allowed to charge and allowed to discharge contacts to multi ( Lynx Ion assistant)"  with battery protector as additional safety ( remote on off from  Battery BMS) and programme 0 ( Low voltage cut off at 42 V)

The herewin Battery has  Pretty wide tolerance ( discharge 40 V  and charge 58.4 Volts )  making it almost drop in for lead Acid applications 

 

BMS Protocol (CAN) _Can.pdf

Manual-Connecting-other-lithium-battery-systems-to-Multis-and-Quattros-EN.pdf

Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf

48V 210AH(10.08kWh) datasheet for ref..pdf

Manual-Battery-Protect-48V-100-A-EN-NL-FR-SE-DE-PT-ES-IT.pdf

Share this post


Link to post
Share on other sites
2 hours ago, ghatikar said:

communication white paper

Some of it is documented here, but I don't see the /Bms paths documented there.

Interestingly I'm looking at the modbus document as we speak. The registers are:

  • 57 (AllowToCharge)
  • 58 (AllowToDischarge)
  • 59 (BMS expected, this bit is set by the Multi if it is programmed with a BMS assistant or ESS)
  • 60 (BMS error)

All of them are flags, writing a zero means no, writing a one means yes.

You can get the full list of registers here.

Must admit I've never done this before, so I am not sure which unit you should speak to. My device instance on my setup is 257, for example. Look on the Device section on the CCGX.

Selection_021.png.f586215e7b6799e8ded14c0696ff0f60.png

With a bit of python code you can write directly to the dbus paths on the ccgx instead of going via modbus, which is what I would likely do:

conn = dbus.SystemBus()
charge = conn.get_object("com.victronenergy.vebus.ttyO1","/Bms/AllowToCharge")
discharge = conn.get_object("com.victronenergy.vebus.ttyO1","/Bms/AllowToDischarge")

charge.SetValue(1)
discharge.SetValue(1)

On a CCGX the vebus is usually on ttyO1, but it might be elsewhere.

Share this post


Link to post
Share on other sites

@plonksterThank you, your link put me on the correct path. I found a CANBUS whitepaper ( backtracked from MODBUS .XLS) 

Canbus seems to be preferred choice for lithium vendors. I noticed  from today's email from Bluenova  that they went from NO communication to MODBUS to CANBUS 

Hopefully one day it will be industry standard and you can plug in any battery to any inverter 

VE.Can-registers-public.pdf

Share this post


Link to post
Share on other sites
8 minutes ago, ghatikar said:

VE.Can-registers-public.pdf

Of course! I forgot all about that document.

I also saw the new Classic battery from BN. The continuous discharge rates have gone up by 50%. They also have a new "digital" BMS. I half suspect this battery might be a real 4kwh battery (at C1 rather than C10).

Share this post


Link to post
Share on other sites
1 hour ago, PurePower said:

@Coulomb How is the Beta testing going? 

No bug reports so far. There is one minor change we want to make to the LiFe version. So release version of the patch should be out soon. 

Share this post


Link to post
Share on other sites

Looks like @Coulomb and Weber's version 72.70c. patched firmware was released yesterday according to this link 

http://forums.aeva.asn.au/viewtopic.php?p=66121#p66121

Perhaps @Coulomb  would confirm this. The hard work of these two guys has been of great value to all Axpert users and we owe them our gratitude. I for one hopes that they will continue to improve the factory firmware.

Share this post


Link to post
Share on other sites
2 hours ago, ebrsa said:

Perhaps @Coulomb  would confirm this.

Yes. sorry, it was a crazy day yesterday, and busy today.

That is indeed the "release" version of the patched 72.70 firmware, that we're calling 72.70c. There are some "Easter Eggs" to be discovered in the new firmware too.

Share this post


Link to post
Share on other sites

Thanks a great deal for your confirmation @Coulomb. I for one am very grateful for all the effort you and Weber are devoting to making the firmware so much better and letting all of us Axpert users benefit for free.

Share this post


Link to post
Share on other sites

Thanks for the kind words, everyone. :)

The main reason for the existence of our patched firmware for the PIP-4048MS is to correct two bugs in the charging code, which under certain very common circumstances result in stopping charge (going to float) prematurely. This results in wasting your available solar resource, not using the available capacity of your battery, and in the case of lead-acid, prematurely ageing your battery.

But we have also improved the way the display works. There is now a full description of these improvements, here:
http://forums.aeva.asn.au/viewtopic.php?p=66192#p66192

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×