Te diré cómo lo haría I si lo hiciera por mí mismo.
Buscaría un amplificador típico que se ajuste a mis necesidades. El amplificador diferencial se adapta a mis necesidades si acabo de conectar \ $ V_1 \ $ y conectar \ $ V_2 \ $ a \ $ V_ {DD} \ $. Vea a continuación un esquema de un amplificador diferencial.
La fuente de esta imagen es del enlace a wikipedia de arriba.
Y la ecuación relevante para este esquema particular es la siguiente:
\ $ V_ {out} = \ frac {(R_f + R_1) Rg} {(R_g + R_2) R_1} V_2- \ frac {R_f} {R_1} V_1 \ $
Con \ $ V_1 \ $ grounded, el segundo término desaparece.
La idea aquí es que \ $ R_g \ $ es seleccionable y puede convertirse en 1, 10, 100, 1 k, 10 kΩ. Y \ $ R_1 \ $ y \ $ R_2 \ $ se fijan en 1 kΩ. Elijo 1 kΩ porque no es demasiado pequeño para que fluyan corrientes grandes y no demasiado grande para que sea susceptible al ruido y los parásitos del amplificador operacional. Es un valor de lagom .
Entonces, reescribamos la ecuación de arriba y encontremos \ $ R_f \ $, aquí es donde colocará la resistencia que se medirá.
$$
\ begin {align}
V_ {out} & = \ frac {(R_f + R_1) Rg} {(R_g + R_2) R_1} V_ {DD} \\ [2mm]
(R_g + R_2) R_1V_ {out} & = (R_f + R_1) RgV_ {DD} \\ [2mm]
\ frac {(R_g + R_2) R_1V_ {out}} {RgV_ {DD}} & = R_f + R_1 \\ [2mm]
R_f & = \ frac {(R_g + R_2) R_1V_ {out}} {RgV_ {DD}} - R_1
\ end {align}
$$
Y todo lo que necesita hacer es completar un ciclo \ $ R_g \ $ a través de resistencias conocidas y medir \ $ V_ {out} \ $ con su ADC y podrá calcular su valor.
Aquí hay un ejemplo de un esquema con el que iría. Solo use un par de NMOS como multiplexor, genere las señales de puerta desde su µC.
Enlace a la simulación.
Entonces insertemos los valores y veamos si es correcto.
$$
\ begin {align}
R_f & = \ frac {(R_g + R_2) R_1V_ {out}} {RgV_ {DD}} - R_1 \\ [2mm]
R_f & = \ frac {(100 + 1000) × 1000 × .9207} {100 × 5} -1000 \\ [2mm]
R_f & = 1025.54
\ end {align}
$$
Debería ser 1000 Ω, como podemos ver, se muestra en el esquema, pero en vez de eso, tiene un 2.5% de descuento, esto se debe a que 100 Ω no son 100 Ω, es más como 100.5Ω debido a la NMOS. Así que es posible que desee calibrar sus valores. También creo que es posible que desee hacer \ $ R_2 \ $ más alto, como 10 kΩ o 100 kΩ. De esta manera, la resistencia del cable y NMOS jugará un papel menos importante en sus mediciones. Pero si va a calibrar, no importará el valor \ $ R_2 \ $.
Probé la ecuación para otros valores y está "lo suficientemente cerca". Entonces, el trabajo para usted es adquirir un buen amplificador operacional, un par de NMOS para que actúen como multiplexor. No recomiendo que obtengas un multiplexor analógico real porque generalmente tienen varios si no cientos de Ω en comparación con NMOS con algunos mΩ. Y además consigue unos 0,1% de resistencias.
Con respecto a su software, cuando mida, probablemente obtendrá un valor de 10 bits, por lo que la mayoría de las veces medirá 1023 1023 300 20 1. O tal vez 1023 850 400 10 6, entonces usted tiene que entender que usted debe tome el valor que está a la derecha del valor 1023 y la resistencia utilizada para generar ese valor. Escribe un buen código.
Esto debería llevarlo en la dirección correcta para una solución simplista.