nRF24 - SW-Niko/OpenDTU-OnBattery GitHub Wiki
Problem
Bei der Kommunikation mit den HM-Invertern gibt es verschiedene Probleme, die alle in der Funk-Statistik zusammenlaufen. Sie lassen sich grob in 3 Hauptbereiche aufteilen.
Problem-Bereich 1: SPI-Bus Der SPI-Bus ist die Kommunikationsschnittstelle zwischen dem ESP32 und dem nRF24. Er arbeitet mit 10MHz und kann Probleme machen, wenn die Leitungen zu lange sind oder wenn zu vielen Störungen in die Leitungen injiziert werden. Wer jetzt zum Beispiel ein Fusion-Board hat ist wegen der kurzen Verbindungen auf dem Board definitiv nicht betroffen. Wer allerdings einen Eigenbau betreibt, sollte die Verbindungsleitungen nicht länger als 40cm machen, ansonsten bekommt man Probleme mit der Signal-Laufzeit. Und ich würde die Leitungen auch nicht in die Nähe von Störquellen bringen. Im besonderen ist die Nähe zum AC-Ausgang von HM-Invertern zu vermeiden. Wir wissen ja, das Hoymiles wegen Überschreitung der Störausstrahlungs-Grenzen, den Verkauf in Europa eingestellt hat. Wir haben also ein individuelles Hardware / Aufbau / Verdrahtungs-Problem.
Problem-Bereich 2: Funkverbindung Die Funkverbindung zwischen dem nRF24 und dem Inverter kann durch viele Faktoren negativ beeinflusst werden.
- Zu weit entfernt vom Inverter
- Zu nahe am Inverter
- Störquellen / Andere Sender in der Nähe
- Kein PA/LNA
- Es gibt nRF24 Plagiate, die hinsichtlich der Qualität nicht ganz so gut sind.
- Schwache Spannungsversorgung wegen langer Leitungen
Wir haben also ein individuelles Hardware / Aufbau / Funkumgebung / Verdrahtungs-Problem.
Problem-Bereich 3: Channel-Hopping / Synchronisierung Die Inverter wechseln immer wieder den Sende-Kanal und das macht die DTU auch. Das erfordert aber auch eine Synchronisierung, damit der Inverter und die DTU, zum gleichen Zeitpunkt auf den gleichen Kanal wechseln. Und hier haben wir, meiner Meinung nach, ein Software-Problem. Die Kanal-Wechsel auf der DTU Seite ist zu ungenau und dann kann der Inverter sich nicht synchronisieren und wir landen bei einer schlechten Funk-Statistik.
Diese drei Probleme verhageln jetzt gemeinsam die Funk-Statistik und machen damit die Fehlersuche kompliziert. Viel besser wäre es, wenn man aus der Funk-Statistik ableiten könnte, wo das Hauptproblem liegt.
Channel-Hopping / Synchronisierung
Für das Problem Channel-Hopping / Synchronisierung habe ich eine kleine Verbesserung erreicht. Auf meinem System mit einem HM-300 habe ich folgendes erreicht.
Vorher:
Nachher:
Jetzt nicht nur auf die Prozentwerte schauen, sondern auf das Verhältnis von "TX Re-Request Fragmet" zu "RX Success". Vorher wurden im Schnitt 1.32 "TX Re-Request Fragmet" pro "RX Success" benötigt. Und jetzt werden im Schnitt nur noch 0.42 benötigt.
Die Regelung der Inverter geht spürbar besser und schneller. Ich arbeite jetzt mit einem Inverter Abfrageintervall von 1.2 Sekunden.