Skip to content
View in the app

A better way to browse. Learn more.

Power Forum - Renewable Energy Discussion

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

BMS communication with Axpert MAX

Featured Replies

16 hours ago, googy said:

Not sure if 02.66 from King does work for my panel. 

On the Czech site, 02.xx, possibly including 02.66, are presented as VM III display firmware. I don't know of anyone with a VM III that has tried it. Sorry, away from keyboard so hard for me to check now.

14 hours ago, googy said:

But I can't stop discharging, Inverter displays Warning 60, but output stays on

I suspect that stopping of discharging, and the discharge current limit, is not implemented in all DSP firmware versions, possibly none as yet. A colleague has a similar problem with discharge current limit not reflecting at the inverter.

3 hours ago, Coulomb said:

I suspect that stopping of discharging, and the discharge current limit, is not implemented in all DSP firmware versions, possibly none as yet. A colleague has a similar problem with discharge current limit not reflecting at the inverter.

Thank You @Coulomb , then I will stick to LiB as it supports all I really need. Most critical is start and stop discharging, all other are just nice to have.

I flashed my with 02.61 from https://www.ostrovni-elektrarny.cz/support/Axpert/FW/

Edited by googy

  • 4 weeks later...
  • 8 months later...

hi Googy,

great work.

I have a Soltaro hybrid AC coupled inverter, and wanted to connect it to my own self build battery using reclaimed nissan leaf cells in a 14s configuration, 3 in parallel.

I am using a DIYBMS by Stuart Pittaway, this has CAN capability.

since having the soltaro inverter have found out that it only orks with the Soltaro battery, and Soltaro have refused to give me any CAN information to enable me to write the basic can protocols into my bms.

Not wanting much as the bms controls and protects the battery, just want the inverter to recognise the battery and get it to work.

Id assume all i need is max charge cut off, min charge cut off charge discharge parameters, anything else would be a bonus.

Can you add any info for me?

thanks

Anthony. 

  • 2 weeks later...
  • Author

Hi @Coulomb  do you might know wether the axpert bms  system honours the Discharge Current Limit parameter sent to it via bms comms , ie. will it use this limit and instruct its charger to not discharge above this limit?

I have implement the LIB protocol and at least know that the inverter queries the modbus register 0x73, which is the discharge current limit. 

Of course if all else fails i can use my machine and verify this  by setting a known value eg. 50A, and check against a high load demand. But just want to know if you can shed light on this? 

Edited by BritishRacingGreen
Correction

12 hours ago, BritishRacingGreen said:

Hi @Coulomb  do you perhaps know whether the axpert BMS system honours the Discharge Current Limit parameter sent to it via bms comms , i.e. will it use this limit and instruct its charger to not discharge above this limit?

On those few models that have a maximum discharge current limit setting, I believe that they do honour the discharge limit sent by the BMS. But I don't study the BMS code all that well or often, sorry. 

  • Author
2 hours ago, Coulomb said:

On those few models that have a maximum discharge current limit setting, I believe that they do honour the discharge limit sent by the BMS. But I don't study the BMS code all that well or often, sorry. 

This begs another question, what does the inverter do when the instantaneous sum of source power cannot match that of the load power, in the case where we can set discharge limit? Lowers the ac output, or does it generate error Fxx and abort output power? 

 

  • Author
On 2022/09/13 at 11:13 AM, anthonyevs said:

hi Googy,

great work.

I have a Soltaro hybrid AC coupled inverter, and wanted to connect it to my own self build battery using reclaimed nissan leaf cells in a 14s configuration, 3 in parallel.

I am using a DIYBMS by Stuart Pittaway, this has CAN capability.

since having the soltaro inverter have found out that it only orks with the Soltaro battery, and Soltaro have refused to give me any CAN information to enable me to write the basic can protocols into my bms.

Not wanting much as the bms controls and protects the battery, just want the inverter to recognise the battery and get it to work.

Id assume all i need is max charge cut off, min charge cut off charge discharge parameters, anything else would be a bonus.

Can you add any info for me?

thanks

Anthony. 

Hi @anthonyevs i have only stumbled by change on your post.

If the soltaro is indeed a derivative of livoltek or vice versa, and uses same can protocol, you need to produce a heartbeat can message every 1 second or so to enable the BMS MOS to switch and enable its output. I have done this for the Livoltek BLF5 baytteries. 

Did you succeed in any manner, or still need help? 

Edited by BritishRacingGreen
Correction

  • Author
16 minutes ago, BritishRacingGreen said:

Hi @anthonyevs i have only stumbled by change on your post.

