La estereolitografía apareció por primera vez en 1986, cuando Chuck Hull patentó éste método para realizar objetos sólidos mediante la impresión sucesiva de finas capas de un material fotosensible que es curado (solidificado) mediante su exposición a una luz ultravioleta.
Una luz ultravioleta incide sobre una pantalla despolarizada en la que aparece el objeto a imprimir en blanco y negro. La luz, pasará por la parte blanca, mientras que la parte negra impedirá su paso. La luz que consiga pasar, actuará sobre la resina fotosensible dispuesta sobre un recipiente, curándola. La primera capa curada, queda adherida a una base que sirve también de plataforma móvil. A continuación ésta plataforma asciende una distancia hasta que la capa se despega del fondo del recipiente. Al subir y despegarse, la resina vuelve a cubrir el fondo y la plataforma vuelve a bajar la misma distancia ascendida menos la altura de capa. De esta forma se va creando, capa a capa una pieza tridimensional. Una vez que la pieza tridimensional se ha completado, la plataforma asciende de nuevo para proceder a su retirada.
Existen otros métodos de impresión por adición de capas pero éste logra obtener una mayor calidad de definición en el objeto, además de reducir considerablemente el tiempo a la hora de imprimir varias piezas a la vez, ya que el tiempo es el mismo al imprimir un objeto que al imprimir varios, factor diferenciador con los demás tipos de impresión.
La finalidad del proyecto es sustituir el proyector por un foco de luz UV y fabricar unos sensores para la medición de luz UV y lumens. .
.
Este sensor detecta 280-390 nm luz. Este rango está categorizado como parte del espectro UVB (rayos que queman) y la mayoría del espectro UVA (rayos que broncean).
Se ha empezado por la creación de los sensores utilizando como tal, los integrados siguientes:
TSL2561
El circuito integrado TSL2561 es un sensor de luz sofisticado que tiene una respuesta plana en la mayor parte del espectro visible. El TSL2561 es capaz de la comunicación I2C directa y es capaz de llevar a cabo rangos de luz específicas de 0,1 – 40k + Lux fácilmente. Además, el TSL12561 contiene dos integrando de analógico a digital, convertidores (ADC) que integran las corrientes a partir de dos fotodiodos, simultáneamente, ect. .
.
SENSOR UV
Para este proyecto se necesitaba un valor concreto de luz UV para curar la resina. Después de empezar a investigar con los LED y lámparas nos dimos cuenta que era necesario hacer un sensor de luz UV, ya que sin esto no sabríamos si estábamos consiguiendo el valor requerido.
Investigamos en internet y la manera más fácil de hacer este sensor fue usando arduino y el ML5811.
A continuación se dará una explicación concreta sobre el sensor que hemos mencionado.
ML5811
El ML8511 es un sensor fácil de usar de luz ultravioleta. El sensor MP8511 UV (ultravioleta) funciona dando como salida una señal analógica en relación a la cantidad de luz UV que es detectada.
.
.
Para ello se ha hecho una PCB. Antes de iniciarse con la PCB se ha diseñado el circuido mediante los programas ARES ISIS y CircuitCAM.
.
.
.
.
Una vez comprobado el correcto funcionamiento de los sensores mediantes estos programas, se ha seguido con la fabricación de la PCB, el montaje de los componentes y se ha terminado por organizarlo bien en una caja para el buen mantenimiento de los sensores.
.
.
.
.
La caja del foco consta de estos planos que están creados por impresoras 3D.
.
.
.
Se ha continuado haciendo el foco de Luz UV y en el cual hemos seguido los mismos pasos que para el sensor, es decir, se ha empezado por los programas ISIS ARES y CircuitCAM.
.
.
.
.
Una vez hecha la comprobación del correcto funcionamiento se prosiguió al montaje. Se utilizaron resistencias para que no se fundiesen los led, se utilizó foylon para la dispersión de la luz UV y una lente fresnel para que los led no se focalizasen en unos puntos sino que la luz se dispersase.
.
.
1- Son los led UV que curan la resina.
2- Son resistencias que se utilizan para que los led no se fundan.
3- Interruptor ON/OFF que se utiliza como para apagar y encender el foco.
4- Lente fresnel que es para dispersar la luz UV y no quede focalizada en tan solo un punto.
5- Foylon que se utiliza también para que la luz UV de disperse y vaya en todas las direcciones gracias a la especie de rugosidad que tiene que hace que se disperse un 98%.
6- Cable que va a corriente.
Para este proyecto como se ha visto en la foto de arriba, también se he hecho uso de la impresora de Tumaker aunque esta vez debido a las dimensiones de la PCB se ha tenido que partir por la mitad las piezas por lo que los planos de a continuación han de imprimirse doble.
.
.
.
El resultado de todo el conjunto del proyecto es el siguiente:
.
.
Este proyecto como otro cualquiera también tiene unas conclusiones y unas líneas futuras que podrían ser estas:
Conclusiones
Al terminar el prototipo se ha pensado una serie de mejoras como:
Mejora de la rapidez de curado de la resina.
Posibilidad de utilizar la Tablet para la impresión 3D.
Abaratamiento de la impresora 3D
Líneas futuras
Aunque el objetivo principal de este proyecto haya sido crear un foco de luz ultravioleta y un medidor de luz UV y de lumens más llegar al máximo con la Tablet para bajar el coste de Eraikizpi, se le podría dar más opciones a la impresora 3D.
Integrar PC en la impresora.
Autoabastecimiento de resina.
Detector de fallos.
Videotutorial
.
Si quieres puedes descargar los archivos del proyecto en este enlace.
Actualmente las impresoras 3D se han convertido en una de las opciones de mayor uso a la hora de creación de piezas de materiales termoplásticos, incluso son consideradas por las empresas como un negocio viable.
Como resultado de un estudio realizado en el departamento de Mantenimiento Electrónico del centro de Formación Profesional Don Bosco, se ha visto la necesidad de dar a conocer ésta tecnología a personas con discapacidad visual, ofreciéndoles la posibilidad de imprimir braille e incluso figuras 3D. Por lo tanto, el grupo Braill3D decidió fusionar una página web PHP, una impresora 3D y una impresora normal de tinta.
.
.
En primer lugar el PHP es la aplicación encargada de traducir el texto que introducimos a través del teclado en Braille(PHP)
El texto introducido es recorrido caracter a caracter por la aplicación, traduciendo dichos caracteres en sus correspondientes 6 puntos de Braille.
.
.
Como se aprecia en la imagen, los 6 puntos de Braille están representados con unos y ceros. En las posiciones de carácter que hay uno, la impresora 3D imprimirá un punto.
La impresora 3D que utilizamos fue la Prusa I3 con estructura de madera, de la empresa Createc3D. Estas son muy fáciles de construir dado a la cantidad de información que hay en la red. Las máquinas están preparadas para poder imprimir piezas de plástico de muchos tipos(ABS,PLA,PET…) En este caso, sólo la utilizamos con PLA, porque es un material más pegajoso, necesita menos temperatura para ser extruido (190ºC) y no expulsa gases nocivos.
La impresora construida por el grupo Braill3D tiene como electrónica principal la placa Arduino Mega 2560 conectada con una Shield especializada en estas máquinas, por su amplitud de entradas y salidas. Esta placa recibe señales y alimenta partes de la impresora como,finales de carrera, los motores, el termistor…
.
.
.
Una de las cosas que se han modificado en la impresora 3D, ha sido el Hot-End. La razón ha sido el diámetro del agujero(Nozzle). En el anterior Hot-End, el Nozzle era de 0,4mm pero los puntos de Braille debían ser más finos, con lo cual se tuvo que poner uno de 0,3mm.
.
.
.
Por último, la impresora de tinta ha sido implementada mediante una placa diseñada, simulada y creada para así mecanizar la alimentación de papel. Para ello se han utilizado los programas de Proteus (Isis y Ares) y para fabricar la placa, utilizamos la fresadora LPKF.
.
.
El modo de alimentar con papel la impresora 3D, es un método mecánico, es decir, hemos colocado un botón al lado del final de carrera del eje Y, de tal manera cuando la impresora 3D recibiera la señal de ir al punto de partida (home) golpeará el botón de la placa realizada para la máquina de tinta, por lo tanto la impresora de tinta expulsa una hoja a la cama de la impresora preparándose para imprimir Braille.
En los últimos años el sistema de control de tiempos utilizado en los Rallyes es el sistema controlado mediante balizas. Estas tienen dos funciones diferentes, y por ellos se califican de diferente manera; balizas tontas y balizas inteligentes. Las primeras tienen la funcionalidad de enviar una señal infrarroja; y las segundas, recoger la señal transmitida por las primeras y retransmitirla por diferentes medios. .
.
None Stop se formó por gracias a la petición del RAC Vasco Navarro, ya que, actualmente el sistema utilizado es realmente caro y la tecnología es totalmente privada.
Prototipo Emisor
.
Prototipo Receptor
.
Una de las partes más fundamentales de este proyecto es la programación. En este caso se ha programado mediante Arduino, y la versión de placa utiliza es Arduino Uno, puesto que, se necesitaba una placa compatible con la GSM shield. .
GSM Shield
.
Este prototipo tiene dos funciones, por lo que, tiene dos programas. El programa del receptor realiza la función de enviar una señal infrarroja a una frecuencia de 38Hz. El programa del receptor en cambio, tiene diferentes funciones; la primera de ellas es recoger la señal enviada por el emisor; la segunda función que tiene, una vez recogida la señal, tiene que iniciar la cuenta del tiempo, esto es, iniciar el sistema de cronometraje partiendo de cero; y después, al recoger mas señales del emisor, tiene que mostrar los diferentes tiempos marcados por los diferentes pasos de las balizas, todo ello se enviará al operario de la carrera mediante SMS, gracias a la tecnología GSM.
Una vez concluida la programación era hora de diseñar la PCB. Para ello utilizamos tanto ISIS como ARES. Mediante ISIS se realizó el esquema principal para diseñar las dos PCBs, para después pasarlos a ARES y guardar el diseño antes de poder fresarlo. .
Esquema ISIS
.
Esquema ARES
,
Tras las realizaciones de los esquemas en ISIS y ARES se realizó la previa maquetación de la PCB en el programa CAD CAM, en este programa lo que se hizo fue marcar los agujeros para la placa y definir los bordes de la placa; tras realizar esto se fresó la placa en la fresadora LPKF.
Justificación del proyecto
Debido al gran impacto que se está dando en el mundo del automovilismo, concretamente en el mundo de los Rallyes; este proyecto tiene una buena previsión para el futuro, puesto que, seria una tecnología sencilla y libre.
Otro de los factores muy importantes y relevantes es el coste de los materiales para realizar estos prototipos; ya que, están al alcance de todos.
Descripción técnica
El objetivo principal es construir dos balizas y realizar las dos diferentes funciones; esto es, realizar la simulación de una competición automovilística para realizar la recogida de tiempos y la muestra mediante SMS.
Una vez conseguido estos objetivos, se pondrá en marcha la forma de intentar mejorar la tecnología.
Conclusiones y lineas futuras
Al proyecto se le pueden añadir diferentes diseños, puesto que los prototipos realizados hasta ahora son muy simples, ya que, se han realizado con metacrilato y un cubilete; se podría mejorar haciendo diferentes diseños para la impresora 3D…
Además, se podría mejorar mucho el rango de emisión de la señal infrarroja; consiguiendo mejores leds infrarrojos y mejorando la frecuencia de emisión.
Un robot es un dispositivo electrónico y generalmente mecánico capaz de desempeñar tareas automáticamente, ya sea por medio de supervisión humana directa, a través de un programa predefinido o siguiendo un conjunto de reglas generales establecidas. Hay una gran variedad de robots diseñados para diferentes tareas y sectores: brazos robóticos para el montaje de vehículos, robots de limpieza…
El “FolToy” nace de la idea de dos alumnos con la finalidad de crear un proyecto visual, que se moviese, que llamara la atención de la gente y que fuera algo demostrable. Foltoy tendrá controlado en todo momento al objeto o color identificado
.
.
.
El robot está construido con piezas de plástico, PLA o ABS. Nos decidimos por las piezas de plástico por la sencillez y facilidad que teníamos en Don Bosco de usar las impresoras 3D. Las piezas de plástico son ligeras y lo suficientemente rígidas para la estructura del FolToy. Las piezas de plástico están impresas en la impresora 3D “Witbox BQ” que está en el taller. La unión de todas las piezas esta echo atraves de tornillos.
.
.
La estructura de Foltoy se compone de ruedas para los servos y para la rueda trasera. Chasis superior e inferior para poder almacenar la batería y el transmisor de vídeo, y un soporte para acoplar la rueda trasera a la estructura. Todos los archivos serán descargables en formato .stl.
Los movimientos son posibles mediante los servos FUTABA S3003. Estos servos están limitados de giro a 180º y hemos tenido que modificarlos para que sean de giro continuo 360º. Los servos de por si tienen tres conexiones, alimentación (5V), masa y control pero nosotros solo hemos utilizado dos alimentación (5V) y masa.
.
.
.
Para las ruedas se colocó unas cubiertas de un coche teledirigido con la intención de que no se resbalase con el roce del suelo, sin esas cubiertas el movimiento del robot hubiese sido nula.
.
.
Para el proyecto se utilizó el ATMEGA 328P, extraído del Arduino UNO. Hemos escogido el Arduino UNO porque era suficiente para la comunicación de la cámara Pixy mediante conexión ICSP, y con el programa adecuado será suficiente para controlar los servos con salidas PWN.
.
.
Pixy es una cámara inteligente que le asignas un color u objeto y es capaz de identificarlo.
,
.
Transmisor de vídeo sirve para pasar la imagen grabada mediante una cámara. El transmisor esta conectado con la cámara mediante un cable. La visualización de la imagen puede hacerse en un smartphone, tablet o dispositivo que tenga el sistema operativo Android o IOS. Descargando la aplicación «WIFI AVIN» y conectando nuestro dispositivo al wifi del transmisor seremos capaz de visualizar lo que la cámara ve. La aplicación «WIFI AVIN» nos ofrece la posibilidad de grabar lo que ve la cámara o incluso sacar foto.
.
.
.
Mientras uno de los miembros del grupo iba montando el esqueleto del robot, el otro iba haciendo los esquemas en el ISIS y viendo el funcionamiento de este. El ISIS nos proporcionó una idea general de cómo iba a ser el proyecto de forma visual. .
.
Una vez tengamos el circuito completo con todos los componentes en el ISIS, volcaremos el programa al ARES. En el tenemos la posibilidad de seguir con la misma sesión pero para diseñar la PCB entera. Colocaremos los componentes dentro de un cuadro que limitará el tamaño de la placa, orientaremos los componentes de forma que queden accesibles como por ejemplo interruptor, pulsador o conector. Rutearemos las pistas automáticamente. Como el proyecto presentaba un número importante de componentes, el ruteado de las pistas tuvo que hacerse por las dos caras. Al completarse las pistas sin errores, y después de colocar en cada pin a soldar el pad deseado, este es el diseño de la placa que vamos a exportar.
.
.
Programa Arduino:
Cuando tengamos toda la electrónica montada y soldada, cargaremos el programa que se incluye en la carpeta ArchivosFoltoy.zip.
El programa que cargaremos está pensado para que la cámara Pixy envíe la señal al micro y salga la señal hacia los motores para que tenga en objetivo en todo momento el objeto identificado. Modificando el programa se pueden hacer algunos cambios, por ejemplo, distancia del objeto, velocidad de motores,…
Este es el programa de Foltoy:
//Pixy arduino robot
//Arduino IDE 1.0.6
#include <SPI.h> //Declarar conexion pixy con arduino
#include <Pixy.h> //Declarar la Pixy
Pixy pixy;
//Define un objeto y una zona para seguir el objeto.
int signature = 1;
int x = 0; //Posicion eje X
int y = 0; //Posicion eje Y
int width = 0; //Ancho del objeto
int height = 0; //Altura del objeto
int area = 0; //Define el area
int maxArea = 1000; //Área objeto max
int minArea = 800; //Área objeto min
int Xmin = 140; //Min posicion X
int Xmax = 180; //Max posicion X
int DerAlan = 2; //aPhase en Pin D2
int DerAtra = 3; //aEnable en Pin D3
int IzqAlan = 4; //bPhase en Pin D4
int IzqAtra = 5; //bEnable en Pin D5
//int Speed = 255; //Velocidad del motor
//Marcha alante
void forward(){
digitalWrite(DerAlan, HIGH);
digitalWrite(DerAtra, LOW);
digitalWrite(IzqAlan, HIGH);
digitalWrite(IzqAtra, LOW);
}
//Marcha atras
void backward(){
digitalWrite(DerAlan, LOW);
digitalWrite(DerAtra, HIGH);
digitalWrite(IzqAlan, LOW);
digitalWrite(IzqAtra, HIGH);
}
//Girar derecha
void turnRight(){
digitalWrite(DerAlan, LOW);
digitalWrite(DerAtra, LOW);
digitalWrite(IzqAlan, HIGH);
digitalWrite(IzqAtra, LOW);
}
//Girar izquierda
void turnLeft(){
digitalWrite(DerAlan, HIGH);
digitalWrite(DerAtra, LOW);
digitalWrite(IzqAlan, LOW);
digitalWrite(IzqAtra, LOW);
}
//Parar
void brake(){
digitalWrite(IzqAlan, LOW);
digitalWrite(IzqAtra, LOW);
}
void setup()
{
//D2 – D5 declarar como salidas
pinMode(DerAlan, OUTPUT);
pinMode(IzqAlan, OUTPUT);
pinMode(DerAtra, OUTPUT);
pinMode(IzqAtra, OUTPUT);
brake();
Serial.begin(9600);
Serial.print(«Starting…\n»);
pixy.init();
//Test de inicializacion
forward();
delay(1000);
brake();
backward();
delay(1000);
brake();
turnLeft();
delay(1000);
brake();
turnRight();
delay(1000);
brake();
delay(1000);
//Finalizar test de inicializacion
}
//infinity loop
void loop()
{
static int i = 0;
uint16_t blocks;
blocks = pixy.getBlocks(); //Recibir datos de la camara pixy
signature = pixy.blocks[i].signature; //Obtener firma del objeto identificado
x = pixy.blocks[i].x; //Obtener la posicion X
y = pixy.blocks[i].y; //Obtener la posicion Y
width = pixy.blocks[i].width; //Obtener el ancho
height = pixy.blocks[i].height; //Obtener la altura
//looking for signature 1
if(signature == 1){
area = width * height; //Calcular el area del objeto
//Girar izquierdas si X < posicion Xmax
if (x < Xmin){
turnLeft();
}
//Girar derecha si posicion X > posicion Xmax
else if (x > Xmax){
turnRight();
}
//Marcha alante si el objeto es muy pequeño
else if(area < minArea){
forward();
}
//Marcha atras si el objeto es muy grande
else if(area > maxArea){
backward();
}
//Sino parar
else if(area > minArea && area < maxArea && x > Xmin && x < Xmax){
“Osabot” es un robot entrenador creado para mejorar el estilo de vida de las personas de tercera edad. Los usuarios del robot deberán imitar los ejercicios que hace el robot, a modo de un entrenador personal o fisioterapeuta, pero con la diferencia de no tener horarios fijos y poder decidir los diferentes tipos de ejercicios que realizaremos.
.
.
En el siguiente vídeo podéis ver el vídeo promocional del robot:
.
El robot está construido principalmente por piezas de plástico, ABS y PLA, las cuales las hemos realizado en impresoras 3D. Nos decantamos por esta opción, ya que nos proporciona un equilibrio perfecto entre peso y dureza y es más económico que usar otro tipo de material.
.
.
En cuanto a las uniones, las cuales hacen referencia a las articulaciones humanas, las desempeñan unos servomotores FUTABA s3003. Estos servos únicamente tienen tres conexiones, alimentación (5v) , masa y control. Como se puede apreciar en la siguiente imagen, las uniones entre motor y plástico están hechas con tornillos.
.
on la intención de darle más estabilidad y mejor manejo, le pegamos una base de madera a la superficie la cual hacía contacto con la mesa. Con esto logramos mejorar el tambaleo que tenía el robot a la hora de hacer ejercicios.
.
Mientras uno de los componentes del equipo iba montando el esqueleto del robot, el otro iba haciendo los esquemas en Isis y viendo el funcionamiento de este. El Isis nos proporcionó una idea general de cómo iba a ser el proyecto de una forma virtual.
.
.
Para el proyecto se ha utilizado el Arduino mega 2560, principalmente por las salidas PWM de las cuales dispone. El robot está formado por 10 motores,y esta placa nos los admitía. Ya que con el arduino UNO que habíamos pensado en un principio no tenía tantas salidas PWM para todos los motores.
.
Una vez teníamos la placa decidimos crear un escudo «shield» para el Mega, para tratar de manipular lo menos posible la placa de aprendizaje. Intentamos buscar esa Shield por internet pero no dimos con ella, por lo que en Ares nos dispusimos a diseñarla.
Como se ve en la siguiente imagen esta el archivo del diseño en Ares:
.
Una vez que la parte física del robot estaba hecha, nos dispusimos a hacer la parte lógica del proyecto, la aplicación la cual hace de controladora, y el código para los motores.
La tecnología principal de este proyecto es el Bluetooth. Nos decantamos por el bluetooth puesto que necesitábamos algo que no llevase cables y fuese inalámbrico, otro de los factores claves del bluetooth es su simplicidad y la facilidad que Internet ofrece a esta tecnología.
El robot se controla con un móvil android mediante un módulo Bluetooth y con un programa creado y diseñado con la aplicación App inventor. El App inventor es una plataforma online para preparar programas, se programa mediante una forma visual y no en código.
.
Una vez creado el programa App inventor se procederá a su descarga, se nos bajará un archivo .apk y lo pasaremos al dispositivo Android, únicamente solo con que ejecutemos ese apk se nos instala. Esta sera la aplicación que nos aparecerá en nuestro móvil:
.
En el siguiente vídeo podéis ver el funcionamiento del robot de una forma explicada:
Para descargar los archivos necesarios para replicar el proyecto pincha aquí.