Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code-Anpassung für dynamische WR-Leistung bei Verwendung mit Akkuspeicher #12

Open
St31l opened this issue May 13, 2023 · 2 comments
Open

Comments

@St31l
Copy link

St31l commented May 13, 2023

Hallo zusammen,

ich habe für die Nulleinspeisung in Verbindung mit einem Akku nachstehende Anpassung eingebaut.

Durch die Anpassung wird die maximale WR-Leistung abhängig von der Akkuspannung in 3 Bereichen eingestellt um bei
vollem Akku eine hohe WR-Leistung zuzulassen und bei leerem Akku eine tiefenentladung zu vermeiden:

  1. Bereich: Viel Solarleistung bzw. Akku ist quasi voll, die WR Leistung darf sehr hoch sein.
  2. Bereich: Der Akku ist nicht sehr voll, jedoch noch oberhalb der Abschaltspannung (Die max. WR-Leistung wird etwas reduziert)
  3. Bereich: Der Akku hat seine Abschaltspannung erreicht, die max WR-Leistung wird auf den minimal möglichen Leistungswert von 10 W gesetzt, damit der Akku nicht tiefen entladen wird.

Dafür benötigen wir zwei Variablen im Bereich "# Diese Daten müssen angepasst werden" die die beiden Spannungsgrenzen bilden:

voltage_borderhigh = 26 # Spannungsgrenze für Erhöhung der WR-Leistung
voltage_borderlow = 24 # Spannungsgrenze für Setzen der WR-Leistung auf 10 W

ebenfalls benötigen wir eine Auslesung der DC Spannung am Eingang des Wechselrichters:
Im Bereich "# Selektiert spezifische Daten aus der json response":

voltage_dc = int(r['inverters'][0]['DC']['0']['Voltage']['v']) # DC-Spannung am WR Eingang auslesen

Und zuguter letzte die Anpassung der WR-Maximalleistung im Bereich "# Werte setzen"
if reachable:
#Abhängig von Akkuspannung wird die maximale WR-Leistung gesetzt

    if (voltage_dc >= voltage_borderhigh):      #Setze maximale Leistung für Spannung über 26 V
        maximum_wr = 540 
        print('WR-Leistung auf',maximum_wr,'gesetzt, da Akkuspannung:',voltage_dc, 'V', flush=True)
        
    if (voltage_borderlow < voltage_dc < voltage_borderhigh): # Setze maximale Leistung für Spannung von 24-26 V
        maximum_wr = 337
        print('WR-Leistung auf',maximum_wr,'gesetzt, da Akkuspannung:',voltage_dc, 'V', flush=True)
        
    if (voltage_dc < voltage_borderlow):#Setze maximale Leistung für Spannung unter 24 V
        maximum_wr = 10

Ab hier folgt der Code mit "# Setzen Sie den Grenzwert auf den höchsten Wert, wenn er über dem zulässigen Höchstwert liegt."

Die print-Befehle können natürlich noch entfernt werden wenn der Code bei euch läuft
Würde mich über Feedback freuen

@harryinet
Copy link

Ist spannend, wie schließt du welchen Akku an?

@kthemall
Copy link

kthemall commented Jun 3, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants