Auslesen einer EVCC-Steuerung mit RS485

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo,

    ich versuche seit einigen Tagen vergeblich eine Verbindung von meinem RPi zu einer Ladestation für Elektroautos herzustellen. Dabei handelt es sich um eine ABL emh1 mit der Steuerung "ABL EVCC". Meine Idee war, von den rx/tx Pins am GPIO auf einen GPIO-->RS485 Adapter zu gehen, welcher dann mit einem Kabel mit der Ladestation verbunden ist.

    Die Daten des Moduls sind:


    RS485, 38400Bd, 8 Datenbit, 1 Stopbit, kein parity, Kein Abschlusswiderstand; Netzwerk an den Enden mit jeweils 120Ω abschließen!


    In der Anleitung steht, dass z.B. der Befehl "!n 04" gesendet wird und dann z.B. ">n 04 0001" zurück kommt. Befehle sollen zudem mit <CR><LF> abgeschlossen werden.

    Der Link zur Bedienungsanleitung: Anleitung ABL EVCC

    Da ich mit der Programmierung nicht wirklich gut vertraut bin, habe ich es mit diversen codes aus anderen Foren probiert, leider ohne Erfolg. U.A. bin ich dabei auf die Programme minicom und picocom gestoßen, welche ich schon auf die Einstellungen abgestimmt habe, konnte hier aber weder etwas senden noch empfangen.


    Hat jemand Erfahrung mit der Steuerung, bzw. weiß wie ich einen einfachen Befehl schicken, und die Antwort auslesen kann?


    Vielen Dank im Voraus!


    LG

  • In der Anleitung steht, dass z.B. der Befehl "!n 04" gesendet wird und dann z.B. ">n 04 0001" zurück kommt.

    Nein, das steht nicht in der Anleitung.

    Dort steht :


    Ergo müsste der Befehl !0 04 lauten um ein 0 04 001 zurück zu bekommen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Stimmt, das hab ich wohl übersehen. Jetzt weiß ich aber trotzdem nicht wirklich, mit welchen Befehlen bzw. Programmen ich dieses Signal übertragen kann, um auch etwas zu empfangen :/

  • Picocom ist schon OK.


    Du musst nur schauen an welchem Punkt unter /dev dein 485 sich eingehangen hat.


    Dann startest du im Terminal (im Beisiel /dev/serial0):

    picocom -b 38400 -d 8 -f n -p n /dev/serial0

    und schon solltest du im Terminal !0 04<enter> eintippen können und die Antwort sehen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Leider kommt bei mir überhaupt nichts zurück...

    Ich habe an den Ausgang des RS485 (A,B) ein Oszi angesteckt, kann aber bei Eingabe ins Terminal keinerlei Spannungsspitzen erkennen. Gibt es irgendwelche anderen Einstellungen im Pi, um /dev/ttyAMA0 zu benutzen?


    Der Befehl für picocom lautet bei mir also:

    Code
    picocom -b 38400 -d 8 -f n -p n /dev/ttyAMA0

    Ich habe bereits das Bluetooth im /boot/config.txt ausgeschaltet, sowie alles laut folgender Anleitung: RS485

    Ich bin mir aber nicht sicher, ob im hier angegebenen Quellcode die Belegung für rx/tx richtg sind.

    Den folgenden Code habe ich unter homematicwired.conf im /root Verzeichnis gespeichert:



    Langsam bin ich echt am verzweifeln. :rolleyes:

  • Die verlinkte Anleitung sagt dass die .conf in /etc/homegear/families liegt und nicht unter /root

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Danke, hab ich gerade geändert, trotzdem kein Signal.

    Weißt du ob die Pin-Belegung laut Anschlussplan stimmt?

  • GPIO --> RS485 Modul

    tx (Pin 8 --> DI

    rx (Pin 10) --> RO

    GPIO 23 (Pin 14) --> DE

    GPIO 24 (Pin 16) --> RE


    Die Anschlüsse A/B sind jeweils mit den Anschlüssen A/B am Modul verbunden, an beiden Enden des Kabels (LiYCY 2x0,5mm², ca. 30m lang) hängt zwischen den Kontakten A und B ein 120Ω Widerstand, also auch alles laut Montageanleitung der EVCC.

  • Die Anschlüsse A/B sind jeweils mit den Anschlüssen A/B am Modul verbunden,

    Ich hab jetzt nicht so die Ahnung von 2-Wire 485 aber müssen die Leitungen nicht gedreht werden ?

    4-Wire kenne ich so :


    Code
    Master   Slave
    RX+ ----- TX+
    RX- ----- TX-
    TX+ ----- RX+
    TX- ----- RX-



    Code
    2 Wire ? (Wie bei RS232 auch)
    A (TX) ---> B (RX)
    B (RX) <--- A (TX)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Ich hab die beiden jetzt getauscht, leider kein Signal. Ich habe das Oszi mal direkt an den RX/TX Pins angeschlossen und kann dort keinerlei Veränderung der Spannung feststellen. Nun weiß ich nicht, ob das GPIO überhaupt genutzt wird, bzw. noch funktioniert. Gibt es eine Möglichkeit, das auszuschließen?

  • RX/TX Pins angeschlossen

    Wie hast Du versucht, Änderungen zu provozieren? Was ist mit GND, wo ist das überall verbunden?


    Ich hab jetzt auch noch nie mit RS485 was gemacht, daher kann ich zumindest über die korrekte Terminierung auch nur das hier nachplappern.


    Wir fangen nochmal von vorn an. Wie ist die Ausgabe von folgender Zeile auf dem RPi:

    Code
    ls -la /dev/seri*
    ls -la /dev/ttyS*
    ls -la /dev/ttyAMA*

    Warum lese ich oben von homematic und homegear, warum hast Du das installiert? Und wenn nicht, kannst Du viel eintragen, das wird das restliche System nicht jucken.

    Warum sind die GND nicht verbunden?

    Ich bin gerade über RE(Receiver enable)/DE(Driver enable) gestolpert. Wie setzt Du denn diese?


    Edith merkt an: Wenn ich mir die µC(?) Programme von hier ansehe, muss DE auf high und RE auf low (jeweils zum richtigen Zeitpunkt) gesetzt werden, sonst passiert wohl gar nüschd.


    Edith merkt nochmal an: 30m Kabel sind bei 3,3V schon eine ganz schöne Hausnummer. Besteht die Möglichkeit, das zum Test mit geringer Länge zu probieren?

  • Übersehen, Danke STF

    Die Spannungsversorgung des RS485 Moduls erfolgt über die Kontake 1 (3V3) und 25.

    Dann habe ich aber nochwas,

    Ich habe die Verdrahtung von den Herstellerangaben übernommen (Bild 2):

    Anschluss RS485

    Der Link von dir besagt dass das Modul mit 5V arbeitet.

    Schließe dass jetzt aber nicht leichtfertig an 5V an, da ich dann nicht weiß welche Pegel du auf die GPIOs bekommst.


    Bei meinem Smartmeterprojekt hatte ich diesen ModBus Adapter verwendet

  • Der Link von dir besagt dass das Modul mit 5V arbeitet.

    Da hast Du recht, Adlerauge. Es gibt ja auch eine 3,3V Version, allerdings steht mal wieder nirgends, ob die die 5V Version ausserhalb der Specs betreiben und es zufällig funktioniert.

  • Hast du denn die 120Ohm Widerstände verbaut?

    Ja hab ich, jeweils einen zwischen A und B an RS485 Modul und EVCC.


    Wir fangen nochmal von vorn an. Wie ist die Ausgabe von folgender Zeile auf dem RPi:

    Code
    1. /dev/serial0 -> ttyAMA0
    2. '/dev/ttyS*' nicht möglich: Datei oder Verzeichnis nicht gefunden
    3. ttyAMA0

    Zu 2. habe ich es auch anstelle des "*" mit Nummern versucht, immer die gleiche Ausgabe.

    Warum lese ich oben von homematic und homegear, warum hast Du das installiert?

    Danke für den Hinweis, da hast du natürlich Recht, den Punkt habe ich in der Anleitung übersehen. Ich werd mich gleich mal daran machen die Pakete zu installieren.

    Die RI und RE liegen auf Pin 16 und 18 (GPIO 23/24), das muss ich wahrscheinlich in der .conf datei noch anpassen.