If the soltaro is indeed a derivative of livoltek or vice versa, and uses same can protocol, you need to produce a heartbeat can message every 1 second or so to enable the BMS MOS to switch and enable its output. I have done this for the Livoltek BLF5 baytteries. 

Did you succeed in any manner, or still need help? 

Ok never mind, i just recognize you have a soltaro inverter, not soltaro battery. Sigh. 

34 minutes ago, BritishRacingGreen said:

what does the inverter do when the instantaneous sum of source power cannot match that of the load power, in the case where we can set discharge limit?

From an Axpert MAX manual, setting 41: "If more current is required, the inverter will by-pass (like overload by-pass) or if no AC source is available then shut down for 5 minutes."

I guess the logic there is that the user might have had a chance to remove enough loads to re-start operation.

I note that this setting is labelled "Maximum discharging current (only for parallel mode)". I don't immediately see why this would be restricted to paralleled machines.

 

image.png.86183397d3f706108d3fc8b513d7db4c.png

  • Author
45 minutes ago, Coulomb said:

From an Axpert MAX manual, setting 41: "If more current is required, the inverter will by-pass (like overload by-pass) or if no AC source is available then shut down for 5 minutes."

I guess the logic there is that the user might have had a chance to remove enough loads to re-start operation.

I note that this setting is labelled "Maximum discharging current (only for parallel mode)". I don't immediately see why this would be restricted to paralleled machines.

 

image.png.86183397d3f706108d3fc8b513d7db4c.png

@Coulombthank you.

All of this questions I had, leads me now to this understanding :

1. Legacy lead acid baytteries have been battered  and silently killed over time due to their lack of defense against surges and sustained overloads. But it kept the inverter supplying demand. 

2.Lithium with BMS will not tolerate discharge above their specified limits and can and will protect. Of course at the price of disturbing the inverter delivering of power. 

So the long and short of this is matching bayttery max discharge current to that of inverter maximum demand is super important when it comes to lithium storage. One must overate by at least 50percent if we want performance and reliability. 

Edit : of course we can set undervoltage protect in the case of lead acid, but thats coarse, and users are allowed to set such values according to their liking. 

Edit : my view has been amplified by e.g.Livoltek batteries which is very unforgiving after max discharge current detected. It actually passifies, and required user manual intetvention to acknowledge and restart. 

Edited by BritishRacingGreen
Extra info

On 2022/09/22 at 6:47 AM, BritishRacingGreen said:

Ok never mind, i just recognize you have a soltaro inverter, not soltaro battery. Sigh. 

Hi BritishRacingGreen

Yes, i have the inverter.... you have the battery. 

Im thinking, if i knew what data your battery gives out, then replicate that in my BMS with the values from my battery, then surely my inverter should work.

Really, i only need the inverter to know the max and min pack voltages, and stop the charge / discharge at the parameters set.

I know the pylonyech is like this below

Can ID 0x356

Byte                             Definition                    Unit                              Note

byte 0                          pack voltage                0.01v                           Single or average value for parallel modules

byte 1

I`ll upload the Pylontech canbus data sheet as well.

hopefully, there will be a solution, or a reverse engineer solution to get my battery to send data to the inverter that the inverter recognises and works from

thanks all.

  • Author
4 hours ago, anthonyevs said:

Hi BritishRacingGreen

Yes, i have the inverter.... you have the battery. 

Im thinking, if i knew what data your battery gives out, then replicate that in my BMS with the values from my battery, then surely my inverter should work.

Really, i only need the inverter to know the max and min pack voltages, and stop the charge / discharge at the parameters set.

I know the pylonyech is like this below

Can ID 0x356

Byte                             Definition                    Unit                              Note

byte 0                          pack voltage                0.01v                           Single or average value for parallel modules

byte 1

I`ll upload the Pylontech canbus data sheet as well.

hopefully, there will be a solution, or a reverse engineer solution to get my battery to send data to the inverter that the inverter recognises and works from

thanks all.

Hi @anthonyevs ok i dont have soltaro battery bur i do have experience with canbus of livolyek. While there are some indications from members that these two come from the same stable and share protocol, i have some doubts about that. @Coulombhad partially reversed engineer the solaro protocol (SOL) and from what i see the canbus identifiers are different to livoltek to start with. Below is an extract from one of his responses on this thtead ;

QUOTE 

 can do better now. Colleagues and I have confirmed that an Axpert MAX (which has a similar, perhaps identical removable display to the Axpert MKS III: removable display firmware version 12.11) on battery type SOL speaks CAN bus at 500 kbps with the protocol I documented (at least for the CAN IDs 0x1872 and 0x1874). It's not finished yet, but we demonstrated setting the SOC to 100%, warning 61 goes away, the battery icon flashes, etc. We could not demonstrate WEC protocol, as the BMS could not easily be set to 100 kbps.

