Circuito de reinicio de Raspberry Pi

1

Después de una extensa investigación y de encontrar circuitos muy útiles para el resto del sistema, todavía no he encontrado lo que estoy buscando. Estoy construyendo una estación meteorológica PoE raspberry pi que se montará en una torre de 30 metros, por lo que el acceso es limitado.

El desafío es el siguiente. La fuente de CA no es confiable, así que tengo una batería de respaldo de + -2 horas dentro de la estación meteorológica. La idea es monitorear la entrada de CA, el voltaje de la batería y el estado Pi (apagado o no). Cuando la CA no está disponible, el Pi se descargará de la batería. cuando la batería está a punto de agotarse, el circuito debe enviar una señal al PI que ejecutará el script de apagado.

Cuando se restaura el suministro de CA, los pines "Ejecutar" en el Pi deben activarse para reiniciar el pi. el problema es que el circuito de restablecimiento no puede restablecer el pi cada vez que la CA vuelve y desaparece. ya que si el comando de ejecución se le da al PI Mientras aún se ejecuta con batería, es muy probable que se dañe la tarjeta SD. Mi solución actual es un Arduino pro micro programado para verificar todas las condiciones y solo restablecer el PI cuando el Arduino envió el comando de apagado.

¿Hay alguna manera de hacer todo esto con un circuito simple?

    
pregunta Rustie0125

3 respuestas

0

Tomando así tu idea y aplicándola. se verá algo como esto.

La batería se aumenta a 5v antes de este circuito y la Pi no puede manejar más de 3.3v, por lo que se inserta un ADC. El pi requiere que una señal sea llevada a tierra para restablecer el pi. si mi entendimiento es correcto El circuito funcionará de la siguiente manera. cuando se apaga el Pi, el pin de salida al transistor será bajo, lo que permitirá que la señal aplicada de CC se envíe al optoacoplador y se reinicie el pi. una vez que el pi arranca, el script escribirá la base del transistor ALTA, lo que evitará que la señal de CC alcance el opto, a menos que el pi se apague. al mismo tiempo, cuando el pi está funcionando con la batería, el pi puede verificar el voltaje de la batería y apagar el pi cuando la batería se agota. Una vez que se restaura la entrada de CC, se aplica la misma lógica que se explicó anteriormente ... ¿correcto?

    
respondido por el Rustie0125
0

¿Su circuito de carga está cableado de esta manera? ¿Con el ADC de PI monitoreando el voltaje de la batería en el círculo rojo?

simular este circuito : esquema creado usando CircuitLab

Cuando el PI está encendido (el pin CONTROL está alto) & La alimentación de 5V está alimentada; El suministro 3V3 todavía está disponible. El pin de reinicio se elevará a 3V3 a través de 10k ohm; Q1 está cerca y Q3 está abierto.

Cuando el PI está encendido (el pin CONTROL está alto) & El suministro de 5V se ha ido; El suministro 3V3 todavía está disponible. El pin de reinicio se elevará a 3V3 a través de 10k ohm; Tanto Q1 como Q3 están abiertos.

Cuando el PI está encendido (el pin CONTROL está alto) & El suministro de 5V se ha ido y regresó; El suministro 3V3 todavía está disponible. El pin de reinicio se elevará a 3V3 a través de 10k ohm; Q1 está cerca y Q3 está abierto.

Cuando el PI se apaga (el pin CONTROL se ingresa / flota) & El suministro de 5V se ha ido y regresó; El suministro 3V3 todavía está disponible. El pin de reinicio bajará y luego volverá a subir; Q1 está cerca y Q3 está cerca momentáneamente y luego alta. Para cambiar la sincronización de la palanca, ajuste el límite C1.

Nota: Por favor pruebe el circuito en el tablero. También pruebe la condición cuando no tenga la red eléctrica y su batería esté totalmente descargada.

    
respondido por el Jason Han
0

Si el software de la estación meteorológica está escrito de forma portátil (¿Python?), en realidad podría ser más fácil portarlo en una placa que tenga la batería adecuada. Luego, simplemente puede configurar el apagado con batería baja en la configuración del sistema operativo, y lo único que necesitaría implementar en el hardware es una señal de restablecimiento como rising_edge(PSU_OK) AND not(CPU_RUNNING) , que se puede hacer con un par de BJT y un circuito de temporización RC para detectar el borde . Las computadoras de una sola placa con soporte de batería también suelen dejar de agotar la batería cuando se apaga, que es no es el caso del RPi.

Si desea continuar usando el RPi, usar un Arduino para la administración de energía no es una mala idea. Le permitirá cambiar todos sus parámetros (umbral de voltaje de la batería, tiempos de puesta en marcha / restablecimiento) fácilmente, lo cual no será el caso si implementa esto en hardware.

También se debe tener en cuenta que el RPi también necesita que usted suministre un circuito de carga de la batería con protección contra sobrecargas y sobrecargas (pero probablemente ya lo sepa).

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas