Sigo falto de ideas. Esta vez pienso en hacer una bascula de cocina con un Arduino Uno y un sensor de peso FSR. Aunque este tipo de sensores parece que no permiten medidas muy precisas, para una báscula de cocina probablemente valgan.
Documentarse, a veces, no es fácil, aunque en internet haya cientos de páginas de casi todo.
Un sensor FSR es un sensor de peso, es una resistencia variable que varía su valor en función del peso que esté sobre el. La gráfica fuerza/resistencia que he encontrado en internet para un FSR es la siguiente:
Documentarse, a veces, no es fácil, aunque en internet haya cientos de páginas de casi todo.
Un sensor FSR es un sensor de peso, es una resistencia variable que varía su valor en función del peso que esté sobre el. La gráfica fuerza/resistencia que he encontrado en internet para un FSR es la siguiente:
Con este tipo de gráficos el fabricante pretente explicar como se comporta su producto. Por otra parte, la pregunta es ¿Como llevo yo los valores de la gráfica a mi proyecto? de alguna manera debo llevar a gráfica al proyecto.
- En las hojas de características del sensor dice que es un gráfico "logaritmico".
- Vemos que eje X presenta tres divisiones, del mismo tamaño, y cuatro etiquetas 10, 100, 1000 y 10000.
- Estas divisiones necesariamente se corresponden con logaritmo (base 10) de lo etiquetado, logaritmo de 10 es uno, de cien es dos, de mil es tres y de diez mil 4.
- Lo mismo pasa con el eje Y, divisiones con el mismo tamaño y etiquetas que no se corresponden con esas separaciones.
- Logaritmo de 0,1 es -1, de 1 es cero, de 10 es uno y de 100 es 2.
Vemos que gráfica presenta tres tramos aparentemente lineales, tres tramos que se pueden asimilar a una linea recta (y=mx+c)
- El primer tramo (de izquierda a derecha) va desde 10 a 20 gr. (aprox.)
- El segundo tramo va de 20 a 50. (aprox)
- El tercer tramo va de 50gr. a 10 kgr.
Si vamos a construir una báscula de cocina es muy probable que solo el platillo de la báscula pese mas de 50 gramos, con lo que el peso que habrá sobre el sensor siempre estará por encima de esos 50 gramos que marcan los dos primeros tramos. Podemos no considerar, prescindir, al codificar el programa, de los dos primeros tramos, aunque incluirlos en nuestro código tampoco va a pesar mucho.
Incluyo la gráfica del FSR como fondo en una gráfica XY de excel:
- Con los puntos resaltados en la propia gráfica del FSR compruebo (a ojo) lo que había supuesto, la presencia de tres (o mas) tramos lineales.
- Los dos primeros están claramente diferenciados, el tercero aunque también parece que se puede aproximar a un solo tramo, tampoco pasaría nada si lo dividiésemos, a su vez, en varios tramos.
- Me centro en el tercer tramo, sobre el que en un trabajo real trabajaremos. Con los valores obtenidos calculo los parámetros de la línea (y=mx+c) con la que vamos a trabajar.
- Recordemos que nuestra gráfica del FSR es logarítmica, tanto los valores de X como los de Y son el logaritmo de X o de Y (log(y)=m.log(x)+c)
- Estos calculos están en la hoja Tramo3.
- Incluyo en la gráfica GLog esos datos. Veo que la línea se sitúa sobre la imagen de fondo.
Con un Arduino podemos encontrar la respuesta del FSR ante un peso. Basta con hacer un divisor de tensión con una resistencia fija y conocida, la segunda resistencia sería el propio FSR, medir la tensión de salida y realizando el calculo adecuado encontraremos el valor de la segunda resistencia.
Con ese valor, Vout, calculamos la resistencia incógnita. Como estoy en los preliminares todavía no he decidido si el FSR va a ser R1 o va a ser R2, ni el valor de la resistencia fija que lo acompañara. Si fijamos R2, despejando, (R1=R2(Vin-Vout)/Vout)
Con este valor entramos en (log(y)=m.log(x)+c). En este caso Y=R1, despejamos log(X), hayamos el antilogaritmo y ya tenemos nuestro peso encontrado.
Cuál FSR es?
ResponderEliminar