SENSOR DE PRESION

(NEUMATICO)


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT


down-verde-flecha

INTRODUCCION


Lo primero, una "definición" (a mi aire, nunca mejor dicho) práctica. Neumática hace referencia a sistemas accionados con aire comprimido, a presión. Es por esto que se hace imprescindible saber la presión del sistema.






Si dispones de un kit de neumática de LEGO o elementos neumáticos de algún otro set, este sensor casero te irá muy bien. En lugar de usar el manómetro que viene con el sensor, podrás usar este otro y visualizar los datos en la pantalla del NXT.


Aunque la mayor ventaja obviamente es poder controlar toda la neumática con el NXT. Por ejemplo, puedes abrir y cerrar un brazo neumático y, cuando la presión descienda de un valor prefijado, que se active un motor para volver a presurizar el sistema. Y cuando la presión llegue al punto de consigna prefijado como máximo, que se pare. Todo automático y controlado por el NXT.


Dicho de otra forma, puedes almacenar el valor de la presión en una variable del NXT y procesarla como quieras en tus montajes neumáticos. Es decir, vamos a construir un manómetro digital casero para tu NXT.


Por último, agradecer la colaboración de "Tranki" con el diseño del circuito utilizado en este sensor. Este ha sido un diseño compartido.


MATERIAL


Una relación del material necesario para la construcción de este sensor. Además de lo relacionado a continuación, son necesarios los habituales cables de conexión al NXT (solo cable blanco y negro), pequeños cables para conexiones y el board.


Las resistencias (1/4 de vatio) son:


6 de 10k (marrón negro naranja)

1 de 18k (marrón gris naranja)

1 de 390k (naranja blanco amarillo)

1 de 120k (marrón rojo amarillo)


1 integrado LM358

Un sensor MPX2200AP de Motorola

1 caja de baterías que aporten en total 5V (aprox). 4 pilas recargables de 1,2V son suficientes.

Y por supuesto, el set de neumática de LEGO. En caso de no tenerlo, no creo que este sensor te resulte demasiado útil.


EL SENSOR


El sensor MPX2200AP es de presión absoluta. Existen otros con 2 tubos de entrada que son de presión diferencial, es decir, nos dice la diferencia de presión entre 2 puntos.


El sensor en cuestión tiene un pequeño orificio en la parte superior para conectar los tubos de neumática. Por cierto, entran perfectamente. Este sensor tiene alguna peculiaridad con respecto a otros que hemos construido. Será necesario alimentarlo con baterías externas.


En ese sentido (solo en ese) es como el reloj-calendario permanente de digital. En mi caso con 4 baterías recargables. Es decir, 4 x 1,3 = 5,2V aprox., aunque admitiría más tensión. En principio podría alimentarse directamente con el NXT, pero de momento no lo he conseguido.


Otra peculiaridad es que la respuesta del sensor la da en voltaje. Gran parte de los sensores construidos hasta ahora son resistivos, es decir, medíamos la resistencia. Aquí son voltios, concretamente unos pocos mV (entre 10 y 40 mV aprox), imposible de digerir por el NXT si no amplificamos la señal.


Esa es precisamente la función de toda la electrónica asociada. Si el sensor diera una respuesta en voltios, con una resistencia lo hubiéramos arreglado.


PRECAUCION: El sensor tiene un intervalo (habitualmente se le llama "rango", aunque eso es lo de los militares entre otros) de trabajo de 0 a 29 psi. No debes sobrepasar NUNCA los 29 psi de presión, o podrías dañar el sensor. En ese sentido es más limitado que el manómetro.


Sensor casero de presión neumática para LEGO MINDSTORMS NXT
Sensor casero de presión neumática para LEGO MINDSTORMS NXT

IDENTIFICACION DE LOS PINES DEL SENSOR


Lo primero en cuanto al sensor es identificar correctamente los 4 pines. La hoja de datos anterior te dará más información.


Si te fijas, una de las patas del extremo tiene una muesca. Ese es el pin nº 1. En la imagen que sigue, el pin 1 está a la derecha. El orificio por el que se conecta el tubo neumática está justo al otro lado, sobre el pin 4.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Una vez correctamente identificados, las conexiones que usaremos a continuación serán las siguientes. Recuerda esta imagen para cuando montes el circuito. Podrías poner los terminales de un tester en los pines 2 y 4 para medir la respuesta del sensor. Selecciona mV. Luego tienes más información de cómo hacerlo si no lo tienes claro. No olvides no superar la presión máxima.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Donde dice +5V, deberás conectarlo al polo positivo de las pilas externas. Donde dice 0V, conectará al polo negativo de las pilas. El pin 4 va directamente al cable negro del NXT. Y el pin 2 va al circuito para poder amplificar la señal.


Resumiendo:


Pin 1: alimentación del sensor, polo negativo (-).

Pin 2: señal de salida del sensor positiva.

Pin 3: alimentación del sensor, polo positivo (+5V).

