Rated 4.9 out of 5

Customer Reviews

REC and WS500 User Forum

Please or Register to create posts and topics.

Figuring CVL - Charge Voltage Limit (V)

Looking at 'BMS Charge and Discharge Limits' in VRM I am reading CVL - Charge Voltage Limit (V) as 13.3V.

With BMS set as 3.55V end of charge voltage and 0.45V hysteresis CVL is 13.3V.

Changing end of charge hysteresis changes the CVL. Below is the list of hysteresis entered and CVL recorded as a result:

0V -> CVL = 14.2 (this is the only one which I can understand from this list)

0.1V -> CVL = 14V

0.2V -> CVL = 13.8V

0.25V -> CVL = 13.7V

0.3 -> CVL = 13.6V

0.4 -> CVL = 13.4V

0.45 -> CVL = 13.3V

0.5 -> CVL = 13.2V

0.6 -> CVL = 13.0V

0.75 -> CVL = 12.9V

1 -> CVL = 12.2V

I initially assumed that

Number_of_cells * (end_of_charge_voltage - x * end_of_charge_hysteresis) = CVL

but after running a couple of sample calculations I realized that 'x' in this case is not a constant coefficient (see value in C9 to C18 in the attached excel file).

How CVL is calculated?

Judging by the name of the VRM widget which is 'BMS Charge and Discharge Limits', I assume Cerbo receives CVL value from REC-BMS. So, I assume that this is REC-BMS not ar Victorn question.

p.s. abbreviation used in the excel attached:

EOCV - end of charge voltage set in BMS

HV - end of charge voltage hysteresis set in BMS

CVL - BMS Charge Voltage Limit from Victron VRM



Uploaded files:
  • Screenshot-2022-07-07-122340.jpg
  • Screenshot-2022-07-06-193724.jpg
  • Screenshot-2022-07-07-133340.jpg
  • Screenshot-2022-07-07-133245.jpg
Sten Sørensen has reacted to this post.
Sten Sørensen

So far as I know CVL = (4*CHAR)+.0.1V


When balancing start, CVL is recalculated!

And when batteries are full CVL is recalculated again.

Above I use the CHAR for ""End off charge"", I think is better to keep the wording from the manual from REC.

Easier for us to understand.



CVL is calculated 4*(CHAR-(CHIS*0.2)) according to the  ABMS manual, but after some calculating the 0.2 factor is more like 0.5. The factor is a problem because it's to low. If you set CHAR to 3.5V and CHIS to 0.25V

To get a "float voltage" at 13.5V the batterypack has to get under 13V before rebulk to the higher CHAR. Either there has to be a high load to drag the voltage that low or the batterypack will be way to discharged before rebulk voltage to CHAR will be activated. I see this as a big problem. I think the factor should bee user configurable.

Just change CHIS til some lower value, problem solved?


Yes I can but then I have a to high "float voltage", so it does not solve the problem.

Problem still persist. The factor is still a big problem.

CVL is recalculated multiply times, with different formulas in different stage off the charge.

If you program the REC parameters, different charge voltage will effect a number off things as described below.
I made a pdf to have a better view on the calculated values that changed when you program a different value.


HOW to use the PDF:

In the below pdf you can change the value in line 4- line 11
If you change a value here, you see a different voltage at line 12 - line 18



Small changes in CHAR CHIS etc will change for example the CVL command that is send to the GX.
-CVL level at begin off charging (see calculated value 4)
-CVL level at time off balancing (see calculated value 1)
-CVL level when batteries are full, like a float (see calculated value 3A or 3B)
Also at time off balancing different CCL is send to GX.

If you like a lower float value, you can program a higher CHIS, which result also in a lower ""restart""
In some case maybe a unwanted situation.
Together with REC there is a special firmware available, which used a different formula, which give a different float and restart value.

Under 3 you see a calculated value 3A and 3B.
-3A is with original firmware.
-3B the firmware use a different formula to calculate the NEW float, which result in a lower float as the with the original firmware.
The original firmware use a hysteresis in the formula from 0.5, the special request firmware use 1.0 hysteresis.

Personally I like the special firmware with 1.0 hysteresis

If you reuse this pdf please always mention that it comes from REC and Wakespeed dealer, Goodmarine products. Thailand Malaysia.  For RICK, off grid solutions, if it is not allowed to mention the source from this pdf, feel free to remove this post.


