Estoy buscando un circuito de medición muy simple para medir vibraciones con un elemento piezoeléctrico y un dispositivo arduino. Quiero leer valores positivos y negativos.
Tengo este sensor: http://www.seeedstudio.com/wiki/Grove_-_Piezo_Vibration_Sensor
Sé que este módulo 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. Por ejemplo, http://www.learningaboutelectronics.com/Articles/Piezo-knock-sensor-circuit.php
Y en el ejemplo anterior, no hay protección para el arduino. También encontré afirmaciones de que el arduino no necesita protección para leer un sensor piezoeléctrico en el pin analógico, debido a la baja corriente. Y los pines analógicos están protegidos contra voltajes más altos.
Solo quiero un circuito simple para leer valores negativos y positivos de ese elemento piezoeléctrico. Mi dispositivo arduino usa un voltaje de entrada de 3.3V. El sensor piezoeléctrico puede tener en extremo hasta 70-90V.
¿Cuál es la configuración mínima para montar un circuito de medida de este tipo? No necesito la máxima precisión. Debería ser lo más fácil posible. Es solo para fines de prueba. Creo que tengo que usar un divisor de voltaje con dos resistencias altas iguales para establecer una compensación de CC para medir los valores negativos. Pero, ¿qué más necesito para un ejemplo de trabajo mínimo?
El uso de casi cualquier artículo publicado en Internet sobre 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 puede detectarse 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 ADC de Arduino es tan lento que las muestras pueden sufrir aliasing (la señal se muestrea por debajo de los criterios de Nyquist-Shannon ) y brinda 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 usando una resistencia y un diodo, conectando la señal al pin a través de la resistencia al pin de la MCU y a tierra a través del diodo. Probablemente usaría un diodo Schottky para evitar que la señal vaya muy por debajo del suelo.
Además, proteja la entrada de los voltajes potencialmente muy altos con un diodo zener (3,3 V para una MCU de 3,3 V, 5 V/5,1 V para una MCU de 5 V) también conectado a tierra, de modo que la señal no pueda elevarse por encima del pin Arduino. rango de operación.
Si bien puede estar bien confiar en 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 ahorrar unos centavos.
simular este circuito : esquema creado con CircuitLab
Si realmente desea muestrear la amplitud, coloque también un filtro de paso bajo. Probablemente me quedaría con la entrada digital (en ese circuito) para la frecuencia, y usaría un segundo pin ADC para tratar de medir la amplitud.
No está claro exactamente qué motores desea medir. Para algo como una lavadora, digamos a 1200 rpm de giro, eso es 20 Hz. Por lo tanto, un filtro de paso bajo a más de 100 Hz y un muestreo a más de 1 KHz deberían ser suficientes. Eso debería estar dentro de las capacidades del Arduino.
gbulmer
CPA
gbulmer
CPA
gbulmer