Die GPIO-Pin-Spannung ist zu niedrig, um das Relais zu aktivieren

9

Ich versuche, ein kleines Relais ein- und auszuschalten. Ich habe einen GPIO-Pin und GND direkt an das Relais angeschlossen. Ich kann das Relais klicken hören, wenn ich den GPIO-Pin auf HIGH setze.

Das Relais lässt jedoch nur selten ein Signal durch. Es funktioniert manchmal, aber selten. Wenn ich den Pin auf HIGH setze und die Spannung messe, sind es nur etwa 1,6 V - also denke ich, dass manchmal nicht genug Strom vorhanden ist, um das Relais anzusteuern.

Ich habe zuvor die Spannung an den Pins gemessen und sie zeigte 3,3 V an. Irgendwelche Ideen, was das Problem sein könnte?

Andreas
quelle
Wenn Sie das Relais direkt an die GPIO-Pins des Pi angeschlossen haben, ist es leider sehr wahrscheinlich, dass Sie etwas kaputt gemacht haben. Ist das Relais auf einem PCB-Modul mit Isolatoren montiert?
Goobering

Antworten:

14

Sie sollten ein Relais nicht direkt vom Raspberry Pi aus ansteuern. Ein einzelner GPIO kann bei 3V3 nur ungefähr 16 mA sicher liefern, was wahrscheinlich nicht ausreicht, um die Spulen eines elektromagnetischen Standardrelais mit Strom zu versorgen. Selbst wenn Sie die Gegen-EMK könnten, die durch das kollabierende Magnetfeld in den Relaisspulen beim Ausschalten verursacht wird, könnten ein GPIO und der Pi zerstört werden.

Sie sollten den GPIO verwenden, um einen externen Stromkreis zum Schalten des Relais zu schalten.

Typischerweise werden ein Transistor (zum Verstärken des Stroms) und eine Diode (zum Schutz gegen Gegen-EMK) verwendet.

Persönlich würde ich wahrscheinlich einen ULN2003A- Chip verwenden, da diese für diesen Zweck entwickelt wurden.

Für den Hobby-Markt sind viele Relais in Treiberplatinen eingebaut.

joan
quelle
Aha, es ist also im Grunde eine Schaltung wie die hier gezeigte - aber stattdessen an die 3v3-Schiene angeschlossen?
Andreas
@Andreas Ja, obwohl Sie die 5V-Schiene verwenden könnten, wenn das Relais mit 5V zufrieden ist. Sie verwenden den GPIO, um den Transistor einzuschalten. Der Transistor schaltet gerne 5V.
Joan
Okay, macht Sinn. Vielen Dank. Hoffe ich habe noch nichts gebraten. Meine Güte, Software ist so viel einfacher als Hardware.
Andreas
2
@Andreas Leider, wenn Software einfacher als Hardware wäre, würden wir Computer nicht neu starten, um ihre Probleme zu beheben.
Dmitry Grigoryev
Ich mag OnSemis Reihe von NUD31xx-Relaistreibern. Sie funktionieren besser als alle einzelnen Transistoren und Dioden, die ich gesehen habe.
Jeanne Pindar
16

Wenn Sie ein einzelnes Niederspannungsrelais ansteuern möchten, ist die Verwendung eines 7-Kanal-Treiberchips ein Overkill. Mit einem einzelnen NPN-Transistor und einer Flyback-Diode sind Sie vollkommen in Ordnung:

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Hinweis: R1 kann durch eine LED und einen 200 - 500 Ohm Widerstand in Reihe ersetzt werden, wenn Sie einen visuellen Hinweis auf den Zustand Ihres Relais wünschen. Dies wird häufig bei vorgefertigten Relaisplatinen durchgeführt.

Dmitry Grigoryev
quelle
(Der Simulationslink wurde nicht gefunden. Können Sie das beheben?)
Nixda
@ Nixda hoffentlich jetzt behoben
Dmitry Grigoryev
4
Seien Sie jedoch vorsichtig mit dieser zusätzlichen LED-Idee. Wenn der unbewusste Leser eine weiße oder blaue LED verwendet, ist der Spannungsabfall möglicherweise zu groß, um den Transistor ausreichend anzusteuern.
Ghanima
Sehr schönes, einfaches und einfaches Diagramm mit gemeinsamen Komponenten! Danke!
RufusVS
0

Ich habe den I2C-Expander MCP23017 erfolgreich mit billigen Relaisplatinen verwendet. Ich habe noch keine Anleitungen geschrieben, aber es gibt viele. Schauen Sie sich einfach Google an und suchen Sie nach "RPI MCP23017".

user193221
quelle
Willkommen bei Raspberry Pi! Bitte nehmen Sie an der Tour teil und besuchen Sie das Hilfezentrum, um zu sehen, wie die Dinge hier funktionieren. Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen, hier eine Erklärung aufzunehmen (ohne dass das OP es woanders nachschlagen muss)?
Ghanima