Forum: Haus & Smart Home RS485 / CAN Protokoll


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Heinrich V. (heinz-l)


Lesenswert?

Hallo, ich bin in Sachen Busverbindung ein Anfänger,
Ich habe folgendes Problem: Ich habe eine Solaranlage mit einem Wandler 
von Growatt mit einem Lifepo4 Speicher mit einer BMS von HEYO, der 
Wandler benötigt Daten vom BMS beide haben sowohl eine RS485 
Schnittstelle und auch eine CAN Schnittstelle über beide wäre eine 
Kommunikation möglich.
Leider passen die Protokolle der beiden Hersteller überhaupt nicht 
zusammen.
Von beiden Geräten habe ich das Protokoll sowohl von der RS485 als auch 
von der CAN Schittstelle.
Der Wandler sendet eine Anfrage an das BMS und erwartet die Antwort, 
Spannung der Batterie und Ladezustand.
Durch die unterschiedlichen Protokolle und Bezeichnungen der Datenworte 
funktioniert das natürlich nicht.
Wie kann ich die Daten sinnvoll anpassen?
Ich dachte eventuell mit einem raspberry die Daten vom BMS einlesen, 
anpassen und dann nach Anfrage vom Wandler an selbigen weiterzuleiten.
Wie aufwändig ist so etwas was benötigt man da an Hard und  Software 
oder gibt es eine einfachere Lösung?

von Hmmm (Gast)


Lesenswert?

Heinrich V. schrieb:
> Wie aufwändig ist so etwas

Kommt auf die gesprochenen Protokolle und Deine Vorkenntnisse an.

Heinrich V. schrieb:
> was benötigt man da an Hard und  Software

Ahnung von Hard- und Software: MCU mit 2 UARTs, dazu 2 RS485-Transceiver 
und etwas Hühnerfutter.

Nur Ahnung von Software: Kleiner Rechner (Raspberry Pi ginge) mit 2 
USB-RS485-Adaptern.

Heinrich V. schrieb:
> gibt es eine einfachere Lösung?

Bei den Herstellern fragen. Und wenn viele dieses Problem haben, gibt's 
evtl. auch etwas Fertiges von Drittanbietern.

von Wolfgang (Gast)


Lesenswert?

Heinrich V. schrieb:
> Wie aufwändig ist so etwas was benötigt man da an Hard und  Software
> oder gibt es eine einfachere Lösung?

Das kommt drauf an. Der Aufwand liegt im Auge des Betrachters. Und es 
kommt auch drauf an, wie schnell die Kommunikation sein muss.

Falls das alles gemütlich ablaufen kann, reichen an HW für die reine 
Funktion 1 Arduino Nano und 2 sogenannte RS-485 TTL-Wandler für um die 
5€.

von Peter Z (Gast)


Lesenswert?

Wenn man die CAN Baudrate eines Teilnehmers anpassen kann würde ich ein
STM32F072 Evalboard für 15 Euro und ein CAN Transceiver Board für 5 Euro 
nehmen.
Vorausgesetzt es ist das nötige Knowhow vorhanden die Software zu 
schreiben...

von Heinrich V. (heinz-l)


Lesenswert?

Danke für eure Ausführungen, der Schwachpunkt liegt bei mir bei der 
Software.

Zur Info: Grundsätzlich läuft die Anlage, ich habe beim Hybrid 
Wechselrichter Growatt SPH 4600 Blei Batterie ausgewählt und die 
minimale Ladespannung auf 44,6V und die maximale Ladespannung auf 55V 
(würde gerne 54,5V geht aber nicht nur 55 bis 60V)  eingestellt, bei 
dieser Einstellung benötigt der Wechselrichter keine Kommunikation mit 
der Batterie. Allerdings ist die Ladezustandsanzeige auch ziemlich 
daneben, da die Lade und Endladekurven von Blei und Lifepo4 völlig 
anders sind. An der BMS habe ich als maximale Ladespannung 54,5V 
angegeben, somit schaltet das BMS das Laden bei 54,5V ab. Läuft soweit 
aber grundsätzlich gut.
Daher möchte ich doch gerne Den Wechselrichter auf Lifepo4 einstellen, 
dann benötigt er aber die Kommunikation mit der BMS.
Der Hersteller hat sicher kein Interesse da etwas anzubieten, er würde 
gerne seine eigenen Speicher verkaufen und da passt es ja mit der 
Schnittstelle. Ist aber deutlich teurer als meine Lösung.

Wie ich euren Ausführungen entnehmen kann wäre für mich da ein raspberry 
pi mit einer CAN / RS485 Schnittstelle von Reichelt für 12,xx Euro (RPIZ 
SHD RS485 raspberry Pi Zero Shield - RS485 CAN HAT, MCP2515) als Ausgabe 
möglich.
Fürs Einlesen habe ich noch einen RS485 zu USB Adapter (vom BMS 
Hersteller mittbestellt) damit könnte ich die benötigten Werte über USB 
in den raspberry einlesen.
Dann wäre da noch das für mich größte Problem mit der Programmierung.
Gibt es da eine Software für den raspberry die gut beschrieben ist,  mit 
der ich mich beschäftigen könnte um das passende Programm zu erstellen?

von Jörg S. (jrg_s115)


Lesenswert?

Hallo Heinrich,
ich habe das gleiche Problem. Hast du eine Lösung gefunden. Würde mich 
sehr freuen wie du das Problem gelöst hast. Ich habe auch einen Growatt 
sph4000 und einen Akku von Josma. Die beiden Komunizieren schon mit ein 
ander aber der AKKU schaltet auf über Spannung (Laden) ab. Ich möchte 
dem Growatt ein signal senden nicht weiter Laden.
Jörg

von Daniel (reddingo)


Lesenswert?

Hallo,

ich habe ein ähnliches Problem.
Growatt SPH 4000 mit einem Felicity Speicher der nicht zusammen 
kommunizieren möchte. Nun schaue ich nach möglichen Optionen wie man den 
zum laufen bekommt, entweder durch angepasste Firmware im Speicher, oder 
durch einen Adaoter (Ist ja nur dämliches CAN oder Modbus)

Eine Frage an Jörg S.: Läuft das bei dir mit CAN oder RS485?
Und wäre es möglich dass du die Kommunikation einmal aufzeichnest und 
mir zur Verfügung stellst?

Viele Grüße,
Daniel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.