Introducción
En respuesta a esta pregunta sobre los amplificadores adaptativos , se recomendó que para tratar con condiciones variables, puede ser más económico simplemente usar un ADC con una resolución más alta para que no tenga que preocuparme por la amplificación y pueda escalar en software
Visión general
Estoy tratando de diseñar un circuito de adquisición de datos para sensores de estiramiento basados en textiles montados en el cuerpo. El textil varía la resistencia a medida que se estira (aproximadamente 1 orden de magnitud, 10k -100k con 30% de estiramiento). Los rangos exactos cambiarán dependiendo de cómo se corta el textil, si está empapado de sudor, la temperatura, la antigüedad del material, cómo está montado, etc. Todo debe ser lo más pequeño posible porque está montado en la mano , por lo que minimizar el número de componentes es una gran ventaja.
Además, me gustaría que el circuito sea reutilizable para otras aplicaciones que pueden tener un peor rendimiento. Por ejemplo, si uso una versión más barata del textil, mi rango de resistencia puede ser tan malo como 100 a 300 .
Camino de señal
[textil] -> [Puente de Wheatstone] -> [paso bajo] -> [amplificador de instrumentación] -> [ADC] -> [AVR]
Requisitos
Por lo tanto, estoy buscando un ADC que cumpla con mis requisitos. El ADC debe ser:
- 16bits +
- Tan fácil de usar como sea posible: mucho mejor si ya hay un código de interfaz escrito para AVR / Arduino ...
- ... pero al mismo tiempo lo más completo posible: he visto algunos ADC con filtros de paso bajo y PGA incorporados, mucho mejor siempre que no dificulte la configuración
- 8+ canales, o si es lo suficientemente fácil de implementar, 2x 4+ canales. EDITAR: si estoy usando un puente Wheatstone, tal vez quiero 8 canales de entrada diferenciales (entonces 16 canales) ...
- No creo que el voltaje de operación importe ... (mejor si no es superior a 5 V)
- Montaje superficial
- No tiene que ser barato (es único)
- SPI vs. I2C no importa, creo ...
- 100+ Hz
Investigación
Hasta ahora, a través de Google, he encontrado los siguientes chips:
- Los dispositivos lineales ofrecen varios ADC delta sigma de 16-24 bits, algunos de los cuales he visto recomendados: http://parametric.linear.com/html/no_latency_delta_sigma_adcs?p=5312974
- Microchip tiene una gama de opciones, algunas de las cuales he visto recomendadas: http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=11022&mid=10&lang=en&pageId=79
- Los dispositivos analógicos tienen varios chips integrales de adquisición de datos con amplificadores y filtros (sin necesidad de material de procesamiento de señal externo):
- Todavía no he visto los chips TI ...
y los siguientes tutoriales:
- http://arduino.cc/blog/2010/11/29/tired-of-a-10-bit-res-hook-up-a-better-analog-to-digital-converter/ (LTC2400)
- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1275676171 (TI ADS8341)
- http://forums.adafruit.com/viewtopic.php?f=31&t=12269 (MCP3424)
- http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248751435 (LTC2410)
¿Referencia de voltaje?
Finalmente, algunas personas han recomendado una referencia de voltaje de precisión, como la serie Analog Devices REF19x . ¿Crees que esto es necesario? La resolución es definitivamente importante para mí.
Conclusión
¡Avísame si tienes alguna recomendación! Tampoco estoy seguro de lo que estoy buscando exactamente, por lo que también se agradecen los consejos sobre cómo decidir.
Respuestas:
ADS1256 de TI tiene ocho canales de 24 bits de un solo extremo con buffer de entrada de alta impedancia y PGA. El proyecto OpenEXG tiene un código PIC para interconectarlo (usan la versión ADS1255 de dos canales, pero debería ser la misma).
Si desea entradas diferenciales, existe ADS1298 , con 8 canales, PGA y A / D, referencia interna, más circuitos de ECG / EEG que puede ignorar. Sin embargo, no estoy seguro de que pueda encontrar ningún código de ejemplo para este.
Si está buscando resolución, entonces es imprescindible una referencia precisa y de bajo ruido.
fuente
Una idea quizás poco convencional, tengo curiosidad por lo que ustedes piensan al respecto:
Un orden de magnitud parece un cambio lo suficientemente grande como para medirlo directamente en un circuito divisor de voltaje.
Luego, podría usar un ADC más pequeño y variar la corriente a través del sensor. Una fuente de voltaje PWM filtrada + un seguidor de voltaje (puede ser un transistor NPN si tiene el muslo en el espacio) puede mejorar drásticamente su rango dinámico.
Puede usar uno o dos de estos y cambiar el voltaje al medir diferentes sensores.
fuente
Si su principal preocupación es tener un amplio rango dinámico para cualquier "sensor" dado, puede considerar usar DAC (o incluso solo fuentes de voltaje controladas por pin MPU) para ajustar la compensación / ganancia del amplificador para alterar el rendimiento del sistema para diferentes materiales.
También puede seguir esta etapa de ganancia variable con un circuito de integración de carga para que pueda obtener una sensibilidad de señal fina ajustando el período de "exposición".
fuente
Si tiene suficiente potencia de cálculo para la frecuencia de muestreo que necesita, considere el filtrado digital. Un filtro Savitzky-Golay , f / ex.
fuente
¿Por qué no subirlo a 11 y usar el TI ADS1262 ? ¡Es un ADC de 32 bits, con 11 entradas y un PGA!
Con 32 bits, puedes probar casi cualquier cosa. Y ni siquiera es tan caro. Además, si solo está haciendo uno de estos, simplemente obtenga una muestra gratis .
Otra opción es usar un PSoC. Estos son microcontroladores que contienen bloques analógicos y digitales reconfigurables, que puede utilizar para crear todo tipo de funciones. ¡Puede elegir uno con un ADC de 16 bits, un PGA, un DAC y un filtro digital, para hacer su propio rango automático, recorte automático, sobremuestreo, filtrado digital, ADC!
Programar estas cosas es un juego de niños, ya que simplemente dibuja el esquema que desea, eligiendo funciones predefinidas de una lista. Luego escribe un código C y estarás ausente.
fuente