REGISTRADOR

GRAFICO


Registrador grafico para NXT

down-naranja-flecha

INTRODUCCION


Este artilugio sirve para crear un registro gráfico con el NXT de los datos recopilados por los sensores o por un motor. No hay elementos electrónicos adicionales. Los valores numéricos son necesarios, pero una gráfica de lo que está pasando ayuda mucho a entender el proceso en su conjunto. Andaba tiempo detrás de esta idea que puede resultar muy util, quizás también con fines educativos.





Puede ser un magnífico complemento para el Data Logger, aunque aquí hay que hacer alguna advertencia: los datos recopilados en el Data Logger pueden ser fácilmente visualizados mediante una sencilla hoja de cálculo, con muchas más prestaciones. La gran ventaja del registrador gráfico es que la gráfica aparece en tiempo real.


Esto a su vez aporta alguna ventaja adicional: podemos ver la tendencia de un proceso largo (1 hora por ejemplo) sin necesidad de estar revisando la pantalla del NXT y acabar mareados. Tiene pues el valor de la inmediatez (tan apreciado en estos tiempos).


Tiene también una clara aportación pedagógica: nada más satisfactorio para chicos y chicas jóvenes o pequeños que pegar una palmada y ver que ese artilugio que hemos construido nosotros la registra al instante. Queda así registrado nuestro aplauso para la posteridad, que puedes doblar y guardar en un bolsillo.


Otra ventaja de esa visualización en tiempo real es que nos puede permitir tomar decisiones sobre el proceso que estamos midiendo de forma más sencilla que con una pila de datos.


Una última consideración: aunque no tenga electrónica adicional asociada, no es un artilugio que se construya y programe en 10 minutos, tiene una cierta complejidad. Todo depende también de tu grado de habilidad/conocimientos, pero intentaremos aquí orientarte lo mejor que podamos.


CONSTRUCCION: PARTE MECANICA


Para la construcción de este registrador hemos empleado básicamente elementos de Technic y algún material de oficina. No lleva elementos electrónicos adicionales (de momento), por lo que puedes construirlo de una forma relativamente sencilla. Los diseños pueden ser muchos, y puedes adaptarlo según la disponibilidad de tus piezas. Te doy ideas al respecto.


