Schaltung zum sicheren Abschalten von Pi


29

Ich möchte meinen Pi als XBMC-Server im Auto verwenden. In den XBMC-Dokumenten heißt es, dass Sie immer den Befehl shutdown verwenden sollten, bevor Sie die Stromversorgung trennen.

Ich habe mir überlegt, dass es möglich sein sollte, eine einfache Schaltung mit einem Kondensator und wahrscheinlich einer Diode zu erstellen, um zu erkennen, wann die Stromversorgung unterbrochen wurde (und einen Interrupt an einem der GPIO-Pins auszulösen), aber der Kondensator würde lange genug Strom liefern Damit das System ordnungsgemäß herunterfährt.

erster Entwurf

Sieht das richtig und ausreichend aus?

... Eigentlich denke ich, wäre es wahrscheinlich eher so:

zweiter Entwurf

Welche Art von Kondensator würde ich benötigen, um genügend Ladung zu speichern, damit der Pi lange genug läuft, damit XBMC ordnungsgemäß heruntergefahren werden kann?


Für die Aufzeichnung wurde diese Frage auch auf SE-Elektrotechnik gestellt .


Was ist mit dem "GPIO 3.3V"? Im ersten Stromkreis wird nur die 3,3-V-Schiene mit dem unteren Widerstand nach unten gezogen, und der zweite, der den Ausgang eines Operationsverstärkers mit 5-V-Single-Ended-Versorgung mit GPIO verbindet und dessen Eingänge so eingestellt sind, dass der Operationsverstärker angesteuert wird Der Ausgang ist so hart wie möglich nahe an 5V - was der 3,3V-Versorgung des Pi nicht hilft ( er kann den Pi töten ). Die Verwendung eines linearen Leistungsreglers (7805) wird nur die begrenzte Ladung im ?? Kondensator. Ich würde dies "-1", aber die Frage ist gut, auch wenn Ihre Vorschläge schlecht sind.
SlySven,

Ich glaube nicht, dass irgendeine Art von Kondensator ausreicht, da es bis zu 30 Sekunden dauern kann, um einen Pi auszuschalten. Möglicherweise müssen Sie sich stattdessen ein kleines USV-System ansehen. Oder Sie können dies nicht versuchen, aber es ist ein 90USD-Projekt. instructables.com/id/…
Piotr Kula

Antworten:


13

Projekte zum Hinzufügen von Funktionen zum Herunterfahren und Starten von Pi :

Es gibt auch eine Lösung zum Ein- und Ausschalten von Pi, die jedoch die Stromversorgung nicht unterbricht und daher nicht für ein Auto geeignet ist:



4

Die meiner Meinung nach beste Lösung ist die Verwendung der UPS Pico , einer speziell für Raspberry Pi UPS entwickelten USV, die eine Vielzahl weiterer Funktionen bietet.

Es ist kostengünstig, inkl. Akku, es ist kein zusätzliches Kabel erforderlich. Legen Sie es einfach auf das RPi.

Laufen auf einem Auto und automatische Abschaltung, läuft auch auf XBMC.


3

Der Ausgang des Komparators geht zum GPIO-Pin (in dieser Schaltung befindet sich stattdessen ein Multimeter), damit Raspberry prüfen kann, ob die Zündung des Autos noch eingeschaltet ist. Alles andere erklärt der Vorredner. "S2" ist eine Reset-Taste - nur für den Fall. Auf dem Bild sehen Sie XMH4, XMM1, .. Kümmert sich nicht darum. Ich habe es nur verwendet, um interessante Parameter beim Testen der Schaltung in Multisim zu überprüfen. Meine einzige Frage ist die Reaktion auf steigende Temperaturen. Möglicherweise müssen die Werte der Widerstände in den Spannungsteilern geändert werden.

Edit: Ich habe festgestellt, dass trotz der Tatsache, dass der cirucit in der Theorie sicherlich korrekt ist, es nutzlos ist. Die Kosten eines so großen Kondensators (1F, 12V) sind nicht akzeptabel hoch. Eine andere Lösung könnte darin bestehen, den Spannungsregler direkt an den Akku anzuschließen und einen Spannungskomparator zwischen der Zündung des Fahrzeugs und der Batterie zu verwenden.

Bildbeschreibung hier eingeben


4
Hallo und Willkommen! Danke für Ihren Beitrag. Möchten Sie die Funktionsweise Ihrer Schaltung erläutern?
Ghanima

1

Es kann möglich sein, eine geeignete Schaltung mit einer Reihe von "Superkondensatoren" zu entwerfen, die aus dem Artikel & Wikipedia- Eintrag von batteryuniversity.com und etwas anderem besteht, was Sie von einer Online-Auktionsseite erhalten, wenn Sie nach einer "3V bis 5V 1A DC-" suchen. DC-Aufwärtswandler "- Sie würden einen anderen (sagen wir 5-25V in zu 5V 2A (?) Output Buck-Boost") Wandler verwenden, um die 12V (gut 13,8V) Autoversorgung auf die 3 bis 5 Volt zu bringen, die benötigt werden, um die Kondensatoren aufgeladen zu halten - dann nutzt der erste Konverter das, um den Pi mit Strom zu versorgen.

Sie möchten die eingehenden 12 V überwachen, um zu erkennen, dass sie ausgeschaltet sind, und dem Pi mitteilen, dass er heruntergefahren werden soll (wie es die UPiS-Geräte in der anderen Antwort tun!).

Sie müssten auch einen Einschaltschutz in der Schaltung vorsehen, da die Super-Caps einen hohen Stoßstrom (vom 12-V-Wandler) aufnehmen, wenn Spannung an sie angelegt wird und sie entladen werden.

Um es kurz zu machen: Einzelne Super-Caps haben normalerweise eine maximale Spannung von weniger als 5 V, aber Sie können jetzt Geräte kaufen, die zwei in Reihe geschaltete Einheiten für den Betrieb mit 5 V Volt haben - es ist jedoch nicht gut, mehr als 2 oder 3 Zoll zu verwenden Serie ohne zusätzliche "Spannungsausgleichs" -Schaltung, die das Design nur komplexer macht - der Grund für die Verwendung eines "Boost" -Wandlers besteht darin, dass er weiterhin 5 V erzeugt, wenn die Spannung von den Kondensatoren unter diesen Wert abfällt.


1

Halten Sie es einfach und beweisen Sie, dass Ihr Projekt die Mühe einer USV wert ist.

Fügen Sie einfach einen kurzzeitigen Schalter hinzu, um ein paar GPIOs kurzzuschließen, der ein Herunterfahren auslöst. Der Pi wird eingeschaltet, wenn das Auto das nächste Mal gestartet wird. Seien Sie vorsichtig, dass Ihr Vorrat erst nach dem Starten des Motors geliefert wird, um ein Eintauchen während des Zündvorgangs zu verhindern.

Erstellen Sie ein Skript:

$ nano shutdown.py

Gib den Text ein.

import RPi.GPIO as GPIO
import os
channel=11
GPIO.setmode(GPIO.BOARD)
#Pin 11 & Gnd
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(channel,GPIO.FALLING)
os.system("sudo shutdown -h now")

Fügen Sie die folgende Zeile zu /etc/rc.local hinzu

Python /home/pi/shutdown.py

Verbinden Sie einen Draht mit Pin 11 und einen Draht mit einem Gnd-Pin.

Ich bin mir nicht sicher, wie gut Kodi mit GPIO-Switches spielt, so dass es möglicherweise in Raspbian sein muss.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.