GPIO Pegel High und Low umstellen?

Begonnen von jumperger, 22 August 2019, 19:46:36

Vorheriges Thema - Nächstes Thema

jumperger

Hallo ,
also RPi und GPIO Anfänger habe ich die Frage ob man bei den GPIO , High und Low Pegel umstellen kann?
Zur Problematik:
Am RPi3B+ hängt ein 32 GPIO Expander über I2C an den GPIOs eine 8 Relais-Karte (China-Model)
Nicht angeschlossen sind die Relais mit Kontakt auf Input A-B..C ist offen
Schliesse ich die Relais nun an die GPIOs an ziehen sie sofort an A..B-C dabei leuchtet die Led des Relais.
Das ist kein Problem für meine Schaltung, alles funktioniert, jedoch ist meine Schaltung zu 99,99 % der Zeit offen, das bedeutet das Relais zu 99,99% der Zeit angezogen mit leuchtender Led.

Daher die Frage ob es möglich ist dass die GPIOs immer stromlos sind und nur während dem Bruchteil der Schaltung einmal kurz Strom abgeben?

Danke für eure Anregungen.
jumperger

Frank_Huber

#1
Nabend Gerard,

Soweit ich die Mcp23017 kenne ist das einzige das du machen kannst on und off tauschen. Also set OUT_1 PortA0 off absetzen zum anschalten.
Dann hast nur die LEDs auf der Erweiterungskarte anderst rum.

Oder du nimmst Relais die ein High am Eingang erwarten zum schalten.
Dein jetziges scheint bei low Pegel zu schalten.

EDIT:
Ich habe diese hier verbaut:
https://www.raspiprojekt.de/kaufen/shop/bausaetze/bausatz-zweifach-relaiskarte.html
laufen perfekt. Und es gibt super passende Hutschienengehäuse.

Gesendet von meinem S60 mit Tapatalk


jumperger

Was ist eigentlich high und low Pegel?

Frank_Huber


jumperger

Das würde also heissen dass die GPIOs im normalen Zustand HIGH sind und wenn sie geschaltet werden auf LOW gehen.
Habe ich das so richtig verstanden?

Frank_Huber

Morgen,
Anderst rum, deine Relais schalten bei low.


Gesendet von meinem S60 mit Tapatalk


jumperger

Die GPIOs haben also keine Spannung wenn sie nicht geschaltet werden und meine Relais Karte ist dann LOW Trigger. Übrigens ist es dieses Model

Anstatt die GPIOs umzuprogrammieren macht es also mehr Sinn eine HIGH-Trigger Relais Karte zu beschaffen, falls es das gibt, oder eine welche per Jumper eingestellt wird wie diese.

Frank_Huber

Wenn du löten kannst habe ich wie oben erwähnt diese hier im Einsatz in Hutschienen Gehäusen:
https://www.raspiprojekt.de/kaufen/shop/bausaetze/bausatz-zweifach-relaiskarte.html

jumperger

Wenn dieses 8-fach Modul passt, für 13€, dann mach ich mir nicht die Mühe 4x den Bausatz zu löten, zumal im Obergeschoss minimum 12 und im Ersgeschoss minimum 32 nötig sind um alle bestehenden Taster zu simulieren, nicht zu schweigen von den Ideen die schon am sprudeln sind ;-)

https://www.roboter-bausatz.de/1452/8-kanal-relais-modul-5v-high/low-level-trigger-einstellbar

Otto123

Hi,

ich klinke mich mal ein: wegen "GPIO hat Spannung" :)
Die GPIO vom Raspberry ist hier im Detail beschrieben -> https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md
In Kurzfrom:
GPIO ist nach Reset im Input Modus, an manchen Pin ist ein Pull Widerstand aktiv.
Im Output  Modus kann entweder die VCC oder GND an den Pin geschaltet werden, also Strom im Verbraucher von plus (VCC) nach GPIO oder von GPIO nach minus (GND) fließen.
Es gibt anschaltbare Pull Up und Pull Down Widerstände für den definierten Eingangspegel bei "offen".

Achtung!
Deine Relais Karte ist eine 5 Volt Karte laut Link -> das tötet eine 3,3 Volt GPIO (Raspberry)!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jumperger