Please let me know or this information was helpful.

The PDF is 13k, the max file size for a post is 10k. I have sent the pdf to Rick, maybe he can add it to this post.  Or someone knows a way to resize a pdf to a smaller format?


Sten Sørensen has reacted to this post.
Sten Sørensen

Thanks, I would realy like to see your thoughts about the rec cvl calculation.

Maybe you can pack it in a zip file and get under the 10k limit?

I'm not sure a factor at 1 is the right one, but a factor 1 will disable it, unless there is another  calculation in the firmware. I think a "restart voltage" around 0.1 - 0.2V bellow the "float voltage" would be more right.

Can you tell how I can get the special firmware, so i can try it out. I would realy apreciate it?

Hello Sten,

zip file just 10k, lets try. see below.

(update: the forum system dot allow to upload a zip.

the pdf below, is a zip-file, please rename after download to  .zip, and then unzip to pdf:):)  )

There are different approaches and parameters that could made programming easier.

I value for float, a value for restart etc.

Maybe there are plans by REC to change this.

At the moment it works as describe in the PDF.

And I need to say, I  can create the charge profile, as planned.



The different firmware, you can get from REC or your dealer.  For my customers a make the setup myself.

Try your dealer first.

Uploaded files:

Thanks. 🙂



I have made a spred sheet based on the information in Ben's spred sheet.

It's a dynamic spred sheet where end of charge voltage, end of charge voltage hysterese and the factor can be changed. Just to try diferent values and see the result of it.


The green cell are the ones to change.


Let me now if there is some missing or wrong information in the spred sheet.

Uploaded files:

Hello Sten,

My posted sheet is part from a bigger sheet.  The bigger sheet make this calculation also automatic.

When I have time, I will check what went wrong with my posted xls, probably when I try to make it smaller for posting on this forum, the formulas are deleted...


Comment to you sheet:

The Hysterese in Green is NOT a  programmable parameter.

But can ONLY changed with another firmware version.

Not sure or another not standard firmware is free off charge. Depend on your dealer and REC!!

For me is not clear what you mean with "low end off charge" ?





I now very well that the hysterese factor is not programable, but I made it that way to see how diferent factors inflict on the calculation.

The " Low end of charge" is the CVL calculation  "CHAR - (CHIS * Hysteresis factor)"

I will try contacting REC BMS to ask for the special firmware.

Hello Sten,

Below is just new information from REC.

Some off my suggestions are available in the new firmware 2.8.

see below information from REC.


Newest firmware version Victron 2.8 or SMA SI 2.6 uses CFVC coefficient from 0.1 to 1.0

Battery Pack’s Charging Algorithm:


The communication between the REC BMS and the Victron GX device is established through the CAN bus. All the parameters that control the charging/discharging behavior are calculated by the BMS and transmitted to the GX device in each measurement cycle.


The charging current is controlled by the Maximum charging current parameter sent to the GX device. It’s calculated as Charge Coefficient CHAC x Battery capacity CAPA. The parameter has an upper limit which is defined as Maximum Charging Current per Device MAXC x Number of Inverter/Charger Devices SISN. Lowest value is selected:


Table 9: Maximum charging current calculation.

Battery Capacity (CAPA) 100 Ah
Charge Coefficient (CHAC) 0.6 1/h
Maximum Charging Current per Device (MAXC) 75 A
Number of Inverter/Charger Devices (SISN) 2 n.a.


Charge Coefficient CHAC x Battery Capacity CAPA = 0.6 1/h x 100Ah = 60 A

Maximum Charging current per device MAXC x Number of Inverter/Charger devices SISN = 75 A x 2 = 150 A


Maximum charging current is set to 60 A due to lower value of the Charge Coefficient CHAC x Battery Capacity CAPA.


