Skip to main content

ESP32-Firmware für Solar- und Energieüberwachung

GizanTech EngineeringIndustrial Firmware TeamUpdated 15. Juni 2026

Solarüberwachung scheitert im Feld aus banalen Gründen: Ein Brownout durch Sonnenabschattung beschädigt den Flash mitten im Schreibvorgang, ein Modbus-CRC-Fehler wird als 0-V-Strang protokolliert, oder der Wechselrichter ändert die Registerbelegung in einem Firmware-Update und Ihr Dashboard läuft still ins Leere. Wir schreiben ESP32/ESP32-S3-Firmware, die jeden Messwert als verdächtig, jede Verbindung als unterbrochen und jede Versorgungsschiene als kurz vor dem Ausfall behandelt.

Challenges specific to Energy & Solar

  • Brownouts beschädigen Flash beim Schreiben

    Wenn Wolken die PV-Leistung einbrechen lassen und der Regler absackt, fällt der ESP32 genau dann in einen Brownout, während er gerade einen Log-Datensatz festschreibt, was einen abgebrochenen Schreibvorgang hinterlässt und das Dateisystem unbrauchbar macht.

  • Modbus-CRC-Fehler als echte Nullen protokolliert

    Eine störbehaftete RS-485-Leitung zwischen Wechselrichter und Regler erzeugt CRC-Fehler, die naive Firmware als 0 A / 0 V aufzeichnet, einen toten Strang vortäuscht und falsche Nachtentladungsalarme auslöst.

  • Wechselrichter-Registerbelegung driftet über Firmware

    Hersteller ändern stillschweigend die Belegung der Holding-Register zwischen Wechselrichter-Firmware-Revisionen, sodass eine fest codierte SoC- oder Status-Adresse plötzlich den falschen skalierten Wert ohne Fehlerkennzeichnung zurückgibt.

  • Batterie-SoC driftet ohne Neukalibrierung

    Coulomb-Zählung an einem Blei-Säure- oder LFP-Speicher driftet pro Woche um Stunden an Fehler, sofern die Firmware den SoC nicht am Float-/Ruhe-OCV-Plateau neu verankert, das der Regler meldet.

  • Backhaul-Lücken verlieren nächtliche Telemetrie

    Abgelegene Solarstandorte über Mobilfunk oder LoRa verlieren stundenlang die Verbindung, und Firmware, die nur veröffentlicht und vergisst, verliert genau das Batterieentladungsfenster, das Betreiber zur Diagnose benötigen.

  • Hitze drosselt den Node vor der Anlage

    Ein Combiner-Box-Gehäuse erreicht im Sommer 70 °C und treibt den ESP32 in thermische Drosselung und Taktdrift, die Zeitstempel von Messungen und die Wi-Fi-Anmeldung gerade dann verfälscht, wenn die Last ihren Höhepunkt erreicht.

How GizanTech solves them

  1. Ausfallsicheres Logging. 1. Append-only-Ringpuffer in einer wear-leveled LittleFS-Partition mit CRC pro Datensatz und scharf geschaltetem Brownout-Detektor (BOD), sodass ein abgebrochener Schreibvorgang beim Boot erkannt und verworfen wird und das Volume nie unbrauchbar macht.
  2. Validierte Modbus-RTU-Erfassung. 2. CRC-geprüfte Modbus-RTU-Lesungen mit Retry-und-Quarantäne: Ein fehlerhafter Frame ergibt ein NULL-/Stale-Flag, niemals eine erfundene 0, und Skalierungsfaktoren pro Register liegen in versionierter Konfiguration, nicht im Code.
  3. Registerbelegungs-Versionsschutz. 3. Wir prüfen beim Verbinden ein Wechselrichter-Identitäts-/Firmware-Register und wählen das passende Registerbelegungs-Profil, mit Alarm bei unbekannter Belegung, statt SoC oder Statuswörter stillschweigend falsch zu lesen.
  4. OCV-verankerte SoC-Schätzung. 4. Coulomb-Zählung fusioniert mit Ruhespannungs-Neuverankerung (OCV) am Float-Plateau, mit chemiespezifischen Kennlinien für LFP und Blei-Säure, sodass der SoC-Fehler über Wochen unbeaufsichtigt begrenzt bleibt.
  5. Store-and-Forward-Backhaul. 5. Zeitgestempeltes Store-and-Forward über MQTT mit QoS 1 und Flash-Backlog, sodass ein mehrstündiger Mobilfunk-/LoRa-Ausfall die vollständige nächtliche Entladungskurve nach Rückkehr der Verbindung erneut überträgt.
  6. Thermisch bewusste Planung und OTA. 6. Industrietaugliche BOM, an die Innentemperatur gekoppelte Wi-Fi-/TLS-Arbeit und signiertes A/B-OTA mit Rollback, sodass ein abgelegener Combiner-Box-Node sicher aktualisiert und nie thermisch in einen fehlerhaften Flash drosselt.
ParameterQuelleAbtastrateSichere Aktion bei BereichsüberschreitungDatenaufbewahrungsbedarf
PV-Strang-Spannung / -StromADC analog (Teiler + Shunt) oder Regler-Modbus-Register1 HzStrang als fehlerhaft markieren, letzten gültigen Wert halten, Niedrig-/Kein-Ertrag-Alarm; nie erfundene 0 loggen1 s roh rollierend 48 h, 1-min-Aggregate 2 Jahre für Degradationstrend
MPPT-LadezustandRegler-Modbus-Holding-Register (bulk/absorb/float/fault-Enum)0,2 HzQuarantäne bei CRC-Fehler / unbekanntem Enum, vorherigen Zustand halten, Alarm bei Stuck-BulkZustandswechselereignisse 5 Jahre aufbewahrt; vollständiges Audit der Float-Übergänge
Batterie-SoCCoulomb-Zählung fusioniert mit OCV im Ruhezustand; Regler-Register-Quervergleich0,5 Hz intern, Neuverankerung bei FloatAuf 0-100 % begrenzen, markieren bei Drift gegenüber OCV über Band hinaus, Niedrig-SoC-Abschaltung verriegeln1-min-SoC 2 Jahre; Entladungsfenster-Ereignisse mit voller Rate
Wechselrichter-Status / AC-AusgangWechselrichter-Modbus RTU (Statuswort, kW, Fehlercode) über RS-4850,2 HzBelegungsversionsschutz; bei Netz-/Fehler-Bit sofort Alarm und Pre-Fault-Puffer-SnapshotFehlercodes + 60-s-Pre-Fault-Ringpuffer 5 Jahre aufbewahrt
Gehäuse-/KühlkörpertemperaturI2C-/1-Wire-Sensor in der Combiner-Box0,1 HzBei >70 °C Node-Auslastung drosseln, OTA aufschieben, Alarm vor Throttle1 min 1 Jahr für thermische Korrelationsanalyse
Solar-/Batterieüberwachungsparameter: Erfassungsquelle, Rate, sichere Aktion bei Bereichsüberschreitung und Aufbewahrung

Frequently asked questions

Welche Solar-Laderegler und Wechselrichter können Sie integrieren?

Jedes Gerät, das Modbus RTU/TCP oder analoge Telemetrie bereitstellt: Victron, EPEVER, Morningstar, SMA, Growatt und ähnliche. Wir erstellen pro Modell ein versioniertes Registerbelegungs-Profil, sodass Firmware-Updates, die Register umbelegen, die Überwachung nicht stillschweigend unterbrechen.

Wie halten Sie den Batterie-SoC ohne dediziertes BMS genau?

Wir fusionieren Coulomb-Zählung mit Leerlaufspannungs-Neuverankerung am Ruhe-/Float-Plateau unter Verwendung chemiespezifischer Kennlinien für LFP und Blei-Säure. Das begrenzt die kumulative Drift, die reine Stromintegration über Wochen unbeaufsichtigten Betriebs akkumuliert.

Was passiert mit den Daten, wenn ein abgelegener Standort die Verbindung verliert?

Telemetrie wird mit Zeitstempel versehen und in ein Flash-Backlog geschrieben, dann über MQTT QoS 1 erneut übertragen, sobald die Mobilfunk- oder LoRa-Verbindung zurückkehrt. Das nächtliche Batterieentladungsfenster bleibt in voller Auflösung erhalten, statt bei einem Veröffentlichungsfehler verloren zu gehen.

Beschädigt ein Brownout durch einen bewölkten Tag den Logger?

Nein. Wir verwenden einen Append-only-Ringpuffer mit CRC pro Datensatz auf einer wear-leveled Partition mit scharf geschaltetem Brownout-Detektor, sodass ein durch einen Spannungseinbruch unterbrochener Schreibvorgang beim Boot erkannt und verworfen wird, statt das Dateisystem zu beschädigen.

Kann sich die Firmware auf einer abgelegenen, unbeaufsichtigten Anlage sicher aktualisieren?

Ja. Wir liefern signiertes A/B-OTA mit automatischem Rollback, und das Update ist an Gehäusetemperatur und Verbindungsqualität gekoppelt, sodass ein 70-°C-Combiner-Box-Node nie während einer thermischen Drosselung oder einer schwachen Verbindung flasht.