question

ian0 avatar image
ian0 asked

Change the float voltage from VE.Can

I am trying to change the float voltage of a Quattro (via a Cerbo) using VE.Can.

I send the new voltage to register EDF6 and I receive a "Vregs not supported" response.

I get the same thing if I request the float voltage data, or even if I request the device state from 0x0201.

I also note that there is a lot of traffic between Quattro and Cerbo where the Quattro is telling the Cerbo that it does not support Vreg 0x243 (one not detailed in the manual)

Any ideas?

VE.Can
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

9 Answers
nickdb avatar image
nickdb answered ·

Moving to modifications.

I am not convinced what you are attempting can be done that way.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ian0 avatar image
ian0 answered ·

If you look in the "VE-can-registers-public" document, it says that register 0xEDF6 (Battery float voltage level) is both readable and writeable, so why not?

6 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

nickdb avatar image nickdb ♦♦ commented ·

Because it may be referring to solar chargers that support CAN, and not inverters that are VE BUS only.

With DVCC chargers are slaved to the inverter algo.

Many inverter settings require a restart to take effect and are not dynamically configurable.

All can only be set using the VE BUS.

Wrt to CAN comms from a BMS, cvl etc, these are not in the public docs. Only victron’s proprietary comms are. Third party are private, though available if you search online or easy enough to figure out if you sniff the various broadcasts.

0 Likes 0 ·
ian0 avatar image ian0 nickdb ♦♦ commented ·

There is an MPPT on the system, but it is on address 0x24. (connected to the Cerbo via VE.direct)

The Quattro is on 0xE1 and 0xE2, and that is where the error ACKs originate.

I wasn't sure which half if the Quattro to address, so I tried both, and both give the same result.

Isn't the Cerbo relaying the commands to the Quattro via VE.bus?

I also note that when I try the example given in "VE-can-registers-public" for the maximum AC current setting, I also get the same error.

Is there a list somewhere, an addendum to the "VE-can-registers-public" perhaps, that says which read/write registers can actually be written to?


0 Likes 0 ·
nickdb avatar image nickdb ♦♦ ian0 commented ·
This is getting a bit low level for me.

They state the battery type has to be set to 255 "user defined", that is terminology more consistent with an MPPT, but it does state the register is read/write.

They also mention that not all chargers support all registers.

It is all a bit vague.

The cerbo has to function as some form of gateway as the inverters are not on the CAN bus.

It may just be that they don't support what you are trying to do.

0 Likes 0 ·
Show more comments
bathnm avatar image bathnm ian0 commented ·

@Ian0 What you are trying to do is not possible. The VenusOS/Cerbo will not take messages from VE.Can and relay them to the Quarto/MultiPlus via VE.Bus. The fact that you are getting error messages should be enough to inform you that the system is not designed to work like this. If you want to control the Quarto/MultiPlus then the recommended way is via NodeRed, or if technical enough by writing to the relevant paths in the dBus, but be aware things inside other parts of VenusOS may then stop working or reset your settings.

0 Likes 0 ·
ian0 avatar image ian0 nickdb ♦♦ commented ·

"Many inverter settings require a restart to take effect and are not dynamically configurable."

The VE Configure utility says which settings need a reset, and float voltage isn't one of them.

0 Likes 0 ·
bathnm avatar image
bathnm answered ·

There is a lot more to this than just sending messages over CAN.

Firstly the CAN address you shared earlier are from the NMEA2000 Out capability, note the OUT. This means that it is for broadcasting on the NMEA2000 network the status and activity of the Inverter/Charger and not for receiving messages.

The second issue is related to what the Cerbo will listen to and take instructions from. It does not take any information from anything but a CAN connected BMS. Therefore the system will only listen to messages once very low level CAN messages to identify a device as a BMS, and confirm that it is a BMS have been received.

What you are trying to do is not supported and not signed to do what you are trying to do. Take a look at NodeRed, that is a far more powerful way of controlling your system.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ian0 avatar image
ian0 answered ·

I have to correct you on that: 0xEDF6 comes from the list of manufacturer-specific registers in the document VE.can-registers-public.pdf. It's only a NMEA2000 message inasmuch as it uses the Manufacturer-proprietary single-frame message at PGN 0xEF00

I can write to 0x0200 register and change the state of the Quattro from Inverting to Charging, so why can't I write to 0xEDF6 and change the float voltage?

but I'll have a look into NodeRed, as a method of obtaining proof-of-concept, but the final solution will be in embedded C. Do you think that the MQTT interface would be a better vehicle than the CAN interface?

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

bathnm avatar image bathnm commented ·
@Ian0 Have you actually managed to change the state of the Quarto using register 0x2000 via VE.Can?
0 Likes 0 ·
ian0 avatar image ian0 bathnm commented ·
Yes. That was easy!

It changes mode straight away, then sends a 0x0200 message with the new mode, followed by a 0x0201 message with the new state.

0 Likes 0 ·
Mike Dorsett avatar image
Mike Dorsett answered ·

If quatro's are similar to Multiplus, then the VOLTAGES should be set using the VE configure program when commissioning the system. They should not need to change after that time. For best practice, when charge curtailment is needed to allow lithium batteries to balance, then a low charge current is needed, and this can be done dynamically - and this is best done under the control of the BMS.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ian0 avatar image
ian0 answered ·

This is NOT a duplicate thread to https://community.victronenergy.com/questions/246687/how-to-select-float-charge.html.

One deals with setting the voltage.

The other deals with changing the mode from absorption to float, and back.

So perhaps, instead of closing the thread, perhaps you could tell me if "CommandGetSetDeviceState" (MK2.2b) which appears to be the same as "/VebusSetChargeState" is accessible from VeCan or Modbus, or even whether the MQTT is writable.

 
                 


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

nickdb avatar image
nickdb answered ·

Just a reminder from the community guidelines:

The community is predominantly volunteers, and the vast majority of the answers are provided by enthusiasts. It is not an Official Ask Victron site, for that please use the normal line of support.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

pete60 avatar image
pete60 answered ·

@ian0

Are you sure that vreg 0xEDF6 is the batt float voltage setting of a Multi / Quattro ?
In the document "VE CAN reg public" at point "1.9 Battery settings" i dont read "Multi / Quattro" ?
May be its the vreg for float voltage setting of a batt- solar- or other type of charger?

vic-batt-set.jpg

vic-batt-0xedf6.jpg


vic-batt-set.jpg (26.4 KiB)
vic-batt-0xedf6.jpg (20.9 KiB)
1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ian0 avatar image ian0 commented ·
I found the document very unclear. It starts by saying it applies to "Quattros etc" and by the time it gets to Float voltage it hasn't said that it applies to something different, and it hasn't said that it no longer applies to Quattros, and Quattros DO have a Float Voltage setting, so it seems logical to me that it might apply, but who knows?
0 Likes 0 ·
Alexandra avatar image
Alexandra answered ·

@Ian0

Not that I have tried this, but you are probably better off manipulating the BMS control to alter float and absorption, since BMS control can override the base programming of the quattro anyway.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

ian0 avatar image ian0 commented ·
That has occurred to me. I started a new thread about it, and started to search for documentation.
0 Likes 0 ·

Related Resources

Additional resources still need to be added for this topic