Obwód bezpiecznego wyłączenia zasilania Pi

29

Chcę używać mojego Pi jako serwera XBMC w samochodzie. Dokumenty XBMC mówią, że zawsze należy użyć polecenia zamykania przed odłączeniem zasilania.

Myślałem, że powinno być możliwe stworzenie prostego obwodu z kondensatorem i prawdopodobnie diodą, aby wykryć, kiedy zasilacz został odłączony (i wywołać przerwanie na jednym z pinów GPIO), ale kondensator dostarczy prądu wystarczająco długo dla prawidłowego zamknięcia systemu.

wstępny szkic

Czy to wygląda poprawnie i wystarcza?

... Właściwie myślę, że prawdopodobnie byłoby to bardziej tak:

drugi szkic

Jakiego rodzaju kondensatora potrzebowałbym do przechowywania wystarczającej ilości ładunku, aby Pi działał wystarczająco długo, aby XBMC mógł się poprawnie wyłączyć?


Dla przypomnienia, to pytanie zadano również w SE Electrical Engineering .

Nicholas Albion
źródło
Co jest z „GPIO 3.3V”? W pierwszym obwodzie po prostu pociągnie szynę 3,3 V za pomocą dolnego rezystora, a w drugim podłączeniu wyjścia wzmacniacza operacyjnego działającego z jednonapięciowego zasilania 5 V do GPIO z ustawionymi wejściami będzie sterowany wzmacniacz operacyjny jego moc jest bliska 5 V tak mocno, jak to możliwe - co nie pomoże zasileniu Pi w napięcie 3,3 V ( może zabić Pi ). Zastosowanie liniowego regulatora mocy (7805) po prostu zmarnuje ograniczony ładunek w ?? kondensator. Chciałbym „-1”, ale pytanie jest dobre, nawet jeśli twoje sugestie są słabe.
SlySven,
Nie sądzę, aby działał jakikolwiek kondensator, ponieważ wyłączenie Pi może potrwać do 30 sekund. Zamiast tego może być konieczne obejrzenie małego systemu UPS. Lub nie możesz tego spróbować, ale jest to projekt 90USD. instructables.com/id/…
Piotr Kula,

Odpowiedzi:

13

Projekty dodawania funkcji zamykania i uruchamiania do Pi :

Istnieje również rozwiązanie, aby włączyć / wyłączyć Pi, ale nie odcina ono zasilania, więc nie nadaje się do samochodu:

avra
źródło
AKTUALIZACJA: lowpowerlab.com/atxraspi
avr
4

Moim zdaniem najlepszym rozwiązaniem jest użycie zasilacza UPS Pico , specjalnie zaprojektowanego dla zasilacza Raspberry Pi, który oferuje wiele innych funkcji.

Jest niski, zawiera baterię, nie wymaga dodatkowego kabla, wystarczy go położyć na RPi.

Uruchamianie samochodu i automatyczne wyłączanie, także na XBMC.

Alexander
źródło
3

Wyjście komparatora trafia na pin GPIO (w tym obwodzie zamiast niego znajduje się multimetr), aby Raspberry mógł sprawdzić, czy zapłon samochodu jest nadal włączony. Wszystko inne zostało wyjaśnione przez poprzedniego mówcę. „S2” to przycisk resetowania - na wszelki wypadek. Na zdjęciu widać XMH4, XMM1, .. Nie przejmuj się tym. Użyłem go tylko do sprawdzenia interesujących parametrów podczas testowania obwodu w Multisim. Moje jedyne pytanie dotyczy reakcji na wzrost temperatury. Być może trzeba będzie zmienić wartości rezystorów w dzielnikach napięcia.

Edycja: Zdałem sobie sprawę, że pomimo tego, że cirucit jest z pewnością poprawny w teorii, jest bezużyteczny. Koszt tak dużego kondensatora (1F, 12 V) jest niedopuszczalnie wysoki. Innym rozwiązaniem może być połączenie regulatora napięcia bezpośrednio z akumulatorem i użycie komparatora napięcia między zapłonem samochodu a akumulatorem.

wprowadź opis zdjęcia tutaj

swojczak
źródło
4
Cześć i witaj! Dziękuję za twój wkład. Chcesz wyjaśnić działanie swojego obwodu?
Ghanima
1

Może być możliwe zaprojektowanie odpowiedniego obwodu z zestawem „superkondensatorów” artykuł na temat bateriiuniversity.com i wpisu w Wikipedii oraz czymś podobnym do tego, co otrzymujesz z internetowej witryny aukcyjnej, jeśli szukasz „3V do 5V 1A DC- DC Boost Converter "- zrobiłbyś inny (powiedzmy 5-25 V na 5 V 2 A (?) Wyjście Buck-Boost"), aby obniżyć zasilanie samochodu 12V (studnia 13,8 V) do 3 do 5 woltów potrzebnych do utrzymania naładowania kondensatorów - wtedy pierwszy konwerter wykorzystuje to do zasilania Pi.

Chcesz monitorować przychodzące napięcie 12V, aby wykryć, że jest wyłączane i powiedzieć Pi, aby się zamknął (podobnie jak urządzenia UPiS w drugiej odpowiedzi!)

Potrzebne byłoby również pewne zapobieganie rozruchowi w obwodzie, ponieważ super-czapki przyjmą duży prąd udarowy (z przetwornicy 12 V), gdy napięcie zostanie do nich przyłożone i zostaną one rozładowane.

Dla przypomnienia: poszczególne super-kapsle mają zwykle maksymalne napięcie mniejsze niż 5 V, ale teraz możesz kupić jednostki, które mają dwie szeregowo do pracy z napięciem 5 V - jednak nie jest dobrym pomysłem, aby umieścić więcej niż 2 lub 3 w seria bez dodatkowych obwodów „równoważących napięcie”, które tylko komplikują projekt - powodem zastosowania konwertera „boost” jest to, że będzie on wytwarzał 5 V, gdy napięcie z kondensatorów spadnie poniżej tego ...

SlySven
źródło
1

Uprość to i udowodnij, że Twój projekt jest wart wysiłku UPS.

Wystarczy dodać chwilową zmianę, aby skrócić kilka GPIO, które powodują wyłączenie. Pi uruchomi się przy następnym uruchomieniu samochodu. Zachowaj ostrożność, ponieważ zapasy są dostarczane dopiero po uruchomieniu silnika, aby zapobiec spadkowi podczas procesu zapłonu.

Utwórz skrypt:

$ nano shutdown.py

Wpisz tekst;

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

Dodaj wiersz poniżej do /etc/rc.local

Python /home/pi/shutdown.py

Podłącz przewód do styku 11 i przewód do styku Gnd.

Nie jestem pewien, jak dobrze Kodi gra z przełącznikami GPIO, więc może być w Raspbian.

Andy Anderson
źródło