Descripcion De Lego Mindstorms

La parte mas importante de este tipo de robots es el elemento de control, según el modelo se le conoce por RCX o NXT.

2.1. El RCX:

2.1.1. Descripción
Es el cerebro de Robotics Invention System, que contiene el sistema de comandos para el robot. Es una mini computadora integrada en un ladrillo Lego. Se puede programar con un PC o utilizar uno de sus cinco programas que tiene integrados.
El núcleo del RCX es un microcontrolador Hitachi H8, exactamente el H8/3292. Tiene una velocidad de funcionamiento de 16 MHz y esta alimentado con 5V.
Tiene una memoria interna ROM de 16 KB que contiene el driver que se ejecuta cuando se alimenta por primera vez el RCX y los programas base para no perderlos en caso de que se desconecte la alimentación, una memoria interna de tipo RAM de 512 bytes y otra externa del mismo tiempo de 32 KB para el firmware (sistema operativo que controla el boque), los programas y configuraciones personales, pues con este tipo de memorias si se va la alimentación durante mas de un minuto se perderán sus datos y habrá que volver a cargarlos desde el PC. Tiene dos temporizadores de 8 bits y uno de 16 bit, un conversor analógico/digital de 8 bit y un altavoz integrado, capaz de emitir sonidos sencillos (Beep).

En las siguientes fotografías se muestra como es internamente el modulo RCX. El primero es una vista superior y la segunda inferior.
2.1.2. Puertos de entrada (1, 2,3)
Tiene tres puertos de entrada para los sensores. Dependiendo del tipo de sensores, activos o pasivos, tiene una forma de funcionar distinta.
Si los sensores son pasivos, como son el de contacto o el de luz, que no necesitan alimentación utilizan el siguiente hardware.

Si los sensores son activos, necesitan alimentación, pero como solo tenemos dos hilos, y uno es la masa, tenemos que conmutar el otro para poder leer el sensor.
El interruptor S se mantiene cerrando durante 3 ms. para alimentar el sensor y durante 0.1 ms. se abre para obtener el estado del sensor.
2.1.3. Puertos de salida
Tiene tres puertos de salida para los actuadotes (motores y lámparas). Cada puerto puede estar en tres estados: on, off y floating. Cada salida tiene solo dos hilos por ello solo tienen una dirección asociada, forward (hacia adelante) y reverse (hacia atrás) y utilizan una modulación por ancho de pulso (PWM). Los pulsos se envían cada 8 ms. y presentan hasta ocho posibles anchos, desde 1ms. (nivel de potencia mas bajo) a 8ms. (nivel de potencia mas alto, potencia continua).

2.1.4. Botones de control:
Son 4 los botones de control. El botón rojo (On-OFF) enciende y apaga el RCX. Los demos solo funcionan cuando el ladrillo controlador esta encendido. El botón verde (RUN) inicia y detiene el programa seleccionado. En este modo el “personaje” de la ventana de visualización aparece andando. El botón gris (PRGM) permite cambiar entre los 5 programas integrados del RCX. El número de programa seleccionado aparece a la izquierda del “personaje” en la ventana de visualización. El botón negro (VIEW) sólo está activo después de descargar el firmware y permite obtener información de los sensores y motores. Se pueden ver las lecturas de sensor en los puertos de entrada 1,2 o 3 y la dirección del motor en los puertos de salida A, B o C.
2.1.5. Pantalla LCD:
Es una pantalla de cristal liquido, donde se visualiza es estado del robot.
2.1.6. Puerto de comunicación infrarroja.
A través de el puede comunicarse con el PC o con otros RCX.
2.1.7. Transmisor de infrarrojos.
Sirve para establecer un vínculo inalámbrico entre el PC y el RCX. Con el transmisor de infrarrojos se puedes descargar programas al ladrillo controlador y para ejecutarlos. Para que se establezca una comunicación el RCX y el transmisor infrarrojos deben “verse” el uno al otro con una separación de entre 10m y 15 m aunque en condiciones de iluminación optimas pueden separarse hasta 30 m.
2.1.8. Alimentación:
La alimentación del RCX se lleva a cabo mediante seis pilas de tipo AA/LR6. Se recomienda utilizar alcalinas aunque también se pueden utilizar recargables pero su potencia será menor.
Curiosidades:
Al tener esta forma de ladrillo Lego, permite la construcción muy rápida de robots con piezas de tipo ladrillo Lego y de otros tipos.
La primera vez que se enciende el RCX o después de cambiar las baterías tardando más de 1 min., el RCX se encuentra en “Modo de arranque”. En la pantalla de visualización no aparece el reloj.
En el Modo arranque no puedes descargar programas en tu robot porque el RCX necesita el firmware. El firmware es un software especial que permite la comunicación entre tu equipo y el RCX. Se necesita descargar desde el PC.

2.2. El NXT:

En la figura anterior se muestra el NXT brick, es el objeto donde reside todo el control del robot. Para ello, esta compuesto por un microprocesador ARM-7 de 32 bits, el AT91SAM7S256 de Atmel. Este microprocesador de arquitectura Risc incluye 256 KB de memoria flash (no volátil), 64 kB de RAM (volátil) y una velocidad de funcionamiento de 48 MHz. (Ver hojas características para conocerlo con mayor profundidad).
Tiene cuatro botones en la parte superior para utilizar los programas que tengamos instalados, configurarlos y ejecutarlos. También podemos visualizar en la pantalla el estado de los sensores o crear pequeños programas sin necesidad de utilizar el ordenador y programas adicionales. El botón de color naranja tiene como funciones el encendido (ON), la confirmación de acciones (Enter) y el comenzar (Start). Las flechas de color gris son para moverse por los menús y el rectángulo gris oscuro es para limpiar la pantalla (Clear) y volver atrás (Go back).

Mediante una pantalla gráfica de LCD de 1000 x 64 píxel blancos y negros, con un área de visión de 26 x 40,6 mm manejamos el NXT de una manera muy sencilla. El LCD se controla mediante un UltraChip 1601 que se conecta mediante un bus SPI de 2 MHz de velocidad, al ARM7. Lo que se visualiza en el display esta almacenado en memoria como si fuera un array bidimensional (X, Y) y se actualiza cada 17 ms.
Podemos emitir sonidos, pues también incluye un altavoz con un sistema de sonido de 8 bits de resolución, 8 Khz. de calidad de sonido y que soporta una frecuencia de muestreo entre 2 y 16 kHz. La señal de salida es una señal PWM controlada por el microprocesador ARM7. Se filtra, pasa por un amplificador diferencial (SPY0030A de SunPlus) de ganancia máxima igual a 20 y sale al exterior por un altavoz de impedancia característica de 16 Ω y un diámetro de 21 mm. A continuación se muestra su esquemático:
Para interactuar con el exterior, esta compuesto por 8 puertos de entrada/salida que se unen mediante conectores muy similares a los de tipo telefónico. Tienen 6 hilos pero tienen la ranura a la derecha en vez de en el medio como el del teléfono. (Para convertir un cable telefónico al uno valido para el NXT visitar el siguiente enlace: http://philohome.com/nxtplug/nxtplug.htm)

Los puertos de salida son el A, el B y el C y son para los motores. El siguiente esquemático muestra en detalle un puerto de salida.
MA0 y MA1 son señales de salida para controlar a los actuadotes. El pin 3 es masa y el pin 4 es Vcc que esta conectado internamente a todos los Vcc de todos los puertos tanto de entrada como de salida. TACHOA0 y TACHOA1 son señales de entrada al microcontrolador ARM-7.
Los puertos de entrada son el 1, el 2, el 3 y el 4 y son para los sensores. Como antes, mostramos el esquemático de un puerto de entrada.
El pin 1, ANA es un pin analógico conectado a un convertidor analógico/digital del procesador AVR y también a un generador de corriente para alimentar al sistema sensorial.
Los pines 5 y 6, DIGIAI0 y DIGIAI1, son pines digitales de entrada/salida usados para la comunicación digital con el ARM-7 mediante un bus I2C a una velocidad de 9600 baudios.
El puerto 4 puede funcionar como un puerto de alta velocidad. Un RS485 esta implementado en el interior el puerto. Esto permite una comunicación bidireccional de alta velocidad.

También consta de un puerto USB de gran velocidad (12Mbits/s) que se encuentra al lado de los puertos de salida, es el primero de la parte superior derecha.
La gestión de las entradas y salidas es llevada a cabo por un procesador AVR de 8 pines, el ATmega48 de Atmel. Que tiene 4 kB de memoria Flash, 512 B de RAM y una velocidad de funcionamiento de 8 MHz. Sus funciones mas importantes son el control de la alimentación, la creación de las señales de salida PWM para los motores y la conversión A/D de las señales de entrada de los sensores. Se conecta con el microprocesador ARM7 a través de un bus I2C. A causa de las limitaciones del ARM7, esto solo funciona como maestro en la comunicación por el I2C.
Para la gestión del Bluetooth tiene otro microcontrolador de la empresa CSR (Cambridge Silicon Radio), llamado BlueCoreTM 4 y una memoria Flash externa de 8 Mbit, que contiene todo el hardware necesario para una comunicación inalámbrica.
Se conecta al ARM7 a través de un modulo SPI (Interfaz serie sincronía) y un modulo UART (Transmisor-Receptor Asíncrono Universal).
Gracias a este sistema pueden conectarse hasta 4 NXT-brick a la vez, uno como maestro y los otros tres como esclavos, pero solo puede comunicarse con uno en un mismo tiempo.
Como fuente de alimentación podemos utilizar 6 pilas AA o una batería recargable de litio, que se conecta en la parte inferior del modulo NXT.

A continuación se muestra un dibujo donde se representan los componentes del controlador y su interconexión con otros componentes:

2.3. Diferencias hardware entre el NXT y RCX:

RCX
NXT
Nº puertos salida
3
3
Nº puertos de entrada
3
4
Sistema de batería recargable
NO
SI
Compatibilidad con IR
SI
NO
Compatible con Bluetooth
NO
SI
Comunicación múltiple de bricks
SI
SI
Velocidad de motor
100
100
Sonidos
6 beeps
Infinitos
Drive straight
NO
SI
On-board variables
64
100-100
Display control
Números
Texto, imágenes, números
Nº de programas cargados
5
Infinitos
Programación sobre el brick
NO
SI
Usa nuevos y viejos sensores
NO
SI
Unión con el ordenador por cable rápido
NO
SI
Gráficos en display en placa
NO
SI
A pesar de las diferencias que tienen, se pueden usar los motores y los sensores del RCX para el nuevo NXT. Esta conexión se facilita gracias al siguiente cable de conexión.
Cuya función es unir el PIN1 y el PIN2 con los hilos del conector antiguo.

Diferencias generales entre RCX y NXT:

2.4. Bibliografía para la parte de descripción:

http://mindstorms.lego.com/ : sobre el NXT, hay PDF con toda la descripción hardware (lego X’treme).-
http://www.etse.urv.es/~aoller/robmob_eaiei/LEGO%20MindStorms%20RIS.htm: sobre el RCX
http://complubot.educa.madrid.org/inicio.php?seccion=principal pagina de los niños de alcala
Página 21
ROBOTS LEGO MINDSTORMS
Archivos en PDF de la universidad politecnica de Cataluña sobre Robotic invention system (http://bibliotecnica.upc.es/bustia/arxius/40427.pdf ), de la universidad de las Palmas de Gran Canaria sobre una practica sobre sistemas roboticos moviles (http://serdis.dis.ulpgc.es/~ii-srm/MatDocen/notas_practicas/Prac_1-2/Practica1y2.pdf ).
Otras paginas visitadas:
http://nxtbot.com/blog/?p=133 -> costruccion con lego rcx de juego de bolas
http://www.micromundos.com/solutions/mwexroboticspage2.html foto lego_mosca
http://www.donosgune.net/2000/ documento educación robots
http://legolab.daimi.au.dk/ robots lego para investigación
http://www.crynwr.com/lego-robotics/ sobre RCX
http://gonzo.teoriza.com/2005/08/03/robotica-con-lego-mindstorms/
http://graphics.stanford.edu/~kekoa/rcx/
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=rcx
http://robotics.benedettelli.com/

Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution-ShareAlike 3.0 License