Pin 4: señal de salida del sensor negativa.

EL AMPLIFICADOR LM358


No es mi intención dar demasiadas explicaciones sobre el circuito. Como suele decirse, "queda fuera de las pretensiones de este libro". Lo único que haré es describir a grandes rasgos qué hace y las conexiones.


Si dispones de un tester, ponlo en la posición de medir tensión (V) en corriente continua en su escala más bajita. Prescinde de todo y conecta solo el sensor a las pilas (pines 1 y 3) y mides con el tester los pines 2 y 4, que son la señal de salida del sensor.


En la siguiente imagen, verás el selector en corriente contínua hasta 200 mV. Si el votaje es mayor, simplemente mueve el selector hacia arriba hasta que de lectura.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Puedes también conectar un tubo de neumática de LEGO al sensor e "inflarlo". Recuerda no sobrepasar nunca la presión de 29 psi, así que te vendrá bien conectar una "T" y el manómetro de LEGO para no pasarte de la raya.


Verás que al medir, con la presión a 0, obtendrás aldededor de los 11 milivoltios en el tester. Según aumentes la presión, se incrementarán los mV hasta unos 40mV si no recuerdo mal.


Esas tensiones son demasiado bajas para poderlas medir con el NXT, y de ahí la utilidad del circuito con este amplificador. La hoja de datos del LM358 te dará más información. Si buscas por la red "amplificadores operacionales", también encontrarás abundante información, no siempre demasiado clara. Se representan habitualmente en los circuitos con un triángulo.


Los pines son los siguientes. Recuerda que para identificar correctamente los pines, tienes que poner la muesca nera que lleva el circuito en la parte superior.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Como puedes ver en el esquema, el circuito integrado (CI) consta en realidad de 2 amplificadores. Tiene la toma de tierra (pin 4), la alimentación a 5V (pin 8) y las entradas de las señales a amplificar.


Simplemente decir que según la combinación de resistencias que pongamos, lograremos un factor de amplificación u otro. Si el factor fuera x100, convertiríamos los 11mV en 1,1V y los 40mV en 4V. Esto ya es suficiente para que lo detecte el NXT. La gracia de este circuito es que mantiene la proporcionalidad de la señal pero aumentada.


CIRCUITO


El montaje parece más complicado de lo que realmente es, no te asustes. Así que lo detallaré lo mejor posible para que no te pierdas.


Dado que lleva alimentación externa, ten cuidado de dónde pinchas los terminales de las baterías. No te confundas y le metas los 5V a la entrada del NXT o se te quede un cable suelto y haga algún contacto sin querer.


Como puedes observar, solo se utilizan el cable blanco (a la derecha arriba en la imagen del circuito) y el cable negro. Es lógico. Los cables azul y amarillo se usan en los circuitos digitales. Y la alimentación (cable verde) es externa, por lo que solo necesitamos esos dos cables para medir la tensión (los voltios).


En la siguiente imagen hay algunos cruces de cables que no he podido evitar. Solo van conectados aquellos en los que hay un cuadradito negro, indicando la conexión. En el siguiente apartado tienes una guia visual para construirlo paso a paso. Recuerda que si tienes problemas con la identificación de colores de los componentes, tienes una ayuda de resistencias.



Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

La línea roja (en vertical a la izquierda) se conecta al polo positivo de la pila (+5V). La linea negra (horizontal abajo) se conecta al polo negativo de la pila (0V).


Los valores de las resistencias son los siguientes:


R1, R4, R5, R6 y R7: 10K

R2: 18K

R3: 390K

R8: 15K

R9: 120K


MONTAJE


Para que resulte más claro, haré el montaje sobre un board más largo. Empezaremos conectando el CI y el sensor, y luego añadiremos todo el resto de resistencias numeradas del esquema. Conectaremos la alimentación y finalmente comprobaremos con el tester que la respuesta del sensor una vez amplificada es la correcta. Deberían ser voltios.


Si no dispones de un tester, te saltas este paso. Es simplemente para comprobar el sensor. El pin 1 del sensor está a la derecha del todo. Ese va a polo negativo de la pila. El pin 2 al tester. El pin 3 al polo positivo (+5V). Y el pin 4 al tester. En mi caso (sin presión) puedes ver la medida de 10,7 mV (la coma de la pantalla no se ve en la imagen).


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Quita todo el montaje anterior y empezamos de cero.


Ten en cuenta que toda la línea superior irá conectado al polo negativo de la pila y la fila inferior al polo positivo (+5V). Una vez claro esto, pinchamos el LM385. La muesca del LM385 queda a la izquierda en la imagen y por tanto el pin 1 está abajo a la izquierda. Conectamos un cable desde la 4 columna al polo negativo.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Ahora conectamos el sensor con el pin 1 según la imagen. El pin 1 está a la derecha del todo y debe coincidir con el cable de la imagen anterior.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Ahora la alimentación del integrado y del sensor (cable blanco en el pin 3). La parte superior son 0V (cable negro de la pila) y la parte de abajo son los +5V (cable rojo de la pila). Fijate bien en el cable que señala la flecha. He montado el crcuito 2 veces para comprobar todo y las dos veces me lo he dejado sin poner.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Las resistencias R2 y R3. Van del pin 1 al 2.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Ahora los cables del NXT. El negro directo al sensor, al pin 4 de la izquierda del todo. Entre el blanco y el pin 1 del integrado la resistencia R1.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

