Circuito per lo spegnimento sicuro Pi


29

Voglio usare il mio Pi come server XBMC in macchina. I documenti XBMC dicono che dovresti sempre usare il comando shutdown prima di scollegare l'alimentazione.

Ho pensato che dovrebbe essere possibile creare un semplice circuito con un condensatore e probabilmente un diodo per rilevare quando l'alimentazione è stata disconnessa (e aumentare un interruzione su uno dei pin GPIO) ma il condensatore fornirebbe corrente abbastanza a lungo affinché il sistema si spenga correttamente.

prima bozza

Sembra corretto e sufficiente?

... In realtà, penso che probabilmente sarebbe più simile a questo:

seconda bozza

Che tipo di condensatore avrei bisogno di immagazzinare abbastanza carica per mantenere il Pi in funzione abbastanza a lungo affinché XBMC si spenga correttamente?


Per la cronaca, questa domanda è stata posta anche su SE Electrical Engineering .


Che cos'è "GPIO 3.3V"? Nel primo circuito abbatterà semplicemente la guida da 3,3 V con la resistenza inferiore, e il secondo che collegherà l'uscita di un Op-amp che funziona da alimentazione a 5 V single-ended a GPIO con gli ingressi impostati avrà l'azionamento dell'amplificatore operazionale la sua uscita vicino a 5 V il più forte possibile - il che non aiuterà la fornitura a 3,3 V al Pi ( potrebbe uccidere il Pi ). L'uso di un regolatore di potenza lineare (7805) sta per sprecare la carica limitata nel ?? condensatore. Vorrei "-1" ma la domanda è buona anche se i tuoi suggerimenti sono scadenti.
SlySven,

Non credo che farà alcun tipo di condensatore poiché potrebbero essere necessari fino a 30 secondi per spegnere un Pi. Potrebbe essere necessario guardare un piccolo sistema UPS invece. Oppure non puoi provarlo, ma è un progetto 90USD. instructables.com/id/…
Piotr Kula il

Risposte:


13

Progetti per aggiungere funzionalità di arresto e avvio a Pi :

C'è anche una soluzione per accendere / spegnere Pi ma non interrompe la potenza, quindi non è adatto per un'auto:


AGGIORNAMENTO: lowpowerlab.com/atxraspi
avra

4

La migliore soluzione secondo me è usare l' UPS Pico , un UPS appositamente progettato per Raspberry Pi, che offre molte altre funzionalità.

È a basso costo, include la batteria, non è necessario alcun cavo aggiuntivo, basta inserirlo in RPi.

In esecuzione su un'auto e spegnimento automatico, anche in esecuzione su XBMC.


3

L'output del comparatore va al pin GPIO (in questo circuito è invece posizionato un multimetro) in modo che Raspberry possa verificare se l'accensione dell'auto è ancora attiva. Tutto il resto è spiegato dal precedente oratore. "S2" è un pulsante di ripristino - per ogni evenienza. Nella foto puoi vedere XMH4, XMM1, .. Non preoccuparti. L'ho usato solo per verificare parametri interessanti durante il test del circuito in Multisim. La mia unica domanda è la reazione all'aumento della temperatura. Forse, sarà necessario modificare i valori dei resistori nei divisori di tensione.

Modifica: mi sono reso conto che, nonostante il fatto che il cirucit sia sicuramente corretto nella teoria, è inutile. Il costo di un condensatore così grande (1F, 12V) è inaccettabile. Un'altra soluzione potrebbe essere quella di collegare il regolatore di tensione direttamente all'acculumatore e utilizzare il comparatore di tensione tra l'accensione dell'auto e la batteria.

inserisci qui la descrizione dell'immagine


4
Ciao e Benvenuto! Grazie per il tuo contributo. Vuoi spiegare il funzionamento del tuo circuito?
Ghanima

1

Potrebbe essere possibile progettare un circuito adatto con una serie di articoli "supercondensatori" batteryuniversity.com e voce di Wikipedia e qualcosa di simile a ciò che si ottiene da un sito di aste online se la ricerca di un "3V a 5V 1A DC- DC Boost Converter "- si vorrebbe un altro convertitore (diciamo da 5-25 V a 5 V 2 A (?) Buck-Boost di uscita") per far cadere l'alimentatore da 12 V (ben 13,8 V) sui 3 a 5 Volt necessari per mantenere carichi i condensatori - quindi il primo convertitore lo usa per alimentare il Pi.

Vorresti monitorare i 12V in arrivo per rilevare che sono spenti e dire al Pi di spegnersi (come fanno i dispositivi UPiS nell'altra risposta!)

Avresti anche bisogno di un po 'di prevenzione dello spunto nel circuito poiché i supercapsulanti assorbiranno una grande corrente di sovracorrente (dal convertitore 12V) quando viene applicata tensione a loro e vengono scaricati.

Per la cronaca: i singoli supercap di solito hanno una tensione massima inferiore a 5 V, ma ora puoi acquistare unità che hanno due in serie per funzionare con 5 V volt, tuttavia non è un buon ideale per inserire più di 2 o 3 in serie senza circuiti extra di "bilanciamento della tensione" che rendono il progetto più complesso - il motivo per utilizzare un convertitore "boost" è che continuerà a produrre 5 V quando la tensione dai condensatori scende al di sotto di ...


1

Mantieni la semplicità e dimostra che il tuo progetto vale lo sforzo di un UPS.

Basta aggiungere un passaggio momentaneo per abbreviare un paio di GPIO che innesca un arresto. Il Pi si accenderà alla successiva partenza dell'auto. Diffidare del fatto che la fornitura viene consegnata solo dopo l'avvio del motore, per evitare un tuffo durante il processo di accensione.

Crea uno script:

$ nano shutdown.py

Inserisci il testo;

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")

Aggiungi la riga qui sotto a /etc/rc.local

Python /home/pi/shutdown.py

Collegare un filo al pin 11 e un filo a un pin Gnd.

Non sono sicuro di come Kodi funzioni bene con gli switch GPIO, quindi potrebbe essere necessario essere all'interno di Raspbian.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.