question

va-orleon avatar image
va-orleon asked

SCS not working for Pylontech US3000c + Bluesolar MPPT + DC load

Hello,
i got the following setup:

  • cerbosgx
  • bluesolar MPPT 150/35
  • pylontec us3000c (full at around 53 V)
  • deye SUN 300


First i want to report that the pylontec is correctly recognized by the venus os: voltage, current, temperature and SOC are reported. Also the MPPT is connected via ve.direct and recognized.

DVCC is enabled. SVS and STS is forced to be enabled by the system. I enabled SCS. But it reports SCS Status "Disabled, external control". Manual current or voltage limits are disabled. The systemconfig "has DC System" is enabled.

I got the following problem:
Imagine the battery is full and the pylontec BMS sends a charge current limit of 0 A and a volatge limit of 53 V. Then the MPTT would set its output voltage to that 53 V and control its current output in such a way that it reads 0 A. Everything would be fine.
But in my setup i have a dey SUN 300 connected that is pulling 8 Amps from the DC bus. This results in a net current of -8 A at the battery. But the MPTT does not increase its current to counter the DC load. I assume because the BMS send charge current limit of 0 A.
The MPTT first starts to counter the DC load when the pylontec BMS starts sending a charge current limit greater than zero. This happens when the SOC is below 100%. (100% --> charge current limit 0 A, 99% --> charge current limit 15 A).
I would expect that the MPPT uses the current measurement provided by the BMS. And in fact would delived 8 Amps in my described situation. This would result in a net charge current to the battery of 0A but would give 8 Amps to the deye SUN. The battery would still float at 53V as requested by the BMS.

My current workaround:
I am setting a DVCC voltage limit of 51 V. This forces the MPTT to provide a maximum Voltage of 51V to the Battery. Since the battery won't charge beyont 95% SOC this means the charge current limit is always greater than 0 A. This results in the wished behaviour. The MPPT provides the current to the deye SUN and the battery floats at 51 V with net current 0 A.


Is there a better solution? Might this even be a bug?

MPPT ControllersPylontechDVCCcharge current limit
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.

va-orleon avatar image va-orleon commented ·

Remark: I think the question boils down to the following "can the MPPT use the BMS current measurement as control target?"

0 Likes 0 ·
5 Answers
va-orleon avatar image
va-orleon answered ·

Does anybody has any idea?

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 ·

When the system identifies the BMS it will force settings based on what the manufacturer wants, SCS is already enabled so the system will use that for reading current but if the battery does not want to be charged the MPPT's will wait until it does or until the bus voltage drops sufficiently.

Your only solution is to disconnect the BMS, install a shunt and manage the system via voltage instead.

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.

va-orleon avatar image va-orleon commented ·

Thank you for your answer.

But, SCS status reads: „Disabled, external control"

Thats the problem i guess, the system seems to NOT use the current reading vom the BMS.

I want it to use it.

Can i somehow overwrite the SCS settings?

0 Likes 0 ·
nickdb avatar image nickdb ♦♦ va-orleon commented ·
Nope. When the BMS is connected DVCC and relevant parameters are forced on as required by the battery manufacturer.
0 Likes 0 ·
va-orleon avatar image
va-orleon answered ·

Thinking solution-oriented, let me show what i need:

max current from BMS: 0A
voltage target from BMS: 53.5V
actually sensed current from BMS: -3 A
what is send to MPPT: 0A and 53.5V

What should be send to MPTT: 0+3 A and 53.5V

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.

va-orleon avatar image va-orleon commented ·

I actually did a little bit of digging in the source code, here

I found that part in line 955:

# If there is a measured DC system, the Multi and solarchargers
# should add extra current for that. Round this to nearest 100mA.
if max_charge_current is not None and max_charge_current > 0 and not stop_on_mcc0:
max_charge_current = round(max_charge_current + self.dcsyscurrent, 1)

That's exactly what i was looking for. Turns out that @nickdb was partly right with installing a smarshunt for the DC system. But not to deactivate the BMS.


The CerboGX handbook states this in german, link:

Gleichstromlasten werden möglicherweise nicht berücksichtigt, sofern nicht ein SmartShunt oder BMV-712 installiert und korrekt als Gleichstromzähler konfiguriert ist. Zum Beispiel wird die Batterie ohne den Gleichstromlastmonitor bei einem konfigurierten maximalen Ladestrom von 50 A und Gleichstromlasten, die 20 A ziehen, mit 30 A geladen, nicht mit den vollen erlaubten 50 A. Wenn der SmartShunt als Gleichstromzähler konfiguriert ist, der maximale Ladestrom auf 50 A eingestellt ist und der Shunt des Gleichstromsystems einen Stromverbrauch von 25 A meldet, dann sind die Ladegeräte so eingestellt, dass sie mit 50 + 25 = 75 A laden.

Wenn Sie einen oder mehrere Shunts für „DC system“ (Gleichstromsystem) konfiguriert haben (wenn Sie mehr als einen haben, werden diese addiert), dann kompensiert die DVCC-Ladestrombegrenzung sowohl die Lasten als auch die Ladegeräte. Dadurch wird zusätzlicher Ladestrom addiert, wenn eine Last vorhanden ist, und subtrahiert, wenn ein anderes Ladegerät im Gleichstromsystem vorhanden ist. DC-„loads“ (Lasten) und -„sources“ (Quellen) werden in beiden Richtungen nicht kompensiert.

This basically means: measured DC load-currents are added to the current sent to the mppt. And that can be seen in the python code from above.


But i see a aditional problem with the if statement

if (...) & max_charge_current > 0 & (...)

in the code from above. The BMS will communicate send max_charge_current = 0 if it is 100% full and does not want any charge anymore. But this would prevent the MPPT to provide current to the DC loads because the if-condition is not true and the max_charge_current will not be corrected with dcsyscurrent. This means the MPPT gets current 0 despite measuring a dcload.


This is not the intended behaviour i guess.

0 Likes 0 ·
kevgermany avatar image
kevgermany answered ·

Just wondering , what happens if you shift your loads to the load terminals on the MPPT?

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.

va-orleon avatar image va-orleon commented ·

a) The MPPT 150/35 has no load terminals
b) im am using a deye SUN 300 with big capacitors at its inputs as load and read stories about frying the load relais of MPPT's when switching it frequently.

0 Likes 0 ·
buddhafragt avatar image
buddhafragt answered ·

It is not clear to me why Venus would even want a value from an external DC current sensor.
BMS wants e.g. 2A, and sends the value to DVCC which in turn sends the value to the MPPTs.
DC loads consume 8A -> BMS current sensor measures -6A,
DVCC increases the MPPT current to 10A!
This is simple, why Victron does not get this right?????


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.

va-orleon avatar image va-orleon commented ·
Exactly this needs to be done.


BUT the current sensed by the BMS IS NOT used!
0 Likes 0 ·