Sei sulla pagina 1di 4

Universidad Nacional de Colombia.

Departamento ingeniera elctrica y electrnica, conversin electromagntica

INTRODUCCION A LA PLATAFORMA LEGO MINDSTORS


Beltrn Erick, 02222663 {eabeltranr, }@unal.edu.co Resumen: la plataforma Mindstorms es un modulo programable al cual podemos conectar motores y sensores. Inicialmente creada como un juguete por la empresa LEGO, se ha convertido en una herramienta de aprendizaje en la mayora de los colegios y universidades debido a su facilidad de programar e implementar montajes segn la creatividad del usuario. Palabras claves: Mindstorms, LEGO, bricx command center, sensores, motor, programacin, NXT. III. INTRODUCCION AL HARDWARE 1. Caractersticas internas del Brick. El microcontrolador del Mindstorms es el Brick que tiene tres puertos de salida y se etiquetan como A, B y C y tiene cuatro puestos de entrada enumerados del 1 al 4. Tambin consta de un puerto USB el cual es la interfaz entre el computador y el Mindstorms. Para comprender mejor vemos la figura numero 1.

I. OBJETIVOS Los principales objetivos de esta prctica son: Conocer las caractersticas fsicas del Mindstorms NXT de LEGO. Conocer el entorno y lenguaje de programacin, que para nuestro caso ser el Bricx Command Center. Saber el correcto uso de sensores y motores y las precauciones pertinentes a su uso.

II. INTRODUCIN

Con el uso del MIndstorms NXT de lego se pretende poner en prctica una buena parte de la teora de control que vemos en la materia, lo interesante de este hardware es que es muy fcil de usar y nos permite ahorrar tiempo y costos si deseramos hacer cada montaje individualmente de sensores y motores. Adems el software empleado es un seudo C lo cual nos facilita mas comprender lo que hacemos debido a su lgica en la programacin. Otro aspecto es la posibilidad de programarlo a travs de un puesto USB o desde el Bluetooth. Tambin es relevante destacar la calidad de los sensores que provee el fabricante ya que son muy precisos y confiables para las prcticas que pretendemos realizar a lo largo del curso. Por ltimo podemos decir que esta herramienta nos introduce de una forma adecuada a proyectos de robtica y control permitindonos crear casi todo tipo de configuraciones que queramos implementar.

Figura 1. Estructura Interna del Brick

El Brick tiene un procesador ATMEL ARM7 de 32 bits con las caractersticas siguientes: 256 Kbytes de memoria Flash. 64 Kbytes de memoria RAM. Velocidad de 48 MHz. La comunicacin entre el procesador (ATMEL ARM7) y el co-procesador (ATMEL AVR) se hace a travs del bus I 2C como vemos en la figura 1. La velocidad de comunicacin es de 380 Kbytes/s. posee dos registros de memoria. Sus caractersticas son: Procesador ATMET AVR de 8 bits. 4 Kbytes de memoria Flash. 512 bytes de memoria RAM. Velocidad de 8 MHz.

Universidad Nacional de Colombia. Departamento ingeniera elctrica y electrnica, conversin electromagntica 2. Puertos de salida y entrada del Brick. Los puertos de salida controlan motores y actuadores conectados al NXT, a travs del mismo puesto estos pueden devolver informacin al Brick. La amplitud de las seales de salida est entre los 700mA y 1 A. En los puertos de entrada conectamos los sensores los cuales pueden recibir seales de tipo analgico o digital. Esto gracias al convertidor anlogo digital que tiene el coprocesador ATMEL AVR que funciona con 10 bits y una velocidad de 333Hz. Los datos se enviar al procesador ATMEL ARM7 a una velocidad de 9600 bits/s. 3. Propiedades del BlueCore 4.0. Como vemos en la figura 1 el Brick tiene un integrado llamado BlueCore 4.0. Con las siguientes caractersticas. 47 Kbytes de RAM. 8 Mbites de Flash. Velocidad de 26 MHz. comunicarse con tres dispositivos
Figura 3. Sensor EOPD.

de luz debidas a reflexin o refraccin de otros objetos. El sensor puede funcionar de dos maneras diferentes segn la sensibilidad que necesitemos usar. El modo X1 y el modo X4, en el modo X4 puede detectar objetos que sean pequeos y estn en el campo visual del sensor a una distancia de aproximadamente 15 cm. El modo X1 se emplea cuando el modo X4 se sature o sea insuficiente, el promedio de muestras tomadas es de 300 por segundo. Este sensor lo observamos en la figura numero 3.

Tambin puede simultneamente.

4. Caractersticas de los sensores. Los sensores son la parte vital de nuestro Mindstorms debido a su utilidad y precisin los ms importantes son: ULTRASONIDO: Su principal funcin es la de captar el movimiento pero tambin puede medir distancias con un rango de precisin de +- 3 cm y con una distancia mxima de alcance de 255 cm, su principio de funcionamiento es similar al usado por murcilagos y sonares de submarinos, emiten una seal y calcula el tiempo de respuesta o de retorno de la misma. En la figura numero 2 vemos este sensor.

COLOR : Este sensor funciona usando un led de color blanco que ilumina el objeto y posteriormente realiza un anlisis espectral de la luz reflejada, realiza hasta 100 mediciones por segundo. Para su correcto funcionamiento el sensor debe estar ubicado lo mas perpendicular posible con respecto al objeto. Este sensor lo vemos en la figura 4.

Figura 4. Sensor de Color.

Figura 2. Sensor de Ultrasonido.

