10 votos

¿Cómo hago para conseguir una completa gama de voltaje de la lectura de un sensor de presión?

Estoy haciendo una aplicación que utiliza la Fuerza de BRICOLAJE Sensibles a la Resistencia (FSR) tomado de este instructable. La resistencia de este sensor typycally rangos de 20kOhm cuando en el resto de 9kOhm cuando se pulsa.

¿Cómo puedo convertir estos valores de resistencia a una señal donde 0 corresponde a la condición de descanso y 5v corresponde a la "presionado" la condición para que yo pueda leer con un Arduino?

14voto

Yaakov Ellis Puntos 15470

Creo que la forma más sencilla sería un divisor de voltaje que da 5V a 9k y disminuye a medida que aumenta la resistencia. Usted puede jugar con diversas resistencia de combinaciones en este divisor de voltaje de la calculadora. Va a ser una progresión lineal, sin embargo.

14voto

lillq Puntos 4161

Quieres un rango de señal de 0V a 5V. No todos nosotros :-)? Vamos a ir a por un enfoque diferente y a ver a dónde nos lleva.

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

Que 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 se dé que resistor de mucho pensar, el que acaba de recoger una buena ronda de valor como 10k\$\Omega\$. Pero me he encontrado con que hay un valor óptimo para este.

enter image description here

La curva muestra la diferencia de tensión entre el mínimo y el máximo de la lectura (9k\$\Omega\$ y 20k\$\Omega\$ resp.) como una función de la resistencia en serie (en k\$\Omega\$). Véase, en efecto, se tiene un máximo. Que es fácil de encontrar si usted recuerda que

\$ \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 \$

La solución para que \$R_X\$ da

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

Una belleza!

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

Es eso suficiente? El Arduino tiene un 10-bit ADC, por lo que esta gama le dará un rango de 200 niveles discretos. Que debe dar la suficiente precisión para un DIY sensor. Así que no hay otros componentes como opamps necesario.


(*) El aceptado respuesta da un 1.9 V gama, pero tiene el mal de ecuaciones. Es imposible obtener un mayor rango de 1V con 1 resistencia y solo +5V de alimentación.

5voto

lillq Puntos 4161

Usted necesita un voltaje negativo a ser capaz de hacer una resistencia de un divisor de tensión va a 0V. Voy a asumir que usted tiene de +5V y -5V disponible.
Coloque su resistencia variable \$R_X\$ entre +5V y GND. Ahora lo que necesita para encontrar el valor de una resistencia pull-down entre GND y 5V. Ahora, eso es fácil; usted quiere 0V cuando la resistencia variable es de 20k\$\Omega\$, por lo que el pull-down también tiene que ser 20k\$\Omega\$, porque todo es simétrico.
A continuación tenemos que averiguar lo que la tensión de salida del divisor será cuando \$R_X\$ es 9k\$\Omega\$. Tomamos nota de que la corriente a través de \$R_X\$ es de la misma corriente como la corriente a través de la resistencia pull-down, por lo que

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

De trabajo esto nos da \$ V_O = 1.9V \$. Ahora todo lo que queda por hacer es la escala de la 0V..1.9 V a 0V..5V. Para ello utilizamos un RRIO (Rail-to-Rail e/S) del amplificador operacional como un amplificador no inversor

enter image description here

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

3voto

dlinsin Puntos 5863

Si usted realmente quiere leer de 0 a 5V, usted tendrá que usar un divisor de voltaje, además de un amplificador con offset (más info: http://www.maxim-ic.com/appnotes.cfm/an_pk/803)

Usted puede utilizar blalor link para comprobar los valores min y max del divisor de voltaje, que el uso de una resistencia de 20k como R1 y R2 de 9k y 20k:

Vmin = 5V * (9k / 29k) = 1.55V
Vmax = 5V * (20K / 40K) = 2.5V

Para el mínimo valor que se tiene que aplicar un desplazamiento de -1.55 V. Entonces, para un 1 de ganancia, se llega a un rango de 0 a 0,95 V. a continuación, puede configurar el amplificador para un aumento de 5.26.

0.95V * 5.26 =~ 5V

También, un buen método es usar un circuito RC. Si usted mide el tiempo de los condensadores de descarga a través de su sensor, se puede llegar a gran resolución. Se ha utilizado para la medición de capacitancia pero si se mantiene la constante C y cambio de R, es exactamente el mismo. Búsqueda en arduino.cc para esto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X