24.10.09

Muestra ELO 2009 USM

Luego de una muy buena presentacion en la Competencia de Proyectos Electronicos Muestra ELO 2009, se obtuvo el primer lugar con el robot MSP3
Para mas detalles visitar AQUI la noticia publicada en el diario de la Universidad.

17.10.09

MSP3 Primeros avances (video)

Un video de las primeras pruebas de funcionamiento de MSP3 en el área de trabajo. Pronto el video final con la secuencia completa de programación y funcionamiento.
En este video se aprecian todos los sensores trabajados aquí en el blog todo montado y a bordo del robot funcionando simultaneamente para lograr el objetivo final. Aquí podemos apreciar el Sensor de Líneas y el control de los servomotores de las ruedas a través de Arduino


19.7.09

Sensor de Color

Siguiendo con los sensores necesarios para el desarrollo principal del robot, tenemos el sensor de colores, el cual nos ayudara a identificar el color de las cajas que tome nuestro robot y poder calificarlas.
Para ello utilizaremos 3 led y un LDR (resistencia dependiente de luz) y un simple principio de reelección, el cual consta de emitir secuencialmete 3 colores (rojo, azul y verde) y medir la reelección con el LDR por un cierto tiempo, y comparar la caída de voltaje en la resistencia variable de cada uno de los colores.
Para eso utilizaremos un divisor de tensión entre el LDR y una resistencia de 100k, el cual conectaremos a una entrada análoga de Arduino. Ahí con un simple programa podremos leer cada una de los voltajes y comprararlos e identificar el menor voltaje, el cual corresponderá al color de la caja.

Es un esquema bastante sencillo para el funcionamiento del sensor. Importante cabe hacer notar que el armado del sensor debe ser muy cuidadoso en la ubicación de los leds, y la protección que se debe agregar al LDR por el borde, para asi centrar, el campo de sensado solo en el reflejo de los led. En mi caso utilicé un trozo de una manguera de un acuario que encontré por mi casa, la cual calzo perfectamente en el LDR.
Además los leds deben ser de preferencia de alto brillo para así lograr mejor luminosidad sobre la superficie a sensar. También, notar que se debe ajustar las resistencias de los leds para cada uno, y lograr así ajustar la luminosidad igual para todos, ya que como sabemos cada led es fabricado con un material distinto y cada uno con su luminosidad.

La rutina del programa es bastante simple por lo que no la colocare aquí, pero consiste en primero encender un led y guardar el valor, y así con los tres, luego comparar los valores y el menor será el valor correspondiente a la superficie sensada.

13.7.09

Sensor Seguidor de Linea 2

Ahora perfeccionando el sensor de lineas que ya habia posteado antes en el blog (fue mi primera entrada), adquiri por aproximadamente $800 un sensor de reflectivo de rebote, especial para detectar cambios de colores en superficies a una distancia de app 1 mm. Es especial para nuestro proyecto, en el cual necesitamos seguir las lineas del escenario para llegar a nuestro destino.

El sensor

El sensor KTIR0811S (pueden ver el datasheet) es un sensor encapsulado muy pequeño el cual nos permitirá mucha presicion al momento de dejar de detectar la cinta coloreada en el suelo.
Está diseñado para detectar la variación de color blanco y negro sobre una superficie ubicada a una distancia de un milímetro del sensor. ( para mas detalles revisar diagramas del datasheet).



La conexión

Para la conexión ocuparemos un simple divisor de tensión entre una resistencia de 100k y el foto transistor. Además de no olvidar de colocar una resistencia de 220 en serie al diodo emisor para no estropearlo.
Además de realizar la placa ajustada al tamaño de la linea que queremos seguir, recuerda que los sensores deben quedar casi en la orilla por dentro de la linea.
Pronto agregaré imágenes del sensor ya terminado para guiar sus trabajos.

28.6.09

Trabajando con Solidwork 2009

Navegando en Internet.. como siempre.. encontré un programa que a mi gusto, es espectacular.. se trata de Solidwork 2009. Un programa de diseño 3D estilo Autocad pero con muchas mas funciones y utilidades que el modelado 3D de Autocad..
Utilizando el mismo tutorial que viene incorporado en el, podrás aprender fácilemente el manejo del programa. Cuenta con una interfaz muy amigable, la cual te ayudara paso a paso a lograr el objetivo final del proytecto.
Además cuenta con animación para simulacion de ensamblaje de piezas y mucho mas..

Este es un ejemplo del diseño de un servomotor en Solidwork 2009


