¿Comprobar cuándo se presiona la bocina de un automóvil?

Quiero detectar cuándo se presiona la bocina de un automóvil. La única forma en que puedo detectarlo actualmente es usando el voltaje en su línea. Cuando el automóvil está encendido, siempre se suministran 12 V a la bocina a través de la batería, es decir, cuando NO se usa la bocina, el voltaje es de 12 V.

Cuando se utiliza la bocina, el voltaje de la línea cae entre 2 V y 1 V debido al consumo de la bocina. Estaba pensando en usar el módulo de detección de alto/bajo voltaje de la foto 18f4520 para detectar esta caída de voltaje cuando se presiona la bocina. Pero el módulo parece ser más para detectar una caída en el voltaje operativo. ¿Hay alguna desventaja en usar el HLDV de esa manera, también hay una mejor/otra forma de hacerlo? Cualquier fragmento de código para HLVD u otros métodos es muy apreciado.

Gracias por su tiempo y que tenga un gran día.

Obviamente, la bocina está conectada a 12V en un lado y un relé o transistor a tierra en el otro lado. ¿Por qué no detecta simplemente el voltaje en esa línea? Será de 12 V cuando la bocina esté apagada y de tierra cuando esté encendida.
Podría tener dificultades para pensar en un enfoque peor que usar una interrupción activada por borde en lo que probablemente será una señal ruidosa y relativamente pequeña. Realmente , ¿no puedes pasar un cable al lado 'activo' de esa bocina o al relé/interruptor/transistor de la bocina? Si no, tal vez podría captar los 800 Hz o cualquier ondulación de la bocina y hacer una FFT (no es realmente una sugerencia seria).
¿Por qué preocuparse por los voltajes ruidosos? ¿No podría simplemente medir el consumo de corriente por voltaje a través de una resistencia? Estoy bastante seguro de que así es como lo hacen dentro de la industria automotriz de todos modos.

Respuestas (4)

Supongo que está midiendo el voltaje con respecto a tierra, no a través de los terminales de la bocina. Si es así, lo que estás describiendo suena así:

img1

Excepto que el interruptor es probablemente un relé, MOSFET, SSR o algún otro dispositivo que tenga una resistencia distinta de cero incluso cuando está "cerrado".

En este caso, ambos cables a través de la bocina tendrán el voltaje de la batería cuando la bocina esté apagada. Cuando el interruptor se cierra, el cable inferior caerá hacia tierra y la corriente comenzará a fluir. La razón por la que en realidad no llega a cero voltios es por la resistencia del interruptor.

Es importante darse cuenta de que el cable superior no variará (mucho) del voltaje de la batería ya sea que la bocina esté activa o no.

Deberá controlar la línea entre la bocina y el interruptor. Para conectar esto a un PIC (u otro microcontrolador), deberá escalar el voltaje para que no exceda el Vdd del PIC (probablemente 3.3V o 5V en su circuito). Harías esto usando un divisor de voltaje :

img2

Digamos que su Vdd es de 5V. Suponga que el voltaje de la bocina oscila entre 15 V y 2 V. Si divide el voltaje por 3, la salida oscila entre 5 V y 0,66 V. Esto está dentro de las especificaciones del PIC. Si Vdd = 3,3 V, deberá escalar adecuadamente.

En cuanto al método de interfaz, tiene algunas opciones:

  1. El módulo HLVD. Esto funcionaría bien y tiene el beneficio de "establecer y olvidar". Una vez que está configurado, solo espera una interrupción.

  2. Una entrada analógica. Esto también funciona, pero deberá probar regularmente la entrada.

  3. Si la escala funciona, ¡es posible que pueda simplemente usar la señal de la bocina como entrada digital! Asegúrese de que cuando la señal baje, esté por debajo del V I L del PIC, que se encuentra en la página 335 de la hoja de datos.

