Problema extraño con ADXL345, Buzzer y Arduino

3

He configurado un puerto serie a través de un módulo Bluetooth (HC05). Estoy usando una aplicación JavaFX que escribí para leer el puerto en serie, trazar los valores de aceleración (a través de ADXL345) y escribir en el puerto en serie un bit de alarma (1 para ENCENDIDO y 0 para ENCENDIDO PARA APAGADO) cuando una función determinada de accelX alcanza sobre un valor.

La parte más extraña es que, cuando Arduino detecta un bit ON y enciende el timbre, ¡mis valores de aceleración se vuelven bastante ruidosos! He comprobado mis códigos tanto en el lado de Arduino como en el de Java y no pude encontrar ningún problema.

Luego puse un LED en lugar de un zumbador y, para mi sorpresa, se encendió sin interferir con la aceleración. lecturas !!

Realmente no sé cuál es el problema con el timbre. ¿Alguien puede ayudar?

Aquí está mi sospecha:
Estoy usando un panel de salida para ADXL345. No estoy seguro de si puede tolerar 5 voltios. Conecté 3.3 voltios de Uno a su Vcc y estoy usando I2C para las comunicaciones. (con dos resistencias pull-up de 4.7k conectadas entre sus pines SDA y SCL y uno de 3.3v).
¿Podría ser que el zumbador cuando se enciende de alguna manera consume tanta corriente que interfiere con esas resistencias de levantamiento?

Aquí está la foto de mi configuración (la línea roja inferior es 3.3v y la línea roja superior es 5 vols, ambas provenientes de Uno. Todas las bases están conectadas entre sí):

Yaquíestánlaslecturasdeaccels.enIDLE:

Yobtengoestaslecturasdelpuertoserie:

Perocuandoinclinolaplacadepruebas(ellímiteparalaalertaesde20grados),suenacorrectamente,perodebidoalasaceleracionesruidosas,elzumbadorcomienza,sedetieneycomienzaenunpatrónaleatorio:

    

1 respuesta

3

Para expandir desde mi comentario:

Esto podría deberse fácilmente al zumbador: vibración física o ruido EM. El hecho de que reemplazar el zumbador con un LED lo admite, ya que el LED no da movimiento físico y genera una buena cantidad constante de corriente. Como el timbre está en la misma placa de pan que el LED, es mecánicamente rígido para el sensor, al mismo tiempo que está eléctricamente cerca, por lo que es difícil decir cuál de los ruidos físicos o EM es más probable (mi corazonada sería física movimiento que es más fácil de causar y más fácil de curar).

Para confirmar que es el zumbador el que está causando el problema, recomendaría conectar el zumbador a través de algunos cables voladores. Esto aislará mecánicamente el zumbador del sensor. Cuando se repite la prueba, si el sensor no da la lectura "graciosa" que está viendo ahora, el movimiento mecánico del zumbador es la causa. La cura para esto es entonces simple: aísle mecánicamente el timbre del sensor (ponga uno u otro o ambos en los cables voladores). Si eso no es algo que pueda hacer por su aplicación, puede atenuar la señal del zumbador (usando montajes de goma) o puede cambiar su software para filtrar el ruido (que a menudo se hace utilizando el muestreo excesivo y tomando la media del datos).

Has respondido a mi comentario diciendo que los prospectos voladores solucionan el problema, por lo que ahora tienes varias opciones: Mecánico: aísle el zumbador del sensor de la forma que desee (cables voladores, montajes de goma) Software: muestrea los datos y filtra los valores que cambian rápidamente (lo más fácil es promediar un período de tiempo determinado) Hardware: use un sensor diferente que muestrea a un ritmo más lento (por lo que no puede captar el movimiento del zumbador). Si está utilizando un sensor diferente con una salida analógica, podría filtrar la salida, con un simple condensador.

Como esto parece ser principalmente un proyecto de software, me gustaría un filtro de software básico. Las especificaciones del mismo dependerán de su aplicación; la velocidad de respuesta al cambio, el cambio rápido que desea, etc. Puede recorrer un largo camino con el filtrado, dependiendo de su aplicación, utilizando; promediado, tasa de cambio, coincidencia de frecuencia, rebote.

    
respondido por el Puffafish

Lea otras preguntas en las etiquetas