Lea la frecuencia de la señal de CA de 2-100 Hz a 80 mV a 12 V con Arduino

Tengo un sensor ( anemómetro NRG #40 ) que produce una señal de CA con una frecuencia entre 2 Hz y ~100 Hz con una amplitud de 80 mV a 12 V de pico a pico. La señal a leer es la frecuencia (¿cruce por cero?), la amplitud no es relevante.

La señal es leída por un Arduino Uno. Para convertir la onda sinusoidal (del sensor) en una onda cuadrada (adecuada para la entrada de MCU), estaba pensando en usar un disparador Schmitt inversor hexagonal 74HC14N. La nota de aplicación del sensor sugiere agregar protección contra sobrevoltaje, filtro de paso bajo y un limitador. Estoy ejecutando el gatillo Schmitt a 3,3 V.

diagrama de bloques de acondicionamiento de señal del fabricante

Desafortunadamente, mi salida Schmitt Trigger siempre es alta, lo que significa que la señal de entrada es baja y no se registra.

  • ¿Cómo puedo llevar la señal de entrada a un nivel válido para el disparador Schmitt?
  • ¿Cómo puedo DC polarizar la señal de entrada a aproximadamente 1,65 V y limitarla para que no pase 3,3 V y 0 V?
  • Pensé que había ignorado la protección contra sobrevoltaje y el filtro de paso bajo para la configuración de la prueba, ¿está bien?
Para el sospechoso habitual para quien lo obvio no es obvio, esta es una pregunta de electrónica , NO una "pregunta de arduino"
@ChrisStratton, ¿quieres que elimine la etiqueta de arduino?
No debería ser necesario, pero el hecho es que tenemos un llamado "moderador" que se está portando muy mal y que deja de leer y migra las preguntas cada vez que ve esa etiqueta, independientemente de qué se trate realmente la pregunta.
@ChrisStratton gracias por la respuesta rápida y la información de fondo, mantendré la etiqueta. Creo que da el contexto adecuado.

Respuestas (1)

El diagrama es una especie de concepto de alto nivel: menciona el uso de un comparador, que funcionará, en lugar de un inversor ST, que no lo hará. Incluso si lo sesgó hacia el punto central (bastante variable) del inversor, la histéresis es demasiado grande.

A continuación se muestra un circuito apropiado. R4 y los diodos Schottky D1/D2 sujetan la entrada a aproximadamente +/- unos pocos cientos de mV. C1 y R11 son el filtro de paso bajo. R10 es el pullup requerido por la mayoría de los comparadores, como el LM393 que se muestra. R1/R2 crea un poco de histéresis. R9 polariza la entrada hacia arriba en aproximadamente la mitad de la histéresis (ya que la histéresis es unilateral debido a la salida de 0/5 V del comparador en lugar de una salida simétrica con respecto a tierra).

esquemático

simular este circuito : esquema creado con CircuitLab

Nota: No se incluye en este circuito ninguna consideración de protección contra rayos, ya que está fuera del alcance de los problemas de procesamiento de señales. Puedes encontrar más información en este enlace, por ejemplo. No debe descuidarse para una instalación real.

¡Muchas gracias, esto se ve genial! Conseguiré los componentes y lo probaré. Esto se basa en 5V y funciona ya que el Uno tiene 5V y 3.3V. En el diseño final, quiero usar un Arduino (Arduino Zero) que solo tiene 3.3V. Estaba ejecutando el circuito en el simulador con 3.3V y se veía bien. ¿Sugeriría reemplazar algún componente por 3.3V?
Debería funcionar bien tal como está con un suministro de 3.3V.
¿Qué sucede si hay 10 Vac de ruido de línea CM en el cable del sensor de viento exterior con comparador desequilibrado de alta impedancia? Si usa un cable largo para el sensor, hágalo blindado o de par trenzado y puede necesitar una resistencia de carga para reducir el zumbido de CA si hay energía cerca.
Es una fuente de baja impedancia y flotante, por lo que una Z alta no es un problema y la frecuencia está limitada después de una sujeción pasiva fuerte, por lo que debería ser muy inmune al ruido. Un cable blindado es razonable. El cable será muy corto en comparación con una longitud de onda que puede atravesar el LPF.
Pude probar el circuito y leer la frecuencia con éxito. Desafortunadamente, no encontré ningún BAT54 o similar en mi tienda local de electrónica y, por lo tanto, no pude sujetar la entrada. Obtengo lecturas limpias, pero tengo un par de lecturas incorrectas (un par de kHz) en mi versión actual. Mi suposición es que se debe a la falta de D1/D2. Informaré tan pronto como reciba los componentes.
1N5819 es un buen sub en este caso, tal vez mejor
Acabo de recibir un BAT54S-7-F y lo agregué al circuito. El circuito registra bien la frecuencia, pero todavía ve un poco de fluctuación de frecuencia más alta de vez en cuando. Obviamente, puede filtrar esto en el lado del software, pero pensé que también podría haber una solución de hardware. ¿No se supone que R11 y C1 los filtran? (Vea lecturas como muchas ~12Hz y luego de repente 86kHz / 12kHz y luego vuelva a la normalidad)
86kHz? ¿Puedes poner un osciloscopio allí y ver qué está pasando? R1/C1 debería evitar que pasen más de 10 kHz. No mostré un capacitor de desacoplamiento en el esquema pero, por supuesto, debe tener uno muy cerca del comparador a través de los pines de alimentación. Algo así como 0.1uF-1uF/16V de cerámica.