Prototipo de Impresora 3D FDM
Prototipo de Impresora 3D FDM
UNIVERSIDAD DE NARIÑO
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SAN JUAN DE PASTO
2012
1
DISEÑO E IMPLEMENTACIÓN DEL PROTOTIPO DE UNA IMPRESORA
TRIDIMENSIONAL PARA LA FABRICACIÓN DE ELEMENTOS PLÁSTICOS
UTILIZANDO LA TÉCNICA DEPOSICIÓN DE HILO FUNDIDO
Director
Ing. ROLANDO BARAHONA CABRERA
UNIVERSIDAD DE NARIÑO
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SAN JUAN DE PASTO
2012
2
“LAS IDEAS Y CONCLUSIONES APORTADAS EN EL TRABAJO DE GRADO,
SON DE RESPONSABILIDAD EXCLUSIVA DE AUTOR”
3
Nota de aceptación:
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
Presidente
______________________________
Jurado
______________________________
Jurado
4
DEDICATORIA
Este trabajo está dedicado en primer lugar a Dios, quien me ha dado la fuerza
para seguir adelante en los momentos difíciles. Especialmente a mi madre Flor
Alba que me ha apoyado en todos mis proyectos y ha tenido mucha paciencia,
gracias por su ayuda y por acogerme en su hogar y por ser una persona quien ha
brindado el mejor ejemplo a la hora de formar a un hijo. A mi Tía Blanca Ermila
que aunque ya no esté físicamente conmigo siempre la llevo en mi corazón,
gracias por sus consejos y momentos que perduraran para toda la vida. A mi
familia y amigos por su apoyo y palabras de aliento.
5
RESUMEN
6
ABSTRACT
7
CONTENIDO
Pág
INTRODUCCIÓN 14
1. ASPECTOS PRELIMINARES 16
1.1 PLANTEAMIENTO DE PROBLEMA 16
1.2 FORMULACIÓN DEL PROBLEMA 16
1.3 ALCANCE Y DELIMITACIONES 17
2. OBJETIVOS 19
2.1 OBJETIVO GENERAL 19
2.2 OBJETIVOS ESPECÍFICOS 19
3. MARCO REFERENCIAL 20
3.1 MARCO CONCEPTUAL 20
3.1.1 Impresora Tridimensional 20
3.1.2 Prototipado Rápido 20
3.1.3 Deposición de hilo fundido (FDM) 20
3.1.4 Control Numérico Por Computador 22
3.1.5 Archivo STL 23
3.1.6 Problemas De Los Archivos STL 24
3.1.7 Programa De Diseño CAD 3D (Blender) 24
3.1.8 Plástico ABS 25
3.1.9 Lenguaje De Programación 27
3.1.10 Dibujo de Líneas 27
3.1.11 Discretización de Líneas 28
3.1.12 Sistemas de Coordenadas de Referencia 29
3.1.13 Algoritmo De Trazo De Líneas 29
3.1.14 Áreas de Relleno 32
3.1.15 Algoritmos de Relleno 32
3.1.16 Microcontrolador 36
3.1.17 Correas de Sincronización 37
3.1.18 Motor Paso a Paso 38
3.1.19 Piñón 38
3.2 MARCO LEGAL 39
4. SISTEMA DE CONTROL DE MOVIMIENTO 40
4.1 INTERFAZ USB 40
4.1.1 Métodos de iniciación de varios 41
4.1.2 Métodos generales 41
4.1.3 Métodos rápidos 41
4.2 CONTROL MAESTRO 41
4.3 CIRCUITO DE POTENCIA CONTROL DE MOTORES PAP 42
4.4 MOTORES PASA A PASO 42
4.5 ELEMENTOS DE SENSADO 43
4.6 DIAGRAMA DE CIRCUITO ELECTRICO 43
8
4.7 LISTA DE COMPONENTES 45
5. GENERALIDADES DEL SISTEMA 46
5.1 PIEZAS COMPONENTES DE LA ESTRUCTURA 46
5.2 PROCESO DE ARMADO 50
5.3 MOVIMIENTO EN LA MÁQUINA 54
5.4 TRANSMISIÓN DE MOVIMIENTO 55
5.4.1 Correas 55
5.4.2 Piñones 56
5.5 DESPLAZAMIENTO EN LOS EJES 56
5.6 EL EXTRUSOR 57
5.6.1 Resolución del Extrusor 58
5.6.2 Potencia del Calefactor 60
5.6.3 Sistema de Control de Temperatura de Calefactor 61
5.6.4 Diagrama del circuito de control de Temperatura 63
5.6.5 Lista de componentes de circuito de control de temperatura 64
5.7 FUENTE DE ALIMENTACIÓN 65
5.8 REQUERIMIENTOS DE SOFTWARE 66
5.9 RECURSOS MATERIALES 66
6. INFORMACIÓN DEL OBJETO 67
6.1 CAPTURA DE INFORMACIÓN JAVA 69
6.2 OBTENCIÓN DE LÍNEAS 70
6.3 PRIORIDAD DE MOVIMIENTO EN LOS EJES 71
6.4 GENERACIÓN DE PUNTOS DE LINEA 74
7 DESPLAZAMIENTO SOBRE EJES 75
7.1 DESPLAZAMIENTOS CON PRIORIDAD EN X 75
7.1.1 Cuadrante I 75
7.1.2 Cuadrante IV 77
7.2 DESPLAZAMIENTO CON PRIORIDAD DE Y 78
7.2.1 Cuadrante I 78
7.2.2 Cuadrante II 80
7.3 DESPLAZAMIENTO CON OTRAS PRIORIDADES 81
7.4 GENERACIÓN DE RUTAS 83
7.4.1 Ruta Externa 83
7.4.2 Rutas Internas 86
7.5 RELLENO 88
7.5.1 Calculo de Líneas de Relleno 92
7.5.2 Relleno Paralelo a Eje X 93
7.5.3 Relleno Paralelo a Eje Y 95
7.5.4 Líneas Perpendiculares de Relleno 96
7.5.5 Relleno para Diseños que presentan Huecos 98
7.6 ORGANIZACIÓN DE LÍNEAS 99
7.7 ENVIÓ DE INFORMACIÓN PARA DESPLAZAMIENTO 100
8. INTERFACE DE USUARIO DEL PROGRAMA 101
9. VALIDACIÓN DE RESULTADOS 104
9
9.1 CUBO 104
9.1.1 Forma y medidas 104
9.1.2 Cálculo de error 105
9.2 CILINDRO 107
9.2.1 Forma y medidas 107
9.2.2 Cálculo de error 107
9.3 TIEMPO DE FABRICACIÓN 108
10. CONCLUSIONES 109
11. RECOMENDACIONES 111
BIBLIOGRAFÍA 112
ANEXOS 115
10
LISTA DE FIGURAS
Pág
Figura 1. Esquema de Deposición de Hilo Fundido 21
Figura 2. Pantallazo de inicio de BLENDER 25
Figura 3. Rollo de ABS 27
Figura 4. Relación de pixeles con una línea 28
Figura 5. Distancia de Separación Bresenham 30
Figura 6. Opciones de Relleno 33
Figura 7. Relleno por Inundación 33
Figura 8. Línea de Barrido con cruces de polígono 34
Figura 9. Intersecciones con vértices 34
Figura 10. Número de puntos de Intersección 35
Figura 11. Incrementos en los ejes 35
Figura 12. Correa de sincronización XL 38
Figura 13. Diagrama de bloques del sistema de control 40
Figura 14. Diagrama de circuito electrónico 43
Figura 15. Soporte de vértices 46
Figura 16. Soporte de parte móvil en eje Y 47
Figura 17. Base sobre la que se construye el Objeto 47
Figura 18. Soporte lateral superior e inferior 48
Figura 19. Soporte de motores 48
Figura 20. Soporte de eje X 49
Figura 21. Base de Extrusor 50
Figura 22. Base Inferior Armada 51
Figura 23. Soportes Inferiores Paralelos a X 51
Figura 24. Piezas de Soporte de Base 51
Figura 25. Base sobre Varilla lisa. 52
Figura 26. Trasmisión de movimiento en eje Z 52
Figura 27. Soportes para movimiento en X 53
Figura 28. Base superior 53
Figura 29. Impresora Armada 54
Figura 30. El extrusor 58
Figura 31. Etapa de amplificación de voltaje de Termocupla 62
Figura 32. Diagrama de circuito de control 63
Figura 33. Información de un cubo a materializar 67
Figura 34. Triangulo con coordenadas 69
Figura 35. Movimiento en los cuadrantes 72
Figura 36. Trazo de líneas 72
Figura 37. Prioridad en X – Cuadrante I 75
Figura 38. Prioridad en X – Cuadrante IV 77
Figura 39. Prioridad Y – Cuadrante I 78
Figura 40. Prioridad Y – Cuadrante II 80
11
Figura 41. Prioridades negativas y sus cuadrantes 81
Figura 42. Líneas en la parte inferior de un cubo 84
Figura 43. Líneas de la ruta Externa de un Cubo 84
Figura 44. Líneas externas de capas 86
Figura 45. Objeto con Espacios vacios 87
Figura 46. Línea de escaneo sobre dos aristas 88
Figura 47. Área de relleno 89
Figura 48. Puntos de una línea de Relleno 89
Figura 49. Lineas de relleno en una capa 90
Figura 50. Relleno de Objetos con espacios vacios 91
Figura 51. Puntos Inicial y Final de Líneas de Relleno 92
Figura 52. Espacios entre puntos y líneas Externas e Internas 92
Figura 53. Coordenadas de la línea de Relleno paralela a X 94
Figura 54. Líneas de relleno paralelas al eje X 94
Figura 55. Coordenadas de la línea de Relleno paralela a Y 96
Figura 56. Líneas de relleno paralelas al eje Y 96
Figura 57. Líneas perpendiculares 97
Figura 58. Relleno para Diseños Huecos 98
Figura 59. Relleno de varias capas 98
Figura 60. Rutas con líneas desordenadas 99
Figura 61. Ruta con líneas ordenadas 99
Figura 62. Interface de usuario 101
Figura 63. Cargar archivo 101
Figura 64. Análisis de la Información 102
Figura 65. Mensaje de terminación de análisis 102
Figura 66. Opciones de Manejo 103
Figura 67. Diseño de cubo vs Objeto fabricado 104
Figura 68. Diseño de cilindro vs Objeto fabricado 107
12
LISTA DE TABLAS
Pág
Tabla1. Características de las técnicas de Prototipado Rápido 22
Tabla 2. Propiedades del ABS 26
Tabla 3. Pasos de las Correas de Sincronización 37
Tabla 4. Pines del microcontrolador 42
Tabla 5. Características de motores PAP 42
Tabla 6. Componentes Circuito Maestro 45
Tabla 7. Componentes Driver para un motor 45
Tabla 8. Anchos de correas XL 55
Tabla 9. Distancia por paso en los ejes 57
Tabla 10. Componentes Circuito Maestro Control Temperatura 65
Tabla 11. Componentes Circuito de Potencia 65
Tabla 12. Recursos materiales del Proyecto 66
Tabla 13. Selección de cuadrante para el Movimiento 73
Tabla 14. Prioridad en Movimiento 73
Tabla 15. Ecuaciones de Distancia en los ejes 82
Tabla 16. Distancia de Referencia 83
Tabla 17. Dimensión de los espacios 105
Tabla 18. Error en el eje X 105
Tabla 19. Error en el eje Y 106
Tabla 20. Error en el eje Z 106
Tabla 21. Error en el radio del cilindro 107
Tabla 22. Tiempo de fabricación 108
13
LISTA DE ANEXOS
Pág
Anexo A. Problemas de Diseño de un Objeto 115
Anexo B. Pasos para la construcción de un objeto con la impresora 118
14
.INTRODUCCIÓN
15
Luego se detallan los aspectos teóricos sobre los cuales está regido el proyecto,
tales como trazos de línea en donde se definen las pautas para desarrollar el
algoritmo que se usa en la generación de pasos en los motores, es fundamental
tener muy claro los conceptos de línea y las formulas sobre las que se
fundamenta. También se define en qué consiste el Prototipado Rápido, las
diferentes técnicas que existen, el material utilizado para la construcción de los
objetos y el programa de diseño CAD 3D.
16
1. ASPECTOS PRELIMINARES
1.2 FORMULACIÓN
17
1.3 ALCANCE Y DELIMITACIONES
El prototipo utiliza una interface en JAVA que a su vez hace uso de un archivo
STL generado por un programa CAD 3D donde se diseña el elemento. El software
en JAVA convierte la información del archivo STL en señales que posteriormente
llegan a un circuito de control en el cual se utiliza un microcontrolador PIC que
permite realizar una comunicación USB, el circuito de control se encarga del
manejo de los motores y por tanto de los desplazamientos de las partes móviles
de la máquina.
El sistema está diseñado para obtener objetos tridimensionales con las siguientes
restricciones.
El diseño del objeto en el programa CAD debe ser apropiado (no contener
dobles caras, huecos, dobles líneas), este es un punto muy importante a tener en
cuenta ya que el análisis se lo realiza basado en coordenadas de puntos, y al
encontrar estas inconsistencias los resultados finales pueden no ser los deseados.
18
Objetos no mayores a 5 cm por lado, en sus tres ejes
Objetos no menores a 0.5 cm de lado, en sus tres ejes
19
2. OBJETIVOS
Elaborar una estructura física que tenga movimiento en las tres dimensiones y
permita la utilización de la técnica deposición de hilo fundido para la
construcción de elementos plásticos.
20
3. MARCO REFERENCIAL
Dentro de este Marco se encuentran los aspectos teóricos sobre los cuales se
fundamenta el proyecto, se tratan también las características funcionales de el
material utilizado para la construcción de piezas y otros temas relacionados con la
automatización.
1
DIGITA2 TECNOLOGÍA & COMUNICACIONES. Prototipado rápido Modelos físicos y tridimensionales. [en línea].
[Link] [Citado el 11 de Agosto de 2011].
21
• Rollo de termoplástico”2.
2
SÁNCHEZ JIMÉNEZ, Javier; FERNÁNDEZ DE LA PUENTE, Arturo; LLORENTE GENIZ, Julián. Técnicas de prototipado Rápido
En: XVI CONGRESO INTERNACIONAL DE INGENIERÍA GRÁFICA. Universidad de Sevilla España, p. 6
22
desventajas, precios aproximados de las máquinas, materiales utilizados en la
fabricación, etc
3.1.4 Control Numérico Por Computador. Este sistema se usa para el control de
máquinas – herramienta mediante una serie de comandos, “permite controlar en
todo momento la posición de un elemento físico, normalmente una herramienta
que está montada en una máquina. Esto quiere decir que mediante un software y
23
un conjunto de órdenes, controlaremos las coordenadas de posición de un punto
(la herramienta) respecto a un origen (0,0,0 de máquina), o sea, una especie de
GPS pero aplicado a la mecanización, y muchísimo más preciso”3.
3.1.5 Archivo STL. Los sistemas de prototipado rápido surgen con el proceso de
Estereolitografía de 3D Systems y “Los archivos STL (o esterolitos) provienen del
formato que leían estas primeras máquinas. Actualmente es el tipo de archivo
estándar utilizado por todos los sistemas de prototipado rápido. De hecho es un
archivo frecuente de conversión intermedia entre los distintos programas CAD. Los
archivos STL pueden crearse a partir de dos clases de datos: Nube de puntos o
Modelo CAD (superficies o sólidos)”4.
Además se tiene que un archivo STL, “es una aproximación mediante mallas
poliédricas, a la geometría de una superficie 3D. La superficie es facetada en una
serie de pequeños triángulos (faceta o cara). Cada faceta viene determinada por
una dirección perpendicular (la normal) y los tres vértices del triangulo”5.
3
COSMOCAX. Que es el cnc. [en línea]. [Link]
computadora-el-cnc/. [Citado el 15 de Octubre de 2011]
4
INSTITUTO NACIONAL DE TECNOLOGÍA INDUSTRIAL. Taller de soluciones. [En línea]
[Link] [Citado el 23 de Octubre de 2011]
5
PLAN DE CONSOLIDACIÓN Y COMPETITIVIDAD DE LA PYME. Requisitos de uso de tecnologías de fabricación rápida en el
sector de plástico. [en línea]. [Link]
fabricaci%C3%B3n-r%C3%[Link] [Citado el 14 de septiembre de 201]. p.4.
24
Para que un objeto representado mediante un archivo .STL sea posible modelarlo,
es necesario que los triángulos que lo conforman encajen perfectamente entre
ellos, sin dejar espacios vacios o conocidos como (huecos), ya que el software de
análisis no va a entender esta información y se ocasionaran áreas en las cuales
no se va a realizar la deposición de material ya sea sobre los límites o sobre el
relleno del objeto.
6 CADDY [Link] formato del fichero stl. [en línea]. [Link] [citado el 21 de julio]
25
Technologies" (NaN) en junio de 1998 para desarrollar y distribuir el programa. En
1988, Ton Roosendaalco fundó el estudio de animación Holandés NeoGeo.
NeoGeo rápidamente se convirtió en el estudio más grande de animación 3D en
Holanda y en una de las más destacadas casas de animación en Europa”7.
Este programa permite crear diseños diversos tanto en 2D como en 3D, posee
funcionalidades importantes en el proceso de modelado que es la parte a tener en
cuenta en este trabajo, además posee funcionalidades de textura, animación y
video pos-procesado. Blender es una de las aplicaciones gráficas en 3D de fuente
abierta más populares alrededor del mundo, es compatible con Windows, Linux,
Mac OS X, entre otros, por lo que es muy atractivo para los usuarios. Permite
exportar archivos STL en formato ASCII, información necesaria para lograr los
objetivos planteados.
3.1.8 Plástico ABS. Existen numerosos plásticos los cuales poseen propiedades
que permiten que sean utilizados en procesos de extrusión, dentro del marco del
7
WIKIPEDIA. Blender. [en línea]. [Link] [Citado el 21 de octubre de 2011]
26
presente trabajo se utiliza el plástico “Acrilonitrilo Butadieno Estireno” o (ABS). Es
un termoplástico de ingeniería, el cual ofrece alta resistencia a impacto mecánico.
Dadas las propiedades que posee se le puede realizar procesos de lijado, y
fácilmente se puede recubrir con capas metálicas o de pintura, aspectos que
pueden ser de uso frecuente en la obtención de objetos en la impresora 3D y
especialmente para darle un determinado acabado a las piezas obtenidas.
Sobre el plástico ABS se conoce que “es una mezcla de un copolímero vítreo
(estireno- acrilonitrilo) y un compuesto elástico principalmente el polímero de
butadieno”8.
8
TECNOLOGÍA DE LOS PLÁSTICOS. abs. [En línea]. [Link]
[Citado el 10 de octubre de 2011]
27
Figura 3. Rollo de ABS
3.1.9 Lenguaje De Programación. Entre otras se puede definir como, “un lenguaje
que puede ser utilizado para controlar el comportamiento de una máquina,
particularmente una computadora. Consiste en un conjunto de reglas sintácticas y
semánticas que definen su estructura y el significado de sus elementos,
respectivamente”9.
3.1.10 Dibujo de Líneas. El dibujo de líneas resulta crucial para el desarrollo del
proyecto, para una ubicación dentro del contexto se tiene que “Un segmento de
línea recta dentro de una escena está definido por las coordenadas de los dos
extremos del segmento. Para mostrar la línea en un monitor digital, el sistema
gráfico debe primero proyectar las coordenadas de los extremos para obtener
coordenadas de pantalla de valor entero y determinar las posiciones de píxel más
próximas a lo largo de la línea que conecta los dos extremos”10.
9
SAAVEDRA, JORGE. Lenguajes de programación. [En línea].
[Link] [Citado el 16 de julio de 2011]
10
DONALD HKARN; M. PAULINE BAKF.R. Gráficos por computadora con opengl, Madrid: Pearson Educación S.A. 2006.
p. 92.
28
(1)
Con esta ecuación se puede seguir una ruta que va desde el punto ( ) hasta el
punto ( ), de esta forma el algoritmo varia x desde un punto inicial con
coordenada hasta un punto final con coordenada en incrementos de una
unidad.
Una vez se tiene establecido los diferentes puntos con sus respectivas
coordenadas es necesario que las primitivas (gráficas matemáticas), se aproximen
en términos del plano cartesiano. Para este proceso existen varios algoritmos los
cuales obtienen pixeles de diferentes colores. En el caso de la impresión en 3D
estos algoritmos se usaran como base para la generación de pasos en el plano.
Cuando se hace el cálculo de las coordenadas de los puntos que están entre los
extremos, se obtienen valores que no son enteros por lo cual se requiere de este
tipo de consideraciones, así puede ser posible la representación de una línea en
una matriz de pixeles o como para el caso del prototipado en el cual se necesita
un desplazamiento de una herramienta física es necesario la generación de pasos
para seguir una ruta o una línea determinada.
3.1.12 Sistemas de Coordenadas de Referencia. Para determinas la posición de
un punto en un espacio (2D o 3D) y más aun “para describir una imagen, primero
11
VIDAL VALENZUELA, Javier. Algoritmos gráficos en 2 dimensiones [En línea]
[Link] taller de computación gráfica.[Citado el 29 de
noviembre de 2011]. p.1.
29
es necesario seleccionar un sistema de coordenadas cartesianas adecuado,
denominado sistema de coordenadas de referencia del mundo. Después se
describen los objetos de la imagen proporcionando sus especificaciones
geométricas en términos de la posición dentro de las coordenadas del mundo”12.
3.1.13 Algoritmo De Trazo De Líneas. Para adecuar las traslaciones en los ejes de
la máquina y lograr la construcción de objetos, se tomo como base el algoritmo de
Bresenham para desarrollar el software que controla la generación de pasos para
seguir líneas y poder trazar las diferentes rutas que componen los objetos.
Este algoritmo utiliza sólo cálculos enteros para determinar los incrementos.
Además, el algoritmo de Bresenham para dibujo de líneas puede adaptarse para
dibujar círculos y otras líneas.
12
DONALD HKARN; M. PAULINE [Link]áficos por computadora con opengl, Madrid: Pearson Educación S.A.
2006. p. 86.
30
Analizando el muestreo en la posición designamos la separación de pixeles
verticales de la trayectoria de la línea matemática como d1 y d2. Tal como se
muestra en la figura 5.
31
Si d1 <d2 se tiene que ( ) está más cerca de la trayectoria de la línea que ( ),
entonces es negativo. En ese caso, se traza el pixel inferior; de otro modo, se
traza el pixel superior.
b = - m
m = ∆y / ∆x.
= 2 ∆y - ∆x
A pesar de que en el ejemplo anterior se trata solamente rectas con pendientes
positivas (0 <m < 1), el algoritmo de Bresenham puede ser utilizado para líneas
con una pendiente arbitraria al considerar la simetría entre los diversos octantes y
cuadrantes del plano xy.
32
Para una línea con una pendiente m > 1, intercambiamos las funciones de las
direcciones de x y y, o sea, se tabula a lo largo de y en pasos unitarios y se calcula
los valores sucesivos de x que se aproximan mas a la trayectoria de la línea.
Como se puede observar este algoritmo usa aritmética entera por lo cual puede
ser de gran utilidad en la generación de pasos que controlan los movimientos en
los ejes de la máquina herramienta que se trata en este proyecto.
3.1.15 Algoritmos de Relleno. Una vez se tiene establecida un área cerrada cuyos
límites están determinados por líneas primitivas, el siguiente paso es rellenar dicha
área ya sea con un color determinado para el caso de matrices de pixeles o con
material para el caso del prototipado rápido. Este tipo de algoritmos sirven de base
para la realización del software de relleno que para el caso de la impresión 3D
hace referencia a la ubicación de diferentes puntos dentro de un área en la cual
debe ser depositado plástico.
13
DONALD HKARN; M. PAULINE [Link]áficos por computadora con opengl, Madrid: Pearson Educación S.A.
2006. p.128.
33
Figura 6. Opciones de Relleno. a) Cuatro vecinos, b) Ocho vecinos
a) b)
Relleno scan-line. Fila a fila se traza líneas entre dos puntos que definen el
área, por lo tanto el primer paso es determinar las intersecciones. Cada vez que la
línea de escaneado cruce un polígono se encuentra un punto de intersección. Una
vez identificadas la intersecciones éstas se ordenan y se rellenan en [Link] área
más simple para rellenar es un polígono, ya que cada punto de intersección de la
línea con el límite del polígono se obtiene mediante la resolución de un sistema de
dos ecuaciones lineales, donde la ecuación de la línea de barrido es una
constante.
Figura 8. Línea de Barrido con cruces de polígono
34
Según la figura 8, el área a rellenar está comprendida por dos rangos
determinados por ( a ) y ( a ) sobre el mismo valor en el eje (y).
Sin embargo, este algoritmo de relleno presenta problemas cada vez que una
línea de barrido pasa a través de un vértice, esto puede producir un número impar
de intersecciones con la frontera para una línea de barrido, lo cual no permite
identificar de manera correcta los rangos a rellenar. Este es el primer
inconveniente que el algoritmo debe superar. En la figura 9 se muestra esta
situación.
Una solución es contar estos vértices como una sola intersección, en ocasiones
esto funciona pero en otras no, analizando la gráfica 9, se puede ver que en el
caso de la línea de rastreo (inferior) el problema desaparece, pero en la línea
de rastreo el error persiste.
35
Por ejemplo en las dos aristas que comparte el vértice de intersección están en
lados opuestos a la línea de barrido, pero en el caso de la línea las dos aristas
de intersección están sobre la línea de barrido. De esta manera se puede
determinar que, un vértice que tiene aristas contiguas en lados opuestos de una
línea de barrido de intersección se debe contar como un único punto de
intersección con la frontera ( ).
m=( - )/ ( - ) (9)
- =1 (10)
36
El valor de la intersección de en la línea de rastreo superior puede
determinarse a partir del valor de la Intersección de X en la línea de rastreo
anterior como sigue,
m = ( - ) / ( - ) (12)
m = ∆y/∆x (13)
= + ∆x / ∆y (14)
14
TORRES TORRITI, Miguel. Tutorial Microcontroladores pic inicialización rápida. [En línea]
[Link] [Citado el 2 de Octubre de 2011]. p.3.
37
del PIC, por medio de estas instrucciones es posible realizar operaciones tales
como suma, resta, multiplicación, comparaciones, saltos, etc [3]
Donde,
38
Figura 12. Correa de sincronización XL
Los dientes de los piñones que se utilizan deben coincidir perfectamente con los
de las correas XL, usadas para la transmisión de movimiento.
16
ROJAS, María Cristina. Piñones. Diente por diente y vuelta por vuelta. [En línea].
[Link] [4 de Septiembre de 2011]. p.1.
39
En el desarrollo de este proyecto se utiliza el lenguaje de programación JAVA, por
lo cual se tiene en cuenta los términos de su licencia.
“En esta licencia de código binario, ORACLE AMERICA, INC. Aclara todos los
términos que se deben tener en cuenta para elaborar programas en lenguaje
java”.17.
40
4. SISTEMA DE CONTROL DE MOVIMIENTO.
18
[Link]
41
dinámicas (dll) como lo puede ofrecer otro tipo de lenguaje, es por eso que para
hacer una comunicación USB con PIC se requiere librerías que faciliten esta tarea.
4.1.2 Métodos generales. Son aquellos que se comportan igual a las funciones
proporcionadas por la API USB de Microchip, Lectura y Escritura de datos a un
dispositivo USB, apertura de una conexión, etc
42
Tabla 4. Pines del microcontrolador
El circuito para cada motor PAP está conformado por 4 transistores NPN TIP122 4
diodos (1N4007), 4 resistencias (4k7Ω), este circuito tiene como función activar
cada una de las bobinas del motor. El transistor es conmutado dependiendo de los
pulsos generados en su base por el microcontrolador, este transistor soporta una
corriente de (5 Amperios), suficiente para un buen funcionamiento del motor. Este
circuito permite que las órdenes transmitidas desde el PIC tengan la suficiente
potencia para activar los motores paso a paso [4].
Los motores usados en el desarrollo del proyecto son unipolares, pero presentan
diferentes características de voltaje y corriente [5]. A continuación se muestra en
forma detallada las características propias de cada motor y donde son utilizados.
43
4.5 ELEMENTOS DE SENSADO
Se utiliza pulsadores para ser usados como sensores de fin de carrera, los cuales
hacen un cambio de estado de una señal cuando son activados. La máquina tiene
incorporado 3 sensores, uno para cada eje; son utilizados para determinar un
punto inicial dentro del espacio de trabajo, así como también para detectar los
límites dentro de los cuales la máquina puede trabajar.
44
a)
b)
c)
45
4.7 LISTA DE COMPONENTES.
DESCRIPCION CANTIDAD
PIC 18F4550 1
CRISTAL 20M 1
CONDENSADOR 15Pf 2
CONDENSADOR 47 µf 1
LED 1
RESISTENCIA 4.7K 1
RESISTENCIA 1 K 1
CONECTOR 4 PINES 5
CONECTOR 2 PINES 2
CONECTOR 6 PINES 1
DESCRIPCION CANTIDAD
TIP 122 4
DIODO 1N4007 4
RESISTENCIA 4.7K 4
CONECTOR 4 PINES 1
CONECTOR 2 PINES 1
CONECTOR 5 PINES 1
46
5. GENERALIDADES DEL SISTEMA
Dicha estructura está conformada por una serie de piezas plásticas especialmente
diseñadas propiamente para la construcción de la máquina, las cuales se
describen y muestran a continuación.
a) b) c)
En la figura 15 se muestra la estructura cúbica externa junto con las piezas que
dan soporte en los vértices. Como se puede observar es necesario utilizar 8
piezas para asegurar dichos vértices, en la parte derecha se muestra de forma
más detallada esta pieza, la cual tienen orificios redondos sobre los tres ejes, para
que se aseguren la varillas roscadas la que da soporte a dicha estructura. El
diseño de estas piezas es hecho en BLENDER.
47
Es necesaria la construcción de unas bases adicionales para sostener las partes
móviles de la máquina, a continuación se muestra las piezas utilizadas y el lugar
donde se encuentran.
Figura 16. Soporte de parte móvil en eje Y. a) Soporte de Base, b) Pieza sobre la
estructura, c) Soporte sobre Z
a) b) c)
Las 4 piezas que están en los recuadros de color azul están sujetas en las varillas
verticales, con el fin de soportar 2 varillas horizontales.
Las 4 piezas en el círculo amarillo sirven de soporte para dos varillas de acero
inoxidable sobre las cuales se desplaza la base donde se conforma el objeto.
Estas piezas tienen orificios roscados los cuales se usan para calibración de la
base.
a) b) c)
48
En la figura 17, se muestra la base, la cual va a tener un movimiento sobre el eje
Y, a esta base se sujeta la correa dentada de sincronización mediante la cual se
transmite el movimiento desde el motor.
Figura 18. Soporte lateral superior e inferior. a) Diseño base superior, b) Estructura
c) Diseño base Inferior, d) Pieza superior construida, e) Pieza inferior construida
a) b) c)
d) e)
La figura 17 se muestra las Soporte superior e inferior, para dos varillas de acero
liso, las cuales son usadas para guiar el movimiento en el eje Z. la pieza de la
parte inferior también sirve de soporte para dos varillas roscadas horizontales.
a)
49
b)
La figura 19 muestra las bases para los motores que generan movimiento en los
ejes Y y Z, la base del eje Z también soporta una varilla roscada que a su vez
hace la transmisión de movimiento, esta varilla esta soportada mediante una
balinera que evita el rozamiento.
a)
b)
Las piezas que se muestran en la figura 20, se encuentran sobre dos varillas
roscadas la cuales hacen tracción y generan transmisión de movimiento en el eje
50
Z, también están sujetas sobre dos varillas de acero liso lo cual estabiliza el
movimiento.
Sobre estas piezas se sujetan dos varillas que soportan el extrusor, el cual tiene
movimiento sobre el eje X. sobre la pieza de soporte 1 se instala el motor que
genera el movimiento del eje X, y sobre la pieza de soporte 2 se instala una
balinera la cual soporta un piñón.
a) b) c)
Sobre las varillas de acero liso se instala la base del extrusor, por lo tanto debe
tener dos orificios los cuales deben permitir el movimiento sobre ellos, pero los
espacios no deben tener mucha área ya que esto genera movimientos
inadecuados.
Sobre las varillas paralelas al eje y se deben asegurar los soportes laterales
inferiores a cada lado (figura 18), antes de asegurar las varillas a las piezas de los
vértices, ya que estas deben estar en el centro sobre dicho eje.
51
Figura 22. Base Inferior Armada
Sobre los dos soportes laterales inferiores (figura 18), se sujetan dos varillas
roscadas paralelas al eje X las cuales dan estabilidad a la estructura y sirven para
sujetar las bases del motor que genera el movimiento sobre el eje Z y lo elementos
de transmisión de movimiento de dicho eje, también se sujeta el motor que genera
el movimiento en el eje Y de la máquina.
52
La base (figura 17) está sujeta a dos varillas de acero lizo esta tiene movimiento
sobre el eje Y.
Sobre las varillas de 3/8 se aseguran las piezas mostradas en la (figura 20), las
cuales transmiten el movimiento desde el motor a través de una correa dentada
de sincronización.
53
A su vez sobre las piezas de la (figura 20), se sujeta 2 varillas de acero lizo de
7mm de diámetro, estas varillas están paralelas al eje X, y sirve de base para
colocar el extrusor. Una de estas piezas soporta el motor que genera el
movimiento sobre el eje X, y la otra un piñón que transmite el movimiento.
54
Figura 29. Impresora Armada.
Las medidas en la parte externa de la máquina son. Largo 34 cms, ancho 30 cms
y alto 36, es espacio suficiente para que las partes móviles alcancen movimientos
de 5 cms en los ejes respectivamente.
55
a medida que se va conformando el objeto este se desplaza conjuntamente con su
base. Se cuenta con un sistema que permite obtener movimiento en el eje X, éste
va soportado a la base externa tal como se muestra en la figura 20, este sistema
también posee desplazamiento sobre el eje Z, de esta manera se completan los 3
movimientos esenciales para la conformación de los objetos. La base es de
Acrílico de 5mm de espesor, se encuentra sujeta a la parte inferior de la
estructura externa, para obtener una buena estabilidad se soporta mediante dos
varillas de acero con exterior liso con diámetro de 7mm. El movimiento se logra
mediante un motor PAP el cual transmite el movimiento a la base mediante una
correa dentada y un arreglo de piñones.
Las correas usadas en los ejes X y Y, se cortan para unirse a la estructura del
extrusor y de la base respectivamente, por lo cual la distancia de estas correas es
56
un parámetro flexible; pero la del eje Z, debe coincidir exactamente con la
distancia determinada en la estructura física.
Los motores paso a paso utilizados para el desplazamiento en los ejes X y Y, son
de 1.8 grados por paso, a estos motores se sujeta un piñón de 8 dientes de paso
XL, la altura de los dientes es de 1,27 mm, y el diámetro de la circunferencia
exterior es de 12.91mm, para determinar el desplazamiento por paso con estas
característica se tiene.
= 2 ∗ ∗ (16)
Donde R es el radio del piñón tomando como referencia el diámetro exterior.
= 40,56"". Este es el valor de la longitud recorrida por el piñón al dar una
vuelta completa. Para determinar la distancia por paso y teniendo en cuenta que el
motor es de 200 pasos se tiene que la distancia por paso es de,
$ = 0.2028""
Para el caso de obtener el desplazamiento en el eje Z con relación a los pasos del
motor se tiene en cuenta las siguientes especificaciones, se utiliza un motor PAP
de 7.5 grados por paso (48 pasos), a este se sujeta un piñón de 8 dientes de paso
XL, se transmite el movimiento mediante una correa dentada a un segundo piñón
de 20 dientes, a este segundo piñón se sujeta un tornillo de 3/8 de rosca ordinaria.
Sobre el tornillo se recorre una distancia de 1.59mm por vuelta (360°), lo que por
grado corresponde a 0,004416 mm.
57
La relación entre los 2 piñones está dada por,
'(
&= )' (17)
Esto quiere decir que por una vuelta en el piñón sujeto al motor o sea una rotación
de 360°, se obtiene en el piñón sujeto a la varilla roscada una rotación de 144°.
,34
∗.5
$+ = $+ = 0,01325 "" 7& 897
5*
5.6 EL EXTRUSOR
58
motor y 33 dientes para el piñón que genera el movimiento que permite la
extrusión de plástico. Otra parte fundamental dentro del extrusor es el calefactor,
el cual calienta el plástico hasta aproximadamente 220 grados centígrados para
que éste se pueda derretir y posteriormente depositar. La punta del extrusor es de
bronce, tiene 4 cm de longitud y 0.6 cm de diámetro, sobre esta se enrolla un
alambre de Nicrom que está constituido por una aleación de níquel 80% y cromo
de 20%, tiene 10 Ω de resistencia. Mediante la aplicación de voltaje a este
alambre se calienta la punta, para que al momento de pasar el plástico alcance la
temperatura deseada para la deposición.
59
El elemento que hace fricción con el plástico es una pieza metálica y redonda,
tiene un radio de 2,25mm. Por tanto la longitud recorrida por vuelta, y la cantidad
de material que entra al extrusor está dada por.
:; = 2 ∗ ∗ (19)
:; = 14,13""
Es decir que cuando el piñón de 33 dientes da una vuelta completa, dentro del
extrusor se ha absorbido 14,13"" de hilo plástico.
Para obtener el número de vueltas que el piñón de 11 dientes debe dar para
generar una vuelta completa en el piñón de 33 dientes se hace.
=>
< = (20)
.
Donde;
< : vueltas en el piñón pequeño.
<?: vueltas en el piñón grande.
&: Relación entre los piñones.
1
< = < = 3
0.333
El motor utilizado es de 200 pasos por vuelta, para que en el extrusor entre
14,13""de hilo plástico es necesario que el motor de 600 pasos (3 vueltas).Para
determinar la cantidad de material que entra por paso se tiene,
B A
:;@ = @CDCED-D. (21)
5,F
:;@ = :;@ = 0,0235""
G
60
Área del círculo = H. & ( (22)
JKDL-.M
;I = JKDCKM
(23)
28,27mm²
;I = = 9,003
3,14mm²
Por cada 1mm de longitud de plástico que entra al extrusor, sale
aproximadamente 9mm de longitud de material. Haciendo uso de esta relación y
conociendo la longitud de material que entra al extrusor por paso, se puede
obtener la longitud de material que sale por paso así,
Por cada paso del motor del extrusor sale 0,2115"" de longitud de hilo plástico
de 1mm de diámetro. Igual que para generar los movimientos en los ejes X y Y,
este motor se configura para trabajar a medios pasos, con lo cual se obtiene una
distancia de 0,105""
La longitud del material extruido por medio paso, debe ser aproximadamente la
misma que la distancia recorrida en los ejes X y Y por medio paso, en este caso y
con las características mencionadas se cumple dicha relación ya que la diferencia
entre las dos medidas es de milésimas de milímetro, esta relación es importante
ya que a medida que se genera movimiento en cualquiera de los dos ejes se debe
extruir material plastico para que se deposite sobre la superficie, y de esta manera
se complete el objeto deseado.
61
= 14,4 R
= 1,2 S
Con estas características es necesario que la fuente de alimentación del sistema
sea superior a 1,2 Amperios. Con una potencia de 14,4W en el calefactor, es
posible que en el interior de la punta del extrusor se alcance una temperatura de
aproximadamente 300° centígrados, lo cual supera l a temperatura de trabajo
normal (para fundir el plástico) que es de 220° cen tígrados.
62
Figura 31. Etapa de amplificación de voltaje de Termocupla
(27)
Usando dos etapas de amplificación con las mismas características se tiene que
el voltaje de salida es de 1,936 Voltios. Por tanto la etapa de amplificación está
dada por un factor de 121.
63
voltaje aplicado al calefactor. Para controlar el ancho de pulso generado se
cambia el valor del registro (CCPR1L).
a)
64
b)
c)
65
Tabla 10. Componentes Circuito Maestro Control Temperatura
DESCRIPCION CANTIDAD
PIC 16F873A 1
LM 324 1
RESISTENCIA 10K 4
RESISTENCIA 1K 3
RESISTENCIA 220K 1
RESISTENCIA 100K 1
RESISTENCIA 4.7K 1
RESISTENCIA 47K 1
RESISTENCIA 330 3
RESISTENCIA 3.3 K 1
RESISTENCIA 1.5K 1
RESISTENCIA 2.2K 1
CONDENSADOR 470pF 2
CONECTOR 3 PINES 1
CONECTOR 2 PINES 3
PULSADORES 2
LED 2
CRISTAL 4MH 1
CONDENSADOR 15Pf 2
OPTOACOPLADOR 1
DESCRIPCION CANTIDAD
TIP 122 1
RESISTENCIA 4.7K 1
RESISTENCIA 1K 1
LED 1
CONECTOR 2 PINES 2
66
25A y 10A respectivamente, suficiente para el consumo de los motores y del
calefactor.
VALOR
RECURSOS MATERIALES CANTIDAD TOTAL ($)
UNITARIO ($)
Equipo de oficina 1 60.000 60.000
motores paso a paso 4 60.000 240.000
metro de varilla roscada 6 5.000 30.000
remaches esquinas () 36 3.000 108.000
Tuercas 90 200 18.000
Arandelas 90 50 4.500
metro de varilla de acero 4 25.000 100.000
Acrílico 1 200.000 200.000
Balineras 30 3.000 90.000
correas dentadas de caucho 3 25.000 75.000
Elemento de extrusión de material 1 200.000 200.000
Piñones 6 4.000 24.000
Tornillos de cobre 7mm 10 50.000 50.000
Protoboard 1 40.000 40.000
PIC 2 25.000 50.000
otros elementos electrónicos 1 150.000 150.000
TOTAL 1.439.500
67
6. INFORMACIÓN DEL OBJETO
Por ejemplo, para un cubo de 2 unidades en todos sus lados y que se encuentra
en el punto de coordenadas iniciales (0, 0, 0) en los ejes X,Y,Z, respectivamente,
se tiene los siguientes triángulos con sus respectivas coordenadas.
a) b) c)
Como se puede observar en la figura b), cada cara del cubo está conformada por
2 triángulos, para conformar todo el cubo se tienen 12 triángulos.
68
facet normal 0 0 0 endloop
outer loop endfacet
vertex -1.000000 -1.000000 - facet normal 0 0 0
1.000000 outer loop
vertex -1.000000 1.000000 -1.000000 vertex -1.000000 -1.000000 1.000000
vertex 1.000000 1.000000 -1.000000 vertex -1.000000 -1.000000 -
endloop 1.000000
endfacet vertex 1.000000 -1.000000 -1.000000
facet normal 0 0 0 endloop
outer loop endfacet
vertex 1.000000 0.999999 1.000000 facet normal 0 0 0
vertex -1.000000 1.000000 1.000000 outer loop
vertex -1.000000 -1.000000 1.000000 vertex -1.000000 -1.000000 -
endloop 1.000000
endfacet vertex -1.000000 -1.000000 1.000000
facet normal 0 0 0 vertex -1.000000 1.000000 1.000000
outer loop endloop
vertex -1.000000 -1.000000 1.000000 endfacet
vertex 0.999999 -1.000001 1.000000 facet normal 0 0 0
vertex 1.000000 0.999999 1.000000 outer loop
endloop vertex -1.000000 1.000000 1.000000
endfacet vertex -1.000000 1.000000 -1.000000
facet normal 0 0 0 vertex -1.000000 -1.000000 -
outer loop 1.000000
vertex 1.000000 1.000000 -1.000000 endloop
vertex 1.000000 0.999999 1.000000 endfacet
vertex 0.999999 -1.000001 1.000000 facet normal 0 0 0
endloop outer loop
endfacet vertex 1.000000 0.999999 1.000000
facet normal 0 0 0 vertex 1.000000 1.000000 -1.000000
outer loop vertex -1.000000 1.000000 -1.000000
vertex 0.999999 -1.000001 1.000000 endloop
vertex 1.000000 -1.000000 -1.000000 endfacet
vertex 1.000000 1.000000 -1.000000 facet normal 0 0 0
endloop outer loop
endfacet vertex -1.000000 1.000000 -1.000000
facet normal 0 0 0 vertex -1.000000 1.000000 1.000000
outer loop vertex 1.000000 0.999999 1.000000
vertex 1.000000 -1.000000 -1.000000 endloop
vertex 0.999999 -1.000001 1.000000 endfacet
vertex -1.000000 -1.000000 1.000000 endsolid Exported from blender ”
69
blender”. Los triángulos empiezan con “facet normal 0 0 0”, seguido de”outer loop”,
y finalizan con “end loop” seguido de” end facet”. Este es el archivo en el cual se
encuentra toda la información necesaria para realizar el prototipado de un objeto
diseñado en un programa CAD.
70
En el software presente de análisis esta información no se tiene en cuenta. Solo
sirve para identificar el segundo token.
Una vez se tiene la información del archivo cargada, se crean puntos con
coordenadas en tres dimensiones y posteriormente se crean triángulos con dichos
puntos. Con la información en estas condiciones se procede a realizar el análisis
pertinente para lograr señales de control para movimientos en los diferentes ejes.
Con el fin de hacer uso de la información del archivo .STL se trazan líneas
haciendo uso de los puntos de cada vértice del triangulo, ya que la técnica
utilizada por esta máquina es la de deposición de hilo capa por capa, este proceso
se lo puede hacer en dos coordenadas (X, Y), dejando la coordenada Z como
constante. Por tal razón se procede a hacer el análisis en dos dimensiones, y se
utiliza la ecuación de la recta, para este fin se procede a implementar un algoritmo
en JAVA que calcule las coordenadas por donde esta debe pasar [6], [7] y [8].
Para construir las líneas rectas es necesario calcular las posiciones intermedias
entre los puntos extremos que se obtienen de los vértices de los triángulos
generados por el archivo STL.
= " T U
Donde,
71
": Pendiente de la recta
: Coordenada en el eje X (variable independiente)
U: Constante (representa el corte con el eje Y)
El valor de la pendiente está dado por,
VW YW
" = V X YZ
(28)
X Z
Donde,
U = [ " (29)
Hay ocasiones como se verá más adelante, que es necesario tabular en función
de Y, por tanto la ecuación de la recta se transforma en,
WY\
= (30)
Las coordenadas X y Y, tanto iníciales como finales se las obtiene del archivo stl.
El valor de las coordenadas independientes, se toma del valor de la resolución del
eje en la parte mecánica, en este caso 0.1014"" para X yY. De esta manera se
obtienen todos los puntos para hacer una línea recta con los puntos obtenidos de
un triangulo generado por el programa CAD.
Para determinar los pasos que se deben dar para ir de un punto hacia otro, es
necesario considerar la prioridad de movimiento en los ejes. Se hace teniendo en
cuenta en que cuadrante es el desplazamiento y el valor de la pendiente de la
recta que se va a trazar.
72
Figura 35. Movimiento en los cuadrantes. a) Cuadrante I, b) Cuadrante II, c)
Cuadrante III, d) Cuadrante IV.
a) b) c) d)
En el algoritmo se debe procurar que los pasos generados por los motores
correspondan lo más cerca posible a la distancia necesaria para dibujar una línea
recta ideal.
En el proceso de trazar una línea recta con la máquina, se debe tener en cuenta
que los movimientos generados dependen de los pasos de un motor PAP y cada
paso se desplaza una determinada distancia fija, y los puntos obtenidos mediante
los cálculos realizados por el Software no son enteros y por lo general no van a
coincidir con la distancia recorrida por los pasos del motor, por tal razón se genera
una inconsistencia o un error (aliasing) entre estos dos valores. El software debe
contrarrestar este efecto lo más eficientemente posible.
a) b)
73
Con el fin de seguir el camino más adecuado se analiza en primer lugar el valor de
la pendiente de la recta, para determinar la prioridad en los movimientos y con
base a esto seleccionar sobre que eje tabular.
La pendiente se la determina haciendo uso de la ecuación (28). Haciendo una
resta de las coordenadas en los ejes se establece sobre que cuadrante es el
movimiento.
74
6.4 GENERACIÓN DE PUNTOS DE LINEA.
Una vez determinada la prioridad (X, Y, -X, -Y), se procede a tabular haciendo
uso de la ecuación de la recta en 2D (1) o (33) según sea el caso, y se obtiene
los puntos donde se debe desplazar. Por ejemplo si la prioridad es sobre el eje X,
la coordenada independiente en la ecuación de la recta (1) corresponde al
desplazamiento en X que es igual al valor de la resolución del eje en la parte
mecánica, en este caso 0.10145"". El valor se va incrementando en esta
cantidad cada vez que se da un paso. Haciendo la tabulación se encuentra el valor
de Y para dicha coordenada en X, y se genera un punto de desplazamiento. De
esta misma manera se hace con las demás prioridades [9].
75
7 DESPLAZAMIENTO SOBRE EJES
76
En la figura 37, se observa que para seguir la línea ideal y partiendo desde el
punto (] , ^ ) hay dos opciones para el siguiente movimiento, sobre el eje X o eje
Y (desplazarse a los puntos ( ] , ^0 ) o ( ]0 , ^ )). En este caso se escoge el
punto ]0 , ^ o sea un movimiento sobre el eje X, ya que este es el punto más
cercano al valor de los puntos reales intermedios entre los extremos. Para este
caso el subíndice 1p representa un medio paso del motor PAP que para efectos
de distancia representa el valor de desplazamiento sobre el eje X cuando el motor
da un medio paso (0.1014""). Con estas condiciones en el algoritmo se
determina que el primer paso se lo realiza en X, por tener la prioridad sobre este
eje, de esta manera se traslada al punto (]0 , ^
.
Para esta selección es necesario tener en cuenta la distancia vertical entre los
puntos reales de la recta y los puntos en los cuales coincide la resolución del
motor por paso (análisis similar al realizado en el algoritmo de Bresenham). La
decisión de dar el paso se la toma cuando dicha distancia supera cierto valor
relacionado con el desplazamiento por medio paso (0.1014""). Para esta
prioridad (X), la distancia a tener en cuenta es d1. Con estas consideraciones se
tiene que,
= "V0
T U (31)
_ = [ (32)
_ = "`0 a T U [
77
prioritario (Y), en la próxima comparación de distancia ( ) se debe incrementar el
valor de la coordenada en dicho eje en el valor de la resolución [6], [7], [8], [9] y
[10].
7.1.2 Cuadrante IV. Las consideraciones en este caso son, prioridad en X y trazo
de la recta sobre el cuadrante IV.
Igual que el proceso anterior se trata de seguir la línea partiendo desde el punto
inicial, hay dos opciones para el siguiente movimiento, sobre el eje X o eje Y, en
este caso el desplazamiento se debe hacer hasta el punto ( ). Las
demás consideraciones son las determinadas anteriormente.
78
(33)
Para este tipo de prioridad en la recta se tabula respecto a Y, por tanto se usa la
ecuación de la recta (33).
d3, d4, corresponden a la distancia horizontal entre los puntos reales de la línea, y
los puntos en los cuales coincide la resolución del motor.
79
En la figura 39, para seguir la línea ideal se tiene la siguiente consideración,
partiendo desde el punto (] , ^ ) hay dos opciones para el siguiente movimiento,
sobre el eje X o eje Y. En este caso se escoge el punto ] , ^0 o sea un
movimiento sobre el eje Y, ya que este es el punto más cercano al valor de los
puntos reales intermedios entre los extremos. Como en la prioridad en X, aquí el
subíndice 1p representa un paso del motor PAP que para efectos de distancia es
igual al valor de desplazamiento sobre el eje Y cuando el motor da un medio paso.
Para esta selección es necesario tener en cuenta la distancia horizontal entre los
puntos reales de la recta y los puntos en los cuales coincide la resolución del
motor por medio paso. La decisión de dar el paso se la toma cuando dicha
distancia supera cierto valor relacionado con el desplazamiento por paso
(0.1014""). Para esta prioridad (Y), la distancia a tener en cuenta es _F .
Con estas condiciones y con el fin de encontrar la coordenada de X en el punto
conocido de Y, la ecuación de la recta está determinada por,
`WbcZd aY\
=
(34)
_F = [ (35)
`0 a [ U
_F = [
"
En el caso de que la distancia (_F ) no supere el valor relacionado con el
desplazamiento del motor por medio paso, el desplazamiento siempre va a ser
sobre el eje Y (eje prioritario).
Cuando las condiciones se dan para un desplazamiento sobre el eje no prioritario
(eje X), debe ser seguido inmediatamente por un paso en el eje prioritario (Y). Y se
continúa con el mismo procedimiento de análisis para determinar los pasos sobre
los ejes. Hay que tener en cuenta que una vez dado el paso sobre el eje no
prioritario (Y), para la próxima comparación de distancia (_F ) se debe incrementar
80
el valor de la coordenada en dicho eje en el valor de la resolución [6], [7], [8], [9] y
[10].
7.2.2 Cuadrante II. Para dar pasos en ambos ejes, con prioridad en Y, y cuando
la recta se traza sobre el cuadrante II, se tiene en cuenta las siguientes
consideraciones.
Con el objeto de seguir la línea ideal y partiendo desde el punto inicial, hay dos
opciones para el siguiente movimiento, sobre el eje X o eje Y, en este caso el
desplazamiento se debe hacer hasta el punto ( ).
81
(36)
a) b)
82
c) d)
83
Tabla 16. Distancia de Referencia
Una vez obtenida la información del objeto, se debe procesarla para obtener las
diferentes rutas por donde se debe hacer la disposición de plástico. Para esto se
hace uso del algoritmo de la recta descrito anteriormente.
84
Como se puede ver el valor de Z en todos los puntos es igual y es de 0, este es el
valor más bajo de Z y por tanto corresponden a la capa inferior. Para este caso se
puede tomar dos dimensiones (X, Y). De esta manera se tiene que en la capa
inferior consta de 6 líneas [6], [7] y [8].
Con el fin de obtener la ruta externa de la primera capa del objeto se decide
eliminar las líneas centrales (líneas que comparten los dos triángulos). Haciendo
esto se logra una ruta con cuatro líneas,
Para alcanzar este objetivo es necesario seguir puntos con coordenadas en los
tres ejes, por tal motivo es necesario implementar la ecuación de la recta en el
espacio.
85
paramétrica de dicha ecuación haciendo uso de dos puntos en el espacio, estos
puntos son dados por dos vértices de un triangulo [6], [7] y [8].
Haciendo,
8 = h [ ;U = h [ ;j = +h [ + (39)
V1
= T 81
V1
= T U1 (40)
+V1
= + T j1
+V1
[ +
1 =
j
Con el fin de obtener la ruta externa del objeto se analizan los triángulos que están
en forma vertical (no los de la primera capa), estos tienen información con la cual
es posible obtener coordenadas en el eje Z a medida que se incrementa el nivel.
En este caso como se conoce el valor de +V1
, que es el valor del diámetro de la
punta del extrusor (De), (valor que sube por capa), Se puede obtener el valor de t.
Luego con este dato se obtiene los valores de las coordenadas de V1
y V1
en
este punto.
86
un nivel (n) en el eje Z, el primer nivel corresponde al valor de la punta del
extrusor.
Una vez se obtienen los puntos, se identifica si existen dos puntos sobre este nivel
que pertenezcan al mismo triangulo, de ser afirmativo se traza una línea teniendo
como coordenadas inicial y final a estos puntos, de esta manera se encuentran las
líneas externas. Como se puede observar todos los puntos encontrados en un
determinado nivel van a tener la misma coordenada Z, lo cual significa que están
sobre una capa. Se puede trazar estas líneas tomando solamente las
coordenadas en X y Y. para la generación de pasos sobre los ejes y poder seguir
la ruta indicada por la línea se utiliza el algoritmo señalado en la sección
desplazamiento sobre ejes.
Con este mismo procedimiento se logra obtener la ruta externa de cualquier objeto
que se vaya a materializar.
7.4.2 Rutas Internas. En algunos objetos es necesario dejar espacios huecos, por
lo que se debe calcular rutas internas las cuales determinen el límite por donde se
va a depositar el hilo de plástico. El cálculo de rutas internas es similar al realizado
con las rutas externas, ya que para obtener las rutas se analizan la totalidad de los
triángulos.
87
Figura 45. Objeto con Espacios vacios. a) Vista lateral del objeto diseñado
b) Vista superior del objeto diseñado, c) Líneas externas e internas d) Objeto con
triángulos
a) b)
c) d)
88
7.5 RELLENO
En primer lugar se crea un área, la cual está determinada por los limites externos
de la figura a prototipar, para ello se hace uso de una función en 2D de java, en el
caso de existir limites internos se genera un área con estos límites, y luego se
hace una operación de intercepción entre las dos áreas encontradas y se elimina
el resultado obtenido. Con la realización de este proceso se eliminan los espacios
vacios si existieran en una figura, y se identifica plenamente el área a rellenar.
89
Figura 47. Área de relleno
Para determinar los puntos que se necesitan rellenar se realiza un escaneo punto
a punto siguiendo una línea horizontal o vertical según sea el caso, con el fin de
identificar si el punto analizado está dentro del área de relleno identificada
anteriormente.
90
Este proceso se realiza escaneando la totalidad del área siguiendo líneas
horizontales. Como se puede ver en la figura 48, sobre la línea de escaneo 1 no
se encuentra puntos que estén dentro del área a prototipar, ósea que no existen
puntos de relleno. En la línea 2 de escaneo, se encuentra 6 puntos que están
dentro del área a prototipar, los cuales deben formar una línea de relleno. Es así
como se encuentra la totalidad de las líneas que conforman el relleno en una
determinada capa.
Las líneas de relleno se las realiza sobre los ejes de manera intercalada a medida
que va subiendo de nivel. La primera capa se la realiza sobre el eje X, la segunda
sobre el eje Y, y así sucesivamente. El relleno se lo realiza con hilo de 1mm de
diámetro, y se deja un espacio sin rellenar de la misma distancia, se hace esto
91
para ahorrar materia prima, y tiempo de fabricación dejando una especie de malla
en cada capa.
Para el caso en el cual se encuentran huecos internos el análisis para el relleno es
el siguiente,
Para determinar las líneas necesarias para el relleno se verifica las intersecciones
de la línea de barrido (escaneo) y las aristas del objeto, que en este caso son las
líneas externas e internas del objeto, antes definidas. En la primera intersección
empieza el área a rellenar, hasta la segunda. De la segunda intersección, hasta la
tercera es vacio. De la tercera a la cuarta es área de relleno y así sucesivamente
las veces que haya intersección. Cuando no existen rutas internas se entiende que
toda el área dentro de las líneas del borde externo debe ser rellenada.
92
las coordenadas de las intersecciones de la línea de rastreo con las líneas
externas e internas que definen el objeto.
93
7.5.2 Relleno Paralelo a Eje X. Se toma el punto con coordenada más baja sobre
el eje Y (^ ), a esta coordenada se le adiciona el valor del diámetro de la punta del
extrusor multiplicado por 2. Con las condiciones descritas el valor a incrementar es
de dos milímetros (2""). Por tanto la coordenada Y del punto inicial de la primera
línea de relleno corresponde a,
(] T l ) (43)
V] T Vl [ 5
; ^ T 20
(45)
94
Figura 53. Coordenadas de la línea de Relleno paralela a X
Para la segunda line se debe hacer un incremento en las coordenadas del eje Y,
en un valor igual al doble del diámetro de la punta del extrusor (De*2), las
coordenadas de X se calculan de la misma forma como se realizó en la primera
línea [6], [7], [8], [9] y [10].
En el siguiente grafico se muestra la formación de las líneas de relleno.
95
7.5.3 Relleno Paralelo a Eje Y. El proceso es similar al realizado con el relleno en
el eje X, se encuentra la coordenada más baja sobre el eje X V]
, y se le
incrementa el valor del diámetro de la punta del extrusor multiplicado por 2, con el
fin de que esta línea de relleno este separada una distancia igual al diámetro de la
punta del extrusor, con relación a las líneas externas del objeto. Para determinar la
coordenada en Y del primer punto de la línea de relleno se selecciona la
coordenada más baja sobre el eje V^ ) y se le hace un incremento de la mitad del
diámetro de la punta del extrusor. Por lo tanto las coordenadas del punto inicial de
la primera línea de relleno estan dadas por,
( ] T V$L ∗ 2
; ^ T V$L /2) (46)
En este caso como se desea obtener líneas de relleno paralelas al eje Y, se
verifica si existe un punto con la misma coordenada sobre el eje X, pero corrido un
valor de la resolución de distancia por paso sobre Y, tal que cumpla las
condiciones para hacer parte de la línea de relleno, de esta manera el siguiente
punto de desplazamiento corresponde a las coordenadas (] T V$L ∗ 2) ;^ T
V$L /2)+ Rp), de esta manera será el desplazamiento sobre el eje Y para formar
una línea de relleno paralela a dicho eje. Aquí las coordenadas de los puntos en el
eje X son las mismas, pero las del eje Y se van incrementando para encontrar los
puntos (1Rp, 2Rp, 3Rp, 4Rp, 5Rp……. …..nRp).
(^ T l ) (47)
96
Figura 55. Coordenadas de la línea de Relleno paralela a Y
97
cuales unen cada una de las líneas de relleno paralelas a los ejes, obtenidas
anteriormente.
(50)
(51)
Con estos parámetros se determina la primera nueva línea que une dos líneas de
relleno antes encontradas. Una segunda nueva línea está determinada por las
siguientes coordenadas, punto inicial igual al punto inicial de la segunda línea de
relleno,
(52)
(53)
98
De esta manera se crean estas nuevas líneas tanto en el relleno paralelo al eje X
como para el relleno paralelo al eje Y. para determinar los pasos que se deben dar
se utiliza la generación de pasos antes descrita [6], [7], [8], [9] y [10].
Aquí también se generan unas nuevas líneas con el fin de unir las diferentes
líneas de relleno antes encontradas.
7.5.6 Incremento de Capas. Una vez se concluya una capa tanto en sus líneas
externas, internas y de relleno, se genera la orden para que se haga un
incremento en el eje Z igual al valor del diámetro de la punta del extrusor, con el
fin de continuar con la siguiente capa. Como ya se menciono (paralelos al eje X y
Y, de manera intercalada).
99
En la figura 59 se muestra como es el relleno por lo menos con dos capas, este
forma una especie de rejilla, es posible realizar el relleno sin dejar espacios vacios
entre cada línea de relleno, para esto simplemente se debe cambiar en el
algoritmo la distancia de separación entre líneas (en este caso se establece igual
al valor del diámetro de la punta del extrusor (De)), se hace el relleno de esta
manera para ahorrar material utilizado en la fabricación y tiempo.
Por tal motivo es necesario unir estas líneas en una sola ruta, de tal manera que
el punto final de la línea 1 corresponda al punto inicial de la segunda línea, el
punto final de la segunda línea corresponda al punto inicial de la tercera línea, y
así hasta que el punto final de la última línea corresponda al punto inicial de la
primera línea.
100
De esta manera se consigue una ruta uniforme y se optimiza el desplazamiento al
momento de la deposición del plástico. La ruta puede ser dada en sentido horario,
o sentido anti horario, esta situación se presenta por la entrega de la información
del programa de diseño.
Hasta este momento se tiene una serie de rutas tanto externas, internas y de
relleno, estas rutas están compuestas por líneas y a su vez estas líneas están
compuestas por puntos, y estos puntos tienen coordenadas en el espacio. Para
generar los movimientos en los diferentes ejes desde el PC se envía señales de
control al circuito electrónico maestro, el cual se encarga de producir las señales
necesarias para que los motores se energicen y produzcan un movimiento.
101
8. INTERFACE DE USUARIO DEL PROGRAMA
102
Como se puede observar en la figura 63, para cargar el archivo se debe dirigir a la
ruta donde previamente fue guardado. Se puede seleccionar el deseado en la lista
y luego se da la opción abrir. Si la ruta no es la correcta se puede dar la opción
cancelar y empezar el proceso.
103
Una vez el análisis ha terminado aparece el mensaje “Level has been Generated”.
Luego se puede dar la opción “Generar prototipo” para empezar el proceso y que
la máquina materialice el objeto. Si se desea parar el proceso el algún punto se
puede dar la opción “Detener”.
104
9. VALIDACIÓN DE RESULTADOS
Las medidas máximas que debe tener un objeto diseñado deben ser de 5cm en
cada uno de las coordenadas, ya que éste es el máximo desplazamiento que
ofrece la parte física de la máquina en los ejes.
9.1 CUBO
9.1.1 Forma y medidas. Se escoge esta figura ya que aporta y permite la toma de
medidas de (ancho, largo y alto), de manera fácil sin ningún análisis adicional. Las
dimensiones del cubo son de 5cm por lado, y con el fin de analizar conjuntamente
la presencia de espacios vacios en el objeto, se deja sin rellenar 9cm ² en el
centro y de altura la totalidad del espacio en el eje (z). Se deja el mismo espacio
vacío en el eje X y eje Y.
a) b)
105
Ya que la figura presenta espacios sin relleno es posible hacer la medida de los
huecos presentes así.
;..D.\CDK-D
{&&7&|}81~e7 = =KD.;C0L.MD (55)
106
Como es posible observar, el error más grande que se obtiene es de 2,4% que
indica que no se presentan diferencias mayores a 0,12 cm entre las medidas del
diseño y las obtenidas en el objeto fabricado sobre el eje X.
En este caso también es posible observar que el error más grande es de 2,2% que
indica que no se presentan diferencias mayores a 0,11 cm entre las medidas del
diseño y las obtenidas en el objeto fabricado sobre el eje Y.
Las medidas obtenidas para el eje Z, con sus respectivos errores se muestran en
la tabla 20.
El mayor error que se obtiene sobre el eje Z es de 2,4% que indica que no se
presentan diferencias superiores a 0,12 cm entre las medidas del diseño y las
obtenidas en el objeto fabricado. El signo menos indica que las medidas del objeto
son menores que las deseadas. Únicamente en este caso las medidas están por
debajo, en los ejes X y Y las medidas obtenidas en el objeto son superiores a las
deseadas.
107
9.2 CILINDRO.
El cilindro diseñado tiene de radio 2.0 cm, altura de 1cm. Es una pieza rellena en
su totalidad, así que no se debe presentar espacios vacios, excepto los dejados
por la malla propia del relleno.
a) b)
9.2.2 Cálculo de error. En este caso se enfatiza sobre las medidas del radio, ya
que las de altura ya fueron tratadas en el cubo. Se toma 5 medidas en lugares
diferentes de la pieza, se realiza haciendo una medición directa sobre la pieza
obtenida en la máquina. Con estas consideraciones se calcula el error absoluto y
relativo haciendo uso de las ecuaciones 54 y 55.
108
Como es posible observar el error más grande que se obtiene en la medición del
radio es de 2,0% que indica que no se presentan diferencias mayores a 0,04 cm
entre las medidas del diseño y las obtenidas en el objeto fabricado.
Las diferencias en medidas que presentan las piezas fabricadas por la máquina
respecto a los diseños realizados en el programa CAD son relativamente bajos del
orden de las decimas de milímetro. Esto es un buen resultado, ya que en un
principio se había planteado diferencias de 4% para objetos de 5cms de lado en
sus diferentes ejes. La forma del objeto obtenido físicamente coincide con el
diseñado.
Con las pruebas realizadas hasta el momento se puede calcular el tiempo en que
tarda un objeto en fabricarse, una vez se haya calibrado y puesto en marcha el
sistema.
109
10. CONCLUSIONES
Al momento de realizar el diseño del objeto es necesario que éste no vaya a tener
espacios vacios (diferentes a errores) sobre los cuales se tenga que hacer
deposición de plástico en alguna capa superior, ya que ésta no tendría donde
soportarse.
110
recomendable que las medidas sean superiores a 0.5 cm ya que de ser menores
no será posible la buena identificación del objeto, esto se debe prácticamente a la
resolución del extrusor y al comportamiento del plástico el cual es inherente a este
proyecto.
111
11. RECOMENDACIONES
Construcción de un sistema físico con más resolución el cual permita dar un mejor
acabado a las piezas obtenidas, así como también disminuir el porcentaje de error
presente en las piezas.
El sistema utiliza sensores de fin de carrera para dirigirse a un punto inicial dentro
del área de trabajo, este punto está referido a los ejes X y Y, sin embargo este tipo
de sensores no son adecuados en el caso del eje Z, ya que no es posible calibrar
el sistema porque depende de la base sobre la cual se materialice el objeto, por lo
que esta calibración se realiza de forma manual. Se puede utilizar un tipo de
sensor diferente el cual no dependa del tipo de base que se usa sino que mida la
distancia de separación entre ésta y la punta del extrusor para que así este eje se
pueda calibrar de forma automática.
112
BIBLIOGRAFÍA
113
JPICUSB. [Link]
usb-usando-java/
ROJAS, María Cristina. Piñones. Diente por diente y vuelta por vuelta. [En línea].
[Link] [4 de Septiembre de 2011].
50.p.
114
TORRES TORRITI, Miguel. Tutorial Microcontroladores pic inicialización rápida.
[En línea] [Link] [Citado el
2 de Octubre de 2011]. 29. p.
115
ANEXOS
2. Normales invertidas. Otro error común de los archivos .stl es que las
normales de superficie (polígonos) estén incorrectamente orientadas. El
signo visible de una normal invertida se confunde fácilmente con un hueco o
agujero en el objeto. Este error es causado por una construcción manual
incorrecta de cara, o la aplicación inadecuada de la reparación automática
(unificar o recalcular normales). La operaciones booleanas también pueden
causar errores bajo algunas circunstancias; muy habitualmente a causa de
malos operandos.
Normales invertidas
3. Dobles caras y bordes múltiples. Las dobles caras y bordes múltiples son
lo que su nombre sugiere. Estos errores .stl ocurren donde, por diversos
motivos, las caras y los bordes duplicados pertenecen a un objeto. Si hay
116
duplicados de objetos completos, el arreglo es simple: encuentra los
duplicados y bórralos para dejar una copia intacta .stl del objeto que se está
manipulando. La otra posible causa de este error es que los fragmentos de
objetos cercanos fueran agrupados de manera inadvertida en la misma
malla y el programa los reconozca como duplicados.
Los agujeros son similares a los huecos, excepto que son normalmente más
visibles y habitualmente consecuencia de booleanos inapropiados y soldado
inapropiado de una capa superficial (o perdiendo capas accidentalmente).
Los agujeros son también comunes en el escaneado 3D y en los sistemas
de proceso de nube de puntos, como los que se utilizan en aplicaciones de
ingeniería inversa. Los agujeros son exactamente lo que su nombre sugiere:
son caras perdidas en superficies que de otra manera serían contiguas.
Las puntas son rasgos del estilo de una península que tienen aristas
abiertas a lo largo de sus costas (extremos).
Los tipos de caras degeneradas incluyen: los tres vértices de la faceta son
co-lineales o se transforman en co-lineales cuando el algoritmo de la
aplicación importadora trunca las coordenadas previamente no co-lineales.
117
Caras no Degeneradas
118
ANEXO B. PASOS BÁSICOS PARA LA REALIZACIÓN DE UN OBJETO
119
1. VERIFICACIÓN DE EXISTENCIA DE DISEÑO
En primer lugar se define una idea del objeto que se desee obtener, puede ser
mediante un boceto realizado en papel, por tanto este diseño será en dos
dimensiones, se puede definir la forma y las medidas exactas del objeto deseado,
así como también la forma y número de huecos que va a tener.
3. DISEÑO EN 3D
Una vez terminado el diseño en el programa CAD, se procede a verificar que este
no presente inconsistencias tales como Huecos inadecuados, dobles caras, líneas
en el interior del objeto que no forman una superficie. Por lo general los huecos se
presentan por aplicación de Booleanos, las dobles caras y líneas pueden ser
causadas por unión de superficies. Como se preciso anteriormente, hacer el
diseño de un objeto en 3D no garantiza que se pueda prototipar o “imprimir”,
porque se necesita especificaciones precisas para que el Software de análisis de
información pueda interpretarlo y generar órdenes correctas.
5. EXPORTAR STL
120
6. CARGAR STL EN SOFTWARE
7. GENERAR COORDENADAS
Es necesario que el plástico alcance una temperatura adecuada para que este se
pueda extruir, por tal motivo es necesario encender el calefactor antes de empezar
a fabricar las piezas. El tiempo que toma el calefactor en alcanzar la temperatura
adecuada depende de la potencia que tenga la red eléctrica en ese momento,
(alrededor de 2 minutos).
Para llegar al punto inicial se hace uso de los sensores que tiene la maquina en
los ejes X y Y, por tanto estos ejes son calibrados por software, sin embargo el
eje Z se lo calibra manualmente ya que la posición fluctúa de acuerdo al espesor
de la base sobre la cual se deposita el plástico fundido. En consecuencia lo que se
realiza en este paso es calibrar el eje Z. La distancia entre la base y la punta del
extrusor debe ser de (1mm – factor corrección). El factor de corrección está
referido solamente a la primera capa, ya que es necesario que el hilo sea
prensado para que se adhiera sobre la superficie de la base, con las pruebas
realizadas se determino que este factor de corrección debe ser igual a 0.4mm,
para que la primera capa se conforme adecuadamente.
121
10. EXTRUIR PLÁSTICO
Una vez se ha calibrado el punto inicial sobre el eje Z, es necesario que se extruya
una cierta cantidad de plástico hasta que el hilo salga de una forma uniforme, ya
que al inicio de la extrusión se pueden presentar vacios que causan que por
momentos no haya hilo plástico para extruir.
11. IMPRIMIR
122