das Solaranzeigeprojekt ist ganz schön umfangreich. Bevor ich mich da drann wage, probier ichs erst mal mit einem µC (ESP8266).
Als Schnittstelle zum RS485 nutze ich einen der unzähligen (ebay) Module.
Aufgefallen ist mir nur, das der Charger die Pluspole (PV-BAT-LOAD) verbunden hat und die GND’s unabhängig floaten.
Also VCC vom µC an Load und RS486 GND von Bat zu verbinden ist keine gute Idee...
ich habe ein Problem die Register des Ladereglers eigens auszulesen / zu steuern.
Die Beispiele (Register Protokoll) funktionieren auf Anhieb.
zB runstate:
Code: Alles auswählen
AA 01 00 01 00 03 00 00 1A 37
Code: Alles auswählen
{
"ESmart_ChgMode":1,
"ESmart_PvVolt":104.10,
"ESmart_BatVolt":25.30,
"ESmart_ChgCurr":2.10,
"ESmart_OutVolt":0.00,
"ESmart_LoadVolt":25.20,
"ESmart_LoadCurr":3.90,
"ESmart_ChgPower":53,
"ESmart_LoadPower":98,
"ESmart_BatTemp":9,
"ESmart_InnerTemp":35,
"ESmart_BatCap":58,
"ESmart_CO2":0.00
}
zB. Auslesen des Bat-Registers
Code: Alles auswählen
"AA 01 00 01 03 00 00 14 3D"
oder
Code: Alles auswählen
"AA 01 00 01 00 54"
Mit dem Kopf
0xAA = Startbyte
0x01 = Lader (kein WR)
0x00 = Broadcast
0x01 = lesen
0x03 = anzahl folgender Datenbytes
0x00 00 = Adressstart (Offset)
0x14 = Erwartete Respose-Bytes
0x3D = checkbyte = 0 - Summe Bytes (ohne Checkbyte natürlich) & 0xFF (untere Byte)
Was mach ich falsch?