Circuito para desligar com segurança Pi

29

Eu quero usar meu Pi como um servidor XBMC no carro. Os documentos do XBMC dizem que você sempre deve usar o comando shutdown antes de desconectar a energia.

Eu estive pensando que deveria ser possível criar um circuito simples com um capacitor e provavelmente um diodo para detectar quando a fonte de alimentação foi desconectada (e provocar uma interrupção em um dos pinos do GPIO), mas o capacitor forneceria corrente por tempo suficiente para o sistema desligar corretamente.

primeiro rascunho

Isso parece correto e suficiente?

... Na verdade, acho que provavelmente seria mais assim:

segundo rascunho

Que tipo de capacitor eu precisaria para armazenar carga suficiente para manter o Pi funcionando por tempo suficiente para o XBMC desligar corretamente?


Para constar, essa pergunta também foi feita na SE Electrical Engineering .

Nicholas Albion
fonte
O que há com o "GPIO 3.3V"? No primeiro circuito, ele apenas puxa para baixo o trilho de 3,3V com o resistor inferior, e o segundo que conecta a saída de um amplificador operacional em execução de uma fonte de 5v ao GPIO com as entradas definidas terá o acionamento do amplificador operacional sua saída perto de 5V é o mais difícil possível - o que não ajuda o suprimento de 3.3V ao Pi ( pode matar o Pi ). O uso de um regulador de potência linear (7805) só vai desperdiçar a carga limitada no sistema ?? capacitor. Gostaria de "-1" isso, mas a pergunta é boa, mesmo que suas sugestões sejam ruins.
SlySven
Eu não acho que qualquer tipo de capacitor fará, pois pode levar até 30 segundos para desligar um Pi. Você pode precisar procurar um pequeno sistema UPS. Ou você não pode tentar isso, mas é um projeto de 90 USD. instructables.com/id/...
Piotr Kula

Respostas:

13

Projetos para adicionar funcionalidade de desligamento e inicialização ao Pi :

Há também uma solução para ativar / desativar o Pi, mas ele não reduz a energia e, portanto, não é adequado para um carro:

avra
fonte
ATUALIZAÇÃO: lowpowerlab.com/atxraspi
avra
4

A melhor solução, na minha opinião, é usar o UPS Pico , especialmente desenvolvido para o UPS Raspberry Pi, que oferece muitos outros recursos.

É de baixo custo, inclui bateria, sem necessidade de cabo extra, basta colocá-lo sobre o RPi.

Rodando em um carro e desligamento automático, também rodando em XBMC.

Alexander
fonte
3

A saída do comparador vai para o pino GPIO (neste circuito, é colocado um multímetro) para que o Raspberry possa verificar se a ignição do carro ainda está ligada. Tudo o resto é explicado pelo orador anterior. "S2" é um botão de reset - apenas por precaução. Na imagem você pode ver XMH4, XMM1, .. Não se importe com isso. Eu usei apenas para verificar parâmetros interessantes ao testar o circuito no Multisim. Minha única pergunta é a reação ao aumento da temperatura. Talvez seja necessário alterar os valores dos resistores nos divisores de tensão.

Edit: Eu percebi que, apesar do fato de que o cirucit é certamente correto na teoria, é inútil. O custo de um capacitor tão grande (1F, 12V) é inaceitável. Outra solução pode ser conectar diretamente o regulador de tensão ao acumulador e usar o comparador de tensão entre a ignição do carro e a bateria.

insira a descrição da imagem aqui

swojczak
fonte
4
Olá e bem-vindo! Obrigado pela sua contribuição. Importa-se de explicar o funcionamento do seu circuito?
Ghanima
1

Pode ser possível projetar um circuito adequado com um conjunto de artigos "super-capacitores" batteryuniversity.com e entrada da Wikipedia e algo parecido com o que você obtém de um site de leilão on-line se sua pesquisa por um "3V a 5V 1A DC- DC Boost Converter "- você usaria outro conversor (digamos 5-25V em 5V 2A (?) De saída Buck-Boost") para reduzir a fonte de carro de 12V (poço 13,8V) aos 3 a 5 Volts necessários para manter os capacitores carregados - então o primeiro conversor usa isso para alimentar o Pi.

Você deseja monitorar os 12V de entrada para detectar que está sendo desligado e dizer ao Pi para desligar (como fazem os dispositivos UPiS na outra resposta!)

Você também precisaria de alguma prevenção de irrupção no circuito, já que as supercapas absorvem uma grande corrente de surto (do conversor de 12V) quando a tensão é aplicada a eles e eles são descarregados.

Para constar: supercaps individuais geralmente têm uma tensão máxima inferior a 5V, mas agora você pode comprar unidades que possuem duas em série para operar com 5V volts - no entanto, não é um bom ideal colocar mais de 2 ou 3 série sem circuito extra de "balanceamento de tensão" que apenas torna o projeto mais complexo - a razão para usar um conversor "boost" é que ele continuará produzindo 5V quando a tensão dos capacitores cair abaixo desse valor ...

SlySven
fonte
1

Mantenha-o simples e prove que seu projeto vale o esforço de um no-break.

Basta adicionar uma chave momentânea para colocar em curto alguns GPIOs que acionam um desligamento. O Pi será ligado quando o carro for ligado na próxima vez. Cuidado, seu suprimento só é entregue após o arranque do motor, para evitar uma queda durante o processo de ignição.

Crie um script:

$ nano shutdown.py

Digite o texto;

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

Adicione a linha abaixo ao /etc/rc.local

Python /home/pi/shutdown.py

Conecte um fio ao pino 11 e um fio ao pino Gnd.

Não tenho certeza de quão bem o Kodi é reproduzido com os comutadores GPIO, portanto, pode ser necessário usar o Raspbian.

Andy Anderson
fonte