Circuito de medición de vibración piezoeléctrica de Arduino

0

Estoy buscando un circuito de medición muy simple para medir vibraciones con un dispositivo piezoeléctrico y un dispositivo arduino. Quiero leer valores positivos y negativos.

Tengo este sensor: enlace

Sé que este módulo de sensor solo me da salida digital. Pero quiero medir las amplitudes de vibración y la frecuencia. Así que usaría solo el elemento piezoeléctrico.

Encontré muchos ejemplos, desde muy simples hasta muy precisos. Pero la mayoría de ellos cortan los valores negativos. P.EJ. enlace

Y en el ejemplo anterior, no hay protección para el arduino. También encontré afirmaciones de que el arduino no necesita protección al leer un sensor piezoeléctrico en un pin analógico, debido a la baja corriente. Y los pines analógicos están protegidos contra voltajes más altos.

Quiero solo un circuito simple para leer valores negativos y positivos de ese elemento piezoeléctrico. Mi dispositivo arduino usa 3.3V de voltaje de entrada. El sensor piezoeléctrico puede tener hasta 70-90V.

¿Cuál es la configuración mínima para configurar un circuito de medición de este tipo? No necesito la más alta precisión. Debería ser lo más fácil posible. Es sólo para propósitos de prueba. Creo que tengo que usar un divisor de voltaje con dos resistencias altas iguales para establecer un offset de CC para medir los valores negativos. Pero, ¿qué más necesito para un ejemplo de trabajo mínimo?

    
pregunta CPA

1 respuesta

3

Usando casi cualquier artículo publicado en Internet, acerca de la detección digital de un sensor piezoeléctrico proporcionará la frecuencia de la vibración. Esto tiene la gran ventaja de que un pin digital se puede sentir unas 1000 veces más rápido que el ADC.

Un problema con el uso del ADC para muestrear la señal real es que el Arduino ADC es tan lento que las muestras sufren un alias (la señal se muestrea debajo de criterios de Nyquist-Shannon ), y proporciona información muy poco confiable.

El voltaje de la señal del sensor piezoeléctrico oscilará alrededor de cero. Eso será detectado por una muestra digital, recuperando la frecuencia.

Proteja los pines de la MCU con una resistencia y un diodo, conectando la señal al pin a través de la resistencia al pin de la MCU y conecte a tierra a través del diodo. Probablemente usaría un diodo Schottky para detener la señal que va muy por debajo del suelo.

Además, proteja la entrada de los voltajes potencialmente muy altos con un diodo zener (3.3V para una MCU de 3.3V, 5V / 5.1V para una MCU de 5V) también conectada a tierra, de modo que la señal no pueda elevarse El rango de operación del pin Arduino.

Si bien podría estar de acuerdo con los diodos de protección ESD, confiar en el diodo ESD para la protección va más allá de las especificaciones del dispositivo. Además, conozco a un tipo que dañó varios pines de arduino, usando un sensor piezoeléctrico. No vale la pena ahorrarse algunos peniques.

simular este circuito : esquema creado usando CircuitLab

Si realmente quiere muestrear la amplitud, entonces también coloque un filtro de paso bajo. Probablemente me quedaría con la entrada digital (en ese circuito) para la frecuencia y utilizaría un segundo pin ADC para tratar de medir la amplitud.

No está claro exactamente qué motores desea medir. Para algo como una lavadora, en un giro de 1200 rpm, eso es 20 Hz. Por lo tanto, un filtro de paso bajo a 100Hz + y un muestreo a 1KHz + deberían ser lo suficientemente buenos. Eso debería estar dentro de las capacidades del Arduino.

    
respondido por el gbulmer

Lea otras preguntas en las etiquetas