Lectura de medidores de flujo desde el puerto de micrófono

Estoy intentando leer dos medidores de flujo de efecto Hall a través del puerto de entrada de audio (micrófono) de un dispositivo Android. Quiero poder leer ambos medidores de flujo de forma independiente. El puerto de entrada de audio es un puerto de auriculares estándar, por lo que solo tiene un canal para el micrófono.

El primer problema es que los +5v provistos desde el puerto de entrada de audio proporcionan solo 2mA, lo cual no es suficiente para alimentar ambos medidores de flujo. Pensé que podría empalmar el cable USB que alimentaría/cargaría el dispositivo Android y usar su +5v y tierra para alimentar los medidores de flujo.

El segundo problema es saber qué pulso provino de qué medidor de flujo. Me sugirieron usar un R-2R para mezclar los pulsos en una señal pero con voltajes (y por lo tanto amplitudes) al 25% y 50%. De esa manera, cuando leo un pulso, sé que si el pulso tiene una amplitud del 25% es del medidor de flujo A, el 50% es del medidor de flujo B, el 75% es de ambos. ¿Es este un buen enfoque?

Ahora el problema es cómo alimentar el voltaje de salida del R-2R a la tierra del puerto de entrada de audio. Parece que necesito usar el voltaje de salida del R-2R para controlar el voltaje de +5v del puerto de entrada de audio. Después de investigar un poco, descubrí que puede usar un amplificador operacional para crear un "seguidor de voltaje" que hará coincidir el voltaje de un circuito con el voltaje de otro. Suena como exactamente lo que necesito, pero ¿lo es?


Preparé un esquema lo mejor que pude; todavía soy bastante nuevo en EE. ¿Puedo obtener alguna confirmación sobre su corrección? ¿Algún cambio o mejora?: http://www.digikey.com/schemeit/#1fwi

Estos son los medidores de flujo que estoy usando ahora: http://www.adafruit.com/products/828

Estos son los medidores de flujo que quiero usar eventualmente: FT-330 de Gems Sensors (lo siento, solo puedo publicar 2 enlaces; puede buscar "FT-330" en Google y es el primer y segundo resultado).


Hasta ahora he estado probando con mi PC de escritorio. Escribí una aplicación Java que puede detectar pulsos (¿interrupciones?) desde el puerto de entrada de audio (micrófono). Puedo conectar un solo medidor de flujo conectando los +5v del puerto de entrada de audio al +5v del medidor de flujo y la conexión a tierra del puerto de entrada de audio a la línea de pulso del medidor de flujo. No sé si esta es la forma correcta, pero funciona porque recibo una señal del medidor de flujo y puedo ver los pulsos así:

aplicación de lector de pulso de medidor de flujo


Bueno, tengo todas mis partes y mi circuito no funciona.

Descubrí que mis medidores de flujo cambian entre un estado "encendido" y "apagado" según la ubicación de la rueda y no envían un solo pulso como pensaba. Cuando están "encendidos", se pueden leer +5v desde el pin de pulso a tierra. Cuando están "apagados" es 0v.

El R-2R parece funcionar. Cuando ninguno de los medidores de flujo está "encendido", leo +0.02v desde la salida del R-2R (pulsos combinados) a tierra. Cuando solo el medidor de flujo 1 está "encendido", leo +0.95v. Cuando solo el medidor de flujo 2 está "encendido", leo +1.95v. Cuando ambos están "encendidos", leo +3.24v. Si bien esto funcionará, esperaba obtener +1.25v (25%), 2.5v (50%) y 3.75 (75%) respectivamente. ¿Por qué no?

El amplificador operacional no hace lo que quiero en absoluto. Cuando el VCC del amplificador operacional es +3.24v (ambos medidores de flujo están encendidos), la lectura entre la SALIDA del amplificador operacional y la tierra del micrófono me da -1.2v. ¿Por qué este voltaje negativo? Pensé que el amplificador operacional cambiaría el voltaje de IN + (micrófono + 5v) a OUT (tierra del micrófono) para que coincida con el voltaje de VCC a GND. ¿Que me estoy perdiendo aqui?

¿Qué rango de frecuencias espera obtener de los sensores de flujo? Espero que la entrada de micrófono en su teléfono no funcione bien para frecuencias inferiores a 100 Hz o menos. La entrada de micrófono debería funcionar bien para frecuencias entre 100 Hz y 15 KHz aproximadamente.

Respuestas (1)

Tienes muchas preguntas en este post. La próxima vez, recomiendo dividirlos en publicaciones separadas, o al menos numerarlos.

1) Sí, puede obtener 5 V al cargar el cable USB. Esto funcionará bien.

2) Sí, el enfoque de dos resistencias que está describiendo es bueno, siempre que lo use con el tipo correcto de salida (push-pull o colector abierto). Los esquemas que ha mostrado asumen salidas push-pull, mientras que FT-330 es de colector abierto (se puede dar cuenta porque requieren una resistencia pull-up). No está claro qué tipo de salida tiene el medidor de adafruit, pero presumiblemente push-pull, ya que no se mencionan las resistencias pull-up.

3) No estoy seguro de por qué necesita un amplificador operacional. No dolerá, pero debería poder conectar la salida a la entrada del micrófono. El voltaje de salida caerá un poco, dependiendo de la resistencia de entrada del teléfono, pero esto puede no ser un problema. Solo agregue el amplificador operacional una vez que haya establecido que el teléfono proporciona demasiada carga.

4) La razón por la que sus amplificadores operacionales no funcionan es porque cometió un error de cableado. De sus esquemas, su Vcc siempre debe ser de 5 voltios. Si no lo ve, verifique tres veces que haya ensamblado todo correctamente.

extra: de su captura de pantalla, está claro que tiene un condensador en la entrada de su micrófono (probablemente dentro del teléfono). Como puede ver, esto tiene el efecto de que un voltaje 'promedio' en la entrada será de 0 voltios. Puede verlo en el gráfico: si proporciona, digamos, +5 V voltios, luego, en unas pocas decenas de ms, el capacitor se cargará a +5 V y la entrada verá 0 voltios (+5 - +5). Si ahora da 0V en la entrada, la tarjeta verá -5 voltios (0 - +5V). Pero pronto, el capacitor se descargará y volverá a ver 0V.