Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi Zero Abschaltverzögerung


von Andreas R. (andreas_r)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich habe ein kleines Projekt im Sinne mit dem Raspberry Pi Zero.
Genauer gesagt ein Powerbank betriebener Musikspieler.

Leider sind die Raspberry Pies nicht wirklich für Batteriebetrieb 
ausgelegt.
Auch nach dem Herunterfahren wird ca 25mA Strom gezogen.

Darum habe ich überlegt ob es möglich wäre mit einem LTC6994-1 und einem 
IRLL014 eine Abschaltverzögerung von 33 Sekunden zu realisieren und so 
die Stromaufnahme weiter zu reduzieren.

Die Idee ist, mittels Kippschalter das Raspberry Pi über einen MOSFET 
einzuschalten.
Sobald der Schalter geöffnet wird, wird dies über einen GPIO eingelesen 
und "Shutdown -h now" ausgeführt. Ca. 30 Sekunden später unterbricht der 
MOSFET die Stromzufuhr zum Raspberry Pi.

Gespiesen wird dieses Board per USB, Anschliessend über einen JST 
Stecker zum Raspberry Pi Zero

Pin 1: V+
Pin 2: Status Kippschalter
Pin 3: GND

Im Anhang mein angedachtes Schema.
Die Widerstände rund um den LTC6994-1 habe ich auf 
http://beta-tools.analog.com/timerblox/LTC6994 berechnet.

Könnte das so funktionieren? Oder mache ich einen Überlegungsfehler und 
das ganze kann so nicht realisiert werde?


Mit freundlichen Grüssen
Andreas

von Stefan F. (Gast)


Lesenswert?

Es ist eine ganz schlechte Idee, die GND Leitung zu unterbrechen. Damit 
wirst du Dir früher oder später selbst ein Bein stellen. Wenn schon, 
dann unterbricht man den Plus-Pol der Stromversorgung.

Deine hochohmigen Spannungsteiler könnten in der Nähe des Raspberry Pi 
(wegen EMV) Probleme bereiten. Ich würde keine Widerstände unter 10k Ohm 
verwenden.

Warum verwendest du nicht einfach ein bistabiles 2-Spulen Relais?
1
                            +----Spule----+----o +5V
2
                            |             |
3
                            +----|<|------+
4
                            |       1N4148
5
            10k           |/       
6
I/O Pin o---[===]---+-----|      BC337-40   
7
                    |     |\>   
8
           1000µF  ===      | 
9
                    |       |
10
                   GND     GND

Der Mikrocontroller soll den I/O Pin beim Herunterfahren auf High 
schalten, etwa 10 Sekunden später schaltet das Relais die 
Stromversorgung aus. Wenn es länger dauern soll nimmst du halt einen 
größeren Kondensator (oder mehrere parallel).

Die andere Spule des Relais verbindest du mit einem Taster zum 
Einschalten.

von Andreas R. (andreas_r)


Lesenswert?

Hallo Stefanus vielen Dank für die Antwort.
Habe mir schon gedacht das es nicht optimal ist die GND Verbindung zu 
unterbrechen.

Ich werde mir deine Relais Schaltung mal Anschauen.

Danke vielmals

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Bistabile Relais habe zwei Spulen. Eine zum Einschalten (mit Taster) und 
eine zum Ausschalten. Sie behalten den Schaltzustand auch ohne 
Stromversorgung bei.

Die Ausschalt-Spule soll der Raspi selbst ansteuern. Wenn der Raspi beim 
herunterfahren seinen I/O Pin auf High setzt, lädt sich der dicke Elko 
langsam auf. Der Transistor leitet zuerst schwach und dann langsam immer 
mehr, bis genug Strom durch die Spule fließt so dass das Relais aus 
schaltet.

Das Kommando zum Ausschalten gibst du dem Raspberry Pi wie gehabt in 
einem Terminalfenster oder du bastelst Dir ein Icon zum Anklicken. Einen 
Ausschalt-Taster würde ich vermeiden, weil ich da zu oft aus Versehen 
drauf drücken würde (kenne ich vom Laptop schon, habe eine Katze).

von Jobst Q. (joquis)


Lesenswert?

Stefanus F. schrieb:
> Das Kommando zum Ausschalten gibst du dem Raspberry Pi wie gehabt in
> einem Terminalfenster oder du bastelst Dir ein Icon zum Anklicken. Einen
> Ausschalt-Taster würde ich vermeiden, weil ich da zu oft aus Versehen
> drauf drücken würde (kenne ich vom Laptop schon, habe eine Katze).

Das kommt auf die Anwendung an. Ich habe mehrere Raspis im 
Headless-Betrieb für Datenaufzeichnungen und Steuerungen. Einen Zugriff 
darauf habe ich über ssh, aber will zum Herunterfahren nicht immer erst 
eine Verbindung aufbauen. Da ist so ein Taster dafür schon ganz 
praktisch. Die Katze kommt da nicht dran.

von Andreas R. (andreas_r)


Angehängte Dateien:

Lesenswert?

So, ich habe meine Schaltung komplett überarbeitet.
Ich habe die Bemerkungen von Stefanus versucht zu berücksichtigen.

Die Musikbox wird Headless gesteuert. Ein Kippschalter soll zum 
einschalten dienen und auch zeigen ob die Musikbox an ist.

Mittels NE555 wird ein ca 11ms Puls generiert wenn der Kippschalter auf 
ON geschalten wird. Dies sollte reichen um die SET Spule zu aktivieren 
und die 5V Speisung zu aktivieren.

NC7SZ08 dient als Pegelwandler um den Status des Kippschalter auf einen 
GPIO von Raspberry Zero zu bringen.

Sobald der Kippschalter geöffnet wird, wird der Shutdown Befehl 
ausgeführt.
Dies sollte dann durch einen GPIO die Reset Spule aktiviert und so die 
5V Speisung trennen.

Ist dies ein besserer Ansatz?

Mit freundlichen Grüssen
Andreas

von Stefan F. (Gast)


Lesenswert?

Probiere mal aus, ob du mit dem 1000µF hin kommst. Verzögert es das 
Abschalten ausreichend?

Die 11ms sind vielleicht zu kurz, bist du sicher, dass das Relais so 
schnell umschaltet? Ich hätte da ja lieber einen Taster verwendet, dann 
braucht man gar keinen Timer. Aber egal, du kannst das mit dem Schalter 
so vereinfachen:
1
        Um-Schalter
2
5V o------o
3
           \          1000µF  22 Ohm       Relais Spule für An
4
            o----+-----||-----[===]------+---XXXXXX------| GND
5
                 |                       |
6
                 |                       +-----|<|-------|
7
       +--o      |        1k
8
       |         +-------[===]---+----------o Zum µC 3,3V High=An, Low=Aus
9
       |                         |
10
       |                        |~| 2,2k
11
       |                        |~|
12
       |                         |
13
      GND                       GND

(Der Teil mit der Ausschalverzögerung ist nicht eingezeichnet)

Der Kondensator lässt nur einen kurzen Impuls durch die Spule des Relais 
fließen. Beim aus-Schalten entlädt sich der Kondensator durch die Diode, 
so dass das Relais nicht darauf reagiert. Der 22 Ohm Widerstand begrenzt 
den Entladestrom.

Falls du doch lieber den NE555 verwenden möchtest, dann solltest du 
erwägen auf der rechten Seite anstelle des dicken Transistors ebenfalls 
einen NE555 zu verwenden.

Man könnte dazu auch einen kleinen Mikrocontroller (z.B. ATtiny13A) 
verwenden, den muss man dann natürlich auch programmieren können/wollen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.