Como material "no LEGO" imprescindible tenemos:


  • Cualquier boli de gel, rotulador, pilot, etc que no necesite ejercer presión para escribir.

  • Un rollo de papel de máquina registradora de tikets. Lo puedes encontrar fácilmente en papelerías o tiendas de material de oficina. El que ves aquí me costó 0,5€. Ojo, no vale el papel térmico.

  • Unas cuantas gomas elásticas.


  • Todo esto cuesta poco más de 1€ y se encuentra con facilidad. El resto es casi todo material de Technic, a excepción de las piezas para la plataforma sobre la que descansa el boli para escribir, pero son fáciles de sustituir por bricks.


    De izquierda a derecha tenemos: el NXT, el sensor de sonido, los motores, la unidad de registro y las bobinas de papel.


    Registrador gráfico para NXT

    Puedes ver que hay 2 motores, uno para el avance del papel y otro para el movimiento del bolígrafo. La velocidad de ambos puede ser controlada por software, pero hay que elegir adecuadamente las ruedas dentadas y luego ajustar más finamente con el software.


    ALGUNOS DETALLES DE LA CONSTRUCCION


    Vamos a incluir aquí algunos detalles para facilitar la construcción. En esta primera foto, la bobina tractora a la derecha y la bobina dispensadora de papel a la izquierda.


    Registrador gráfico para NXT

    Una de las cosas que me dio algún quebradero de cabeza fue el anclaje de la bobina. En el cilindro hueco de este rollo de papel adapté el siguiente eje, con una goma elástica enrrollada hasta el grosor necesario para evitar el giro y anclarla bien en su interior. En los extremos, 2 ruedas dentadas a modo de tapón apretado sujetan el conjunto.


    Registrador gráfico para NXT

    Para evitar que la bobina dispensadora quede suelta y el papel se desenrolle a su antojo, ponemos una simple goma elástica anclada a un pin fijo sobre la estrucctura. Esto, simplemente por rozamiento, frena la bobina para que no gire con libertad.


    Registrador gráfico para NXT

    Un detalle de la bobina tractora sobre la que enrollaremos el papel para que gire. Se ven bien los 3 ejes exteriores y el eje central de sujeción. A la izquierda, la base plana para apoyar el boli. Esto no es Technic, pero con unas vigas lo tienes solucionado. También se puede ver la carga del papel por debajo de la base plana.


    Registrador gráfico para NXT

    En esta foto, un detalle de la base plana. También pueden verse las 2 "tuercas" locas (flechas rojas). Simplemente tienen la función de apretar el papel contra la base plana para que quede plano. El otro eje (flecha amarilla) sirve para descansar el boli justo delante (entre un eje y otro) y evitar que lo arrastre cuando se ponga en marcha el avance del papel. Revisa otras fotos o el video para verlo.


    Registrador gráfico para NXT

    Por último, un detalle de la cadena unida por una goma elástica al boli. Para darle algo más de estabilidad he usado en la parte posterior el eslabón largo de la imagen:


    Registrador gráfico para NXT

    AVANCE DEL PAPEL


    Según la duración del proceso que estamos midiendo, tendremos que ajustar la velocidad de avance del papel. ¡Quizás no tengas suficiente con un rollo y se te acabe a mitad de la medida!. Pero, salvo que dure mucho, no hay que preocuparse mucho por esto.


    También lo podemos expresar a la inversa: ¿cuántos cm de papel corresponden a 1 minuto de medición? Este dato puede ser calculado una vez construido el registrador y servirá para conocer la duración de un determinado evento. Sabiendo esto, se pueden medir los centímetros de un pico de la gráfica con una regla y saber así cuánto tiempo ha durado ese evento (una palmada por ejemplo).


    NOTA: esto no es posible con el programa que incluyo aquí por los motivos que se exponen más adelante en "Respuesta del Senseor y del Motor". Pero si es susceptible de que lo mejores para que funcione en ese sentido. El diseño del artilugio es perfectamente válido para permitirlo.


    Cuanto más rápido avance el papel, más ancha será la gráfica. Un ejemplo: supongamos que medimos esa palmada a 2 velocidades distintas de avance del papel. La altura del pico será la misma (siempre que la palmada haya sido exactamente igual). Si el papel avanza lento obtendrás (más o menos) la gráfica de la izquierda. Si el papel avanza rápido, la de la derecha.


    Registrador gráfico para NXT

    El avance del papel se ajusta con la potencia del motor (software) y con las ruedas dentadas adecuadas. Para que vaya más lento el avance, usa ruedas grandes a la izquierda de la imagen y/o pequeñas a la derecha. Ajusta el tamaño de estas ruedas dentadas hasta obtener la velocidad de avance deseada. Por lo general, debe ser bastante lenta.


    Registrador gráfico para NXT

    Para obtener gráficas con picos más estilizados (menos anchos) aumenta la velocidad de respuesta del motor que controla el movimiento del boli (power). Cuanto antes pinte el pico, más estrecho será.


    SENSIBILIDAD / PRECISION DEL REGISTRADOR


    Esta es la segunda rueda (flecha amarilla) que tendremos que elegir. Las otras dos ruedas que forman el triángulo no afectan lo más mínimo, puedes poner las que quieras.


    Registrador gráfico para NXT

    Según la rueda que pongas aquí, el registrador tendrá una "sensibilidad" diferente. Me explico: cuando el eje del motor gire una vuelta, la cadena avanzará una distancia determinada, diferente según la rueda que pongas. Exactamente igual que el plato de una bicicleta: una pedalada pueden ser pocos centímetros o varios metros.


    Esta rueda hace que puedas "amplificar" los valores recibidos por el sensor para que se vean bien. Y como todo tiene una contraparte, también amplificarás el "ruido" de todo el sistema, las fluctuaciones. Es decir, cuanto mayor sea el tamaño de la rueda, más altos serán los picos dibujados en la gráfica. Es cuestión de probar la que mejor se ajuste.


    Con el montaje que estamos usando, al mover el boli de punta a punta del papel (flechas amarillas en la siguiente imagen), registro 400 grados de desplazamiento del motor. Se explica en detalle a continuación.


    Registrador gráfico para NXT

    Este dato es necesario para la programación. ¿cómo medirlo? Creas el siguiente programa y lo ejecutas en el NXT. No olvides seleccionar el motor correcto. El icono en cuestión es el "Rotation sensor", que lo puedes encontrar según la misma imagen.


    Registrador gráfico para NXT

    Ahora seleccionas con el ratón el icono para poder acceder a su panel de configuración. Ahí verás una ventanita (círculo rojo) que te dice cuántos grados ha girado el motor. Ahora, mueves manualmente el motor hasta uno de los extremos del papel, hasta abajo del todo y le das al "Reset" que aparece en el círculo rojo anterior.


    Desplaza de nuevo el boli hasta el otro extremo del papel (es decir, haz el recorrido de las flechas amarillas de la última foto) y lee los grados que aparecen en la pantallita. En mi caso, para esa rueda, he obtenido 400º de desplazamiento del motor.


    PROGRAMACION


    El dato anterior debe ser complementado con lo siguiente para una correcta programación.


    ESCALADO DE LOS DATOS


    ¿Qué datos vas a registrar?. En mi ejemplo, represento los datos procedentes del sensor de sonido (micrófono). En este sensor tenemos 2 posibles representaciones: el valor raw que varía de 0 a 1023 y el volumen, que varía de 0 a 100. He elegido este último parámetro por sencillez. Pero se podría representar también los grados de giro de un motor o cualquier otra cosa. En este último ejemplo variaría desde 0 hasta 360º.


    Esta información nos permitirá ajustar posteriormente la escala y el recorrido del boli. Es una información importante: usa el display del NXT y mide los valores máximo y mínimo que te suministrará el sensor que quieras registrar.


    Con esto ya tenemos los 2 datos fundamentales. En mi caso, el sensor variará entre 0 y 100 y el ancho de la gráfica se corresponden con 400º del motor. La cuenta para la representación está clara: hay que multiplicar por 4 el valor del sensor y hacer que esos sean los grados de desplazamiento del motor.


    RESPUESTA DEL SENSOR Y DEL MOTOR


    Esta es la parte más defavorable y negativa del registrador. Seguramente tiene solución, pero la mía reconozco que no es demasiado buena. La cuestión es que el sensor de sonido capta muchos más datos (mucho más rápidamente) de lo que el motor puede representarlos.


    Tampoco le he dado mucha vuelta, pero la solución que he usado es la de promediar lotes de datos del sensor (20 o 25) y luego accionar el motor. El problema de este programa es que cuando se pone a representar, el sensor no está guardando datos. Los accionamientos del motor están en un ciclo que concluye cuando la "señal del sensor x 4" coincida con los "grados de desplazamiento del motor". Durante este ciclo, el sensor no está midiendo datos.


    Esto se traduce en que si pegas 2 palmadas seguidas, solo se representa 1. Hasta que no acaba, no procesa lo siguiente. Quizás una solución programar motor y sensor en líneas de programa paralelas, pero no he probado.


    PROGRAMA


    Si has hecho el diseño EXACTAMENTE igual al de las fotos, el siguiente programa te puede funcionar. Y si no, te puede dar pistas de cómo hacer el tuyo propio. Puedes descargarte el programa que yo he usado como orientación pinchando sobre el icono:


    Descargar programa Registrador Gráfico para NXT

    La primera operación que te pide es poner manualmente el boli en "INICIO" y apretar [ENTER] -botón naranja del NXT-. La posición inicial del boli es en el extremo inferior de la gráfica (ver video).


    Una cuestión importante. En la configuración del icono motor que controla el avance del papel, activa la pestaña "Motor Power". Esto hace que el motor trabaje a una potencia constante, aunque encuentre alguna resistencia especal en algún momento. Esto ayuda a mantener una velocidad de avance del papel constante.


    NOTA: en el programa tienes múltiples notas explicativas.


    POSIBLES MEJORAS


    La primera mejora (la más importante) es la del programa para que no existan "zonas oscuras" en la captación de datos mientras el motor del boli está actuando, tal como ya comentamos más arriba. Si programas algo diferente (o si tienes dudas), recuerda que puedes compartir la idea en el foro.


    Puedes también probar a modificar los valores de los parámetros en el programa para ajustarlo mejor: las velocidades de avance, los grados que se desplaza el motor del boli, etc


    La segunda es una propuesta de hardware. Puedes incorporar un potenciometro (sensor de ángulos) para regular la velocidad de avance del papel. De esta forma, tendrías más versatilidad para registrar distintos procesos sin necesidad de modificar el software cada vez.


    Otro posible potenciometro que podemos añadir podría servir para ajustar la "sensibilidad" del registrador. Recuerda que hemos multiplicado x4 para escalar adecuadamente el valor procedente del sensor para su posterior representación. Ese "x4" es el que podemos modificar con el potenciómetro y convertirlo en un 3 o un 5 (por ejemplo) para luego representar el resultado.


    up-naranja-flecha
    .