Shutdown Controller para Raspberry Pi en un automóvil

14

Siguiendo en mi pregunta anterior soy tratando de crear un controlador de apagado para mi Raspberry Pi. La Raspberry Pi debe encenderse con la batería, pero debe apagarse después de que Pi detecte que el encendido se ha apagado.

El Pi tomará una alimentación de 3.3V desde la línea ACC (tengo otros componentes que tomarán 5V de la línea ACC a través de un 7805, así que descenderé a 3.3V usando un divisor de voltaje a menos que alguien tenga una mejor sugerencia - También manejaré un uPD6708 que toma 5V CMOS I / O, por lo que tendré que bajar de 5V a 3.3V en otras 2 líneas).

El software que se ejecuta en el RPi establecerá uno de los pines GPIO alto, presumiblemente cuando el RPi se apague, los pines GPIO se apagarán. Por lo tanto, Q1 debe activar el relé, manteniendo el poder de los RPi mientras el encendido esté encendido o el pin GPIO esté alto.

Tengo 3 kits de fusibles con una tapa de 1000uF y algún tipo de transformador / inductor, por lo que también puedo usar uno de ellos en cada una de las baterías de 12V y la línea de accesorios de 12V.

Este controlador dice que dibuja solo 50 uA en modo de espera, si uso un CMOS 4071 O la puerta sería un comienzo, pero por lo que he leído, necesitaría más corriente de la puerta OR para saturar el transistor, ¿verdad?

Teniendo en cuenta que necesito cambiar de nivel 5 líneas de 3.3V a 5V y 2 de 5V a 3.3V además de los requisitos de este subcircuito, ¿alguien puede recomendar componentes / alternativas para OR1, Q1, RLY1? y / o modificaciones?

simular este circuito : esquema creado usando CircuitLab

Aquí está mi intento de seguir la sugerencia de @Connor Wolf.

  • R1 y C3 deben seleccionarse para permitir que el RPi se cierre correctamente
  • Agregué C1 porque imagino que tomará un breve momento antes de que se apague el relé después de que se apague el encendido. No tengo idea de cuánto tiempo es eso, pero supongo que el RPi va a estar dibujando aproximadamente 700 mA del capacitor, además del 555 y el relé

simular este circuito

@Nick sugiere que podría ser más simple, ¿así como quizás? Intenté quitar los diodos para poder usar una fuente de alimentación USB 12V-5V 1A (o un par de ellos) disponible en el mercado. La hoja de datos 555 dice que genera 3.3V (¿fuente máx. 100mA? Esta página dice 200mA). El RPi tomará leer la línea ACC a 3.3V para determinar cuándo apagar.

simular este circuito

    
pregunta Nicholas Albion

4 respuestas

8

Si bien el uso de un circuito de temporizador de un disparo funcionará, creo que se puede usar una solución más fácil. Echa un vistazo a este circuito.

Paraaclaraciones,"VBAT" es una fuente de 12 V que siempre está encendida mientras la batería esté conectada. Sin embargo, "ACC" es una fuente de 12 V que está encendida solo cuando el encendido está encendido o la llave está configurada en "accesorio". En lugar de usar un relé de 5 V solo para controlar la alimentación del RPi, ¿por qué no usar un relé automático de 12 V como se muestra? De esta manera, no se desperdicia energía (excepto por la corriente de la bobina mientras la alimentación está encendida) porque todo se desconectará de la batería.

Un lado de la bobina está siempre conectado a 12V. El lado opuesto está conectado a tierra (chasis) a través de un FET de canal N (Q1). Mientras se usa un MOSFET en el diagrama, se puede usar cualquier FET capaz de hundir la corriente de la bobina. Cuando "ACC" está encendido, Q1 se encenderá, conectará la bobina a tierra y accionará el interruptor. Esto, a su vez, alimentará cualquier circuito de regulación de 5 V que planee usar (un simple regulador 7805 con disipador de calor, un convertidor de conmutación CC-CC, los suministros USB mencionados, etc.).

El diodo D2 está allí para garantizar que el condensador solo pueda descargarse en Q1 y pueda ser regular o Shottky. Probablemente se deberían usar otros métodos para la protección de sobretensión y corriente de la batería.

El voltaje "ACC" se puede colocar a través de un divisor de voltaje para crear una señal de 3.3V para el RPi. Tenga cuidado con este nivel de voltaje, ya que una batería automática de 12V puede ser más como 14V DC. Mientras esta señal sea HI, el RPi sabe que la alimentación está encendida. Obviamente, este pin GPIO debe configurarse como una entrada con cualquier pullup interno deshabilitado. Cuando "ACC" está desactivado, el RPi debería ver la señal LO en el pin y comenzar su apagado.

Cuando el voltaje "ACC" se desactiva, el condensador C1 retendrá la carga durante tanto tiempo, descargando a través de la resistencia R1. Una vez que el voltaje del capacitor cae por debajo del umbral de la puerta de Q1, se apagará, desconectará la bobina del relé de la tierra y eliminará la energía del circuito periférico. Si se usa un "nivel lógico MOSFET" para Q1, permanecerá encendido hasta que el voltaje C1 sea bastante bajo. Probé este circuito utilizando un NTD4960 ( Hoja de datos ), y permaneció encendido durante unos 15 segundos, hasta que C1 Fue alrededor de 2V. Para aumentar el tiempo, aumentar el valor de la capacitancia.

    
respondido por el Kurt E. Clothier
2

Honestamente, creo que estás pensando demasiado en esto.

Personalmente, solo uso un one-shot con un periodo de uno o dos minutos, provocado por el apagado del auto.

Cuando apaga el automóvil, el disparo de un disparo se dispara y el relé se cierra hasta que se apaga. Todo lo que tendría que hacer sería asegurarse de que su frambuesa pi se apague dentro de uno o dos minutos del apagado del automóvil. Esto debería ser bastante fácil al monitorear una entrada de la alimentación conmutada del automóvil.

La mayor ventaja de un sistema como este es que cuando su software falla (cuando no lo está), de todos modos se apagará, por lo que no terminará con una batería descargada. El one-shot debe ser bastante simple. Podría usar un 555, o un pequeño microprocesador (como sugerirá Olin).
Otra cosa buena es que, si realiza el diseño correctamente, el sistema puede desconectarse por sí mismo de la batería del automóvil, lo que garantiza que el consumo de la corriente de reposo sea absolutamente cero.

    
respondido por el Connor Wolf
0

Cualquier método de retardo fijo tiene el problema de no saber cuánto tiempo necesita el RPi para apagarse. Sería mejor presionar un botón que le indique al Pi que se apague, luego podría hacer lo que necesita para un cierre ordenado y limpio, demorando tanto como sea necesario, y luego emitir una señal GPIO al circuito del botón pulsador que apaga el poder. Eso le da a la RPi todo el tiempo que necesita para hacer cosas como apagar la tarjeta SD de forma segura. El circuito no tiene por qué ser demasiado complicado. Puedes ver un circuito simple en

enlace

El sitio web describe el funcionamiento del circuito.

    
respondido por el user22047
-2

Utilice 4 pilas recargables AA. Alimenta el Pi desde ellos y haz que se carguen con la batería del auto.

Use 1 GPIO para indicar al Pi si el encendido está encendido o apagado.

Apagar cuando esté listo.

    
respondido por el Erfaan56

Lea otras preguntas en las etiquetas