Sin embargo , deberá agregar algunas protecciones adicionales. Los sistemas de energía de los automóviles son muy ruidosos y difíciles de manejar. Puede obtener disparadores falsos y grandes picos de voltaje al arrancar el motor que pueden dañar su microcontrolador.

En el momento en que tenga en cuenta estas cosas, el circuito puede volverse considerablemente más complicado. Vea algunas de las otras respuestas. ¡@tcrosley incluso muestra cómo crear un Vdd seguro y filtrado para el PIC!

Buena suerte :)

Aquí hay un circuito que proporcionará una entrada digital a su microcontrolador y también proporciona una fuente de alimentación filtrada para su microcontrolador.

ingrese la descripción de la imagen aquí

Los transitorios pueden ser desagradables en el sistema de 12 V de un vehículo, con voltajes que aumentan hasta 125 V durante 10 ms durante un volcado de carga .

Este circuito brinda protección contra voltajes negativos además de los picos positivos debido a volcados de carga, ruido y salto de arranque. He usado un regulador LDO por simplicidad, pero puede sustituir un conmutador si lo desea para ese bloque. El diodo Zener protege el voltaje que ingresa al regulador para que no supere el máximo de 26V.

El circuito de la bocina usa un comparador para generar una señal digital que indica si la bocina está operada. El condensador de 1000 µF suavizará cualquier ruido que entre en el microcontrolador y simplificará el manejo de la señal. El circuito usa un divisor de voltaje para reducir el voltaje nominal de la bocina de 12v a 4/14 o 29% de su valor. Por lo tanto, 14 V (voltaje típico del sistema del automóvil) aparecerá como 4 V y 12 V como 3,43 V. El otro lado del comparador está conectado a otro divisor de voltaje que proporciona una referencia de 2V. Se proporciona un Zener para limitar el voltaje que ingresa al comparador a 4.7V.

Bitsmack ha brindado una excelente descripción de por qué está viendo esa caída de voltaje, pero también es una razón por la que evitaría hacer lo que propone de confiar en esa caída de voltaje porque podría no ser confiable a largo plazo. Por ejemplo, digamos que es un relé mecánico y falla un día, es posible que al reemplazarlo, la resistencia de contacto interna y externa sea mucho menor, por lo que comienza a tener una caída de voltaje mucho menor. Además, si mueve su circuito a otros vehículos, también tendrán características diferentes.

Para manejar eso y algunas de las otras características desagradables que pueden tener los sistemas automotrices, consideraría usar un optoacoplador en su lugar. En este circuito, calculé la resistencia para que, cuando se someta a un volcado de carga de 125 V, caiga dentro del límite de 50 mA del LED en el optoacoplador y el 1N4148 proporciona cierta protección de voltaje inverso para el LED:

esquemático

simular este circuito : esquema creado con CircuitLab

Lo anterior supone que puede acceder al lado positivo que va hacia la bocina, pero debería ser más confiable que tratar de detectar la diferencia de voltaje a tierra y mantendrá la línea de entrada de su microcontrolador aislada de los picos de voltaje en el otro lado.

Creo que una alternativa más sólida en las respuestas de bitsmacks es usar diodos zenner. Organizados como se indica a continuación, estos servirán para 2 propósitos.

D1 proporcionará una caída de voltaje constante, esto eliminará el efecto de la resistencia "On" del interruptor.

D2 En combinación con el R1 limita el voltaje a 3.3v y se ocupa de cualquier pico de automóvil desagradable.

esquemático

simular este circuito : esquema creado con CircuitLab

Como una pequeña nota al margen, la desventaja de este circuito es un consumo constante cuando la bocina está apagada, esto se puede minimizar aumentando R1, sin embargo, será necesario verificar la hoja de datos ya que los diodos zenner se especifican en una cierta corriente.

El Vdd para el PIC18F4520 es de 5 V, no de 3,3 V (según la hoja de datos).
Perdí eso, pero la premisa es idéntica, solo elija un diodo zenner de 5v