Wie könnte dieser GPIO-gesteuerte LED-Statusblinker verbessert werden?

Ich baue eine einfache Schaltung, um eine LED-Statusanzeige in einem Projekt anzusteuern, das um ein RPi herum aufgebaut ist. Die Schaltung wird von der gleichen Quelle wie das RPi mit Strom versorgt und ist mit einem der GPIO-Pins des RPi verbunden. Das Ziel ist, dass die LED zu blinken beginnt, wenn das System eingeschaltet wird, und weiter blinkt, bis das RPi-System hochgefahren ist, woraufhin ein Prozess gestartet wird, um den GPIO hoch zu setzen, wodurch die LED aufhört zu blinken und eingeschaltet bleibt.

Ich begann mit dieser Schaltung

LED-Blinker
(Quelle: wild-bohemian.com )

Was ich so modifiziert habe:

Geben Sie hier die Bildbeschreibung ein

Ich habe ein paar Schaltungen implementiert, die von anderen Leuten entworfen wurden, aber dies ist der erste Versuch, den ich selbst entworfen habe (ok, nur ein winziger Teil gehört mir, aber hey). Es scheint zu funktionieren, aber ich bin nicht zuversichtlich, dass es robust ist, und ich würde mich über Ratschläge freuen, wie es besser oder einfacher geht.

Eine Sache, die mir beim Einrichten auf einem Steckbrett aufgefallen ist, ist, dass, wenn ich nur den Draht, der zum GPIO-Pin geht, zwischen meinen Fingern halte - ohne ihn zu befestigen - die LED einrastet. Ich verstehe nicht warum. Ich habe nicht vor, die Schaltung an einem Ort zu platzieren, an dem die Leute ihre Finger hineinstecken können, aber ich würde gerne verstehen, warum dies der Fall ist und ob dies ein Symptom für einen Konstruktionsfehler ist.

Was genau ist der angebliche Zweck der Schaltung?
@Majenko Der Zweck besteht darin, den Systemstatus anzuzeigen. LED aus bedeutet kein Strom. LED-Blinken bedeutet eingeschaltet, noch nicht vollständig gebootet. LED an (nicht blinkend) bedeutet, dass das System bereit ist.

Antworten (1)

Abgesehen davon, dass man mit so etwas wie einem ne555 Teile, aber kein Geld sparen könnte, ist es eine interessante Schaltung. Aber da Sie einige Hinweise wünschen: Ihr dritter Transistor ist in Sättigung, wenn er aktiviert ist. Je nach Typ kann es vorkommen, dass die Basisspannung nicht ausreichend gesenkt wird, um zu verhindern, dass der rechte 2n3904 leitet. Wenn Sie sicher gehen wollen, sollten Sie einen niedrigen VCEsat BJT verwenden. NXP und ONSEMI haben jeweils eine spezielle Auswahl dieser Typen. Dann können Sie die Widerstände Ihres hinzugefügten Spannungsteilers erhöhen, aber nur, um einige Bruchteile von Milliampere zu sparen.

Warum reagiert Ihre Schaltung auf diese Weise auf Berührungen? Ich wette, Ihr Netzteil verursacht dieses Phänomen. Entweder Ihr RPi oder der per USB oder Netzwerk verbundene Laptop wird von einem Wallwart- oder Brick-Netzteil mit Strom versorgt. Diese Geräte haben in der Regel einen Y-Kondensator zwischen heiß und kalt auf der Primärseite. der mittlere Pin ist sekundärseitig mit Masse verbunden. Dies führt dazu, dass die Masse Ihres RPis relativ zur Erde tatsächlich eine Spannung von der Hälfte Ihrer Netzspannung hat. Wenn Ihre Netzspannung also 110 V AC beträgt, liegt die Masse Ihres RPi bei 55 V AC. Wenn Sie es berühren, fließt ein kleiner Wechselstrom durch Ihren Körper und die Kapazität, die er mit Ihrer Umgebung bildet. Dieser Strom wird nun durch die Basis-Emitter-Diode in Ihrem Transistor gleichgerichtet. Es ist anscheinend groß genug, um diesen Transistor zu öffnen und zu verhindern, dass die astabile Schaltung instabil ist.

Danke schön. Das ist sehr übersichtlich und sehr hilfreich. Ich habe daran gedacht, einen ne555 zu verwenden, aber ich wollte sehen, ob ich herausfinden könnte, wie das funktioniert. Ich benutze nur einen anderen 2n3904, aber es scheint gut zu funktionieren. Und beim Netzteil liegen Sie genau richtig. Ich halte mich von neugierigen Fingern fern.