Es una excelente herramienta para el diseño de protyectos, y así analizar colores materiales y forma final que tendrá nuestro producto.
La Forma de trabajo, es atravez de piezas. Con una opcion, creas cada una de las piezas en formatos distintos, y luego en otra opción comienzas a unirlas y darle la forma final al conjunto de piezas armadas
La idea ahora es comenzar a diseñar a MSP3 en solidwork y así tener una muy buen análisis del funcionamiento mecánico y de los materiales usados..
Creo que tardaré bastante ...

21.6.09

Programación Primeros Pasos

Ya que tenemos nuestro robot en marcha, solo basta seguir con la programación. Para esto utilizaremos Arduino, la placa de programacion libre con chip ATMEGA168
Para ello utilizaremos las 5 de las I/O para controlar los servos 2 par ruedas y 3 para el brazo robotico. Además utilizaremos una I/O para controlar el electroimán del brazo
Así.. programando y programando.. tenemos



Lo primero es programar para que las ruedas avancen hasta cierta posición, luego posicionar y calibrar el brazo robotico. Con ello ya tenemos los parámetros para programar una rutina en la que MSP3 debe tomar un contenedor desde el suelo, luego subirlo y moverlo a otro punto a una altura distinta a la inicial.

Pronto mas avances

7.5.09

Que es un electroimán?

Un electroimán es un bobinado recorrido por corriente eléctrica, por cuya razón forma un campo magnético; si dentro del bobinado hay un núcleo de hierro, ese campo magnético estará considerablemente reforzado.
La figura nos da la imagen más elemental y un poco burda de un electroimán, dispositivo que ha reemplazado en la mayoría de las aplicaciones a los imanes naturales y artificiales. Estos últimos, o sea los imanes comunes suministran campos magnéticos de densidad relativamente reducida, o cuando se los fabrica especialmente para tener campos de elevada intensidad, resultan costosos. Además, el campo magnético que suministran no es controlable puesto que dan una cierta cantidad de líneas de fuerza, y esa cantidad es fija, hasta que se va reduciendo por envejecimiento. Cuando se desea la posibilidad de graduar la intensidad del campo magnético, y también poderlo cortar o anular en cualquier momento, se construyen electroimanes, es decir núcleos de hierro con bobinados por los que pasan corrientes eléctricas.
Si en un electroimán se quiere variar la densidad magnética, podemos hacer aumentar o disminuir la intensidad de la corriente eléctrica que pasa por el bobinado. Si queremos que en un momento dado deje de haber campo magnético , basta cortar la corriente, o sea abrir el circuito de la pila que vemos claramente en la figura.

El electroiman que construiremos nosotros, sera de una forma sencilla, en la cual generaremos un campo de fuerza suficiente para levantar unos 250 gr app, en el que su núcleo y bobinado, tendrá la forma de la siguiente figura.
Éste, tendrá tres partes netamente definidas: la culata, la armadura y el bobinado. La armadura es la parte móvil a la que se enganchan los objeto que en este caso sera, la carga que deberá transportar nuestro robot, y la culata está asegurada al brazo mecánico que moverá el peso hacia y desde el robot. Arrimando una pieza a la otra y cerrando el circuito de la corriente, quedan fuertemente adheridas y el peso enganchado puede transportarse.

Hay dos clases principales de electroimanes industriales, y son los de forma herradura, también llamados de armadura móvil, y los de núcleo tragante. La siguiente figura nos muestra en forma sintética el tipo de armadura móvil y sus partes constituyentes. El bobinado se divide en dos partes iguales, que se colocan en los dos núcleos, conectando ambas mitades en serie entre sí, cuidando que el sentido de la corriente produzca campos magnéticos ascendente en una rama y descendente en la otra, para formar circuito magnético cerrado. Para comprobar esto, si se acerca una brújula al extremo inferior de cada núcleo, y se hace pasar corriente por las bobinas, en uno de ellos el norte de la misma debe desviarse en un sentido y en el otro en sentido contrario.

En todo electroimán hay un dato que es el más importante para las especificaciones de adquisición, y es la fuerza que debe realizar. Esta fuerza depende del campo magnético que se forma, el cual depende a su vez de la cantidad de espiras del bobinado y de la intensidad de la corriente eléctrica que lo recorrerá. Se acostumbra a multiplicar la cantidad de espiras por la intensidad tomada en Ampéres, y ese producto se llama ampervuelta (NI). Es lo mismo hacer un bobinado de muchas espiras y pocos ampéres circulando que uno de pocas espiras y muchos ampéres; lo que cuenta es el producto de ambas cosas. Otro detalle importante es la longitud a recorrer por el núcleo, pues es evidente que a distancias grandes la fuerza será menor y viceversa. Y finalmente, la superficie transversal del núcleo (S), tomada en centímetros cuadrados, es el tercer dato de importancia.