El primer conjunto de resistencias: la R7 y R9. El pin 2 del sensor es el que lleva la señal al circuito para su amplificación.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

El segundo conjunto de resistencias. R4, R5, R6 y R8.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Por último la alimentación.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

El resultado final debería ser este:


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Sugerencia


Si tienes un Tester, quita los cables blanco y negro del NXT y mides en su lugar los voltios generados por el circuito para comprobar que todo está bien. Recuerda que tienes que subir la escala del tester al menos una posición.


"Hincha" el sensor con el set de LEGO neumática sin sobrepasar los 29 psi y observa la respuesta del tester para ver si efectivamente van aumentando los voltios con la presión. En la prueba que he realizado, la medida ha variado desde los 1308 mV para presión 0 hasta los 1320 mV para 29 psi.


PROGRAMA


El programa básico es muy sencillo. En realidad, simplemente visualizando el "raw" del sensor de contacto en el dispay, sería suficiente. Lo único que ocurre es que ese valor varía proporcionalmente con la presión, pero no sabemos qué presión tenemos. Lo que si podemos saber antes de continuar es si lo hemos montado bien y funciona.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Haciendo esto, y variando la presión hasta los 29 psi, mi NXT ha variado desde raw igual a 693 hasta 725. Es decir, 33 "marcas". El manómetro en estas mismas circunstancias tiene 29 "marcas". Dicho de otra forma, nuestro sensor es más sensible que el manómetro.


CALIBRACION


La calibración de este sensor es muy sencilla por la comodidad de modificar la variable (la presión) y por la forma de medirla: el monómetro de LEGO Neumática.


Simplemente escribe en una columna los valores: 0, 5, 10, 15, 20, 25 y 29. Esto es la presión en psi. Para las pruebas, tendremos que montar el sistema neumático. La válvula es simplemente para poder vaciar el sistema.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Usando el programa anterior, vamos anotando en nuestra tabla los valores de presión en psi leidos del manómetro y su valor raw correspondiente. En mi caso, he obtenido la siguiente tabla:


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Ahora hacemos una representación gráfica y luego un ajuste por mínimo cuadrados. Con programas de tipo hoja de cálculo es muy sencillo: seleccionas todos los valores de la tabla y le das a "insertar gráfico".


Selecciona el gráfico de tipo "dispersión", líneas rectas. Con el ratón, ponte sobre la recta dibujada y dale a "Agregar línea de tendencia". Activa la opción de "Presentar la ecuación en el gráfico". Si te piedes, tienes una explicación más detallada de estos ajustes en el sensor de temperatura.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

De todas formas, si los componentes que has usado, resistencias, etc han sido los mismos (aunque nunca son idénticos), los resultados no deberían diferir mucho. Además el manómetro también podría diferir un poco. Yo he obtenido:


Y = 691,32 + 1,1214X


Así que siempre podrías usar estos valores como alternativa si no te aclaras.


PROGRAMA PARA EL SENSOR DE PRESION


Si dispones de un NXT de la versión 1, no admitirá decimales. Tenlo en cuenta para modificar el programa adecuadamente.


Despejando la X (el valor en psi) de la ecuación anterior queda: X = (Y - 691,32) / 1,1214. Eso es lo que tenemos que programar en el NXT.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

Una pequeña mejora sería medir el valor 0 y 29 cada vez que lo pones en marcha. Sería como una pequeña calibración para el sensor antes de cada uso. Te pongo el ejemplo del cero. Solo habría que modificar algunos iconos del inicio. Todo el resto sería igual.


Esto es interesante porque en el sistema puede quedar presión residual (aunque el manómetro marque cero) u otros factores. Desconoco cómo afecta la presión atmosférica, pero sospecho que influye. El sensor tiene un pequeño orificio en su parte delantera. Y esto hace que la recta de calibración varíe un poco cada vez que lo usas.


El icono de espera inicial sirve simplemente para darte tiempo a vaciar de presión el sistema. Una vez realizado, se pulsa el botón naranja del NXT para que empiece a medir.


Diseño de un sensor casero de presión de neumática para LEGO Mindstorm NXT

USOS


Es de perogrullo pero los usos son los mismos que le puedas dar a cualquier set neumático de LEGO pero además controlado por el NXT. Como ejemplo, un proceso neumático totalmente automatizado.






O una balanza:





Tienes alguna foto adicional del montaje en la Balanza.




up-verde-flecha
Un sensor de rotación para NXT
Sensor Siguelineas para NXT
.