Sehr gut funktionierende PV Überschuss Ladesteuerung für 48-56V LiFo Akku Systeme

Die im Einsatz befindlichen Systeme sind folgende:
Home Assistant
2x500W an HMS-800-2T
2x500W an auf Epever → 4x12 LiFo Akkus in Reihe.
Ladegerät an JK-BMS-S16.

Über einen Beitrag (von Christian → „Überschussregelung“ „Der Kanal“) bin ich auf eine andere Idee gekommen.
In der Bucht habe ich ein Ladegerät für 130€ gekauft.
„Akku Ladegerät Current Adjustable 5-25A Für 48V/60V/72V Li-ion LiFePo4 Akku Pack“
Dieses Ladegerät hat ein Poti, um den Ladestrom zu steuern. Danach habe ich mir ein „MG996R SERVO MOTOR-180°“ für 7,50€ besorgt.
Den Poti Knopf, der sich sehr leicht drehen lässt, habe ich von der Vielzahnwelle abgezogen und ihn mit einer ca. 7 cm Kabelummantelung mit der nackten ServoAchse verbunden.
Der Servo benötigt dafür ein wenig Abstand vom Boden (an + auf Holzleiste schrauben), damit er waagerecht zur Potiachse steht.
Das Ladegerät wird bei mir mit einer Sonoff WLAN Steckdose geschaltet.
D1 Mini ESP8266 reicht für die Servo-Steuerung aus.
Der Servo hat drei Kabelanschlüsse, die an Esp-VCC 5V, GND und ein Steuerdraht der hier im Beispiel an D7 / 13 führt.

Anbei der ESP-Home Code den D1 Mini:

#############

substitutions:
  name: servo1
  friendly_name: Servo1
  device_description: "Ladegerät Servo Steuerung"
  
esphome:
  name:  ${name}
  friendly_name: ${name}
  comment: ${device_description}
  compile_process_limit: 1  
  on_boot:
    priority: 0
    then:
      - lambda: !lambda |-
          id(servoSlider1).make_call().set_value(0).perform();

wifi:
  ssid: "Dein Wlan"
  password: "4711"
  fast_connect: on
  min_auth_mode: WPA2
  # Feste IP 
  manual_ip:
    static_ip: 192.168.96.104  # Eine freie Wunsch-IP außerhalb des FRITZ!-DHCP
    gateway: 192.168.96.1      # IP deiner FRITZ!Box
    subnet: 255.255.255.0
  use_address: 192.168.96.104
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Servo1-Hotspot"
    password: "123456789"

captive_portal:

web_server:

esp8266:
  board: d1_mini

ota:
  - platform: esphome
    password: "79085a4d0f943491dbe69823c933bb4b" 
    
api:
  encryption:
    key: "KjF50ggctjy+w/lpsVWZFeXYalkfZut5TGh1B/EGJFQ="

# 🕓 Uhrzeit und Zeitzone
time:
  - platform: homeassistant
    id: ha_time
    
servo:
  - id: servo1
    output: output1
    auto_detach_time: 1s
    min_level: 2.5%
    max_level: 12.5%

output:
  - platform: esp8266_pwm
    id: output1
    pin: 13
    frequency: 50 Hz

substitutions:
  name: servo1
  friendly_name: Servo1
  device_description: "Ladegerät Servo Steuerung"
  
esphome:
  name:  ${name}
  friendly_name: ${name}
  comment: ${device_description}
  compile_process_limit: 1  
  on_boot:
    priority: 0
    then:
      - lambda: !lambda |-
          id(servoSlider1).make_call().set_value(0).perform();

wifi:
  ssid: "Dein Wlan"
  password: "4711"
  fast_connect: on
  min_auth_mode: WPA2
  # Feste IP 
  manual_ip:
    static_ip: 192.168.96.104
    gateway: 192.168.96.1
    subnet: 255.255.255.0
  use_address: 192.168.96.104
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Servo1-Hotspot"
    password: "123456789"

captive_portal:

web_server:

esp8266:
  board: d1_mini

ota:
  - platform: esphome
    password: "79085a4d0f943491dbe69823c933bb4b" 
    
api:
  encryption:
    key: "KjF50ggctjy+w/lpsVWZFeXYalkfZut5TGh1B/EGJFQ="

# 🕓 Uhrzeit und Zeitzone
time:
  - platform: homeassistant
    id: ha_time
    
servo:
  - id: servo1
    output: output1
    auto_detach_time: 1s
    min_level: 2.5%
    max_level: 12.5%

output:
  - platform: esp8266_pwm
    id: output1
    pin: 13
    frequency: 50 Hz

number:
  - platform: template
    id: servoSlider1
    name: $name 1
    icon: mdi:sync
    optimistic: true
    min_value: 0
    max_value: 250
    mode: slider
    initial_value: 0
    step: 1
    set_action:
      then:
        - servo.write:
            id: servo1
            level: !lambda 'return ((x / 250.0) * 2.0) - 1.0;'

logger:
  logs:
    number: none
    servo: none

text_sensor:
# IP Infos
  - platform: wifi_info
    ip_address:
      name: ESP IP Address
      icon: mdi:ip

Es wird eine Current Power Entität von Eurem Shelly oder Tasmota benötigt. Die anderen Entitäten müssen an Euer System angepasst werden.
Mit einer Automation kann man nach seinen Wünschen und Bedingungen die folgende einschalten.