Con todos esos datos vamos a la ecuación, y allí vemos, para los que gustan de las fórmulas, una que les permitirá calcular la fuerza portante, dada en gramos de un electroimán del cual se conocen los datos antes citados. Como hay que asegurarse que circulen por la bobina los I ampéres que se necesitan, hay que especificar el valor de la tensión disponible en Volt para que nos entreguen el bobinado correcto. Es de hacer notar que en los electroimanes de corriente continua, la intensidad I de la corriente se puede calcular dividiendo la tensión de alimentación en Volt por la resistencia del bobinado en Ohm, pero en corriente alternada ese cálculo no es exacto.

Para entender como se forman las líneas de fuerza podemos verlo en el siguiente vídeo:

15.4.09

Brazo robotico con servos

La segunda parte en la construcción, es la fabricación del brazo robótico. La función, sera tomar objetos y cargarlos en el robot para trasladarlos a otro lugar.
La idea principal de las articulaciones, las obtuve navegando en Internet, y encontré bastante información en x-robotics.com, la cual explica bastante bien el funcionamiento de las articulaciones, las piezas necesarias, y el comportamiento de este.



Primero elegimos el material a utilizar. Mientras mas liviano, mejor, ya que necesitaremos servos de menor torque para mover las articulaciones. Es por esto que utilizamos platinas de aluminio, que se pueden encontrar e cualquier vidrieria a un precio muy conveniente.

En mi caso utilicé platinas de 9mm que son el ancho justo de los servos.

Los servos que utilizaremos, son : 2 Hitec HS-311 (propósito general) y 1 Hitec HS-475 HD (alto torque 5.5 Kg cm), los primeros para la rotación general del brazo y la articulación final, y el segundo para la articulación central, la cual sera la que mayor torque tendrá por efecto del peso y el largo del brazo.

Luego de tener los materiales, cortamos la platina al tamaño que necesitaremos (2 altos + largo + espacio para tornillos) como muestra la imagen. y perforamos en los lugares correspondientes. Doblamos y deberíamos tener el complemento del servo, el cual lo utilizaremos para generar el eje trasero al eje de giro del motor y así no forzarlo.

Así fabricamos la piezas necesarias para llegar a nuestro objetivo, uniendo cada una de esas partes, lograremos tener un brazo articulado con 3 servos.

Una vez que ya tenemos el brazo completamente armado en la estructura, instalamos el servo que dará el movimiento a la base del brazo. Este se instalara en la parte delantera del robot, para esto hacemos un calado en el acrílico y atornillamos el motor al robot, y conectamos la estructura a su eje.

Conectamos cada uno de los servos a arduino, y comenzar a programar los giros y movimientos que tendrá y necesitaremos para nuestro objetivos.

Una foto del avance del robot con el brazo instalado y las baterías puestas:






6.4.09

Armando el Chassis

Ya avanzando en el proceso de MSP3, vamos ahora con el chasis o carcasa o como quieran llamarle. Para ello utilizaremos acrílico transparente, de 5 mm.

Primero debemos cortar las piezas de acuerdo a como diseñemos nuestro robot y las necesidades que tenga, a que esta orientado y la distribución de los accesorios componentes (baterías, arduino, sensores, etc.) que necesitemos para el correcto funcionamiento.

Una vez diseñado comenzamos con el corte, utilizamos un cuchillo cartonero para marcar (unas 6 veces, mientras más, mejor) y para los cortes internos utilizamos una sierra caladora manual, dremel, etc.

En mi caso corto 2 piezas largas y en ellas los correspondientes calados para insertar los servo motores de giro en 360.
Además perforamos, para colocar las ruedas y los tornillos de los servo motores.

Una buena técnica para perforar en el acrílico, es marcar el punto con algún objeto afilado luego colocar el taladro, en mi caso dremel, en una buena velocidad y hacerlo de una manera rápida, para así no calentar el material y provocar trizaduras.

Así avanzamos y vamos arando cada una de las placas con las ruedas y motores. Debemos preocuparnos que la correa de la rueda quede muy tirante, o sin o provocaremos que la correa se salga en la rueda dentada de tracción.
En la imagen podemos ver una de las ruedas terminadas y conectadas a arduino. De estas debemos hacer una para cada lado

