Steuern Sie das 5-V-Relais über einen 3,3-V-GPIO mit einem NPN-Transistor

Ich bin nicht sehr praktisch, da ich gerade angefangen habe, Elektronik zu lernen, und ich plane, einige Experimente mit Raspberry Pi zu machen.

Ich versuche, eine 5-V-Relaisplatine zu steuern, die meiner Meinung nach für Arduino entwickelt wurde, da Raspberry nur 3,3-V-GPIO hat.

Es ist aktiv niedrig, da GPIO.LOW das Relais aktiviert und die 3,3 V es auch aktiv halten, also denke ich, dass ich genau 5 V brauche, um es auszuschalten.

Also, im Grunde denke ich, dass ich einen Transistor brauche, dessen Basis von meinem GPIO gesteuert wird, der eine 5-V-Leitung zur Eingangsleitung des Relaisschalters aktiviert.

Ich habe über diese Schaltpläne nachgedacht, aber mir wurde gesagt, dass es meinen Transistor verbrennen wird, da ich einen Widerstand zwischen 5 V und dem Transistorkollektor benötige.

Meine Frage ist sicherlich grundlegend, aber ... WARUM?

Wenn kein Strom durch die Basis fließt, gibt es kein Problem, wenn der Transistor aktiviert wird, ist meine Last nicht die Relaisplatine? Warum brauche ich andere Widerstände?

Vielen Dank im Voraus.

Geben Sie hier die Bildbeschreibung ein

Dies ist die Relaisplatine, die ich gekauft habe. Ich konnte keine Schemata finden, daher kann ich keine weiteren bereitstellen.

Geben Sie hier die Bildbeschreibung ein

Sie sollten einen Link zur Relaisplatine oder zumindest eine Hersteller- und Teilenummer angeben.
Ich habe den ersten Beitrag bearbeitet, ich konnte nur das finden!
Das Hauptproblem bei Ihrer Schaltung besteht darin, dass beim Einschalten von Q1 versucht wird, die + 5-V-Versorgung gegen Masse kurzzuschließen.
Das Größte hier ist das Fehlen eines Schaltplans oder sogar das Lesen des Transistors, der dort eingeschaltet ist. Können Sie irgendwelche Zahlen sehen? Kannst du mit einem Multimeter einen Schaltplan machen? Sind Sie sicher, dass In1 aktiv niedrig ist? Beide Antworten sind gut, aber es hängt davon ab, ob es sich um ein PNP- oder NPN-Transistor-Setup handelt.
I have thought about these schematics, but I've been told it will burn my transistor as I need a resistor between 5v and the transistor collector.Denn sobald Sie den Transistor einschalten, schließen Sie im Grunde die 5 V gegen Masse kurz. Es würde versuchen, AMPS durch den Kurzschluss zu drücken, wodurch der Transistor und wahrscheinlich Ihre Stromversorgung beschädigt werden.

Antworten (4)

Bei einem kurzen Blick auf die Relaisplatine stelle ich Folgendes fest:

Geben Sie hier die Bildbeschreibung ein

Diese Komponenten sorgen für eine gepufferte Ansteuerschaltung der Relaisspule. Das folgende Schema zeigt die wahrscheinliche Konfiguration dieser Komponenten. (LEDs nicht enthalten).

Geben Sie hier die Bildbeschreibung ein

Sie sollten in der Lage sein, Ihre 5-V-Versorgung zwischen den VCC- und GND-Eingängen anzuschließen. Verbinden Sie dann das GPIO-Signal mit dem IN1-Anschluss und auch die Masse der MCU-Platine mit dem GND-Pin.

Diese Treiberschaltung sollte entweder mit einem GPIO von 0->3,3 V oder 0->5 V arbeiten. Ohne zu wissen, wie diese beiden LEDs angeschlossen sind, kann es sein, dass die eine oder andere LED bei einem 0-> 3,3-V-Schwung der LEDs nicht funktioniert, die in den Basiskreis des Transistors geschaltet sind. Wenn andererseits die beiden LEDs wie folgt in die Kollektorseite des Transistors geschaltet werden, sollten die LEDs ebenfalls funktionieren. Eine einfache Überprüfung der Schaltung mit einem Ohmmeter sollte bestätigen können, wie die LEDs angeschlossen sind.

Geben Sie hier die Bildbeschreibung ein

Hallo Michael, danke für deine wertvolle Mühe. Bei GPIO im Modus LOW\HIGH ergibt sich der Pegel des Schalters immer als verbunden; Es ist nicht nur ein LED-Problem, da ich das Relais nicht "klicken" hören kann. Als Verkabelung habe ich meinen Raspberry 5v auf vcc, den Board-GND auf Raspberry-GND und den GPIO-Ausgang auf IN1 geschickt, stimmt das nicht?

Der Schaltplan sieht wahrscheinlich so aus - in der gepunkteten Box (ohne Berücksichtigung der LEDs). Der Transistor ist ein PNP-Typ, daher müssen Sie nahe an +5 anlegen, damit er sich ausschaltet.