EOPD : sus siglas quieren decir Electro Optical Proximity Detector. Funciona empleando la luz visible, funciona como un sensor de luz normal, con la diferencia de que este sensor usa pulsos de luz, esto con el fin de evitar interferencia de fuentes

GIROSCOPIO : Este sensor consiste en un eje que detecta la rotacin y nos devuelve un valor que indica los grados de rotacin en funcin del tiempo, tiene la capacidad de medir hasta 3600 del eje vertical. El valor inicial de la medida es 40 que corresponde al valor central. El sensor lo podemos ver en la grafica 5.

Universidad Nacional de Colombia. Departamento ingeniera elctrica y electrnica, conversin electromagntica SENSOR DE BRUJULA MAGNETICA : Este sensor puede medir el campo magnetico de la tierra a travs de un compas digital, usa un angulo de abertura establecido y hace 100 mediciones por segundo. El sensor puede funcionar como lectura o como calibracin, en el primero se hacen mediciones y recogen datos en el segundo se puede hallar fuentes de interferencia, el sensor lo vemos en la figura numero 8.

Figura 5. Sensor Giroscopio.

ACELEROMETRO : Este sensor consta de tres ejes que permiten medir la aceleracin en tres direcciones diferentes el rango de medida est entre -2g y 2g , este sensor puede hacer hasta 100 mediciones por segundo. Debido a que se conoce la gravedad se pueden hacer mediciones de inclinacion en los tres ejes. El rango de variacin de la inclinacin van de 0 a 254.
Figura 8. Sensor de Brujula.

IV. INTRODUCCION AL SOFTWARE 1. Introduccin Bsica de Programacin. El lenguaje bsico de programacin para el Mindstorms es el NXC y el programa que emplearemos es el Bricx Command Center. Al igual que con el lenguaje C nuestro NXC consta de tareas y funciones. Debe tener una estructura ya definida por el programa el encabezado esta la declaracin task() a continuacin definimos las tareas a realizar por el programa por ejemplo accionar un motor. Aqu tenemos este cdigo. task main() { OnFwd(OUT_A, 75); Wait(4000); OnRev(OUT_A, 75); Wait(4000); Off(OUT_A); } Otra caracterstica importante de este programa, es que le indica al usuario si est cometiendo un error al tipear el cdigo, si la funcin ONFwd est bien escrita aparece de color azul, si sale en negro indica que est mal escrita, lo mismo ocurre con los puertos de salida debe aparecer de color verde como por ejemplo la funcin OUT_A, en cuanto a los valores asignados a los perifricos debe ser de color rojo como por ejemplo (4000). El encabezado debe ser de color negro.

Figura 6. Sensor Acelermetro.

SENSOR DE CONTACTO : Este sensor es el ms sencillo de toso y est compuesto por un pulsador que puede ser usado segn lo desee el usuario. Este sensor est en la figura numero 7.

Figura 7. Sensor de Contacto.

Universidad Nacional de Colombia. Departamento ingeniera elctrica y electrnica, conversin electromagntica El programa trae funciones sencillas como ONFwd que indica al motor avanzar hacia adelante o la funcin OnRev que indica que el motor va en reversa, la funcin wait le da al programa una espera en la ejecucin esta en milsimas de segundo la funcin Off() es el apagado del motor. Las variables son lugares de memoria en las que podemos guardar un valor determinado. Al igual que en C las variables son del siguiente tipo: Int: para datos de tipo entero de 16 bits en un rango entre -32768 y 32767. Char: para variables de tipo carcter para valores entre -127 y 128. Bool: tipo boleano de 8 bits. Lgica: FALSO/VERDADERO. Short: al igual que las int de 16 bits. Long: de 32 bits con valores de -2147483648 hasta 2147483647. Unsigned: para definir variables de tipo char, int, long. Float: de 32 bits. String: cadena de caracteres. Array: arreglos. Matrices. Structures: arreglo de variables. 2. Lectura de Sensores. Existe un cdigo para inicializar cada uno de los sensores as como el retorno de valores. Sensor de contacto: indica en que puerto y el tipo de sensor tenemos conectado.
task main() { SetSensor(IN_1,SENSOR_TOUCH); o tambien SetSensorTouch(IN_1);

Sensor Giroscopo

SetSensorHTGyro(IN_1); o del modo SetSensor(IN_1,SENSOR_HTGYRO);

Sensor EOPD:

SetSensorHTEopd(IN_1); o del modo SetSensor(IN_1,SENSOR_HTOPD);

Sensor Brjula:

SetSensorHTCompass(IN_1); o del modo SetSensor(IN_1,SENSOR_HTCOMPASS);

Sensor de Aceleracin:

SetSensorHTAccel(IN_1); o del modo SetSensor(IN_1,SENSOR_HTACCEL);

3. Algoritmo para servomotor con seal diente de sierra. 4. Algoritmo de visualizacin.

5. Aplicar diferentes niveles de entrada (porcentaje de PWM) al motor, registrar los datos provenientes de la lectura y graficarlos en Matlab. Dichos niveles de entrada sern del 20, 50, 80 y 100%.

Sensor de luz: la inicializacin se puede hacer de la siguiente forma.

SetSensorLight(IN_1); o del modo SetSensor(IN_1,SENSOR_LIGHT);

Sensor ultrasnico:

SetSensorUS(IN_1); o del modo SetSensor(IN_1,SENSOR_US);

sensor de sonido:

SetSensorSound(IN_1); o del modo SetSensor(IN_1,SENSOR_SOUND);

sensor de color:

SetSensorColor(IN_1); o del modo SetSensor(IN_1,SENSOR_COLOR);

Potrebbero piacerti anche