Descargo de responsabilidad: soy nuevo en EE. Todo lo que he aprendido hasta ahora lo he aprendido de leer en línea y publicar preguntas como esta mientras trabajaba en este proyecto. Pido disculpas si hago un mal trabajo explicando mi problema, ya que probablemente carezco del conocimiento técnico para hacerlo correctamente.
Estoy intentando leer dos medidores de flujo a través del puerto de micrófono de un teléfono / tableta. Las clavijas de pulso de los medidores de flujo alternan entre + 0V y + 5V a medida que giran sus molinetes.
Estoy utilizando el siguiente esquema para mezclar las señales de los dos medidores de flujo y enviarlos a través de un puerto de micrófono:
Mezclo los dos pines de pulso juntos con un R-2R. Esto me permite observar los cambios de voltaje y saber cuál de los dos medidores de flujo cambió de estado en función de la magnitud del cambio de voltaje. Por ejemplo, si veo un cambio de voltaje de 2,5 V, sé que el medidor de flujo 1 se ha encendido. Si veo un cambio de voltaje de -1.25 V, sé que el medidor de flujo 2 se ha apagado. Luego uso un divisor de voltaje para eliminar el voltaje dentro del rango de voltaje de la tarjeta de sonido.
La tarjeta de sonido está acoplada en CA y convierte los cambios de voltaje en un cambio de amplitud con una fórmula similar a amplitude change = (voltage change)/(voltage range)
. El acoplamiento de CA desplaza lentamente la amplitud a 0 también. Entonces, si la tarjeta de sonido de mi PC tiene un rango de voltaje de 2V, y los medidores de flujo causan un cambio de voltaje de -1.5V, leo a través del puerto del micrófono un cambio de amplitud de -1.5V/2V = -0.75
. Mi algoritmo ve este cambio de amplitud y, en función de algunos umbrales, determina si fue causado por el medidor de flujo 1 o 2. Esto se puede ver en estas capturas de pantalla de mi programa Java que se ejecuta en mi PC:
Lectura de señal sin procesar desde el puerto de micrófono de la PC: señal del medidor de flujo de PC http://s3.awesomebox.net/Flow%20Meter%20Reader/FlowMeterReaderRaw.png
El programa resalta los cambios en el estado del medidor de flujo: Detección de cambio de estado de señal del medidor de flujo de PC http://s3.awesomebox.net/Flow%20Meter%20Reader/FlowMeterReaderDetected .png
Como puede ver, el programa está identificando con éxito los cambios en el estado del medidor de flujo; los cambios de amplitud más pequeños son causados por el medidor de flujo 1 y los cambios de amplitud más grandes son causados por el medidor de flujo 2.
Los problemas comienzan cuando se envía la misma señal a mi tableta Android Galaxy Note 8. Aquí es cómo se ve la señal cuando se lee a través del puerto de micrófono de la tableta: señal del medidor de flujo de tabletas http://www.awesomebox.net/share/androidReadingReal.png
Tenga en cuenta que todos los cambios de amplitud vistos anteriormente son causados por el mismo cambio de voltaje (todos los cambios de estado son del mismo medidor de flujo). Los cambios de voltaje solos o poco frecuentes aparecen como cambios de amplitud muy pequeños, mientras que los cambios de voltaje agrupados estrechamente (de la misma magnitud) aparecen como cambios de amplitud más grandes y más cercanos a lo que yo esperaría. Parece que cuanto más se acerca un cambio de voltaje a otros cambios de voltaje, mayor es el cambio de amplitud que crea.
Esto es lo que leo del puerto de micrófono de mi PC y lo que espero. Observe que todos los cambios de amplitud son aproximadamente de la misma magnitud: señal esperada del medidor de flujo de PC http://www.awesomebox.net/share/androidReadingExpected.png
Se esperaba: Un cambio de voltaje de 1.5V o -1.5V siempre debería causar un cambio de amplitud de 0.75 o -0.75.
Actual: Un solo cambio de voltaje de 1.5V o -1.5V causa un cambio de amplitud de 0.1 o -0.1. Una serie de 10 cambios de voltaje de 1.5V y -1.5V en corta secesión causa cambios de amplitud de 0.75 y -0.75.
Esta inconsistencia hace que sea imposible para mi algoritmo identificar en qué medidor de flujo fue causado un cambio de amplitud. ¿Por qué estos cambios de voltaje único causan cambios de amplitud tan pequeños? ¿Hay alguna forma de hacer que los cambios de amplitud sean siempre consistentes con los cambios de voltaje?
Además, en lugar de que la señal caiga lentamente a 0 como lo esperaría del acoplamiento de CA (y se ve en la señal que se lee a través del puerto de audio de mi PC), parece que vuelve a 0 inmediatamente y oscila unas cuantas veces antes de que finalmente establecerse de nuevo en 0. La oscilación agrega mucho ruido a la señal y dificulta la determinación de si un cambio de amplitud fue causado por un cambio de voltaje o es simplemente una oscilación de restablecerse a 0. ¿Hay una manera de ¿Eliminar estas oscilaciones?
Lo siento por la novela corta y gracias por cualquier consejo,
- Mike