GPIO's schalten umgekehrt

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe ein Problem mit meinem neuen Raspberry Pi 3B+. Installiert habe ich Rasbain und wollte meine Programme ausprobieren dabei ist mir etwas komisches aufgefallen wenn ich bei einem GPIO (z.B. 23) auf Out setze fängt er sofort an zu leuchten (er ist an einer Relaikarte angeschlossen die auch über Plus geschalten wird), wenn ich jetzt den Ausgang auf HIGH setze ist der GPIO wieder stromlos.

    Beispiel Programm:

    Das gleiche prinzip bei meinen I2C auch:

    bus.write_byte_data(DEVICE, IODIRB, 0x00) #Alle Relais schalten auf 1

    bus.write_byte_data(DEVICE, OLATB, 255) #Alle Relais schalten auf 0

    Beim I2C ist es zudem verwirrend da man so schauen muss welche sie ausschalten sollen.

    Kann man das umstellen? (weil in allen Tutorials usw. ist es so LOW = 0 und HIGH = 1, das gleiche beim I2C)

    ich hoffe ihr könnt mir helfen danke schon mal im vorraus.:)

    Mit freundlichen Grüßen

    Thomas

  • Das ist bei mir genau so. Es liegt bei mir daran, dass das Relais an geht, wenn Masse also GND auf dem Pin vom Relais liegt.

    Also wenn du den GPIO auf HIGH setzt, sind ja 3,3V drauf was dann bedeutet, dass das Relais aus geht.

    Aber wenn du den GPIO auf LOW setzt, dann is 0V drauf also geht das Relais an.

    Ich denke, dass das nichts mit deinem RPi oder mit den GPIOs zu tun hat. Hast du es schon mal mit einer LED oder einem anderen Gerät ohne Relais versucht?

    Meine Raspberrypis

    RPi4 (4GB) Als kleiner "Server" mit Nextcloud, Pihole und Minetest Server

    Pi3 Als Display mit Wandeinbau im Flur (WLAN und Bluetooth kaputt)

    RPI3b Als Mediacenter

    RPI3b als Mediacenter

    RPI0 als Überwachungskamera

    RPI0 als Kamera im Vogelhaus

    RPI3b+ im Pi-Top zum Basteln

    RPI3b ohne Verwendung

    RPI0W ohne Verwendung

  • Hast du mal direkt am GPIO mit einem Messgerät nachgemessen (oder mit einer LED+Widerstand getestet)? Es wäre wunderlich, wenn da die Pegel vertauschst sind...

    Bist du sicher, dass dein Relais nicht genau andersrum arbeitet? Viele Relais werden mit der Steuerspannung (5V/3,3 V vom µC oder Pi) verbunden und zum Einschalten des Relais wird der entsprechende Eingang des Relais auf GND verbunden. (So fließt ein Strom durch einen Optokoppler und schaltet die Spulen.) Wenn es so ist und du den GPIO auf LOW schaltest, zieht er den Relaiseingang auf GND und das Relais schaltet. Stellst du den GPIO auf HIGH, ist auch der Relaiseingang auf HIGH und das Relais schaltet nicht.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hier nochmal ein kleines Schaltbild von meinem Relais:

    https://howtomechatronics.com/wp-content/upl…chematics02.png

    sobald am In1 GND ist, ist der Stromkreis geschlossen und die Diode im Optocoupler leuchtet und schaltet damit das Relais.

    Edit:

    Ups... gleichzeitig

    Meine Raspberrypis

    RPi4 (4GB) Als kleiner "Server" mit Nextcloud, Pihole und Minetest Server

    Pi3 Als Display mit Wandeinbau im Flur (WLAN und Bluetooth kaputt)

    RPI3b Als Mediacenter

    RPI3b als Mediacenter

    RPI0 als Überwachungskamera

    RPI0 als Kamera im Vogelhaus

    RPI3b+ im Pi-Top zum Basteln

    RPI3b ohne Verwendung

    RPI0W ohne Verwendung

  • Danke für eure sehr schnellen antworten. Ihr hattet recht ich habe das Messgerät dazwischen gehängt und bei HIGH fließt ganz normal der strom und bei LOW nicht also schalten die Relai's so daran umstellen/ bauen kann man nichts oder?

  • Softwareseitig ist das ja eigentlich egal- du musst nur 1 und 0 umgekehrt programmieren.

    Machen kann man was, wenn man einen Transistor dazwischen schaltet. Für mehrere Relais bietet sich ein ULN2007/2008 oder sowas an.

    Wenn du denen ein High gibst, kannst du am Ausgang die Relaiseingänge gegen GND schalten und dann ist es wieder richtig rum.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!