Índice:

Módulo de controle de switch Raspberry Pi ATX PSU: 3 etapas
Módulo de controle de switch Raspberry Pi ATX PSU: 3 etapas

Vídeo: Módulo de controle de switch Raspberry Pi ATX PSU: 3 etapas

Vídeo: Módulo de controle de switch Raspberry Pi ATX PSU: 3 etapas
Vídeo: doubling the drop every time the PC survives #shorts 2024, Novembro
Anonim
Módulo de controle de switch Raspberry Pi ATX PSU
Módulo de controle de switch Raspberry Pi ATX PSU

Em um sistema composto por um RaspberryPi alimentado por uma fonte de alimentação ATX, o objetivo deste circuito é permitir ligar ou desligar o sistema com um único botão.

Este tutorial foi desenvolvido por sitelec.org.

Etapa 1: apresentação funcional

Apresentação Funcional
Apresentação Funcional

Abaixo estão detalhadas as etapas de funcionamento do circuito.

Consulte o esquema em anexo e o diagrama de simulação:

X: 2s / div, Y: 0,5v / divATX_PS-ON (amarelo) (medida) PWR_SW (reg) (simulação) RPI_GPIO (azul) (medida) RPI_UART0-TXD (verde) (simulação)

Ligar

Este circuito atua no pino ATX PSU ATX_PS-ON para acionar sua alimentação ou desligamento. Por padrão, este pino é configurado para 5 V, o que significa que a PSU está parada. Para ligar a PSU, o circuito deve definir ATX_PS-ON para o terra. Quando o botão de pressão é ativado, o transistor Q2 define ATX_PS-ON para o solo, o que aciona a alimentação da PSU e a inicialização do RaspberryPi.

Sistema funcionando

Na inicialização, o RaspberryPi configurou seu pino RPI_UART0-TXD para 3,3 V, agindo no transistor Q1 que mantém a PSU ativa mantendo ATX_PS-ON no solo. No entanto, pode levar algum tempo até que RPI_UART0-TXD vá para 3,3 V (2,6 segundos no RaspberryPi 3). O sub-circuito RC na base Q2 é projetado para manter a saturação do transistor por tempo suficiente. O capacitor C1 absorve variações de tensão no pino RPI_UART0-TXD, o que é útil se o RaspberryPi UART for usado porque mantém o sistema ativo.

Desligamento do sistema

Uma nova pressão no botão de pressão é detectada pelo software no RaspberryPi lendo um pino GPIO de entrada, o desligamento do sistema pode então ser executado. Uma vez que o RaspberryPi é parado, seu PCB permanece energizado, mas o pino RPI_UART0-TXD vai para o solo, Q1 é então cortado e o PSU para.

Etapa 2: configurações do RaspberryPi

Pino RPI_UART0-TXD definido para 3,3 V durante a execução

Por meio de um cliente SSH, faça o login no RaspberryPi.

Primeiro, configure o RaspberryPi para definir RPI_UART0-TXD para 3,3 V durante a execução, para manter o PSU ativo. Para fazer isso, edite /boot/config.txt e adicione no final:

enable_uart = 1

Parada do RaspberryPi acionada por GPIO

Para permitir que o botão acione o desligamento do RaspberryPi, o circuito deve ser conectado a um GPIO.

Baixe o script rpi_shutdown.py anexado.

Você pode editá-lo para alterar os seguintes valores:

  • HOLD_TIME: tempo para manter o botão pressionado para acionar o desligamento (este valor é distorcido por C2 que mantém o nível por um tempo após o botão ser liberado)
  • PIN_NB: número GPIO a ser usado

Copie o script para / usr / local / bin e torne-o executável:

sudo chmod + x /usr/local/bin/rpi_shutdown.py

Instale suas dependências, como gpiozero:

sudo apt-get -y install python3-gpiozero python3-pkg-resources

Habilite-o na inicialização do sistema:

sudo crontab -e

adicione o seguinte no arquivo de abertura:

@reboot /usr/local/bin/rpi_shutdown.py &

Este script foi escrito de acordo com a seguinte documentação:

Reinicie o RaspberryPi corretamente:

sudo reboot

Agora você pode conectar o circuito ao RaspberryPi e ao PSU e testar o seguinte:

  • a PSU é mantida ativa conforme esperado pelo pino RPI_UART0-TXD RaspberryPi
  • pressionar o botão ativa o desligamento do RaspberryPi, que interrompe o PSU

Etapa 3: Recursos Adicionais

Recursos relacionados podem ser encontrados em sitelec.org:

  • Tutorial de inglês incluindo projeto FreeCad atualizado e ambiente de simulação
  • Tutorial em francês incluindo projeto FreeCad atualizado e ambiente de simulação
  • Tutorial de iniciação da simulação FreeCad em francês, com base em um método de planilha de simulação separada

Recomendado: