TACOMETRO Y

VELOCIMETRO


Trivial para NXT

down-naranja-flecha

INTRODUCCION


Para este proyecto partiremos de un Sensor de Rotación ya construido y a partir de él, construiremos un completo sistema de control como el de un coche real. Incluirá: tacómetro (cuentarevoluciones), medidor de velocidad, y Km totales, o mejor dicho para nuestro caso, metros totales.






El sensor, como ya vimos en su sección correspondiente, funciona para determinar la rotación de cualquier eje. Sirve tanto para un motor del NXT como para un motor PF o incluso si el vehículo no dispone de motor y lo lanzamos cuesta abajo.


A partir de aquí, construiremos un sensor soldado a una placa y lo acoplaremos al eje de las ruedas. Sabiendo el diámetro de la rueda, calcularemos todo lo demás simplemente sabiendo las vueltas del eje. Incluiremos el programa.


MONTAJE


El montaje es exactemente el mismo que vimos en la construcción del sensor de rotación, pero soldado y montado sobre una placa. No me extenderé mucho porque pueden haber muchos montajes, pero así conseguimos un sensor compacto para contar las marcas del disco. Obviamente, funciona igual sobre un board.


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Montado con algunas vigas queda así:


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

En cuanto al montaje del conjunto simplemente resaltar que el sensor es independiente del motor. Es decir, se puede aplicar sobre cualquier eje, incluso si no hay motor, de forma autónoma:


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Esta es la parte motriz, independiente de la anterior. El movimiento se transmite mediante las ruedas en contacto.


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Todo junto queda así:


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

FUNCIONAMIENTO


¿Cómo funciona el medidor? La programación no es sencilla, pero daremos las claves. Todo se basa en dos o tres parámetros. Uno es la medición del sensor. Este nos dirá cuántas marcas del disco se leen y en cuánto tiempo. Esto, junto al diámetro de la rueda del vehículo son los factores clave.


Para construir el sensor de rotación hemos usado un disco con 16 marcas negras y 16 blancas. Por tanto, cada vez que el sensor cuente 16 marcas querrá decir que el eje ha dado 1 vuelta. Conociendo el diámetro D de la rueda, sabremos los cm que ha avanzado: Avance = número de vueltas x D.


La siguiente cuestión ha resolver es cuánto tiempo tarda en dar esa vuelta el eje. Para ello, usaremos el icono del cronómetro y calcularemos el tiempo t. Cuando se hayan medido 16 marcas, habrá que reinicializar el cronómetro para volver a calcular. Con esto sabremos cuánto tiempo tarda en recorrer una distancia igual al perímetro de la rueda.


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Por ejemplo, si el perímetro es de 20 cm y se tarda 0,5s en leer 16 marcas (1 vuelta) pues calculamos según v = s/t. En nuestro caso sería v = 20 cm / 0,5s = 40 cm/s. Esta cantidad la podemos transformar a cualquier otra unidad que queramos. Como verás, esos 20 cm no varían, es una constante que depende de la rueda usada.


Por último nos faltan las revoluciones. Este dato ya lo tenemos. Hemos medido el tiempo que tarda en completarse un giro del eje. Hemos supuesto que en contar las 16 marcas (1 giro) se tardó 0,5s. Con este dato es sencillo sacar cuántas revoluciones (giros) por segundo se dan. Si en 0,5 segundos da 1 vuelta, en 1 segundo dará x (o en 60s, es decir 1 minuto).


PROGRAMA


La verdad es que el programa no me ha resultado nada sencillo, pero al final funciona perfectamente. Lo he compactado todo en un "My Block", de forma que es como si hubieras comprado un sensor con su icono de control.


Descargar Programa Tacometro


Es decir, tu nuevo sensor de rotación se controlará con:


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Como puedes ver, el icono cuenta con 3 salidas: metros recorridos, revoluciones por minuto y velocidad. Puedes usar cualquiera de ellas según tus necesidades o las 3. La salida en los 3 casos es un número. Por tanto, para presentarlo en pantalla simplemente lo conviertes en número y lo conectas a un icono de Display.


NOTA: Recuerda que para que funcione correctamente debes guardar el programa en la carpeta de LEGO Creations/MINDSTORMS Proyects/Profiles/Default/Blocks/My Blocks. Cuando hagas un programa, este icono debe ir dentro de un bucle para que vaya leyendo en tiempo real.


ADAPTACION DEL PROGRAMA


El programa anterior parte de algunas premisas. Una de ellas es el numero de marcas del disco: el que he usado consta de 16 marcas negras y otras tantas blancas. Si usas otro disco, tendrás que adaptarlo adecuadamente. Esto es así porque el programa cuenta 1 vuelta del eje cada vez que cuenta 16 marcas. Aquí te dejo la parte a modificar, en el tercio final del programa.


El diámetro del disco que uses no es importante. Sea del diámetro que sea, contará 16 marcas por cada vuelta (o las que tú pongas).


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Otro dato que debes modificar es el diámetro de la rueda. El programa cuenta marcas. Cada 16 marcas es un giro. Y 1 giro implica que el vehículo ha avanzado justo una distancia igual al perímetro de la rueda que has usado. Fijate que el valor está en mm, en mi caso 199 para una rueda de 19,9cm de perímetro. Esta parte del programa está casi al final.


Tacometro velocimetro cuentarevoluciones y medidor de distancias para NXT

Lo mejor que puedes hacer para minimizar el error, es hacer una marca en la rueda que uses, poner el vehículo en el suelo y empujarlo a mano. Cuenta 10 vueltas (cuantas más cuentes, menos error) y luego mides la distancia recorrida. Si 10 vueltas han hecho avanzar el coche 200 cm, cada vuelta corresponde a 20 cm.


USOS ADICIONALES


Lógicamente puedes adaptar este sensor a cualquier mecanismo que gire, por ejemplo una cadena. También podrías construir un disco con una sola marca negra. Esto contaría igualmente revoluciones, aunque de manera menos "fina". Eso sí, simplificaría la programación.


También podrías detener el vehículo cuando haya recorrido determinada distancia con los motores PF sin más que contar x marcas del disco y usando la salida correspondiente del icono de arriba.


Con los servomotores del NXT es posible medir distncias con el sensor de rotación que lleva incorporado, por lo que este sensor no sería necesario. Solo tendría sentido aplicado a un eje diferente al que está directamente conectado al motor del NXT.


Otra utlidad podría ser la de estudiar el movimiento de un vehículo sin motor cuesta abajo por un plano inclinado, a modo de práctica de laboratorio, aunque desconozco si es lo suficientemente preciso para ello. Es cuestión de que pruebes y saques tus propias conclusiones... y nos lo cuentes en el foro.


Te daré una última opción por si dispones de 2 ladrillos NXT: puedes recoger la "telemetría" del sensor y presentarlo via remota (por Bluetooth) en la pantalla del otro NXT.


up-naranja-flecha
.