Anbei die Steuerungs-Automation in yaml:

alias: Überschussladung - Servo-Poti Steuerung mit Totzone 220°
description: Regelt Servo Überschussladung basierend auf Shelly-Total-Power
triggers:
  - seconds: /5
    trigger: time_pattern
conditions:
  - condition: state
    entity_id: switch.s60tpf_sonoff_1
    state:
      - 'off'
    enabled: true
actions:
  - action: switch.turn_on
    metadata: {}
    target:
      entity_id: switch.s60tpf_sonoff_1
    data: {}
  - variables:
      aktueller_winkel: '{{ states(''number.servo1_servo1_1'') | float(0) }}'
      netzwert: '{{ states(''sensor.total_activ_power'') | float(0) }}'
      totzone: 40
  - if:
      - condition: template
        value_template: '{{ netzwert | abs > totzone }}'
    then:
      - variables:
          schritt: '{{ ( -1 * netzwert / 5.5 ) | round(0) }}'
          neuer_winkel: >-
            {{ [[0, (aktueller_winkel + ( -1 * netzwert / 5.5 ) | round(0))] |
            max, 250] | min }}
      - if:
          - condition: template
            value_template: '{{ neuer_winkel != aktueller_winkel }}'
        then:
          - target:
              entity_id: number.servo1_servo1_1
            data:
              value: |-
                {{ [[0, (aktueller_winkel + ( -1 * netzwert / 5.5 ) | round(0))]

                | max, 250] | min }}
            action: number.set_value
mode: restart

###############

Die Poti Steuerung reagiert sehr schnell, wie ich finde und versucht wirklich so wenig wie möglich in den Netzbezug zu rutschen. Bei ab und zu Wolken kommt das System ans arbeiten, schafft es aber sehr gut auf Null und dann sofort wieder in schnellen Schritten, in den Plus Bereich zu steuern.
Der 180° Servo kann nicht die Volle Poti Drehlänge gehen, sondern endet so bei ca. 8A Ladestrom (<500W). Bei meinem Überschuss passt das sehr gut.
Das Ladegerät sollte möglichst ein wenig frei stehen, da die Kühllüfter manchmal ihre Arbeit vollrichten.

Möglicherweise kann es wer brauchen :wink: . Grüße an Alle.

3 „Gefällt mir“

Herzlich Willkommen bei uns azim

Also wenn ich es richtig verstanden habe speist dein Hoymiles Wechselrichter alles ins Hausnetz ein ohne zu Limitieren.
Dein Zweites BKW ladet den Akku und der Akku wird gleichzeitig von dem Überschuss in deinem Hausnetz aufgeladen, ist das soweit richtig?
Ich verstehe nicht ganz, ist dein Ladegerät direkt am Akku angeschlossen?
Kannst du bitte dein Aufbau kurz beschreiben.

2 „Gefällt mir“

Willkommen hier im Forum!
Interessanter Ansatz was du da hast wie du deinen Überschuss steuerst. Nur für die kleine PV Leistung so einen Aufwand zu betreiben um nur ein paar Watt nicht ins Netz zu schieben?

2 „Gefällt mir“

Von mir auch ein Herzliches Willkommen bei uns.

2 „Gefällt mir“

Grüß dich Achim und willkommen in dieser Gemeinschaft. :+1: :waving_hand:

2 „Gefällt mir“

Hallo Tino.

Dies ist ein Baustein von Vielen aber sehr effektiv. Da es sich um ein Ladegerät handelt, kann ich beide Akus damit direkt vor einem Laderegler (auch parallel) laden. Es müssen natürlich noch weitere Schutzmaßnahmen mit HA Automationen integriert werden, damit der Akku nicht über das (die) BMS Überspannungsschutz abgeschaltet wird. Die Entitäten für Epever und JK-BMS Spannung, etc. sind ja vorhanden.

Am JK-Akku hängt ein HMS-400, der ab ca. 19:00 - 01:30 einspeist. Er deckt zu 99% meinen Verbrauch ab. An der 4x12V Akku Kette hängt ein HM-300, der von 01:30-08:30 einspeist >99%.

Das Überschuss-Ladegerät, wird vom HMS-800 und wenn nötig, mit einem weiteren geregelten HMS-400 und einem 250W Panel gespeist.

Ich bin früher immer in die Garage gedackelt und habe dann im Tagesverlauf mit Schaltern von einem Akku auf den nächsten gewechselt, je nachdem wie sie geladen waren.
Das ist nun vorbei, da ich eine automatische Umschaltregelung für den Akku PV-String mit dem Epever5420>4x12V, Victron 150/35>JK-BMS und dem Überschuss realisiert habe. Der momentane Ablauf sieht so aus. JK-Akku wird mit dem Victron über den Akku-PV-String bis 98% geladen. Gleichzeitig werden die 4x12V Akkus direkt (ohne Epever) mit Sicherheitsabschaltung nur vom Überschuss geladen. Wenn JK-Akku bei 98%, wechselt die Akku-PV-String auf (sanfte Restladung) Epever>4x12V und der Überschuss lädt den JK-Akku bis zur definierten Grenze voll.
Heute waren die beiden Akkus um 12:00 voll und ich konnte den Herd anschmeißen :grinning_face: