Relacionado : ADC de alta resolución para sensores ruidosos en condiciones variables
Estoy construyendo una interfaz usando sensores resistivos basados en textiles que pueden tener diferentes rangos de resistencia dependiendo de las condiciones ambientales. Para aprovechar mejor mis convertidores A / D, me gustaría explorar el uso de un amplificador adaptativo que ayude a compensar el rendimiento poco confiable de los sensores.
¿Cuáles son mis opciones aquí? ¿O puedes señalarme algunas referencias sobre el tema?
Puedo pensar en dos esquemas generales que serían útiles:
- Calibración automática mediante la búsqueda de valores mínimos y máximos en una ventana de análisis dada (~ 30s-2min)
- Calibración explícita utilizando una interfaz de alternar a entrenar
- ... ¿Hay esquemas alternativos en los que no estoy pensando?
Algunas restricciones
- Debería ser una solución de un solo chip (pequeña) si es posible (como los chips de detección capacitiva)
- Debería ser fácil de configurar y usar (no soy ingeniero y no me pagan)
- Probablemente habrá un microcontrolador cerca
Aún mejor sería un chip para todo con un puente Wheatstone / divisor de voltaje, filtro de paso bajo y amplificador.
Más acerca de mi configuración particular
- Los convertidores A / D serán los convertidores integrados en un chip Atmel (podrían ser ATtiny85 o ATmega32u4) o los convertidores integrados en una radio XBee serie 2. Nunca he usado chips A / D dedicados antes, no estoy seguro de si sería beneficioso hacerlo.
- El sensor será una pieza de licra conductora dopada con polímero de Eeonyx. La resistencia cambia en aproximadamente 1 orden de magnitud con un estiramiento del 30%.
- Todo se montará en la mano de un artista, por lo que debe ser pequeño y físicamente robusto. Hay una buena posibilidad de que sea inalámbrico.
- La precisión es importante. La interfaz se utilizará para variar continuamente los efectos de audio en tiempo real, es decir, no es un interruptor.
Respuestas:
Aquí está la idea básica:
V1 es la salida PWM filtrada y R2 es su sensor. U1 es convertidor de voltaje a corriente, siendo la corriente a través de la carga R1 I = V1 / R2. Esto significa que el voltaje a través de R1 depende de ambas entradas. U2 y U3 es un amplificador de instrumentación con ganancia 10, que amplifica el voltaje a través de R1.
Con R1 = 100 Ohms y V1 = 0..5V, el circuito funciona para R2 = 50..5000, por ejemplo, en dos órdenes de magnitud, lo que, según lo que usted dice, debería ser suficiente.
Lo que debe hacer es sacarlo y compararlo con el voltaje de referencia (4V sería apropiado aquí para el rango dinámico máximo) y usar aproximaciones sucesivas en V1 para salir lo más cerca posible del voltaje de referencia. Desde V1 y la caída de voltaje conocida en R1 (por ejemplo, voltaje de referencia) ahora puede calcular el valor de R2, su sensor. Por supuesto, esto obtendrá su resultado solo dentro de la resolución de PWM, pero puede usar un segundo amplificador de instrumentación para amplificar el error (diferencia entre el voltaje de salida y de referencia) para obtenerlo dentro del rango del ADC de su microcontrolador y esto le dará bits adicionales de resolución.
Necesita dos opamps (U1 y comparador) y dos amplificadores de instrumentación. Use los reales en lugar de hacerlos de opamps, porque las imprecisiones de resistencias y opamps introducirán errores.
Si dos órdenes de magnitud no fueran suficientes, puede reemplazar R1 con un potenciómetro digital para obtener otro grado de libertad. Nunca he trabajado con uno, así que no sé qué tan precisos son y si tal solución necesitaría alguna calibración o no.
Además, debo mencionar que fue jpc quien vino con la idea.
ACTUALIZAR:
Ok, tengo que estar de acuerdo con OP en que esta no es realmente la respuesta a su pregunta (aunque resuelve el problema técnicamente). Me dejé llevar por el "amplificador adaptativo" en el título como una excusa para hacer un diseño analógico. Olvídate de todo lo escrito anteriormente, a menos que quieras aprender algo (poco) sobre opamps. Aquí hay, espero, una mejor respuesta y una solución mucho más simple:
Use un divisor resistivo alimentado por un regulador de voltaje (para separarlo del ruido de otros circuitos), con la resistencia superior configurada aproximadamente a la resistencia máxima que pueden tener sus sensores (Rmax), y siendo la resistencia inferior el sensor.
Establezca el voltaje de referencia para su ADC a la mitad de la salida del regulador de voltaje.
Luego, muestre el voltaje en el sensor con su ADC. De esta manera, solo necesita un canal de un solo extremo por sensor. Hice una recomendación de ADC en la otra publicación.
Sin embargo, si usa un ADC de 10 bits que está integrado en los microcontroladores que mencionó, no obtendrá un rango dinámico. Mejorar el rango usando circuitos analógicos, como el que publiqué originalmente, agregaría demasiadas partes adicionales, por lo que recomendaría simplemente usar algunos ADC de 24 bits, como el ADS1256 que recomendé en la otra publicación, porque le dará bajo nivel de ruido y alto rango dinámico, en un solo chip (más la referencia, que es pequeña, y el regulador de voltaje, que también puede ser pequeño; también puede intentar dejar el regulador apagado y alimentar el divisor resistivo directamente desde la referencia) esto le robará 1 bit de resolución, pero hay muchos de todos modos). Tendrá que hacer algunos cálculos numéricos ("Una calibración automática al encontrar valores mínimos y máximos en una ventana de análisis dada" es una buena idea),
Espero que esto sea un poco más útil.
ACTUALIZACIÓN 2:
Este es el último: he estado pasando por microcontroladores MSP430 de TI y he descubierto que algunos de ellos tienen ADC sigma-delta de 16 bits con referencia interna. A saber, MSP430F2003 y MSP430F20013 . Esa sería su solución de chip único si está dispuesto a renunciar a Atmels. Muy baja potencia también. Y tienen microcontroladores en cola con 24 ADC, pero aún no están en producción. También hay microcontroladores PSoC de Cypress, que tienen ADC sigma-delta de 20 bits ( series PSoC 3 y PSoC 5 ), también con referencia. Estos serían aún mejores.
fuente
Si los cambios en la resistencia del sensor son grandes (> 50%), entonces podría usar un circuito divisor de voltaje en lugar del puente Wheatstone (más complicado). Luego puede mejorar fácilmente el rango dinámico variando el voltaje de suministro.
El voltaje de suministro ajustable se puede hacer fácilmente desde el PWM en su microcontrolador junto con un filtro RC y una fuente de corriente controlada por voltaje.
Aquí hay un esquema aproximado de mi idea:
(de Socratic Electronics por Tony R. Kuphaldt )
Luego conecta el voltaje PWM filtrado a la entrada no inversora (+) del amplificador operacional.
Para la multiplexación rápida, puede hacer dos de estas fuentes de corriente. Si conecta todos los sensores pares a uno y todos los impares al otro, puede cambiar el voltaje en el siguiente sensor mientras su ADC todavía está muestreando.
Debe usar una referencia de voltaje de precisión para el ADC. También puede ganar 1 o 2 bits utilizando un filtro de media móvil en su software.
PD. Me gustaría agradecer a Jaroslav Cmunt por sus vastas mejoras en esta respuesta.
fuente
¿Has leído este sitio?
Hay muchos ejemplos de dispositivos electrónicos portátiles, incluidos algunos con telas Eeonyx. El sitio tiene ejemplos de circuitos de detección (ardunio y xbee).
No necesita muchos componentes para construir un puente Wheatstone y probablemente sea mejor con 1 circuito de detección multiplexado a los 8 sensores, aún puede obtener 100 muestras por segundo o más fácilmente en cada entrada. Use una PCB de tela (nuevamente verifique el sitio de arriba) para crear el puente. O simplemente pase los cables del sensor al guante y coloque todos los dispositivos electrónicos de detección en un paquete montado en el cinturón. La mayoría de los 'sensores' de tela que he visto tienen una resistencia relativamente alta, los 0.1 ohmios que puede obtener del cable entre la unidad de correa y los guantes no importan.
Coloque un sensor de temperatura en cada guante y use el resultado para hacer una corrección en el software si es necesario para adaptarse a los cambios ambientales. Tal vez calibrar los guantes antes de cada uso, puede no ser necesario dependiendo de la inteligencia del intérprete.
Supongo que el módulo Xbee transmite a una computadora, construye la función de calibración en la computadora, de hecho, realiza el mayor procesamiento posible, como la corrección de temperatura, en la computadora.
Puntos de bonificación si solo usa una red neuronal para convertir la entrada del sensor en una acción. Esto facilitará el entrenamiento y se adaptará a los movimientos de las manos de diferentes personas.
fuente