Una vez terminada esta parte de armado comienza el pegado de las piezas. Averiguando en tiendas de acrílicos y navegando por google llegue a que uno de los mejores pegamentos de acrílico es el "cloroformo". Para ello debemos mezclar un poco de polvo de acrílico (la viruta que queda después de cortar) y una parte de cloroformo, hasta lograr una pasta no muy espesa, la cual al utilizaremos como pegamento, cuidando que quede lo mas prolijo posible.

Así armando y pegando llegamos a la ultima imagen:


30.3.09

Fabricando el sensor de Lineas "LEGO"

Fabricar un sensor de líneas, suena algo complicado, pero su fabricación se limita a solo detectar por medio de emisiones de luz infraroja las variaciones del reflejo con el suelo.
Lo más complejo es lograr compactarlo en alguna carcaza pequeña que no ocupe el suficiente tamaño para estorbar dentro de nuestro robot. Para ello utilizaremos un clasico "LEGO". Quien no jugo alguna vez con uno de estos durante su niñez (algunos como yo, hasta bastante avanzada edad )

Los Materiales que utilizaremos para este sensor
son:
  • 1 LEGO de 8 puntas
  • 1 Filtro UV (lo saque de un control remoto viejo)
  • 2 fototransistores
  • 1 Led Infrarojo
  • Pegamento
  • 1 trozo de madera
  • Dremel
  • Resistencias y leds varios para verificar el funcionamiento
  • El infaltable Arduino
El detalle de los fototransistores y el Led emisor es que son planos, como los que traían los antiguos mouse. Fueron comprados en Olimex (Datasheet Fototransistor), (Datasheet Led Emisor) y se vende el par.


Bueno.. vamos a lo nuestro.


Primero, tomamos el lego y lo destrozamos por dentro con cualquier herramienta del Dremel, hasta dejarlo completamente hueco. Esta será la c
arcaza de nuestro sensor.

Ahora medimos la distancia del interior del lego y
marcamos la madera para asi introducirla en ella.
Una vez que la madera calza perfectamente al interior del lego, procedemos a medir la línea que queremos seguir. Generalmente se guía por una línea de cinta aislante (19 mm).

Para esto hacemos un calado en la madera como se ve en la imagen para calzar los 2 fototransistores con sus respectivos filtros UV, mas el Led emisor en el medio.
Calculamos el ancho de nuestra cinta, la dividimos en dos y colocamos el centro del led en el y luego a sus costados los fototransistores.

Una vez que nos calza todo dentro del Lego, si pasar el limite para que quede completamente liso por abajo, rellenamos todo con pegamento para que quede bien firme.
Además hacemos unos calados en el borde del lego, para sacar los pines al exterior.

Una vez terminado debería quedar algo mas o menos así:


Una vez terminado el sensor, podremos crear el software en Arduino. Para eso debemos conectar nuestro sensor de la forma que muestra la figura.
Conectamos las salidas de los divisores de tensión generados por la R10K y el foto transistor a las entradas analógicas de Arduino, yo utilizé en particular la entrada 0 y 1

Luego vamos con el código:
Es un código simple en el cual encenderá un led cuando detecte el color blanco, así saber si esta dentro de la línea negra o fuera de ella.
Con esto podremos controlar el giro de los motores y saber cual de ellos detener para que el robot vuelva a la línea que queremos seguir.

Comenzamos con las variables y luego leyendo las entradas analógicas. Calibramos y vemos con que valor de 0 a 1023 el sensor detecta la línea negra.
Con ese valor colocamos la condición para que se encienda un led en una de las salidas digitales.
El código queda así:
int pina = 0;
int pinb=1;
int A = 2;
int B = 4;
int vala=0;
int valb=0;
void setup(){
Serial.begin(19200);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);

}
void loop(){
vala = analogRead(pina);
valb = analogRead(pinb);
Serial.println(valb);
Serial.print(vala);

if(vala>450){
digitalWrite(A, LOW);
}
else{
digitalWrite(A, HIGH);
}
if(valb>450){
digitalWrite(B, LOW);
}
else{
digitalWrite(B, HIGH);
}
}
En este caso, mi sensor detecta la línea sobre el 450 por eso está configurado para encender los led al superar este valor.
Con esto tenemos listo nuestro sensor de líneas para llegar y montar en nuestro robot.