Medición simple de resistencia con microcontrolador

¿Cuál es una forma simple de medir la resistencia (en este caso, 0-100 kOhm) usando un microcontrolador (estoy usando STM32, tiene ADC de 12 bits, temporizador, pero no comparador)? Lo quiero sencillo (sin demasiados componentes) y barato.

La primera idea que tuve fue usar ADC con divisor de voltaje. Sin embargo, reduce el problema a medir el voltaje a través de una resistencia conocida que depende hiperbólicamente de la resistencia medida, por lo que la precisión real varía mucho en el rango de valores de la resistencia desconocida. También requiere que la resistencia conocida tenga un valor mucho más pequeño que el conocido, pero esto debería estar bien si no se requiere una gran precisión.

Requisitos:

  • Rango: 0-100 kOhmios
  • Precisión: al menos 1 kOhm, preferiblemente <100 Ohm, pero en realidad tengo curiosidad (pensando en otras posibles aplicaciones que podrían requerir una mayor precisión) qué tan alto (con precisión) podemos llegar sin hacer circuitos demasiado complicados.
¿Cuál es la impedancia de entrada de su ADC?

Respuestas (3)

Use una fuente de corriente de precisión controlada por voltaje para alimentar una corriente conocida en la resistencia. Si la lectura medida es demasiado baja o demasiado alta, ajuste la fuente de corriente para que sea más adecuada. Tome varias lecturas y promedie... Tal vez 50 lecturas para contrarrestar la falta de bits en su ADC.

Para un alto valor de resistencia, necesitará amortiguar la señal al ADC con un circuito opamp de ganancia unitaria porque la entrada del ADC tiene una impedancia bastante baja.

La fuente actual se puede construir usando un DAC para establecer la demanda. Necesitará dos transistores y dos amplificadores operacionales para una máxima flexibilidad.

Puedes pensar que esto es demasiado complejo, pero si cambias de opinión, házmelo saber. Es un método decente, podría agregar.

@ignacio buen enlace amigo.

El problema que encuentra con un divisor de voltaje es que no solo cambia el voltaje con diferentes resistencias, sino también la corriente a través de la resistencia general. Entonces estos tres cambian con diferentes medidas.

Para medir la resistencia, debe mantener una corriente constante a través de su sonda. Si la corriente es constante, la caída de tensión de la resistencia está directamente asociada con la resistencia debida a U=I*R. (V=I*R)

Si desea medir 0-100 kOhm con un Vadc, max = 5 V, debe aplicar 5 V/100 kOhm = 50 µA usando un ADC de 12 bits, puede medir un voltaje mínimo de 5/2 ^ 12 = 1.22 mV que es una resistencia mínima de 1.22 mV/50µA = 24.41Ohm que es simultáneamente su precisión.

Si usa la resistencia para medirla en serie con un capacitor y puede detectar el voltaje en el capacitor, la constante de tiempo RC del circuito resultante será proporcional a la resistencia. Un enfoque de medición común es cargar la tapa hasta cierto nivel y luego medir el tiempo que tarda en descargarse en algún porcentaje. Si se organizan las cosas de manera que el tope pueda cargarse a través de una resistencia conocida o de una desconocida, se puede determinar razonablemente con precisión la desconocida.