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.