¿Cómo obtendría una lectura de voltaje de rango completo de un sensor de presión?

9

Estoy creando una aplicación que utiliza el Resistor de fuerza de bricolaje (FSR) tomado de este instructable . La resistencia de este sensor varía típicamente de 20kOhm cuando está en reposo a 9kOhm cuando se presiona.

¿Cómo convertiría estos valores de resistencia en una señal donde 0v corresponde a la condición de reposo y 5v corresponde a la condición "presionada" para que pueda leerla con un Arduino?

    
pregunta bpijls

3 respuestas

14

Desea un rango de señal de 0V a 5V. ¿No todos :-)? Vayamos por un enfoque diferente y veamos a dónde nos lleva eso.

Punto de partida: la solución más barata y sencilla.

Eso sería una resistencia en serie para crear un divisor de voltaje. Ese es el mínimo absoluto. Me he dado cuenta de que la gente no piensa mucho en esa resistencia, simplemente elige un valor redondo agradable como 10k \ $ \ Omega \ $. Pero encontré que hay un valor óptimo para esto.

La curva muestra la diferencia de voltaje entre la lectura mínima y máxima (9k \ $ \ Omega \ $ y 20k \ $ \ Omega \ $ resp.) en función de la resistencia de la serie (en k \ $ \ Omega \ $ ). Ver, de hecho tiene un máximo. Eso es fácil de encontrar si lo recuerdas

\ $ \ left (\ dfrac {f (x)} {g (x)} \ right) '= \ dfrac {f' (x) \ cdot g (x) - f (x) \ cdot g ' (x)} {g ^ 2 (x)} \ $

La diferencia \ $ V_ {MAX} \ $ - \ $ V_ {MIN} \ $ tiene un extremo para

\ $ \ dfrac {d} {d R_X} \ left (\ dfrac {R_ {MAX}} {R_ {MAX} + R_X} - \ dfrac {R_ {MIN}} {R_ {MIN} + R_X} \ right) = 0 \ $

Resolviendo para \ $ R_X \ $ da

  

\ $ R_X = \ sqrt {R_ {MIN} \ cdot R_ {MAX}} \ $

¡Una belleza!

Entonces, en nuestro caso, la resistencia de la serie será 13.42k \ $ \ Omega \ $, puede verificar esto en el gráfico. Al colocar las resistencias entre 0V y + 5V, esto nos dará un rango de salida de [2V, 3V]. Ese es el rango máximo que puedes obtener con 1 resistencia (*).

¿Es suficiente? El Arduino tiene un ADC de 10 bits, por lo que este rango le dará un rango de 200 niveles discretos. Eso debería dar una precisión suficiente para un sensor de bricolaje. Así que no hay otros componentes como opamps necesarios.

(*) La respuesta aceptada proporciona un rango de 1.9V, pero tiene ecuaciones incorrectas . Es imposible obtener un rango superior a 1V con 1 resistencia y solo un suministro de + 5V.

    
respondido por el stevenvh
5

Necesita un voltaje negativo para poder hacer que un divisor de voltaje de resistencia vaya a 0V. Asumiré que tienes + 5V y -5V disponibles.
Coloque su resistencia variable \ $ R_X \ $ entre + 5V y GND. Ahora necesita encontrar el valor para una resistencia desplegable entre GND y -5V. Ahora eso es fácil; quieres 0 V fuera cuando la resistencia variable es 20k \ $ \ Omega \ $, por lo que el menú desplegable también tiene que ser 20k \ $ \ Omega \ $ porque todo es simétrico.
Luego, debemos averiguar cuál será el voltaje de salida del divisor cuando \ $ R_X \ $ sea 9k \ $ \ Omega \ $. Notamos que la corriente a través de \ $ R_X \ $ es la misma corriente que la corriente a través de la resistencia desplegable, por lo que

\ $ \ dfrac {5V - V_O} {9k \ Omega} = \ dfrac {V_O - (-5V)} {20k \ Omega} \ $

Resolver esto nos da \ $ V_O = 1.9V \ $. Ahora todo lo que queda por hacer es escalar 0V..1.9V a 0V..5V. Para esto utilizamos un amplificador RRIO (E / S de riel a riel) como un amplificador no inversor

Si selecciona \ $ R1 = 18k \ Omega \ $ y \ $ R2 = 47k \ Omega \ $ obtendrá un rango de voltaje de salida de 0V..5V para \ $ R_X \ $ de 20k \ $ \ Omega \ $ .. 9k \ $ \ Omega \ $.

    
respondido por el stevenvh
1

Creo que la forma más sencilla sería un divisor de voltaje que te da 5V a 9k y disminuye a medida que aumenta la resistencia. Puede jugar con varias combinaciones de resistencias en esta calculadora de divisor de voltaje . Sin embargo, va a ser una progresión lineal.

    
respondido por el blalor

Lea otras preguntas en las etiquetas