Anknüpfend an meine vorherige Frage versuche ich, einen Shutdown-Controller für meinen Raspberry Pi zu erstellen. Der Raspberry Pi muss von der Batterie mit Strom versorgt werden, sollte sich jedoch ausschalten, nachdem der Pi erkennt, dass die Zündung ausgeschaltet wurde.
Der Pi nimmt eine 3,3-V-Speisung von der ACC-Leitung (ich habe andere Komponenten, die 5 V von der ACC-Leitung über einen 7805 nehmen, also werde ich mit einem Spannungsteiler auf 3,3 V heruntergehen, es sei denn, jemand hat einen besseren Vorschlag - ich ' Ich werde auch einen uPD6708 ansteuern, der 5-V-CMOS-E/A benötigt, also auf 2 weiteren Leitungen von 5 V auf 3,3 V heruntertransformieren muss).
Software, die im RPi ausgeführt wird, setzt einen der GPIO-Pins hoch, vermutlich werden die GPIO-Pins alle niedrig, wenn das RPi heruntergefahren wird. Q1 sollte also das Relais einschalten und die Stromversorgung des RPi so lange eingeschaltet halten, wie die Zündung eingeschaltet ist oder der GPIO-Pin hoch ist.
Ich habe 3 Sicherungssätze mit einer 1000-uF-Kappe und einer Art Transformator / Induktor, daher kann ich auch einen davon für die 12-V-Batterie und die 12-V-Zubehörleitung verwenden.
Dieser Shutdown-Controller behauptet, im Standby nur 50 uA zu ziehen - wenn ich ein CMOS 4071-ODER-Gatter verwenden würde, wäre das ein Anfang, aber nach dem, was ich gelesen habe, bräuchten Sie mehr Strom vom ODER-Gatter, um den Transistor zu sättigen - ist das richtig?
In Anbetracht dessen, dass ich zusätzlich zu den Anforderungen dieser Teilschaltung 5 Leitungen von 3,3 V auf 5 V und 2 von 5 V auf 3,3 V pegelverschieben muss, kann jemand Komponenten / Alternativen für OR1, Q1, RLY1 und / oder empfehlen irgendwelche Modifikationen?
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Hier ist mein Versuch, dem Vorschlag von @Connor Wolf zu folgen.
Simulieren Sie diese Schaltung
@Nick schlägt vor, dass es einfacher sein könnte - vielleicht so? Ich habe versucht, die Dioden zu entfernen, damit ich einfach ein handelsübliches 12-V-5-V-1-A-USB-Netzteil (oder ein Paar davon) verwenden kann. Das 555-Datenblatt besagt, dass es 3,3 V ausgibt (max. Quelle 100 mA? Auf dieser Seite stehen 200 mA). Das RPi liest die ACC-Leitung bei 3,3 V, um zu bestimmen, wann es heruntergefahren werden soll.
Während die Verwendung einer One-Shot-Timer-Schaltung funktioniert, denke ich, dass eine einfachere Lösung verwendet werden kann. Schauen Sie sich diese Schaltung an.
Zur Verdeutlichung: "VBAT" ist eine 12-V-Quelle, die immer eingeschaltet ist, solange die Batterie angeschlossen ist. "ACC" ist jedoch eine 12-V-Quelle, die nur eingeschaltet ist, wenn die Zündung eingeschaltet ist oder der Schlüssel auf "Zubehör" steht. Anstatt ein 5-V-Relais zu verwenden, um nur die Stromversorgung des RPi zu steuern, warum nicht ein standardmäßiges 12-V-Auto-Relais wie gezeigt verwenden. Auf diese Weise wird keine Energie verschwendet (mit Ausnahme des Spulenstroms, während der Strom eingeschaltet ist), da alles von der Batterie getrennt wird.
Eine Seite der Spule ist immer mit 12 V verbunden. Die gegenüberliegende Seite ist über einen N-Kanal-FET (Q1) mit Masse (Chassis) verbunden. Während im Diagramm ein MOSFET verwendet wird, kann jeder FET verwendet werden, der den Spulenstrom senken kann. Wenn "ACC" eingeschaltet wird, schaltet Q1 ein, verbindet die Spule mit Masse und betätigt den Schalter. Dies versorgt wiederum jeden 5-V-Regelkreis, den Sie verwenden möchten (ein einfacher 7805-Regler mit Kühlkörper, ein schaltender DC-DC-Wandler, die erwähnten USB-Versorgungen usw.).
Die Diode D2 soll sicherstellen, dass sich der Kondensator nur in Q1 entladen kann und normal oder Shottky sein kann. Andere Methoden sollten wahrscheinlich für den Überspannungs- und Stromschutz von der Batterie verwendet werden.
Die "ACC"-Spannung kann durch einen Spannungsteiler geleitet werden, um ein 3,3-V-Signal für das RPi zu erzeugen. Seien Sie vorsichtig mit diesem Spannungspegel, wenn man bedenkt, dass eine 12-V-Autobatterie eher 14 V DC entsprechen kann. Solange dieses Signal HI ist, weiß der RPi, dass der Strom eingeschaltet ist. Offensichtlich sollte dieser GPIO-Pin als Eingang mit deaktivierten internen Pullups eingestellt werden. Wenn "ACC" ausgeschaltet ist, sollte das RPi das LO-Signal auf dem Pin sehen und mit dem Herunterfahren beginnen.
Wenn die "ACC"-Spannung abgeschaltet wird, behält der Kondensator C1 die Ladung so lange bei und entlädt sich über den Widerstand R1. Sobald die Kondensatorspannung unter die Gate-Schwelle von Q1 fällt, schaltet es ab, trennt die Relaisspule von Masse und trennt die Stromversorgung von der Peripherieschaltung. Wenn für Q1 ein "Logikpegel-MOSFET" verwendet wird, bleibt er eingeschaltet, bis die Spannung an C1 ziemlich niedrig ist. Ich habe diese Schaltung mit einem NTD4960 ( Datenblatt ) getestet und sie blieb etwa 15 Sekunden lang eingeschaltet - bis C1 etwa 2 V betrug. Um die Zeit zu verlängern, erhöhen Sie den Kapazitätswert.
Ehrlich gesagt denke ich, dass du das viel überdenkst.
Ich persönlich würde nur einen One-Shot mit einer Dauer von ein oder zwei Minuten verwenden, der durch das Abstellen des Autos ausgelöst wird.
Wenn Sie das Auto ausschalten, feuert der One-Shot und hält das Relais geschlossen, bis es abläuft. Alles, was Sie tun müssten, wäre sicherzustellen, dass Ihr Himbeer-Pi innerhalb von ein oder zwei Minuten nach dem Abstellen des Autos heruntergefahren wird. Dies sollte einfach genug sein, indem ein Eingang von der geschalteten Stromversorgung des Autos überwacht wird.
Der größte Vorteil eines solchen Systems besteht darin, dass Ihre Software beim Absturz (wenn, nicht wenn) trotzdem heruntergefahren wird, sodass Sie nicht mit einer leeren Batterie enden. Der One-Shot sollte ziemlich einfach sein. Sie könnten einen 555 oder einen kleinen Mikroprozessor verwenden (wie Olin vorschlagen wird).
Eine weitere nette Sache ist, dass sich das System bei richtiger Konstruktion von der Autobatterie trennen kann , wodurch sichergestellt wird, dass die Ruhestromaufnahme absolut 0 ist.
Jede Methode mit fester Verzögerung leidet unter dem Problem, nicht zu wissen, wie viel Zeit das RPi wirklich braucht, um herunterzufahren. Es wäre besser, eine Taste zu drücken, die dem Pi das Herunterfahren signalisiert, er könnte dann das tun, was er für ein sauberes, ordnungsgemäßes Herunterfahren benötigt, so lange wie nötig dauern, und dann ein GPIO-Signal zurück an die Druckknopfschaltung senden, die den herunterfährt Energie. Das gibt dem RPi so viel Zeit, wie es braucht, um Dinge wie das sichere Herunterfahren der SD-Karte zu tun. Die Schaltung muss nicht zu kompliziert sein. Sie können eine einfache Schaltung unter sehen
Die Website beschreibt den Betrieb der Schaltung.
Verwenden Sie 4 wiederaufladbare AA-Batterien. Betreiben Sie den Pi von ihnen und lassen Sie sie von der Autobatterie aufladen.
Verwenden Sie 1 GPIO, um dem Pi mitzuteilen, ob die Zündung ein- oder ausgeschaltet ist.
Herunterfahren, wenn bereit.
Connor Wolf
Connor Wolf
John u
Nikolaus Albion
Connor Wolf
abdullah kahraman
JimmyB
Benutzer20659
Nikolaus Albion
Markieren
Nikolaus Albion
JimmyB
drzymala
Nikolaus Albion
Chris Stratton
user87502