Controlador de apagado para Raspberry Pi en un automóvil

14

Siguiendo con mi pregunta anterior , estoy tratando de crear un controlador de apagado para mi Raspberry Pi. El Raspberry Pi necesita ser alimentado por la batería, pero debería apagarse después de que el Pi detecte que el encendido se ha apagado.

El Pi tomará una alimentación de 3.3V de la línea ACC (tengo otros componentes que tomarán 5V de la línea ACC a través de un 7805, por lo que bajaré a 3.3V usando un divisor de voltaje a menos que alguien tenga una mejor sugerencia: yo ' También conduciré un uPD6708 que toma E / S CMOS de 5V, 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 en alto, presumiblemente cuando el RPi apaga los pines GPIO se quedarán bajos. Por lo tanto, Q1 debería encender el relé, manteniendo la alimentación del RPi siempre que el encendido esté activado o el pin GPIO esté alto.

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

Este controlador apagado afirma que solo consume 50uA en modo de espera; si usara una puerta OR CMOS 4071, eso sería un comienzo, pero por lo que he leído, necesitaría más corriente de la puerta OR para saturar el transistor. ¿ese derecho?

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 alguna modificación?

esquemático

simular este circuito : esquema creado con CircuitLab

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

  • Es necesario elegir R1 y C3 para permitir que el RPi se apague correctamente
  • Agregué C1 porque imagino que tomará un breve momento antes de que el relé se active después de que se apague el encendido. No tengo idea de cuánto tiempo es eso, pero supongo que el RPi tomará aproximadamente 700 mA de el condensador, además del 555 y el relé

esquemático

simular este circuito

@Nick sugiere que podría ser más simple, ¿tal vez así? Traté de quitar los diodos para poder usar una fuente de alimentación USB estándar de 12V-5V 1A (o un par de ellas). La hoja de datos 555 dice que produce 3.3V (¿fuente máxima 100mA? Esta página dice 200mA). El RPi leerá la línea ACC a 3.3V para determinar cuándo cerrar.

esquemático

simular este circuito

Nicholas Albion
fuente
1
Su 7805 se CALENTARÁ REALMENTE a medida que se dibuja su circuito. Con el consumo de 700 mA de la frambuesa pi, en su vDrop de 7V (12v-5v), va a disipar 4.9 vatios (7V * 0.7A) en el regulador. Usted realmente tiene que mirar en un DC-DC para eso.
Connor Wolf
1
Además, su cosa de "kit de fusibles" está dibujada incorrectamente. En este momento, el diodo simplemente está acortando la entrada de 12V, y el inductor no está haciendo nada. Supongo que el inductor está en serie con la línea de alimentación y que el diodo está al revés (lo que evitaría que se polarice la entrada).
Connor Wolf
2
Los divisores de voltaje no son una buena forma de alimentar nada, ya que la carga varía y el voltaje variará. Simplemente use un regulador de algún tipo, son lo suficientemente baratos y abundantes.
John U
@ConnorWolf Tengo un 7805CT con una calificación de 1A. ... ¿Eso solo se aplica si baja de 6V a 5V? Cuando busco el convertidor DC-DC en Google, muchos de los resultados de búsqueda mencionan 7805. A menos que las salidas del convertidor DC-DC 5.7VI piensen que necesitaría cambiar D2 y D3 para diodos schottky con una caída de voltaje de menos de 0.25V
Nicholas Albion
@NicholasAlbion - No dije que no funcionaría, solo que vas a necesitar un disipador de calor muy grande, o un ventilador / disipador de calor más pequeño, para mantenerlo adecuadamente frío.
Connor Wolf

Respuestas:

8

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

ingrese la descripción de la imagen aquí

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

Un lado de la bobina siempre está 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 se enciende "ACC", Q1 se encenderá, conectando la bobina a tierra y accionando el interruptor. Esto, a su vez, alimentará cualquier circuito de regulación de 5V que planee usar (un simple regulador 7805 con disipador de calor, un convertidor DC-DC de conmutación, los suministros USB mencionados, etc.).

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

El voltaje "ACC" se puede pasar 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, teniendo en cuenta 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 establecerse como una entrada con cualquier pullup interno deshabilitado. Cuando "ACC" está apagado, el RPi debería ver la señal LO en el pin y comenzar su apagado.

Cuando se apaga el voltaje "ACC", el condensador C1 retendrá la carga durante tanto tiempo, descargándose a través de la resistencia R1. Una vez que el voltaje del condensador cae por debajo del umbral de la puerta de Q1, se APAGARÁ, desconectando la bobina del relé de tierra y eliminando la energía del circuito periférico. Si se utiliza un "MOSFET de nivel lógico" para Q1, permanecerá encendido hasta que el voltaje de C1 sea bastante bajo. Probé este circuito usando un NTD4960 ( Hoja de datos ), y permaneció encendido durante unos 15 segundos, hasta que C1 fue de alrededor de 2V. Para aumentar el tiempo, aumente el valor de capacitancia.

Kurt E. Clothier
fuente
¿Cómo selecciono un FET apropiado? Ya tengo un relé de 12V - 621D012 (270ohm -> 44mA) El catálogo en línea de Jaycar enumera lo siguiente: 2N7000, PN100, VN10KM, IRF540N, IRF1405 y más
Nicholas Albion
1
Creo que el 2N7000 sería una buena opción, pero esto es lo que está buscando ... Tipo: N Channel FET (no un NPN BJT); Corriente Directa (I_d): Al menos 100mA - (doble de 44mA); Voltaje de umbral de puerta (V_gs o V_gth): No más de 3V; Capacitancia de puerta: ¡No importa, ponemos más externamente! Resistencia "ON" (R_ds): baja es buena, pero su disipación de energía será baja; Disipación de potencia (P_d): 44mA ^ 2 * R_ds << al menos el doble
Kurt E. Clothier
¿Se puede comprar en la tienda? Estoy tratando de hacer lo mismo que el OP, pero no tengo idea de cómo crear mis propios circuitos. ¿Hay alguna tienda compró soluciones para esto?
John Demetriou
2

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

Personalmente, solo usaría un disparo con un período de uno o dos minutos, activado por el apagado del automóvil.

Cuando apaga el automóvil, el disparo único dispara, manteniendo el relé cerrado hasta que se agota el tiempo. Todo lo que necesitaría hacer sería asegurarse de que su raspberry pi se apague en un minuto o dos después de que el automóvil se apague. Esto debería ser lo suficientemente fácil al monitorear una entrada de la energía conmutada del automóvil.

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

Connor Wolf
fuente
suena genial, ¿cómo se hace?
Nicholas Albion
Suena un poco como el circuito utilizado para mantener las luces de cortesía encendidas después de que se cierra la puerta del automóvil. Desde la memoria, un condensador se carga a 12V y se mantiene en un FET o similar. Desconecte la alimentación, la tapa se descarga lentamente, hasta que se apague el FET.
Alan Campbell
El RPi consume 5 V a aproximadamente 700 mA y creo que necesito unos 10 segundos para apagarlo. Lo primero que pensé fue usar un condensador, pero eso implicaría unos $ 100 en condensadores
Nicholas Albion el
@NicholasAlbion, la tapa no se usaría para proporcionar energía directamente al Pi, sino un voltaje de puerta a un FET (que controlaría un relé). La resistencia de la puerta de un FET es muy alta, por lo que no necesitaría una gran tapa para durar los 10 segundos necesarios.
Pentium100
0

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

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/on-off-power-controller

El sitio web describe el funcionamiento del circuito.

usuario22047
fuente
Usted hace un buen punto, aunque no creo que nadie quiera pasar por ese proceso cada vez que apagan su automóvil. Tendría más sentido que el RPi detecte el apagado monitoreando el voltaje de la línea ACC (solo encendido cuando el automóvil está encendido), y luego apague su propia potencia de la línea de 12V "siempre encendida" cuando esté listo para hacerlo - Automatización del sistema.
Kurt E. Clothier
-2

Utilice 4 pilas recargables AA. Encienda el Pi de ellos y cárguelos con la batería del automóvil.

Use 1 GPIO para decirle a Pi si el encendido está activado o desactivado.

Apagar cuando esté listo.

Erfaan56
fuente
3
Creo que esta respuesta necesita más detalles para ser útil. Tal vez publique un esquema o una descripción de cómo cree que funcionaría y qué tipo de circuito de carga / dispositivo / control de potencia propondría.
PeterJ