Benachrichtigungen
Alles löschen

optimale Einstellungen für das JK BMS

6 Beiträge
4 Benutzer
0 Likes
1,459 Ansichten
(@kiwi84)
Vorsichtiger Stromfühler
Beigetreten: Vor 11 Monaten
Beiträge: 3
Themenstarter  

Hallo zusammen,

ich finde es schwierig die richtigen Einstellungen für das JK-BMS zu finden, um Zellen vernünftig zu be- und entladen. Ich wollte erst nur mit SOC arbeiten, habe aber schnell gemerkt, dass man ebenfalls über die Spannung den Strom reduzieren sollte. Ich nutze ein DIY Akku mit 16x EVE Zellen 280 Ah an einem Mulitplus II 5000 d. h. 70 A sind möglich. Venus OS läuft auf einem Raspi mit dem dbus-serialbattery Treiber.

Ziel ist es die Zellen im Bereich 3,0 bis 3,45 V zu betreiben und dabei in Richtung Endladespannung harmonisch und ohne Spannungs- und Stromsprünge zu laden. Das Balancing startet ab 3,4 V.

Hier ein Auszug aus utils.py:

# Choose the mode for voltage / current limitations (True / False)
# False is a Step mode. This is the default with limitations on hard boundary steps
# True "Linear" # New linear limitations by WaldemarFech for smoother values
LINEAR_LIMITATION_ENABLE = True

######### Cell Voltage limitation #########
# Description:
# Maximal charge / discharge current will be in-/decreased depending on min- and max-cell-voltages
# Example: 18cells * 3.55V/cell = 63.9V max charge voltage. 18 * 2.7V = 48,6V min discharge voltage
# ... but the (dis)charge current will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits

# Charge current control management referring to cell-voltage enable (True/False).
CCCM_CV_ENABLE = True
# Discharge current control management referring to cell-voltage enable (True/False).
DCCM_CV_ENABLE = True

# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.42, 3.30]
MAX_CHARGE_CURRENT_CV = [ 0, 4, 70]

CELL_VOLTAGES_WHILE_DISCHARGING = [2.90, 3.03, 3.10]
MAX_DISCHARGE_CURRENT_CV = [ 0, 4, 70]

######### Temperature limitation #########
# Description:
# Maximal charge / discharge current will be in-/decreased depending on temperature
# Example: The temperature limit will be monitored to control the currents. If there are two temperature senors,
# then the worst case will be calculated and the more secure lower current will be set.
# Charge current control management referring to temperature enable (True/False).
CCCM_T_ENABLE = True
# Charge current control management referring to temperature enable (True/False).
DCCM_T_ENABLE = True

# Set Steps to reduce battery current. The current will be changed linear between those steps
TEMPERATURE_LIMITS_WHILE_CHARGING = [55, 40, 35, 5, 2, 0]
MAX_CHARGE_CURRENT_T = [ 0, 28, 70, 70, 28, 0]

TEMPERATURE_LIMITS_WHILE_DISCHARGING = [55, 40, 35, 5, 0, -20]
MAX_DISCHARGE_CURRENT_T = [ 0, 28, 70, 70, 28, 0]

# if the cell voltage reaches 3.55V, then reduce current battery-voltage by 0.01V
# if the cell voltage goes over 3.6V, then the maximum penalty will not be exceeded
# there will be a sum of all penalties for each cell, which exceeds the limits
PENALTY_AT_CELL_VOLTAGE = [3.45, 3.55, 3.6]
PENALTY_BATTERY_VOLTAGE = [0.01, 1.0, 2.0] # this voltage will be subtracted

######### SOC limitation #########
# Description:
# Maximal charge / discharge current will be increased / decreased depending on State of Charge, see CC_SOC_LIMIT1 etc.
# The State of Charge (SoC) charge / discharge current will be in-/decreased depending on SOC.
# Example: 16cells * 3.45V/cell = 55,2V max charge voltage. 16*2.9V = 46,4V min discharge voltage
# Cell min/max voltages - used with the cell count to get the min/max battery voltage
MIN_CELL_VOLTAGE = 3.0
MAX_CELL_VOLTAGE = 3.45
FLOAT_CELL_VOLTAGE = 3.4
MAX_VOLTAGE_TIME_SEC = 15*60
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

# battery Current limits
MAX_BATTERY_CHARGE_CURRENT = 70.0
MAX_BATTERY_DISCHARGE_CURRENT = 70.0

# Charge current control management enable (True/False).
CCCM_SOC_ENABLE = True
# Discharge current control management enable (True/False).
DCCM_SOC_ENABLE = True

#charge current soc limits
CC_SOC_LIMIT1 = 98
CC_SOC_LIMIT2 = 94
CC_SOC_LIMIT3 = 90

#charge current limits
CC_CURRENT_LIMIT1 = 4
CC_CURRENT_LIMIT2 = 8
CC_CURRENT_LIMIT3 = 16

#discharge current soc limits
DC_SOC_LIMIT1 = 5
DC_SOC_LIMIT2 = 10
DC_SOC_LIMIT3 = 15

