Korrekte Art und Weise, ein 12-V-Relais von einem Raspberry Pi aus zu steuern

Ich arbeite an einem Projekt, bei dem ich ein paar Relais vom GPIO-Header auf einem Raspberry Pi steuern muss. Ich habe versucht, eine Platine mit dem Layout wie die rechte Version im Bild unten zu bekommen, aber ich kann das Relais nicht schalten, indem ich den GPIO-Pin hoch/niedrig setze.

Nach einigen weiteren Studien kam ich auf Version 2, die linke Version, die einen NPN- anstelle eines PNP-Transistors verwendet - ist es richtig verstanden, dass sie korrekter aussieht als die erste Version?

VCC ist 12 V und H1PXX sind die GPIO-Pins, die 3,3 V sind. P1/P2 werden verwendet, um zu bestimmen, was geschaltet werden soll, und sind dafür nicht relevant

Kann ich irgendwie die richtige Version zum Laufen bringen? Ich habe bereits die Leiterplatten, also wenn es nur darum geht, irgendwo einen Draht / Widerstand anzulöten, könnte ich das ohne allzu große Probleme tun.

Die Platine verfügt über einen 5-V-Regler für den Raspberry Pi, sodass GND auf der Schaltung mit dem Raspberry Pi geteilt wird

schematisch

In Bezug auf das Zeichnen von Schaltplänen würde ich vorschlagen, electronic.stackexchange.com/questions/28251/… zu lesen.
Wenn die Grundfläche gleich ist, können Sie einfach die verschiedenen Komponenten in denselben Löchern verwenden. Sieht aus wie das sollte für Sie funktionieren.

Antworten (2)

Das Problem mit der PNP-Schaltung ist, dass der Raspberry Pi mit 3,3 V arbeitet, während Ihre Vcc 12 V beträgt.
Wenn Sie also entweder ein niedriges Signal (0 V) oder ein hohes Signal (3,3 V) anlegen, wird der PNP immer eingeschaltet, da in beiden Fällen V BE = V CC - V base = etwa 0,7 V ist.
Der Basisstrom beträgt entweder (12 V-0,7 V-3,3 V) / 1 kΩ = 8 mA oder (12 V-0,7 V-0 V) / 1 kΩ = 11,3 mA.

Da Sie bereits die Leiterplatten haben, sollten Sie die NPN-Version implementieren.

BEARBEITEN
In Bezug auf die NPN-Version: Wie Sie kommentiert haben, benötigen Sie ein NPN mit der richtigen Pinbelegung (dh mit vertauschtem Kollektor und Emitter) wie dem MMBT9013 (weiß nicht, ob es noch existiert).

Andere Lösungen, die ich mir einfallen lassen kann, müssen überarbeitet werden (nicht, wenn die Anzahl der Leiterplatten und / oder der Platz auf der Leiterplatte dies zulassen).

  • Wenn Sie einen 9,1-Zener mit R10 in Reihe schalten, indem Sie die Pads von R10 verwenden (die Komponenten diagonal wie /\ anstelle von -- platzieren),
    müssen Sie möglicherweise den Wert von R10 verringern

  • Ersetzen Sie den PNP durch einen PMOS (z. B. NTR4171P), löten Sie einen 1k 0805-Widerstand oben auf den Gate- und Source-Pin und ersetzen Sie R10 durch einen winzigen 9-V-Zener (keine Ahnung, was das Paket R10 hat, aber z. B. CDZFH9.1B)

Leider bedeutet die Implementierung der NPN-Version meines Erachtens auch neue Leiterplatten, da einer der Beine des Transistors von VCC auf GND geschaltet und die Diode ebenfalls angeschlossen werden muss, aber dies scheint die richtigste Antwort zu sein zu meiner situation
@FrederikNielsen Hast du SMD oder Durchgangsloch verwendet? Ich kann ein paar Vorschläge machen, aber ich bin in der Lage, Schaltungen zu zeichnen, wenn ich am PC bin, was in ein paar Stunden ist. Was ist das Paket des PNP?
Der PNP ist SOT-23, der Widerstand und die Diode sind SMD und das Relais ist ein Durchgangsloch
@FrederikNielsen Bitte finden Sie aktualisierte Vorschläge

Wenn Ihre 12-V-Versorgung vollständig von der Stromversorgung und Masse des Raspberry Pi isoliert ist , können Sie die rechte Version zum Laufen bringen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Beachten Sie, dass, wenn die 12-V-Versorgung eine andere Verbindung hat (z. B. eine Masse), sehr schlechte (dh fatale) Dinge mit Ihrem Raspberry Pi (und möglicherweise mit daran angeschlossenen Dingen) passieren. Lieber ein paar Fragen stellen, als sich mit einem frittierten Brett etc. zu beschäftigen.

Leider ist die 12-V-Versorgung nicht vom Raspberry Pi isoliert, da es einen 12-V- bis 5-V-Regler gibt, um den Pi aus derselben Stromquelle zu versorgen, die das Relais hier speist. Ich habe dies in der ursprünglichen Frage klargestellt, aber danke, dass Sie mit einer möglichen Lösung geantwortet haben