Alimentación de onda sinusoidal de mayor voltaje al pin de interrupción de Arduino

Quiero usar Arduino para contar ciclos de un generador de bicicletas. Este generador tiene frecuencia variable (que quiero medir), pero también voltaje variable que es proporcional a la velocidad de la rueda, por lo general por encima de 6V.

Lo que quiero es una forma de limitar el voltaje de la onda para poder detectar el aumento del voltaje de un pin ( attachInterrupt(pin, RISING)o tal vez pulseIn(pin, HIGH)).

Mi duda se refiere a la limitación de voltaje (para lo cual pensaría en un zener de 5V), pero también a la impedancia, ya que no quiero drenar la corriente del generador (que tiene que alimentar el resto del circuito de la bicicleta).

¿Es correcta la idea zener? ¿Qué otros componentes debo agregar y cómo deben combinarse?

Sé que hay algo llamado disparador Schmidt, pero no sé exactamente cómo podría usarlo aquí (y, francamente, prefiero no usar un IC si no es necesario).

Rectificaría la salida de la dínamo con media onda y luego usaría una referencia de derivación de baja corriente de precisión para sujetar el voltaje a algo que el Arduino pueda soportar (vea mi respuesta preliminar a continuación), pero ¿cómo planea ejecutar el Arduino? ¿Y cuál es el voltaje máximo de pico a pico que generará la dínamo?

Respuestas (3)

Su idea de Zener es correcta, y dado que le preocupa cargar la dinamo, podría usar algo como esto, donde el LM4040 consume menos de 1 mA:

ingrese la descripción de la imagen aquí

Según tengo entendido, la MCU de Arduino tiene pullups internos, por lo que el LM4040 sujetará el medio ciclo negativo de la dínamo a aproximadamente 500 mV bajo tierra, y R2R3 limitará el voltaje negativo en el pin de interrupción a aproximadamente 250 milivoltios, lo que mantendrá el diodos de protección de entrada feliz.

Planeo ejecutar el arduino con el paquete de baterías recargables a través del enchufe de entrada de CC (para obtener el beneficio de protección y regulación interna). La dínamo genera alrededor de 6 V RMS nominales, sujeta a fluctuaciones de frecuencia y amplitud. Además, la salida de la dinamo no es sinusoidal (como ya he comprobado con un osciloscopio), pero tiene algunos picos cortos de más de 40 voltios, que actualmente cerré usando un puente rectificador, un Zener de 6V y un condensador de 6800uF (pero estos son para el resto de los circuitos de la bicicleta, no para el Arduino).
Hice casi exactamente lo mismo ayer. Solo que ya tengo el generador rectificado a estas alturas, por lo que no sentí la necesidad de usar R2. También estoy usando un diodo Zener simple en lugar del LM4040. Funciona bien, muchas gracias!

Hay un método sucio para conectar CA a un microcontrolador: solo use una resistencia.

Tengo la hoja de datos de Atmega abierta, muestra que el pin de entrada se ve así:
Modelo de pin de entrada de Arduino
los dos diodos de la izquierda son para protección ESD, derivan cualquier sobretensión a tierra o al riel de 5V. Puede abusar de estos diodos para recortar su señal de CA al rango de 0-5 V.

Selección de una resistencia: use el valor más grande posible que impulsará el pin de manera confiable. La corriente de fuga es de 1 uA y la capacitancia es de 10 pF. Si la frecuencia de su dínamo alcanza un máximo de 1 kHz, la impedancia de entrada será de alrededor de 1,5 MOhm. La fuga de 1 uA también se convertirá en un problema en el rango de MOhm. Si elige una resistencia cercana a los 100 kOhm y el voltaje aumenta a +10 V, la corriente en los diodos de protección tendrá un pico de quizás 20 uA, lo que no causará ningún daño.

Cosas para considerar:

  • Esto solo funciona si el voltaje de CA es superior a 5 V. Si es inferior, intente usar el módulo comparador para compararlo con una referencia de 1 V que realiza con un divisor resistivo.
  • Si el arduino funciona con el voltaje de CA, piense detenidamente dónde conecta la CA y la tierra. Actualmente lo estoy haciendo así:

esquemático

simular este circuito : esquema creado con CircuitLab

  • Es posible que deba hacer algo diferente según la referencia de tierra de la fuente de CA.

Todo lo anterior es realmente sucio y poco profesional. Bueno para un contador de frecuencia rápido o un detector de cruce por cero para un circuito. Si va a vender el producto o mostrárselo a alguien más, definitivamente debe usar una abrazadera de diodo y un gatillo Schmitt.

Gracias por su respuesta, pero soy bastante principiante con la electrónica: cuando menciona "abrazadera de diodo", ¿a qué se refiere exactamente? ¿Qué tipo de diodo es este y cómo se supone que debe usarse? Wikipedia sugiere que el " recortador de diodos " podría ser un poco más como estaba pensando, ¿verdad?
Me refiero a un zener de voltaje lo suficientemente bajo, que veo arriba que ya está usando, o un par de diodos que hacen el mismo trabajo que los internos. La ventaja de usar su(s) propio(s) diodo(s) externo(s) es que luego puede dividir un poco el voltaje con resistencias, por lo que oscila entre 0,5 y 4,5 V, por ejemplo.

Personalmente, optaría por la idea del disparador schmitt porque proporciona transiciones limpias y agradables a su entrada digital, que es realmente lo que desea para su entrada de interrupción. Además, no necesita usar un IC para construir un disparador Schmitt, puede construir un disparador Schmitt a partir de BJT como el que se muestra en la imagen.

También wikipedia tenía una buena explicación sobre los disparadores de Schmitt. ingrese la descripción de la imagen aquí

¿Crees que podría usar un IC (por ejemplo, el 4093) con algún tipo de resistencia pull-down o pull-up y el Zener?
Sí, siempre que tenga una resistencia en serie, el diodo zener para sujetar la señal a menos de Vdd. El circuito que mostré en la imagen es bueno porque puedes construirlo con el 3906 y 3904 BJT y solo resistencias sin necesidad de IC y zeners adicionales.