Una continuación de esta pregunta .
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. Uso un R-2R para combinar los pulsos de los medidores de flujo. Mi primer intento fue simplemente enviar la salida digital del R-2R directamente al puerto del micrófono, de esta forma:
Esto funcionó muy bien en mi PC. Pude buscar bordes en la señal y (según la magnitud del cambio de amplitud) determinar desde qué medidor de flujo se envió el pulso. Aquí hay una captura de pantalla de mi programa que detecta pulsos 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. Así es como se ve la señal cuando uno de los medidores de flujo está girando y cambiando de estado, lea a través del puerto de micrófono de mi PC: medidor de flujo único a través de la PC http://www.awesomebox.net/share/androidReadingExpected.png
Aquí es cómo se ve la misma 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
Debido al acoplamiento de CA (más fuerte?) en la tarjeta de sonido de la tableta y la cancelación de ruido y otros procesamientos realizados a la señal, no es posible utilizar el mismo método de detección de bordes.
@DwayneReid me sugirió que no intentara forzar una señal digital a través. En su lugar, debería convertir la señal digital a una analógica y transmitirla. Sugirió este esquema para convertir la señal digital en una analógica:
Combiné este esquema con el mío y se me ocurrió:
Por lo que yo entiendo, el temporizador 555 debe generar una señal analógica constante y enviarla al puerto del micrófono. Los cambios de voltaje causados por los cambios de estado del medidor de flujo deberían causar cambios de frecuencia en la señal analógica. Entonces podré leer los cambios de frecuencia de la señal analógica y saber cuándo ocurre un pulso, y en función del cambio en la frecuencia, de qué medidor de flujo proviene el pulso.
Así se ve la señal ahora cuando uno de los medidores de flujo está girando y cambiando de estado, lea a través del puerto de micrófono de mi PC: leyendo con 555 http://www.awesomebox.net/share/ReadingWith555.png
Como puede ver, ahora hay una ligera oscilación presente en la señal. Sin embargo, la señal general no cambia y ninguna de mis expectativas se cumple. La constante señal analógica es tan leve que podría considerarse ruido. Los cambios en el voltaje parecen no afectar la señal de manera diferente que antes.
¿Dónde está mal mi esquema? ¿Cómo puedo obtener y generar una señal analógica constante que cambia en amplitud o frecuencia cuando cambia el voltaje combinado de los medidores de flujo?
Gracias,
- Mike