When the highest cell reaches the End of charge CHAR voltage setting, charging current starts to ramp down to 1.1 A x Number of Inverter/Charger Devices SISN until the last cell rises near the End of Charge Voltage CHAR (CC/CV). At that point the Maximum charging voltage allowed is set to Number of cells x (End of Charge Voltage per cell CHAR– Maximum Cell Float Voltage Coefficient CFVC x End of charge hysteresis per cell). End of Charge SOC hysteresis SOCH and End of charge cell voltage hysteresis CHIS is set to prevent unwanted switching. SOC is calibrated to 100 % and Power LED lights ON 100 % Charge optocoupler is turned off. Maximum allowed charging current is set to 50% to allow supplying DC loads from charging devices like MPPTs. Charging current is limited to 30 % of the maximum charging current, but more than 5 A near both ends of temperature (Max cell temperature TMAX and Min temperature for charging TMIN) and when the battery is empty (Max discharging current is set to zero).


Charging is stopped in case of systems errors (See System Errors indication chapter). SOC is calibrated to 96 % when the maximum open circuit cell voltage rises above the 0.502 x (Balance start voltage BMIN + End of charge voltage CHAR), minimum open circuit voltage above balance start voltage and system is in charge regime.


In case BMS is not able to control the MPPT/Non-Victron charging sources directly (MPPT should be set to charge when the remote is in short), a small signal relay can be used to amplify the signal. MPPT should be programmed with its own charging curve set as End of charge voltage x number of cells. Digital output may be programmed with another task on request e.g. heater, under-voltage alarm, …



Figure 14: Charging diagram.



Maximum Cell Float Voltage Coefficient (CFVC):


Maximum Cell Float Voltage Coefficient CFVC has been introduced into the charging algorithm to enable cell float voltage change after the full charge. It may be set from 0.1 to 1.0 of the End of Charge Hysteresis CHIS. When End of Charge Hysteresis CHIS and End of Charge SOC hysteresis SOCH have been met, full charge is enabled again. @ CFVC 50 % of maximum charging current is allowed to supply DC loads from MPPTs directly without discharging the battery pack below End of Charge Hysteresis CHIS and End of Charge SOC hysteresis SOCH.

Battery Pack’s Discharging Algorithm:


Calculated maximum discharging current is sent to the GX device by CAN communication in each measurement cycle. When the BMS starts/recovers from the error or from Discharging SOC hysteresis, maximum allowed discharging current is set. It is calculated as Discharge Coefficient DCHC x Battery Capacity CAPA. If this value is higher than Maximum Discharging Current per device MAXD x Number of Inverter/Charger Devices SISN, maximum discharging current is decreased to this value.


Table 10: Maximum discharging current calculation.

Battery Capacity (CAPA) 100 Ah
Discharge Coefficient (DCHC) 1.5 1/h
Maximum Discharging Current per Device (MAXC) 100 A
Number of Inverter/Charger Devices (SISN) 2 n.a.


Discharge Coefficient DCHC x Battery Capacity CAPA = 1.5 1/h x 100Ah = 150 A

Maximum Discharging Current per device MAXC x Number of Inverter/Charger devices SISN = 100 A x 2 = 200 A

Maximum discharging current is set to 150 A.


When the lowest cell open circuit voltage is discharged bellow the set threshold CLOW maximum discharging current starts to decrease down to 0.02 C (2 % of Capacity CAPA in A). After decreasing down, maximum allowed discharging current is set to 0 A. SOC is reset to 3 % and Discharging SOC hysteresis is set to 5 %. If the cell discharges below Minimum Cell voltage CMIN, BMS signals Error 2 and SOC is reset to 1 % and internal relay switches off. If the Charger/inverter is connected to the grid maximum allowed discharge current is drawn from the grid. Otherwise, 100 % load current is drawn from the battery until maximum allowed discharging current is set to 0 A. Discharging current is also limited near both ends of temperature (Max cell temperature TMAX and Min temperature for charging TMIN) to 30%, but more than 5 A. If the minimum cell discharges under the Cell-under voltage protection switch-off CMIN x 0.95 for more than 30 s BMS goes to deep sleep mode to protect the cells from over-discharging. OFF-ON switch sequence wakes the BMS from this state. CLOW cell voltage setting should be set to the voltage that corresponds to 3 % of the usable capacity.




Figure 15: Discharging diagram.


Uploaded files:
  • figure-14.png
  • figure-15.png
Sten Sørensen has reacted to this post.
Sten Sørensen

Hi Ben


It looks very nice.

Am I understanding it right, that the new CFVC is a user configurable parameter?

Is this firmware released?

I have just recieved the new firmware from rec bms.