#discharge current limits
DC_CURRENT_LIMIT1 = 4
DC_CURRENT_LIMIT2 = 8
DC_CURRENT_LIMIT3 = 16

# Charge voltage control management enable (True/False).
CVCM_ENABLE = False

# Simulate Midpoint graph (True/False).
MIDPOINT_ENABLE = False

#soc low levels
SOC_LOW_WARNING = 10
SOC_LOW_ALARM = 5

Was haltet ihr von den Einstellungen? Wo könnte man da optimieren? Bzw. welche Einstellungen nutzt ihr? Oder nutzt ihr zusätzliche Messeinrichtungen, externe Logik zum Be- und Entladen?

Grüße

Kiwi

Dieses Thema wurde geändert Vor 9 Monaten von Kiwi84

   
Zitat
Timbo
(@timbo)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 219
 
# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.42, 3.30]
MAX_CHARGE_CURRENT_CV = [ 0, 4, 70]

Finde ich persönlich zu scharf. Du lädst bei 3.42V nur noch mit 4A? Ich knall da noch volle Suppe rein. Immerhin hast du die Lineare Funktion aktiv, was die Sache aus meiner Sicht nur Minimal besser macht
Bei mir regelt der erst ab 3.45V bis 3.5V von 70A auf 50A und dann bis 3.55V auf 0 (ebenfalls Linear)

MIN_CELL_VOLTAGE = 3.0
MAX_CELL_VOLTAGE = 3.45
FLOAT_CELL_VOLTAGE = 3.4
MAX_VOLTAGE_TIME_SEC = 15*60
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

Bei mir wie folgt:

2.9V
3.5V
3.45V
60*60 (kann damit dann eine Stunde "Floaten")

 

 

In deiner Konfig können die 15min Float bei 3.4V (also mit konstanter Spannung) nur mit minimalen Strom genutzt werden, weil du deine Ladespannung im oberen Teil sehr stark limitierst.

Der Ladestrom geht automatisch gegen Null, wenn die Akkus voll sind. 

 

16S Lishen 272Ah
MP2 5000/70
VenusOS
JK BMS


   
AntwortZitat
(@kiwi84)
Vorsichtiger Stromfühler
Beigetreten: Vor 11 Monaten
Beiträge: 3
Themenstarter  

@timbo

Hallo Timbo,

danke für deine Antwort. Ich habe das ganze mal etwas entschärft ähnlich deinen Settings und die Float time erhöht:

# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.45, 3.40]
MAX_CHARGE_CURRENT_CV = [ 0, 50, 70]

Bei meinen alten Einstellungen ist das System auch immer beim floaten hängen geblieben und hat nicht auf dei max Spannung geladen. Vllt. lag es an der Stromlimitierung.

Welche Grenzwerte hast du bei OVP, usw. im BMS via App eingestellt, dass die Grenzen sowie auch der SoC passen?

OVP = 3,48

OVPR = 3,45

UVPR = 3,00

UVP = 2,90

Power off = 2,7

start balance = 3,4

Grüße Kiwi


   
AntwortZitat
Timbo
(@timbo)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 219
 

Ich habe beim BMS die grenzen 0,05V unter/über Max- bzw Minimalspannung. Das greift ja wirklich nur ein, wenn was komplett in die Hose geht. Daher kann das schon sehr nah an den zugelassen Min/Max Spannungen liegen. 

Zum SoC folgendes. Wenn du den Akku nicht regelmäßig leer machst, dann wird der SoC irgendwann nicht mehr richtig angezeigt. Bei mir hat er tlw nur noch bis 92% geladen. Macht aber nichts, in der Realität kann er auf die gleiche Kapazität zurückgreifen. Lediglich die SoC Berechnung ist fehlerhaft.

 

16S Lishen 272Ah
MP2 5000/70
VenusOS
JK BMS


   
AntwortZitat
(@geoluchs)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 82
 

Hallo zusammen, ich habe bei meinem JK auch die Besonderheit, dass ein Block nur noch bis 90% geladen wird, währen der 2. 100% anzeigt. Es leigt dann vermutlich so wie Timbo sagt daran, dass die Batterie nie oder kaum entladen wird. Bin am überlegen ob ich auf Seplos umsteigen soll. 


   
AntwortZitat
(@dv2000)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 44
 

Hallo zusammen , ich würde gerne hier auch mein Prob schildern und bitte um Einstellungsvorschläge. Bekomme zu häufig Zellungleich Meldungen und würde das Meldeverhalten etwas entschärfen. Wo steht dieser Parameter?  Hab Trigger schon auf 0,03 eingestellt - hat das damit überhaupt was damit zu tun? Scheinbar kann ich die Daten in die oben genannte *.py Datei eintragen und die werden dann in´s BMS übernommen?  Hab versucht die Einstellungen mit der JK app zu machen, dann bin ich nach kurzer Zeit Stromlos weil der Multiplus sich abschaltet. 


   
AntwortZitat
Teilen: