Hallo @stc,
danke für die Unterstützung, System läuft jetzt mit einigen zusätzlichen Änderungen.
Die Funktion func_timeout wird anschneidend nicht genutzt.
- Lüfter umgebaut auf größere (Lautstärke)
- BIC Schalten über Shelly Plus1 + Temperatur-Steuerung (gegen Dauerbetrieb bei 0% Acculadung oder unzureichender Solarleistung + Abschaltung bei zu hohen Temperaturen an BIC/Accu/Steuerung)
- MQTT für Leistung / Temperatur hinzugefügt
- DalyBMS am Raspberry Serial Port und Werte per MQTT senden
Dennoch hätte ich noch einige Fragen zu charge_control Steuerung.
Wie sind die nachfolgenden Angaben zu interpretieren (bin halt kein Softwerker).
charge_control.conf
DischargeDelay = 60
[Control]
Charge = 1
Discharge = 1
DCOutput = 1
change_control.py
@christ-reg Hallo mchrist,
schön das das BIC bei läuft!
Ich nicht verstehe allerdings nicht ganz was du mit der
genau meinst. Schaltest du das BIC ganz aus, wenn keine Solarenergie kommt oder der Akku leer ist? Ich lasse meine Anlage eigentlich durchlaufen, seit Monaten ohne einzugreifen. Weiterhin würde mich die Integration vom Shelly interessieren. Vielleicht kannst du deinen Code hochladen oder mir schicken, dann versuche ich das in das example_charge_control.py einzuarbeiten. Wenn ich darf.(gegen Dauerbetrieb bei 0% Acculadung oder unzureichender Solarleistung + Abschaltung bei zu hohen Temperaturen an BIC/Accu/Steuerung)
DischargeDelay = 60 wird benötigt um verzögert aus dem Akku einzuspeisen, damit werden Schwingungen vermindert.
Der weitere code und die Variablen unter "[Control], den du zitierst, ist in dieser Version des charge_control.py und der charge_control.conf enthalten und dient für Tests mit einer erweiterten Steuerung, hat aber noch keine Funktion. Geplant ist ein Interface, mit dem ich das BIC am Akku bedienen kann. Und das sind die vorarbeiten dazu.
Viele Grüße,steve
Hallo @stc,
Sorry für die späte Antwort.
Ja ich schalte meinen BIC über einen Shelly Plus1 aus wenn es keinen Solarüberschuss gibt und der Akku leer ist.
Derzeit wird dieses über eine Blockly Script im IoBroker gesteuert da ich dort auch die Werte vom BMS und der Solaranlage habe.
Das Script prüft alle 15 Minuten den Status (Solarüberschuss + Akku Stand) und schaltet dann aus oder ein.
Das Script ist aber derzeit nicht im Einsatz da manchmal beim Ausschalten des BIC der FI anspricht.
Prüfe gerade ob dieses immer beim Einspeisen aus dem Akku und Abschalten des BIC der fall ist.
Wenn dieses läuft ist das nächste Ziel ein Script direkt auf dem Raspberry der diese Steuerung übernimmt und den Shelly üben den Shelly Add-on schaltet.
Hast Du deine Steuerung auf einem normalen Raspberry mit einer SD Karte?
Gruß
mchrist
Bin grad dabei ein universelles Script zu schreiben, dass auch den BIC unterstützt.
Wenns soweit fertig ist, könntest du das mal ausprobieren.
Mach ich, wird aber noch etwas dauern
Ist ja nicht eilig, gerade liefert die Photovoltaik ganze 31W 🙁
Da ich keinen BIC habe, implementiere ich das ohne es test zu können.
Ich nutze den NPB nur zum Laden
Hallo @christ-reg
Ja ich schalte meinen BIC über einen Shelly Plus1 aus wenn es keinen Solarüberschuss gibt und der Akku leer ist.
Derzeit wird dieses über eine Blockly Script im IoBroker gesteuert da ich dort auch die Werte vom BMS und der Solaranlage habe.
Das Script prüft alle 15 Minuten den Status (Solarüberschuss + Akku Stand) und schaltet dann aus oder ein.
Das Script ist aber derzeit nicht im Einsatz da manchmal beim Ausschalten des BIC der FI anspricht.
Prüfe gerade ob dieses immer beim Einspeisen aus dem Akku und Abschalten des BIC der fall ist.
Das BIC ständig ab und an zu schalten ist nicht gut für die Lebensdauer... Wenn du das dennoch machen möchtest würde ich den DC Teil des BIC2200 vor dem Abschalten mit bic2200.py off vom Akku "trennen" und dann erst die AC Seite abschalten. Trennst du auch die DC Seite? Das ist nötig, da sonst der Akku weiter entladen wird. Du siehst ja auch das die LED leuchtet und ein Teil der Elektronik noch versorgt wird.
Ich lass alles laufen, die 13W im Leerlauf finde ich absolut OK. Da stresse ich das Gerät lieber nicht so, denn dafür sind sie nicht ausgelegt.
Dieses An/Abschalten mögen Wechselrichter überhaupt nicht, egal welches Fabrikat und Leistungsfähigkeit. Um das ordentlich zu machen ist eine gute Einschaltstrombegrenzung sowohl AC und DC seitig nötig. Das ist einiger Aufwand und ohne Energie und damit zusätzlichen Stromverbrauch geht das auch nicht.
Wenn überhaupt würde ich in der dunklen Jahreszeit ganz abschalten und alles trennen und wenn die Tage wieder länger werden, alles einschalten und laufen lassen..,
Wenn dieses läuft ist das nächste Ziel ein Script direkt auf dem Raspberry der diese Steuerung übernimmt und den Shelly üben den Shelly Add-on schaltet.
Hast Du deine Steuerung auf einem normalen Raspberry mit einer SD Karte?
Ja, die Steuerung läuft auf einem ganz normalen RPi4 mit SD Karte und CAN Hat. Geht einwandfrei.
Viele Grüße,
steve
Hallo @stc,
Durch das Abschalten des BIC vor dem Ausschalten über den Shelly wird das Auslösen des FIs verhindert.
Eine DC Trennung mache ich nicht, da ich dann den BIC ganz abschalte über die derzeitige IoBroker Steuerung.
Das Ein bzw. Ausschalten des BIC ist nach Aussage des Mean Well Support kein Problem.
Habe gesehen das das derzeitige Script auch noch negative Werte an den BIC sendet wenn der Accu leer ist und die minimal zulässige Spannung unterschritten wird.
Und wie Du bereits geschrieben hast wird der Accu weiter entladen.
Daher möchte ich das Script so erweitern das der BIC Abschaltet und keine Werte mehr an den BIC sendet wenn der Accu lehr ist.
Hintergrund ist auch das es bei Mean Well CAN Ladegeräten in Verbindung mit einer Trucki Steuerplatine zu ausfällen kam da die zulässigen Schreibzyklen des BIC Speichers überschritten wurden. (YouTube Der Kanal)
Gruß
mchrist
Hi, das mache ich auch schon.
Das mit der Limitierung der Schreibzyclen ist interessant.
Komisch, dass die das nicht in den RAM gepackt haben.
Ich mach aktuell maximal alle 10 Sekunden ein Update.
Wenn der Wert sich in einer Range (+/- 30W) befindet oder eh auf MAX ist, mach ich nix
Also, der Akku wird bei mir nie unter die eingestellte niedrigste Spannung entladen, egal welche Stromwerte er von dem Script gesendet bekommt. Der gemessene Strom geht gegen 0 A und ggf. lädt das BIC2200 sogar selbstständig nach um den Akku nicht zu beschädigen. Mein Akku wird jede Nacht leer und daher bin ich da sehr sicher.
Genau so ist des beim Laden egal welche Stromwerte geschickt werden, wenn der Akku voll wird und die eingestellte Ladeschlussspannung erreicht wird, geht der Strom langsam runter gegen Null... Alles andere würde keinen Sinn machen.
Ich habe geschrieben, das der Akku weiter entladen wird, wenn nur AC abgeschaltet wird (siehe oben). Und ein unabsichtliches Entladen nur dann verhindert wird wenn DC auch getrennt ist und am besten das BMS auch noch abgesteckt wird (oder in den Ruhemodus geschaltet). Ansonsten ist ein bereits leerer Akku ruck zuck tiefentladen.
Ich hab im Winter immer ca. 30% Restladung im Akku um einen Notstrombetrieb zu ermöglichen. Selbst da merkt man die Entladung wenn nur das BMS am Akku angewschlossen ist und seine Daten über MQTT sendet...
Tritt denn das Problem mit den maximal zulässigen Speicherzyklen sicher beim BIC2200 auch auf oder nur bei den NPB Ladegeräten ? Das sind ja doch verschiedene Geräteserien, auch wenn sie vom gleichen Hersteller kommen..
Viele Grüße,
steve
Edit:
Ich hab gerade mal nachgemessen, BIC2200 und BMS brauchen zusammen ca. 50mA, wenn das BIC auf der AC-Seite abgeschaltet ist. Sieht nicht viel aus, aber 1,2Ah pro Tag sind das auch.
Bei mir kommt noch dazu, das der Raspberry am Akku hängt, damit der durchgehend versorgt wird. Damit steigt der Strom auf 130mA, ergibt 3,1Ah pro Tag. Leer stehen lassen und dann Abschalten ist daher keine gute Idee. Wenn abgeschaltet wird, dann eher mit teilweise geladenem Akku und unter Beobachtung.
@christ.reg was für einen Akku hast du denn im Einsatz?
2.Edit:
Ich komme bei einer durchgehenden Nutzungszeit von etwas mehr als 8 Monaten bisher auf ca. 4 Millionen Schreib/Lesezyklen (alle 5s) auf dem CAN Bus. Bisher läufts noch einwandfrei
@christ.reg kannst du bitte den Link posten, wo die Problematik der defekten MeanWell Ladegeräte beschrieben wird. Danke!
Ich habs mal implementiert, ich schrieb jetzt nur noch alle 16 Sekunden einen neuen Wert.
Wobei bei Berechnung nicht ganz richtig ist finde ich.
Ich rechne worst case mit 365Tagen a 8h.
Da aber nur neue Werte geschrieben werden ist die gesamte Anzahl niedriger. Damit sollten bei alle 16 Sekunden > 10 Jahre rauskommen.
Reicht mir 😉
Evtl lad ich die erste Version am WoEn ins Github hoch
Danke für den Link.
Nachdem mein BIC2200 sicher mehr als 4 Millionen Regelschleifen durchlaufen hat, ergibt das mehr als 8 Millionen Schreibvorgänge von Wandlungsrichtung (Laden/Einspeisen) und Ladestrom/Entladestrom. Bisher, wie gesagt, ohne Probleme.
Eine Anfrage beim Meanwell Support wird da hoffentlich Klarheit bringen.
Ich werde berichten (oder der, der schneller eine Antwort hat 😉
Viele Grüße,
steve
Man darf gespannt sein. BIC und NPB sind sehr ähnlich.
Die Register und Befehle sind soweit übertragbar identisch. Schon vor dem YT Video habe mit zwei NPB gespielt.
Damals habe ich sie weggetan, dann anlässlich des Videos wieder hervorgeholt.
Die Antwort von Mean Well kann sicher nicht sein „‘mal so ‚‘mal so“
Mir fiel auf, dass Iout und Vout in einem nicht flüchtigen Speicher abgelegt werden. Diese beiden Werte sind damit auch das Kritische.
Man kann sie auslesen, auch nach einem Neustart.
Im Netzteilmodus stellte ich dann aber fest, dass 50/50 28.8V/13.5A oder Iout/Vout verwendet werden. Das kann so nicht gewollt sein.
Beide zeigen auch das Problem, dass OPERATION ON/OFF nach jeweils 1 bis 15 Wiederholungen im Effekt korrekt ausgeführt wird. Jede einzelne Wiederholung ist auf Protokollebene fehlerfrei, macht aber nur was es soll wann es will.
Ein NPB-450-24 verbraucht AC-seitig stattlich 4,5W standby.
SolarHeini