Detectar coche +12V usando Arduino

Estoy buscando detectar 12 + V de un cable de automóvil usando un Arduino.

He encontrado el siguiente esquema:

ingrese la descripción de la imagen aquí

Sé lo loco que puede volverse el voltaje automotriz, así que solo quiero asegurarme de que el esquema que encontré arriba se adapte a las locas corrientes aleatorias que el automóvil podría producir.

Además, ¿no necesitaría algún tipo de disipador de calor para bajar de +12 V a 5 V o menos? Eso, en mi opinión, ¿produciría una buena cantidad de calor?

Un divisor de voltaje resistivo simple funcionaría mejor en este caso. Solo se necesita un transistor para aumentar el voltaje por cualquier motivo. No es necesario un disipador de calor porque la corriente a través de los componentes no es muy alta. Cuanta más energía consuman los componentes (P = I * V), más calor se disipará. en.wikipedia.org/wiki/Voltage_divider
Kurt: tiene razón en teoría, pero en la práctica, los sistemas automotrices están sujetos a muchas variaciones + picos + EMF, por lo que si tuviera un divisor que produjera un 1 lógico confiable @ 5v (al menos 3v, probablemente 4v para estar seguro al arrancar ) de 12v, puede subir lo suficiente como para dañar el arduino cuando el automóvil se está cargando (los alternadores "inteligentes" modernos funcionarán a casi 20v a veces). El circuito de StealthRT es muy razonable y he visto muchos usos similares en aplicaciones automotrices.
Para referencia: www.industrologic.com/autotransients.pdf
Sin embargo, uno podría seguir el divisor de voltaje de 2 resistencias con un diodo Zener.

Respuestas (4)

Sabiendo que pueden ocurrir todo tipo de cosas extrañas en los circuitos de alimentación de los automóviles, y sin tener un conocimiento especial de esos sistemas, me equivocaría por precaución y usaría un optoaislador .

esquemático

simular este circuito : esquema creado con CircuitLab

Pin 1 = Car 12v R1
Pin 2 = Car Ground
Pin 3 = NC
Pin 4 = Arduino Ground
Pin 5 = Arduino 5v R2
Pin 6 = NC

Con este esquema, tu Arduino y el coche no están conectados eléctricamente en absoluto. En el peor de los casos, el optoaislador se destruye y puede reemplazarlo por menos de un dólar. Póngalo en un enchufe y ni siquiera necesitará un soldador para realizar la reparación.

R1 se seleccionó de manera que los transitorios de voltaje de entrada de hasta 120 V no excedan la corriente directa máxima de U1. D1 evita superar la tensión inversa máxima de U1 si se invierte la tensión de entrada. El valor de R2 no es especialmente crítico, por lo que bien podría ser el mismo valor que R1.

No necesitarás ningún disipador de calor. El calor es el resultado de la conversión de energía eléctrica en calor, y la potencia es la tasa de conversión de energía. Fuerza PAG en un sistema eléctrico es el producto de la corriente I y voltaje mi :

PAG = I mi

Entonces, el voltaje en sí no genera calor: también depende de la cantidad de corriente que fluye. En ambos circuitos, la corriente es lo suficientemente baja como para que la potencia sea pequeña y no se requiera disipador de calor.

+1 para optoacoplador, esto es prácticamente para lo que fueron diseñados en primer lugar.
Me gusta esto. Que 4N25 son 25 céntimos en Jameco (como ejemplo).
@Phil Frost, ¿sabes cuál sería el pin out? ¿El 12v entra en el pin 1? ¿El 5v entra en el pin 5?
@StealthRT si cualquiera de esos pines ve 12V o 5V con respecto a sus respectivos terrenos (pines 2 y 4), se destruirá un 4N25. Consulte la hoja de datos para conocer el pinout y las condiciones de funcionamiento aceptables.
@PhilFrost miré el pinout ... pero no estaba seguro de cuál debería usarse. Entonces, ¿me equivoqué con los pinouts?
@StealthRT, ¿qué quieres decir con "cuál"? ¿Hay más de uno? Estás equivocado porque 5V y 12V no están conectados a ningún pin. Mire el esquema, tenga en cuenta las resistencias.
@PhilFrost sí... quise decir como guía que estaba diciendo la línea para 12v y 5v...
@PhilFrost pregunta rápida: para el 5vdc-> 4k resistor-> Arduino pin-> 4N25 pin 5... ¿realmente necesita 2 formas de 5vdc? ¿Uno proveniente del pin Arduino (5v) y otro 5vdc separado?
@StealthRT Un pin de entrada IO no es remotamente equivalente a una fuente de alimentación de 5 V CC, por lo que no son "2 formas de 5 V CC". Sí, es necesario. Si hay una manera de configurar el Arduino para tener pullups internos, entonces puedes deshacerte de R2 y +5V, pero realmente no sé lo suficiente sobre Arduino para decirlo.
Como dijo @PhilFrost hace un comentario, puede usar los pull-ups internos en lugar de R2. Estos se configuran en Arduino usando pinMode(pin, INPUT_PULLUP).

Estás en el camino correcto, nunca está de más tener el diodo inverso allí, aunque puedes ponerle un cinturón y abrazaderas colocando un Zener de 18-22v en su lugar.

Esta es una versión similar, ampliamente utilizada y funciona bien: http://www.msextra.com/forums/viewtopic.php?f=101&t=40330

Alguna buena información de antecedentes sobre la naturaleza de los transitorios en las aplicaciones automotrices Nota de Harris , para empezar, este gráfico dice bastante:

ingrese la descripción de la imagen aquí

Aquí está el circuito del enlace del foro de arriba:circuito de referencia

¿Dónde está el diodo inverso/zener que mencionas? No veo tal cosa en el esquema.
No está en ese circuito, pero si reemplaza el diodo en el circuito del OP con un Zener, lo protegerá contra la sobretensión y la tensión inversa.

Como se señaló en el comentario a la pregunta: "Un divisor de voltaje resistivo simple funcionaría mejor en este caso". El divisor de voltaje detecta la presencia de 12V (ALTO @3V3 o 5V) y convierte el voltaje del circuito del automóvil a los niveles de Arduino. http://en.wikipedia.org/wiki/Divisor_de_voltaje

  • Vsal = R2 / (R1+R2) * Vin
  • 3300/(10000 + 3300) * 12,8 V = 3,17 V
  • 6800/(10000 + 6800) * 12,8 V = 5,1 V

Tenga en cuenta que el voltaje del automóvil puede ser superior a 12 V, pero en la batería de plomo no debe exceder los 13,8 V por motivos de carga. He usado esto para detectar un circuito de 12V. También puede intentar usar esto para detectar los niveles de carga de la batería si lo conecta a una entrada analógica.

Esto normalmente estaría bien, aunque no estoy seguro de que algunos de los voltajes más altos ocasionalmente presentes (como se muestra arriba) lo hagan bien los diodos de sujeción internos en un AVR.
Si usa el circuito 3V3 con un Arduino de 5V, debería estar seguro. 3V todavía se detecta como ALTO, y puede haber sobretensiones de 20V en el divisor.

Puede que sea un poco tarde, pero lo que hice es muy simple. Comprenda esto, el optoacoplador es el camino a seguir para hacer que todo su circuito sea simple y aislado del sistema de alimentación del automóvil / motocicleta. Pero, en lugar de comprar uno, puede construir uno dentro de 10 a 30 centavos. Usando un LED blanco de 3.2V, una resistencia de ~620 Ohm y un LDR. Ahora es solo una simple lectura de voltaje LDR en su lado Arduino para detectar si hay alguna batería (+) positiva conectada o no (motor encendido/batería conectada).

Conecte la resistencia de 620 ohmios al pin negativo del LED. Luego conecte el negativo de 12V con el otro extremo de la resistencia. Conecte el terminal positivo de 12 V con el pin positivo del LED.

Lo bueno es que puede manejar voltajes de hasta 19 voltios.ingrese la descripción de la imagen aquí