Sie können dies mit einem Transistor und ein paar 10K-Widerständen tun, wie gezeigt. Die Schaltung funktioniert mit 0/3,3 V Eingang (alles von etwas über 1 V bis mehr als 10 V ist eine akzeptable '1' und < 200 mV ist '0').

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Dies funktioniert folgendermaßen: Wenn Q2 ausgeschaltet ist, zieht R2 die Eingangsspannung zum Modul auf +5 V, sodass in Q1 kein Basisstrom fließt. Q1 ist somit aus und das Relais bleibt abgefallen.

Wenn eine Spannung an den Eingang angelegt wird, schaltet sich Q2 ein und zieht seinen Kollektor auf < 100 mV herunter, wodurch Strom durch R2 und durch R1 (von der Basis von Q1) fließt. Q1 schaltet ein und das Relais zieht an.

Der Kollektor des NPN sollte nicht direkt an 5 V angeschlossen werden - im Moment begrenzt nichts die Strommenge, die durch den Transistor fließt, sodass der magische Rauch herauskommt. Stattdessen wird ein Widerstand zwischen den Kollektor und die 5-V-Versorgung geschaltet, um den Strom zu begrenzen, der durch den Transistor fließt, wenn er eingeschaltet ist.

Die Relaisplatine selbst wird nicht als "Last" behandelt, da sie bereits über einen Transistor verfügt, der genügend Strom liefert, um das Relais ein- und auszuschalten - der Ausgangspin eines Arduino ist nicht kräftig genug, um dies ohne den des Relaismoduls zu tun Hilfe des Transistors.

Ok, ich glaube ich verstehe deine Antwort. Wenn meine Relaisplatine 20 mA aufnimmt, muss ich mehr als 20 mA liefern, um den Transistor zu sättigen, oder reicht das aus? Für den Fall, dass ich nur 20 mA benötige, muss ich direkt nach dem vcc, der zum Relaiseingang geht, 5 \ 0,002 = 250 Ohm setzen, oder?

Wenn Ihr Transistor vom Kollektor zum Emitter leitet (unter der Annahme, dass er in Sättigung arbeitet), gibt es einen geringen Widerstand von 5 Volt gegen Masse. Bei einer beispielsweise 2-Ampere-Stromversorgung sind das 10 Watt (2 Ampere mal 5 Volt) Leistung, mit der der Transistor fertig werden muss. Wenn der Transistor überlebt, wird die Stromversorgung wahrscheinlich zusammenbrechen, wodurch die Spannung an der gesamten Schaltung abfällt, was zu allen möglichen unerwarteten Ergebnissen führt.

Wenn Sie ein Arduino Uno und eine USB-Stromquelle verwenden, befindet sich meines Erachtens eine 500-mA-Sicherung auf der Arduion-Platine zwischen den 5 Volt und der USB-Stromquelle.

Wenn Sie ein Arduino Uno und ein externes, sagen wir, 12-Volt-Netzteil verwenden, werden Sie meiner Meinung nach Strom durch den winzigen 5-Volt-Netzteilregler auf der Arduino-Platine ziehen.

Sie können dies überprüfen, indem Sie den Schaltplan des Arduino Uno hier studieren .

Wenn Sie die Relaisspule direkt ansteuern und die andere Seite der Spule mit positiver Spannung verbunden ist, benötigen Sie eine Open-Collector-Anordnung. Sie sollten auch eine Rücklaufdiode verwenden .

Wenn Sie eine Logikschaltung ansteuern, die dann das Relais ansteuert, müssen Sie wahrscheinlich einen großen Widerstand zwischen 5 Volt und dem Kollektor Ihres Transistors hinzufügen. Schließen Sie dann den Eingang der Relaislogikschaltung an dem Knoten an, an dem der Kollektor auf den Widerstand trifft.

Schließlich kann es sein, dass die Relaisplatinenlogik, falls es eine Logikschaltung auf der Relaisplatine gibt, eine 3,3-Volt-Logik tolerieren wird. Das heißt, einen Einschaltschwellenwert haben, der niedrig genug ist, um entweder mit einer 3,3-Volt-Logik oder einer 5-Volt-Logik zu arbeiten. Eine solche Relaisplatine wäre jedoch anfälliger für Rauschen (falsches Einschalten), wenn sie von einem 5-Volt-Signal angesteuert wird.

Wie ich getestet habe, werden 3,3 V Volt als 0 V angesehen -> Der Schalter ist eingeschaltet. Wie kann ich den Widerstand berechnen, den ich zwischen 5 V und dem Kollektor benötige? Sollte ich 5 V auf den von der Platine aufgenommenen Strom aufteilen, oder muss mehr Strom berücksichtigt werden?
Benötigen Sie wirklich den Schaltplan der Relaisplatine. Wenn Sie das nicht haben, suchen Sie nach einem Widerstand, der niedrig genug ist (ohne dass der Transistor eingeschaltet ist - entfernen Sie vorerst einfach den Transistor), damit die Relaistreiberschaltung das Relais nur einschaltet. Wählen Sie dann einen noch niedrigeren Widerstand, um sicherzustellen, dass das Relais trotz Rauschen auf der Stromleitung eingeschaltet bleibt. Aber gehen Sie nicht zu niedrig, da dies nur Energie verschwendet. Da durch diesen Widerstand ständig Strom fließt.