Zitat von: Otto123 am 23 August 2019, 12:04:17
...
Achtung!
Deine Relais Karte ist eine 5 Volt Karte laut Link -> das tötet eine 3,3 Volt GPIO (Raspberry)!
...
Bei meinen aktuellen Tests speise ich die Relais-Karte über den RPi VCC 3,3 Pin und bei einem angeschlossenen Relais funktioniert das auch.
Wenn ich dich richtig verstehe wird es Probleme geben wenn ich die Relais-Karte extern mit 5V speise.
Da gibt es dann diesen Jumper VCC/JD-VCC, kann der helfen dass der RPi nicht durchbrennt?
Hierzu ist HIER glaube ich eine Anleitung, nur kann ich diese an meinem iPhone irgendwie nicht öffnen.

Otto123

Naja vielleicht betreibst Du die Relaiskarte ja auch nicht direkt am Raspberry, denn Du hast ja von einem I2C GPIO Expander geschrieben.

Die Relais würde ich final an 5 Volt betreiben und ich würde sie NICHT vom raspberry speisen! In keinem Fall!
Die Optischen Eingänge kannst Du dann wie in der Beschreibung an die 3,3 Volt Ausgänge hängen, das wird gehen. Dann sind die beiden Kreise ja getrennt.

Die Relais haben Umschaltkontakte, ich habe auch nicht verstanden warum Du die so betreiben willst, dass Du offene Kontakte haben willst und die Relais angezogen sind. Nimm doch einfach den anderen Kontakt, der in Ruhe der offen ist wenn die Relais abgefallen sind?!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jumperger

Zitat von: Otto123 am 24 August 2019, 16:07:34
Naja vielleicht betreibst Du die Relaiskarte ja auch nicht direkt am Raspberry, denn Du hast ja von einem I2C GPIO Expander geschrieben.
Korrekt, die Karteneingänge hängen an den GPIO-Ports des Expanders.

Zitat von: Otto123 am 24 August 2019, 16:07:34
Die Relais würde ich final an 5 Volt betreiben und ich würde sie NICHT vom raspberry speisen! In keinem Fall!
Die Optischen Eingänge kannst Du dann wie in der Beschreibung an die 3,3 Volt Ausgänge hängen, das wird gehen. Dann sind die beiden Kreise ja getrennt.
Das heisst den JD-VCC Jumper änder und zur Speisung der Relais nutzen.

Zitat von: Otto123 am 24 August 2019, 16:07:34
Die Relais haben Umschaltkontakte, ich habe auch nicht verstanden warum Du die so betreiben willst, dass Du offene Kontakte haben willst und die Relais angezogen sind. Nimm doch einfach den anderen Kontakt, der in Ruhe der offen ist wenn die Relais abgefallen sind?!
Aktuel muss ich meinen Verbaucher (Taster) an den geschlossenen Ausgang A-B des Relais anschliessen, da dieses ja sofort anzieht wenn die Karte mit dem GPIO verbunden wird. Anscheinend ist die Karte ja LOW-Trigger, da vom GPIO nix kommt wird das Relais geschaltet und geht in die A...B-C Position also ist mein Taster dann offen. Um einen offenen Taster zu haben ist mein Relais permanent angezogen in Position C-B.
Das verbraucht doch nur unnötig Strom und belastet die Relais-Schaltung unnötig. Oder?

Otto123

Moin,

ok jetzt habe ich verstanden :)
Deine Relais Karte invertiert also eigentlich: Sie braucht ein Low am Eingang um das Relais anziehen zu lassen.

Die GPIO sind also scheinbar in "Ruhe" auf LOW.

Damit keine "Klacker" Arie beim Start des Systems auftritt müsste man also bewirken:
GPIO steht auf IN
GPIO Pegel HIGH setzen
GPIO auf OUT setzen

Ist wahrscheinlich nicht hübsch. :) Also besorg Dir besser Relaiskarten die bei Low am Eingang im Ruhe Zustand sind :)
ZitatDas verbraucht doch nur unnötig Strom und belastet die Relais-Schaltung unnötig. Oder?
Korrekt, würde ich auch nicht so machen.
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jumperger

Hallo,
ich hab jetzt ein 8-fach Modul mit High/Low-Trigger Einstellung per Jumper.
Leider gibt es dazu keinen Schaltplan und es hat keine JVCC Einspeisung, nur DC+, DC- und IN1-8 .

Bei der blauen Low-Trigger Platine wollte ich ja die 5V Schaltspannung über JVCC zuführen damit der RPi nichts davon ab bekommt.
Bei dem neuen roten Board frge ich mich nun wenn ich DC+ und DC- von einem externen Netzteil nehme, die INs an die GPIO hänge woher kommt dann der GND für die GPIO-IN-Schleife? oder genügt es die Verbindung vom GPIO_A1 zu In1 und externes 5V Netzteil an DC+ und DC- ?