Relacionado : ADC de alta resolución para sensores ruidosos en condiciones variables
Estoy construyendo una interfaz utilizando sensores resistivos basados en textiles que pueden tener diferentes rangos de resistencia según las condiciones ambientales. Para hacer un mejor uso de mis convertidores A/D, me gustaría explorar el uso de un amplificador adaptativo que ayudará a compensar el rendimiento poco confiable de los sensores.
¿Cuáles son mis opciones aquí? ¿O puedes señalarme algunas referencias sobre el tema?
Se me ocurren dos esquemas generales que serían útiles:
Algunas restricciones
Aún mejor sería un chip que lo haga todo con puente de Wheatstone/divisor de voltaje, filtro de paso bajo y amplificador.
Más sobre mi configuración particular
Aquí está la idea básica:
V1 es la salida PWM filtrada y R2 es su sensor. U1 es un 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 ohmios y V1 = 0..5V, el circuito funciona para R2 = 50..5000, por ejemplo, en dos órdenes de magnitud, que por lo que dices debería ser suficiente.
Lo que hace es sacarlo y compararlo con el voltaje de referencia (4V sería apropiado aquí para el rango dinámico máximo) y usar una aproximación sucesiva en V1 para acercarse lo más posible al voltaje de referencia. A partir de 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 le dará un 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 el de referencia) para que esté dentro del rango del ADC de su microcontrolador y esto le dará bits adicionales de resolucion
Necesita dos amplificadores operacionales (U1 y comparador) y dos amplificadores de instrumentación. Use los reales en lugar de hacerlos con amplificadores operacionales, porque las imprecisiones de las resistencias y los amplificadores operacionales 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, por lo que no sé qué tan precisos son y si esa solución necesitaría alguna calibración o no.
Además, debo mencionar que fue jpc quien tuvo 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" del título como excusa para hacer algo de diseño analógico. Olvídese de todo lo escrito anteriormente, a menos que quiera aprender algo (un 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 en aproximadamente la resistencia máxima que pueden tener sus sensores (Rmax), y con la resistencia inferior como sensor.
Establezca el voltaje de referencia para su ADC a la mitad de la salida del regulador de voltaje.
Luego, muestrea el voltaje en el sensor con su ADC. De esta manera, solo necesita un canal de un solo extremo por sensor. Hice la recomendación de ADC en la otra publicación.
Sin embargo, si usa ADC de 10 bits que está integrado en los microcontroladores que mencionó, no obtendrá mucho 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 un 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 diminuta, y el regulador de voltaje, que también puede ser diminuto; también puede intentar dejar el regulador fuera 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 ("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 revisando microcontroladores MSP430 de TI y he encontrado 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 un chip 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.
Si los cambios en la resistencia del sensor son grandes (> 50%), entonces podría usar un circuito divisor de voltaje en lugar del puente de 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 Electrónica socrática de Tony R. Kuphaldt )
Luego, conecta el voltaje PWM filtrado a la entrada no inversora (+) del amplificador operacional.
Para una multiplexación rápida, puede hacer dos fuentes de corriente de este tipo. 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 aún 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 promedio móvil en su software.
PD. Me gustaría agradecer a Jaroslav Cmunt por sus grandes mejoras en esta respuesta.
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 de Wheatstone y es probable que lo mejor sea con 1 circuito de detección multiplexado a los 8 sensores, aún puede obtener 100 muestras por segundo o más con bastante facilidad en cada entrada. Use una PCB de tela (nuevamente consulte el sitio anterior) para crear el puente. O simplemente conecte los cables del sensor al guante y coloque todos los componentes 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 del cinturón 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, crea la función de calibración en la computadora, de hecho, realiza todo el procesamiento que puedas, 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.
tiblu
jpc
antonio137
terraza
terraza
tiblu
terraza
jpc