Soft-Off-Schaltung für die Hochspannungsversorgung des Raspberry Pi

Nachdem ich mir verschiedene Designs für eine "Software" -steuerbare Abschaltschaltung für einen Raspberry Pi-Computer angeschaut hatte, entschied ich, dass keines davon meinen Bedürfnissen entsprach, also entwarf ich mein eigenes. Bevor ich es einer Leiterplatte zur Herstellung übergebe, möchte ich fragen, ob jemand offensichtliche Probleme mit der Schaltung und der folgenden Beschreibung sieht:

Hintergrund: Ich entwerfe einen eingebetteten Controller, der ein Raspberry Pi-Rechenmodul und eine ARM-Cortex-M3-MCU enthält und eine Reihe von Hochstromlasten (Motoren) antreiben muss. Die Platine soll mit einer 24V Hochstromversorgung versorgt werden.

Anforderungen sind, dass sich das Board einschaltet, wenn der kurzzeitige Netzschalter etwa eine Sekunde lang gedrückt wird. Die Platine leitet einen Abschaltvorgang ein, wenn der Netzschalter erneut etwa eine Sekunde lang gedrückt und niedrig gehalten wird.

Eine Abschaltprozedur ist erforderlich, damit das Rechenmodul den Anwendungscode ordnungsgemäß beendet und den Zustand im Speicher speichert.

Meine Lösung ist im Diagramm unten:

Geben Sie hier die Bildbeschreibung ein

Da der Ein/Aus-Momentschalter niedrig gehalten wird, empfängt das System 24 V durch die Schottky-Diode D1. Regler starten und MCU und Rechenmodul beginnen zu booten (alles innerhalb weniger Millisekunden). Das erste, was das Rechenmodul beim Einschalten tut, ist GPIO 8 HIGH zu fahren. Dieses Signal wird von U1 gepuffert und aktiviert den FET Q1, der den Strom einschaltet. Der Taster muss nicht mehr gedrückt werden. Der Kondensator C1 hält die Ladung auf Q1 aufrecht, falls GPIO 8 während des Startvorgangs versehentlich aus dem HIGH-Zustand flackert.

D2 ist eine Rücklaufdiode für das Solenoid.

Ein weiterer Druck auf die EIN/AUS-Taste führt dazu, dass aufgrund des Widerstandsteilers R4/R5 ~3 V am A-Anschluss des Puffers U2 erscheinen. Dieses Signal wird gepuffert und an den GPIO-Pin des Rechenmoduls weitergeleitet, der so eingerichtet ist, dass er bei steigender Flanke unterbricht und somit einen Softwarebefehl zum Herunterfahren erzeugt.

Das letzte, was die Software beim Herunterfahren tut, ist, GPIO 8 LOW zu fahren, wodurch Q1 ausgeschaltet und das Relais entriegelt wird, wodurch die Stromversorgung der Platine unterbrochen wird.

Die Frage ist, ob meine Logik vernünftig ist und ob jemand problematische Bereiche auf dem Schaltplan entdeckt hat?

Antworten (1)

U1 benötigt einen Pull-up- oder Pull-down-Widerstand am Eingang, wenn GPIO8 niedrig ist. Ich würde den Wert von R4 und R5 verringern, falls der Schalter einen minimalen Benetzungsstrom benötigt, um seine Kontakte frisch und desoxidiert zu halten (obwohl dies in Ordnung sein sollte, wenn die Regler angeschlossen sind). Ich weiß nicht, was R3 tut.

Ich würde einen Kondensator auf der geschalteten 24-V-Seite an Masse legen, um sicherzustellen, dass die Stromversorgung auch dann erhalten bleibt, wenn der Tastendruck etwas kurz ist. Ich habe Mühe zu sehen, was D1 erreicht.

Das Fazit für mich ist, es zuerst zu simulieren, bevor ich mich auf eine Leiterplatte festlege.

Hallo Andi, danke für die Antwort. R3 ist ein Pulldown am Gate des MOSFET. Wenn die Stromversorgung ausgeschaltet ist, sind der Ausgang von U1 und das Gate des FET beide hoch Z. Jede induzierte oder verbleibende Spannung würde den FET auslösen. Es ist auch ein Entladungsweg für den Kondensator C1. D1 ist unerlässlich, da ohne ihn immer 24 V auf der A-Seite des EIN/AUS-Schalters anliegen würden, wodurch es unmöglich wäre, einen zweiten Tastendruck zu erkennen.