Raspberry PI - RS485 - SMA Wechselrichter

  • Hallo zusammen,


    ich bin ein Elektrotechnik Master Student und mache gerade eine Projektarbeit, bei der es unter anderem darum geht, mit dem Pi eine Verbindung über RS485 zu einem SMA Wechselrichter herzustellen um von diesem Betriebsdaten auszulesen.
    Dabei verwende ich die Kommunikationsschnittstelle Raspicomm und den Wechselrichter Sunny Island 5048.
    Doch mittlerweile bin ich ziemlich ratlos geworden, ich bekomme einfach keine Verbindung zustande.



    Bisher bin ich wie folgt vorgegangen:


    -yasdi auf dem Pi installiert
    -ini Datei korrekt konfiguriert (nach Anleitung in der yasdi Doku)
    -Wechselrichter mit Pi verbunden (Leitungen auch schonmal vertauscht probiert)


    Doch leider findet yasdi den Wechselrichter nicht. Beim Start der yasdishell wird angezeigt, dass die Treiber geladen sind und keine Fehlermeldung erscheint.


    Habe schonmal einen anderen Wechselrichter probiert (SB3000) jedoch ebenfalls ohne Erfolg.


    Anschließend habe ich mir einen SunnyBoy Control besorgt und diesen angeschlossen. Er findet beide Wechselrichter sofort. Dabei habe ich mir mit dem Oszi mal die Pegel angeschaut, wenn der Control nach einem Wechselrichter sucht (es war sonst nichts am Bus angeschlossen) und ebenfalls habe ich das gleiche beim PI gemacht. Dabei habe ich die beiden angehängten Fotos gemacht. Der Pi hat einen Ruhepegel von ground zu einer der beiden Datenleitungen (weiß nicht mehr welche) von guten 300mV. Der Control hat an dieser Stelle einen Ruhepegel von 250mV. Wenn der Pi mit yasdi nach einem Wechselrichter sucht, schlägt er nach unten aus (siehe Bild). Der Control schlägt nach oben und unten aus (siehe anderes Bild).


    Am Ende habe ich jetzt mal den Control direkt an den Pi angeschlossen und habe ein kleines Pythonskript geschrieben, welches immer nur den RS 485 Eingang der Raspicomm ausliest und anzeigt. Wenn der Control liest, wird am Pi leider überhauptnichts ausgegeben. Wenn ich jedoch mit einem zweiten Pi über die RS 485 ebenfalls mit einer Raspicomm an den ersten PI sende, wird das angezeigt, was ich gesendet habe.


    Meine Vermutung ist, dass das Problem an den unterschiedlichen Spannungspegeln liegt zwischen SMA Gerät und Raspicomm.
    Hat jemand damit schonmal Erfahrungen gesammelt und kann mir vielleicht einen Tipp geben?


    Vielen Dank schonmal!


    Consti_r

  • Was du gegen GND misst ist wohl ziemlich egal.
    Wichtig ist nur das du ZWISCHEN beiden Signalleitungen was misst (Differenzsignal).


    Außerdem 2- bzw. 4-Drahtbus beachtet und Terminierung?


    Übrigens: du mußt wohl die entsprechenden Befehle senden sonst macht die Gegenseite von sich aus gar nix.
    Da kommen IMHO nicht ständig Daten, nur nach Anforderung

  • Hallo,


    2 oder 4 Draht scheidet meiner Meinung nach aus, weil er ja mit einem zweiten
    RasPi gestestet hat und die miteinander reden konnten über RS485 (4 Draht = RS422).


    Klemme 2 und 7 am SMA genommen?


    Terminierungsjumper am PiggyBack ganz unten gesteckt und
    mit 120 Ohm am RasPi mal probiert?


    Mal noch ne dumme Frage :
    Was für ein PiggyBack hast du?
    Es könnte sein das du eins von SolareDatenSyteme hast und die brauchen
    sep. Stromversorgung an Klemme 3 und 5...


    Gruß Verona

    7,995 kWp - 37 IBC 215TS - Solarmax + Mastervolt
    2,160 kWp - 12 Day4 180 - Solarmax
    2,250 kWp - 10 Sanyo HIP225 - Solarmax
    1,890 kWp - 06 Sunpower 315 - Mastervolt
    6,000 kWp - 24 Yingli 250 - 2 Steca
    12 kW ESS Peus-Testing
    http://www.solarlog-heckmann.de

  • Zitat von Murray

    Was du gegen GND misst ist wohl ziemlich egal.
    Wichtig ist nur das du ZWISCHEN beiden Signalleitungen was misst (Differenzsignal).


    Ja das ist mir bekannt, hatte nur leider keinen Differenzentastkopf oder ein Oszi mit einer Math Funktion zu Verfügung



    Zitat von Murray

    Außerdem 2- bzw. 4-Drahtbus beachtet und Terminierung?


    Terminierung ist korrekt am Raspi und am Wechselrichter, habe beide auch nachgemessen. Sonst ist kein weiterer Teilnehmer am Bus.





    Zitat von Murray

    Übrigens: du mußt wohl die entsprechenden Befehle senden sonst macht die Gegenseite von sich aus gar nix.
    Da kommen IMHO nicht ständig Daten, nur nach Anforderung


    Wie am Anfang beschrieben, habe ich einmal vom Control aus den Befehl gegeben neue Wechselrichter zu suchen und einmal vom Raspi aus. Beim Control antwortet der Wechselrichter, beim Pi nicht. Die Oszibilder zeigen einmal die Anfrage vom Pi und einmal die Anfrage vom Control.



    dsvC

  • Zitat von VeronaFeldbusch

    Klemme 2 und 7 am SMA genommen?


    Ja, das habe ich gemacht. Mit dem Control geht es, nur wenn ich dann den Pi anstatt den Control anschließe geht es nicht mehr. Dabei habe ich am Wechselrichter nichts geändert und am Pi die Leitungen genauso angeschlossen wie sie vorher am Control waren (habe in der Bedienungsanleitung vom Control nachgeschaut)



    Zitat von VeronaFeldbusch

    Terminierungsjumper am PiggyBack ganz unten gesteckt und
    mit 120 Ohm am RasPi mal probiert?


    Ja das passt alles



    Zitat von VeronaFeldbusch

    Was für ein PiggyBack hast du?


    Ich habe das Modul direkt von SMA erhalten. Der andere genannte Wechselrichter (SB3000) hat sein eigenes Piggyback, ebenfalls von SMA, das aber leider auch nicht funktioniert. Außer mit dem Control funktionieren beide, dabei habe ich keine zusätzliche Spannungsversorgung angelegt (am WR nichts geändert)

  • Zitat von Consti_r


    Wie am Anfang beschrieben, habe ich einmal vom Control aus den Befehl gegeben neue Wechselrichter zu suchen und einmal vom Raspi aus. Beim Control antwortet der Wechselrichter, beim Pi nicht. Die Oszibilder zeigen einmal die Anfrage vom Pi und einmal die Anfrage vom Control.


    Also an den Oszibildern erkennt man nicht wirklich was.
    Daher kan ich nicht beurteilen ob du die gleichen Befehle sendest.
    CRC beachtet?


    Übrigens bei galvanischer Trennung braucht man keinen Differenzentastkopf etc.
    Da kannst direkt dran an die Signale.
    Sollte beim Raspi eh gewährleistet sein.


    Beim PC allerdings könnte es Probleme geben (da Masse auf PE).
    Am besten dann ein Laptop benutzen

  • Hallo,


    also ich verwende auf dem Pi die yasdishell, dh. ich habe bisher kein eigenes Frame geschrieben, also auch keine CRC berechnet. Ich gehe mal davon aus, dass yasdi das alles automatisch macht, wenn ich in der shell den Befehl, neue Geräte erfassen, starte.


    Gruß
    Consti_r

  • Hallo zusammen,


    also ich habe jetzt anstatt der Raspicomm einen USB/RS485 Adapter verwendet. Mit diesem funktioniert jetzt die Kommunikation.


    Gruß
    Consti_r