UNQUOTE

I will have to search for his forum notes and provide link for you. 

.. To be continued... 

 

  • Author
6 hours ago, anthonyevs said:

Please see the pylontech can data

I appreciate its not soltaro canbus data, but trying to get my head around canbus etc...

Thanks

LuxpowerTek CAN Protocol for communication between Storage inverter and battery.pdf 1.26 MB · 2 downloads

I recognize that as pylontech can messages eg identifier 0x359. 

What are you using as can dev platform.? I will recommend a rpi zero with canbus hat, very user friendly to send messages, and easy to configure. 

Kind regards

 

  • 1 year later...
On 2021/11/07 at 6:51 PM, Coulomb said:

As far as I know they do; use WEC or SOL protocols. A colleague hasn't been able to get this going, but there are many ways it can go wrong. I've even gone to the length of patching up a removable display firmware that turns on a segment when the CAN system is initialised, and another when a CAN interrupt is received. Alas, my patches seem to crash Task 0, and I haven't had a chance to debug it yet (debug the debugging, sheesh).

See this post for my thumbnail sketch of the WEC and SOL protocols.

Hi,

I'm looking to implement the LiA CAN protocol, the  LiA protocol document is lacking some vital information that is not in the document.

Does anyone know the following?:

Does the LiA protocol use little endian? Like most other CAN protocols?
Are there any sample logs of the LiA communication?
What are the expected values for Protocol type and Protocol version? Is 0x01 acceptable?
EG
Response CAN ID: 0x0CF20100 
Byte 0,1 Protocol type  ??? 0x01 
Byte2,3 Protocol version  ???? 0x01
 
The rest seem pretty well documented, it just the ediness and Protocol type and Protocol version that are a mystery!
 
Regards
6 hours ago, Uksa007 said:

Does the LiA protocol use little endian? Like most other CAN protocols?

I can at least answer that part. Yes, it's little endian. At least, as implemented in Axpert King 1 and VM III display firmware version 02.83, which I happened to have loaded today.

Edited by Coulomb

5 hours ago, Coulomb said:

I can at least answer that part. Yes, it's little endian. At least, as implemented in Axpert King 1 and VM III display firmware version 02.83, which I happened to have loaded today.

Thanks so much for confirming. 

Any idea what are the expected values for Protocol type and Protocol version? Is 0x01 acceptable?

7 hours ago, Uksa007 said:

Any idea what are the expected values for Protocol type and Protocol version? Is 0x01 acceptable?

I looked at that briefly, but made no real progress, sorry.

Edit: Actually, 02.83 only seems to use the responses of 3 commands, and none of them looks (to me) like the protocol command, so my guess is it's ignored. The MAX displays could well be more advanced; I might take a look if I find the time.

Edited by Coulomb

2 hours ago, Coulomb said:

The MAX displays could well be more advanced; I might take a look if I find the time.

As of display firmware version 12.28 (23/Nov/2023), there is no significant difference in the processing of responses to LIA commands.

6 hours ago, Coulomb said:

I looked at that briefly, but made no real progress, sorry.

Edit: Actually, 02.83 only seems to use the responses of 3 commands, and none of them looks (to me) like the protocol command, so my guess is it's ignored. The MAX displays could well be more advanced; I might take a look if I find the time.

I'm wondering if LiA is similar to Pylon RS485 in that it polls the Protocol/Version to determine what Battery ID/s are connected, then it just queries those Battey ID's that respond for actual battery/charge data?

Else i guess it could just poll all Battery IDs for the 3 commands.

 

Does it use the following 3 response?:

0x0CF20220 BMS general status parameters (SOC and Capacity)

0x0CF20400 BMS charger and discharge information (Charge/discharge voltage and current)

0x0CF20410 BMS charger and discharge information (Charge/discharge status)

3 hours ago, Uksa007 said:

Does it use the following 3 response?:

It's hard to say, because it seems to use a "CID" that is from the Pylontech potocol to determine what command was most recently sent, and therefore what response to expect. The three CIDs used are 0x22 (capacity, according to comments I added ages ago), 0x40, and 0x41.

Oh, I see these digits in your CAN bus identifiers:

Quote

0x0CF20220 BMS general status parameters (SOC and Capacity)

0x0CF20400 BMS charger and discharge information (Charge/discharge voltage and current)

0x0CF20410 BMS charger and discharge information (Charge/discharge status)

The last CAN bus ID hex digit is the battery ID (0-F); possibly 0 is special as they seem to subtract 1 from that digit to use as an index into various tables.

So that would be a yes 😎

Edited by Coulomb

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.