Sie sind auf Seite 1von 84

Universidad de Costa Rica

Facultad de Ingeniera
Escuela de Ingeniera Elctrica



IE 0502 Proyecto Elctrico



Implementacin del software de control para la
fresadora Lab-Volt



Por:
Max Ramrez Prez



Ciudad Universitaria Rodrigo Facio
Julio del 2012

ii
Implementacin del software de control para la
fresadora Lab-Volt



Por:

Max Ramrez Prez



Sometido a la Escuela de Ingeniera Elctrica
de la Facultad de Ingeniera
de la Universidad de Costa Rica
como requisito parcial para optar por el grado de:


BACHILLER EN INGENIERA ELCTRICA

Aprobado por el Tribunal:


_________________________________
Ing. Aramis Prez Mora
Profesor Gua



_________________________________ _________________________________
Ing. Jaime Cascante Vindas Ing. Mercedes Chacn Vsquez
Profesor lector Profesor lector

iii


DEDICATORIA
Todo el trabajo realizado a lo largo de los aos mientras estudi esta carrera y
en especial durante el desarrollo de este proyecto se lo quiero dedicar a mi familia que
siempre me apoy durante mi paso por la universidad y que siempre estuvieron a mi lado
brindndome nimos para continuar an en los momentos ms difciles.
Adems quiero agradecer a todos aquellos profesores que a alguna manera
aportaron en mi crecimiento no solo como estudiante si no que tambin como persona, a
todos ellos muchas gracias.

iv


RECONOCIMIENTOS
Especial agradecimiento al profesor Aramis Prez, por su oportuna y siempre
amable atencin a mis inquietudes. As tambin, a los lectores del proyecto el Ing. Jaime
Cascante Vindas y la Ing. Mercedes Chacn Vsquez, por su tiempo dedicado en l.
Tambin quiero agradecer a mi compaero Gabriel Snchez el cual trabaj en
un proyecto paralelo complementario y me brind su ayuda cuando la necesit.



v


NDICE GENERAL

1. CAPTULO 1: INTRODUCCIN ..................................................... 1
1.1 Objetivos .............................................................................................. 2
1.2 Objetivo general .......................................................................................................... 2
1.1.2 Objetivos especficos ............................................................................................ 2
1.3 Metodologa ......................................................................................... 3
2. CAPTULO 2: DESARROLLO TERICO ...................................... 5
2.1 La fresadora Mill CNC 5400 Lab-Volt .............................................. 5
2.2. Control numrico computarizado CNC ............................................. 6
2.3. Plataforma Arduino: Aspectos generales. ......................................... 9
2.3.1. Descripcin General ........................................................................................... 9
2.3.2. Arduino Mega ................................................................................................... 11
2.3.2.1. Caractersticas generales ................................................................................. 11
2.3.2.2. Alimentacin .................................................................................................. 13
2.3.2.3. Memoria ......................................................................................................... 14
2.3.2.4. Entradas y salidas ........................................................................................... 15
2.3.2.5. Comunicaciones ............................................................................................. 16

vi

2.3.2.6. Programacin ................................................................................................. 16
2.4. Comunicacin serial .......................................................................... 17
2.4.1. Principio de funcionamiento del puerto serial .................................................. 19
2.4.2. Protocolo RS-232 .............................................................................................. 20
2.4.3. Utilizacin de las seales RS-232 ..................................................................... 21
CAPTULO 3: CONTROL AUTOMTICO DE LA FRESADORA ...... 24
3.1 Verificacin del funcionamiento del puerto serial ........................... 24
3.2 Comunicacin serial entre el computador y el Arduino Mega ...... 28
3.2.1 Etapa de acople de tensiones .................................................................................... 28
3.2.2 Programa de recepcin de datos por el puerto serial en Arduino. ............................ 36
3.2.3 Creacin de pieza mediante la programacin por bloques ....................................... 42
3.2.4 Creacin de pieza mediante la programacin lineal ................................................. 45
4. CAPTULO 4: CONCLUSIONES Y RECOMENDACIONES ...... 48
BIBLIOGRAFA ......................................................................................... 52
APNDICES ............................................................................................... 54
Apndice A. Programa de pieza con la programacin de modo lineal ..... 54
Apndice B. Algunos Cdigos G de la fresadora Lab-Volt ....................... 57
Apndice C. Algunos Cdigos M de la fresadora Lab-Volt ...................... 58

vii

Apndice D. Programacin para el puerto serial ...................................... 59
ANEXOS ...................................................................................................... 63

viii


NDICE DE FIGURAS
Figura 2.1 Fresadora 5400 CNC [8] ....................................................................................... 5
Figura 2.2 Placa de control Arduino Mega.[6] ..................................................................... 12
Figura 2.3 Entorno de programacin de Arduino [6] ........................................................... 17
Figura 2.4 Conectores DB9, macho y hembra. [7] ............................................................... 18
Figura 3.1 Parte externa del Puerto serial. ............................................................................ 24
Figura 3.2 Cable de conexin del puerto serial. ................................................................... 25
Figura 3.3 Conexin interna del puerto serial al controlador. .............................................. 26
Figura 3.4 Distribucin de los pines en el conector interno ................................................. 27
Figura 3.5 Transmisin de prueba por los conectores del puerto serial. .............................. 28
Figura 3.6 Captura de datos enviados por el puerto serial .................................................... 29
Figura 3.7 Transmisin serial por dispositivo Arduino.[11] ................................................ 30
Figura 3.8 Dispositivo MAX232 .......................................................................................... 31
Figura 3.9 Funcionamiento del circuito integrado NTE7142 ............................................... 32
Figura 3.10 Datos leidos y almacenados en la memoria EEPROM ..................................... 39
Figura 3.11 Pantalla de inicio para crear un nuevo proyecto. ............................................... 40
Figura 3.12 Bloque en bruto para la realizacin de piezas ................................................... 41
Figura 3.13 Parmetros elegidos para la programacin por bloques .................................... 43
Figura 3.14 interfaz de programacin por medio de bloques ............................................... 43
Figura 3.15 Programacin de la figura por bloques. ............................................................. 44

ix

Figura 3.16 Figura obtenida de la programacin por bloques. ............................................. 45
Figura 3.17 Parmetros para la programacin lineal. ........................................................... 45
Figura 3.18 Programacin de modo lineal. .......................................................................... 46
Figura 3.19 Pieza programada de manera lineal. .................................................................. 47



x


NDICE DE TABLAS

Tabla 2.1Caracteristicas del Arduino Mega 2560[4] ............................................................ 12
Tabla 2.2 Distribucin de pines del protocolo serial RS-232 [5] ......................................... 21
Tabla 3.1 Medicin de las tensiones en la conexin serial para el torno .............................. 34
Tabla 3.2 Medicin de las tensiones en la conexin serial entre dos computadores ............ 35
Tabla 3.3 Instrucciones habilitadas para el nuevo controlador ............................................. 38

xi


NOMENCLATURA
CNC Control Numrico Computarizado
TTL Transistor-Transistor Logic, Lgica transistor transistor
CD/DCD (Data) Carrier Detect; Detector de transmisin
RxD Receive Data, Recibir datos.
TxD Transmit Data, Transmitir datos.
DTR Data Terminal Ready, Terminal de datos lista.
SG Signal Ground, Seal de tierra.
DSR Data Set Ready, Ajuste de datos listo.
RTS Request To Send, Permiso para transmitir.
CTS Clear To Send, Listo para enviar.
RI Ring Indicator, Indicador de llamada.
PWM Modulacion por ancho de pulsos
UARTS "Universal Asynchronous Receiver-Transmitter" , Transmisor-Receptor
Asncrono Universal
ICSP In Circuit Serial Programming

E.I.A Institucin de normalizacin Americana
Hz Hertz


xii

RESUMEN
El presente trabajo aborda la realizacin de un software de control para la fresadora Lab-
Volt del Laboratorio de Automtica, para esto se tena como objetivo principal instalar e
implementar un software capaz de descargar los programas de manufactura para ser
ejecutados en la mquina, entre los otros objetivos se encuentran aprender a programar en
cdigo G y M de manufactura, adems de verificar el funcionamiento del puerto de
comunicacin de la fresadora y habilitar la descarga de piezas.
La metodologa utilizada fue primeramente la lectura de los manuales y otros
documentos de la mquina, adems de la revisin del funcionamiento del hardware del
puerto de comunicacin y su posible utilizacin para comunicar la mquina con un
computador, tambin se program un controlador arduino para que realice la recepcin de
los datos enviados por el puerto de comunicacin de la maquina, que los almacene para su
futura ejecucin de manera automtica y por ultimo se aprendi a programar en lenguaje G
y M de manufactura para lo cual se programaron y simularon piezas propias.
Entre los resultados obtenidos se encontr que el puerto de comunicacin funciona
perfectamente, se aprendi a programar en cdigo G y M de manufactura en ambos modos
que permite el software de programacin, no se pudo realizar la comunicacin entre el
computador y el controlador arduino ya que el software no enva datos a menos que su
controlador original de fabrica enve la seal para descargarlos, sin embargo se implement
un programa en arduino que captura y almacena los datos de una comunicacin serial.
1
1. CAPTULO 1: Introduccin
El Laboratorio de Automtica cuenta con equipo de manufactura como lo son el
torno y la fresadora, los cuales son principalmente de carcter didctico y son una
herramienta muy importante para la enseanza en futuros cursos, ya que con ellos los
estudiantes podran aprender su funcionamiento y manejo, conocimiento valiosos
considerando la gran utilizacin actualmente de estos equipos en procesos industriales. El
principal problema que se presenta en el Laboratorio de Automtica es que el equipo de la
fresadora est daado sin interfaz para su control manual ni automtico, en un proyecto
realizado en paralelo por otro estudiante se crear la interfaz de control manual, mientras
en el presente proyecto se muestra la creacin del control automtico para el manejo del
equipo de CNC Mill 5400 Lab-Volt, se pretende aprovechar los recursos disponibles para los
estudiantes. Pues se podr disponer de este para futuras aplicaciones acadmicas.
Por las razones descritas anteriormente se crear el control que permita la comunicacin
entre un computador y la mquina estableciendo una comunicacin serial entre ambas, esto con
ayuda del torno con el que cuenta el laboratorio el cual est en funcionamiento.
La utilizacin de este tipo de mquinas en modo automtico va tomando cada da ms
auge, dado que con esto se disminuye de gran manera el error humano y permite realizar
procesos que impliquen un alto grado de precisin, una vez listo se programaran piezas con
distintas formas para probar su funcionamiento y su vez aprender a programar en los cdigos G
y M de manufactura los cuales aunque no son de carcter universal para todas las mquinas,
2

2

son un gran punto de inicio como modelo para el manejo de futuros equipos que utilicen
cdigos similares.


1.1 Objetivos
1.2 Objetivo general
Instalar e implementar el software adecuado para la descarga de programas de manufactura.

1.1.2 Objetivos especficos
Verificar el funcionamiento del puerto de comunicacin de la fresadora.
Aprender a programar el lenguaje G y M de manufactura.
Habilitar el software para la descarga de piezas.






3

3

1.3 Metodologa
El desarrollo de este proyecto const de varias etapas detalladas a continuacin:
1- Lectura y comprensin de los manuales de uso de los equipos CNC Lathe 5300
Lab-Volt y CNC Mill 5400 Lab-Volt incluyendo tambin cualquier otro
material de utilidad para lograr un funcionamiento adecuado de estos equipos.
2- Revisin de del actual puerto de comunicacin serial que posee la fresadora con
el objetivo de investigar si se puede utilizar y adaptarlo al controlador Arduino
para efectuar la comunicacin entre el computador que enva las instrucciones
de trabajo y la fresadora que las ejecuta.
3- Instalacin del software que permita la programacin de piezas de manufactura
en los lenguajes G y M, as como tambin que estas piezas puedan ser
descargadas por medio de una conexin de la computadora a la fresadora para
su utilizacin en modo automtico.
4- Lectura de los cdigos G y M del torno transmitidos por el cable serial, con el
objetivo de realizar una adaptacin en la fresadora para poder enviar cdigos
propios de esta, desde un computador, con el fin de que el equipo los
implemente de manera automtica para la manufactura de piezas.
4

4

5- Aplicacin de los cdigos G y M para la programacin de diseos propios
donde se demuestren las distintas aplicaciones que se pueden realizar haciendo
uso del modo automtico.
6- Experimentacin con las distintas funciones implementadas en el CNC Mill
5400 Lab-Volt para la demostracin de su funcionamiento en modo
automtico.






5
2. CAPTULO 2: Desarrollo terico
2.1 La fresadora Mill CNC 5400 Lab-Volt
La fresadora o Mill 5400 CNC es una mquina herramienta de manufactura, capaz
de crear piezas con diferentes figuras, a las cuales les da forma mediante la eliminacin de
material de un bloque solido con el que se inicia a trabajar hasta obtener la figura deseada,
esta mquina puede ser controlada manualmente o de forma automtica por un computador,
mediante la previa programacin de las piezas a obtener mediante el control numrico
computacional que se explicar ms adelante, en la siguiente figura se muestra CNC mil
5400 muy similar con la que cuenta el laboratorio de control de la escuela de ingeniera
elctrica.

Figura 2.1 Fresadora 5400 CNC [8]

La fresadora posee diferentes conexiones de entrada y salida la cuales desempean
distintas funciones, algunos de ellos son el puerto de comunicacin serial este permite la
6


comunicacin entre el ordenador y la mquina para el envo de las instrucciones que esta
debe ejecutar, tambin cuenta con un controlador de solenoide que es el que se encarga del
manejo del suplidor de aire comprimido o el equipo neumtico, tambin cuenta con
entradas y salidas TTL las cuales utilizan tensiones digitales de hasta 5 V en la cual se
puede conectar un controlador nativo, en el caso del laboratorio de control en aos
anteriores se planeaba la conexin del brazo robtico.
En el caso de las partes mecnicas de la mquina esta posee cuatro motores uno de
corriente directa que controla la fresa para realizar las perforaciones en el material ya sea
plstico o acrlico, los otros tres motores son los encargados del movimiento de los ejes
tanto en X, Y y Z, estos motores son motores de paso para controlar con precisin el
movimiento de los ejes ya que el controlador sabe exactamente cuantos pasos debe enviarle
para moverse por cierta longitud.
2.2. Control numrico computarizado CNC
La mquinas han contribuido de gran forma en el desarrollo tecnolgico de hoy en
da promoviendo con esto el desarrollo industrial, sin embargo requiere una gran cantidad
de entrenamiento para obtener alta productividad adems que en ocasiones se necesita un
alto grado de destreza y exactitud que es difcil encontrar en un operario, por esta razn se
dot a las mquinas de un sistemas de control computarizado programable de forma
numrica, lo que al fin de cuentas llev a la creacin de la mquina CNC. Segn Garca et
al Se considera control numrico a todo dispositivo capaz de dirigir posicionamiento de un
rgano mecnico mvil, en el que las ordenes relativas a los desplazamientos del mvil son
7


elaboradas en forma totalmente automtica a partir de informaciones numricas definidas,
bien manual o por medio de un programa[2]
Entre las principales razones para introduccin del control numrico en los procesos
de fabricacin estn:
El costo de los productos ya que con CNC se podan fabricar productos a precios
suficientemente bajos.
Con CNC se pueden fabricar productos de gran calidad por la precisin de las
mquinas y en grandes cantidades.
Adems con CNC se pueden fabricar productos que hasta entonces eran
prcticamente imposibles de realizar por un operador humano, por los niveles tan
elevados de complejidad que presentaban algunas piezas.
En un principio el CNC fue creado para solventar problemas de productividad en la
industria luego se dieron cuenta que tambin era una herramienta til para mejorar otros
factores como rapidez y precisin.
Una gran diferencia de una mquina CNC con una mquina manual es que la
computadora interviene en el control de los motores tanto para controlar la velocidad como
la posicin de de los ejes que controla, con esta gran mejora se pueden realizar
movimientos que anteriormente resultaban casi imposibles para un operador realizarlos
manualmente, como por ejemplo los crculos y las lneas en diagonal.
En el caso de las mquinas CNC las rdenes que son dadas a estas, son indicadas
mediante cdigos numricos, a continuacin se muestran algunos ejemplos de cdigos
8


presentes en la fresadora mill CNC 5400, tanto cdigos G que define funciones de
trayectoria o funciones geomtricas, tambin cdigos M que define funciones miscelneas:

Cdigos G
G00: Realiza la trayectoria previamente programada a la mayor velocidad posible por la
mquina
G01: Realiza el movimiento en lnea recta a la velocidad en la que se encuentra.
G02: Realiza una interpolacin en sentido de las manecillas del reloj.
G03: Realiza una lnea de interpolacin en sentido anti horario.

Cdigos M
M04 establece la velocidad a la que gira el motor del taladro.
M05 apaga la fresadora.
M07 establece el nivel de entrada en la fresadora.

En los apndices se presenta una tabla ms completa acerca de las funciones
geomtricas y miscelneas que controlan el trabajo que efecta la fresadora para generacin
de piezas.



9


2.3. Plataforma Arduino: Aspectos generales.
2.3.1. Descripcin General
Se conoce como plataforma a aquella estructura ya sea de hardware o de software
sobre la cual ciertas aplicaciones pueden ser ejecutadas, es por esto que se establece que
Arduino es una plataforma que permite mediante sus mltiples utilidades la creacin de
mltiples sistemas electrnicos, la plataforma Arduino sobresale por que brinda la
posibilidad de crear estructuras muy manejables y que se puedan adaptar a un gran nmero
de aplicaciones.
Los diferentes modelos Arduino creados hasta la fecha, pueden realizar una
comunicacin de forma efectiva y satisfactoria con el exterior ya que puede tomar la
informacin del exterior haciendo uso de sus pines de entrada y su alta gama de sensores y
a su vez puede intervenir en su entorno realizando control en distintos dispositivos como
luces, actuadores y motores.
En cuanto a la programacin el lenguaje utilizado para programarlo y efectuar el
control de las placas se basa en un lenguaje predecesor conocido como Wiring, el que
tambin posee la cualidad de ser un entorno de programacin abierta, que fue concebido
principalmente para la creacin y exploracin de prototipos en electrnica y para el control
de hardware en general, en Arduino el lenguaje utilizado para la programacin de las
aplicaciones es llamado Lenguaje de Programacin Arduino, nombre acuado por sus
creadores.
10


El lenguaje de programacin arduino presenta varias ventajas a continuacin se
presentan las ms importantes:
Cdigo libre y software ampliable: el software que hace uso la estructura Arduino
es de carcter libre, por esta razn los usuarios no encuentran problemas para
disponer de l cuando lo requieran, adems de estos la realizacin de las diferentes
mejoras est abierto con el nico requisito del manejo del lenguaje de programacin
C++.

Costo: La tarjeta de control de Arduino posee un costo menor al de dispositivos
similares conclusin a la que se llega realizando una adecuada comparacin.

Entorno de programacin sencillo: El entorno de programacin ha sido
desarrollado de modo que usuarios de distinto nivel ya sea desde principiantes hasta
personas con altos conocimientos en la materia puedan encontrar en este un medio
sencillo de programacin.

Multiplataforma: Esta caracterstica crea una gran ventaja sobre otros sistemas de
controladores ya que la plataforma arduino puede ser ejecutada en distintos sistemas
operativos como por ejemplo: Macintosh OSX, GNU/Linux y Windows lo que
difiere de muchos otros sistemas donde esto no se puede realizar.

11


Hardware Extensible: Las aplicaciones del controlador aumentan al utilizar
hardware externo y al estar los planos del sistema disponibles para el usuario, este
puede realizar modificaciones a la estructura principal.

2.3.2. Arduino Mega
2.3.2.1. Caractersticas generales
El Arduino Mega es una placa de control basada en el microcontrolador
ATmega2560, entre entradas y salidas posee 54 pines de los que catorce de estos brindan
una salida PWM, tambin tiene cuatro puertos de serie por hardware o UARTS y diecisis
entradas analgicas, adems su cristal oscila a 16 MHz, presenta conexin USB, entrada de
corriente, conector ICSP y botn de reset. En general contiene posee todo lo necesario para
hacer funcionar el microprocesador ATmega2560, conectndolo desde el computador por
medio del cable USB o por alimentacin externa, a continuacin se presenta la imagen del
Arduino Mega 2560, seguido de una tabla donde se resumen las caractersticas del Arduino
Mega.
12



Figura 2.2 Placa de control Arduino Mega.[6]

Tabla 2.1Caracteristicas del Arduino Mega 2560[6]
Caracterstica Descripcin
Microcontrolador ATmega2560
Voltaje de funcionamiento 5V
Voltaje de entrada 7-12V
Voltaje de entrada 6-20V
Pines E/S digitales 54 (14 proporcionan salida PWM)
Pines de entrada analgica 16
Intensidad por pin 40 mA
Intensidad en pin 3.3V 50 mA
13


Memoria Flash 256 KB de las cuales 8 KB las usa el gestor
de arranque
SRAM 8 KB
EEPROM 4 KB
Velocidad de reloj 16 MHz

2.3.2.2. Alimentacin
El dispositivo Arduino Mega se puede alimentar de energa de dos maneras
diferentes la primera de ellas es mediante la conexin a un computador utilizando el cable
USB o la segunda manera es mediante la alimentacin de una fuente externa ya sea por
batera o que por transformador obtenga la energa directamente del tomacorriente, el
origen de la alimentacin es seleccionado automticamente segn se conecte.
En el caso de que la placa no sea alimentada va USB sino que se alimente por
medios externos como transformador o batera, si la alimentacin se realiza con
transformador se este se conecta utilizando un conector macho de 2.1 mm con el centro
positivo en el conector hembra de la palca destinado para este propsito, pero si se utiliza
batera pueden conectarse los cables a los pines GND y VIN en los conectores de
alimentacin, la placa puede funcionar con alimentacin externa que se encuentre entre un
rango de 6 a 20 V, pero se recomienda que la alimentacin est en un rango de 7 a 12 V ya
que si se utilizan ms de 12 V los reguladores de tensin se pueden sobrecalentar daando
14


el dispositivo caso contrario si se alimenta con una tensin menor a 7 V el pin de 5 V
puede proporcionar tensiones menores a los 5 V.
A continuacin se presentan los pines de alimentacin:
VIN: este pin puede ser utilizado para alimentar la placa cuando esta siendo
alimentada por una fuente externa, si se alimenta a travs de una conexin de
2.1mm se puede acceder a ella por medio de este pin
5V: es la fuente de tensin estabilizada la cual se utiliza para alimentar el
microcontrolador y dems componentes de la placa, esta tensin puede provenir de
diferentes lugares ya sea del VIN mediante un regulador integrado en la misma
placa, tambin puede provenir de la conexin USB u otra fuente estabilizada de 5
V.
3V3: Esta es una fuente de voltaje de de 3.3 V la cual es generada por el chip FTDI
integrado en la placa y posee una corriente mxima de 50mA
GND: estos son los pines de conexin a masa o de toma a tierra



2.3.2.3. Memoria
El ATmega2560 posee 256KB de memoria los cuales pueden ser utilizados para
almacenar el cdigo, pero 8KB de esta memoria es ocupada por el bootloader para arrancar
el sistema.
15



2.3.2.4. Entradas y salidas
El Arduino Mega2560 dispone de 54 pines digitales los cuales pueden ser utilizados
tanto como entradas o como salidas dependiendo de la funcin que se programe para cada
una de ellas ya que se pueden utilizar comandos como pinMode(), digitalWrite(), y
digitalRead(), estos pines funcionan a 5 V y cada uno puede operar proporcionando o caso
contrario recibiendo una corriente mxima de 40mA, algunas de las funciones especificas
de ciertos pines se muestran a continuacin:
Serie: son utilizadas para enviar o recibir datos a travs de los puertos TTL, en el
caso del Arduino Mega2560, este posee cuatro puestos serie los cuales incluyen el
transmisor y el receptor y son Serie: 0 (RX) y 1 (TX), Serie 1: 19 (RX) y 18 (TX);
Serie 2: 17 (RX) y 16 (TX); Serie 3: 15 (RX) y 14 (TX).

Interrupciones externas: estos pines pueden ser configurados para realizar una
interrupcin a un valor de bajo o LOW(0V), en flancos de subida o bajada o en
cambios de valor, estos pines son: interrupcin 0, pin 2; interrupcin 1, pin 3;
interrupcin 5, pin 18; interrupcin 4, pin 19; interrupcin 3, pin 20; interrupcin 2,
pin 21.

16


PWM: estos pines proporcionan una salida de modulacin de onda por pulso, la
cual posee una resolucin de 8 bits por lo tanto puede utilizar valores de 0 a 255, se
utiliza a travs de la funcin analogWrite().

2.3.2.5. Comunicaciones
En el caso del Arduino Mega la comunicacin con el computador se ve facilitada en
varios aspectos ya que el microcontrolador ATmega2560 dispone de cuatro puertos de
comunicacin va serie UART TTL o sea que trabaja con tensiones no mayores a los 5 V,
adems se dispone de una librera que permite la comunicacin serial por cualquier par de
pines digitales del Arduino Mega.

2.3.2.6. Programacin
Como se mencion anteriormente, el lenguaje de programacin de Arduino se basa
en el lenguaje de programacin Wiring, adems que su entorno se basa en Processing, a
continuacin se muestra una imagen del entorno utilizado en la programacin del Arduino.
17



Figura 2.3 Entorno de programacin de Arduino [6]

2.4. Comunicacin serial

La comunicacin serial recibe ese nombre porque los bits se reciben o se envan uno
despus del otro o en forma serial, caso contrario de la comunicacin en paralelo donde
varios bits se transmiten simultneamente, la comunicacin serial se utiliza comnmente
para realizar comunicaciones entre el computador y sus aparatos perifricos transmitiendo
18


de manera digital los datos, la comunicacin serial utiliza el protocolo RS-232 y es uno de
los mtodos ms comnmente utilizado en las comunicaciones.
Para la comunicacin serie RS-232 se utiliza el conector DB9 el cual posee nueve
pines entre ellos el pin de transmisin de datos, el de recepcin, el de puesta a tierra y el
resto que se mencionaran ms adelante y son los que se utilizan para poner en marcha el
protocolo de comunicacin RS-232, a continuacin se presenta una imagen donde se
muestran los conectores DB9 tanto el conector hembra como el conector macho.


Figura 2.4 Conectores DB9, macho y hembra. [7]

Otra versin de conectores que se utiliza en la comunicacin serial RS-232 es el
conector DB25 el cual como su nombre lo indica posee 25 pines, pero este conector no ser
relevante en este proyecto a diferencia del conector DB9 que es el conector que utiliza el
computador para enviar la informacin de control a la fresadora para la realizacin de algn
proyecto.
19


2.4.1. Principio de funcionamiento del puerto serial
El estndar del puerto serial es un estndar antiguo sin embargo este se ha
mantenido vigente debido a lo prctico que ha resultado, los computadores aun lo
incorporan hoy en da, la E.I.A o Institucin de normalizacin Americana desarroll la
norma RS-232C que es la que regula el protocolo de transmisin de datos, las seales
elctricas, el cableado y los conectores que se deben emplear en una conexin RS-232.
La comunicacin que se realiza a travs del puerto serial es una comunicacin
asincrnica, es por esta razn que es necesaria la presencia de un bit adicional con el cual se
puedan intercambiar la seal de pulso el transmisor y el receptor, para realizar este
intercambio existen diferentes programaciones de puertos seriales:
Bit de inicio: este funciona cuando el receptor detecta el bit de inicio por lo que
sabe que la transmisin comenz, por tanto a partir del momento en que recibe el bit
de arranque comienza a leer los datos enviados en la transmisin a intervalos de
tiempo definidos por la velocidad de la transmisin.
Bit de parada: este bit establece la finalizacin de transmisin de una palabra de
datos.
Bit de paridad: este bit es utilizado para detectar errores que ocurran en la
transmisin ya que se le puede dar paridad par o impar para completar la palabra de
datos a enviar por lo tanto si el transmisor enva una palabra de datos par el receptor
deber recibir una palabra par de lo contrario se sabr que ocurri un error durante
la transmisin.
20



Un concepto importante en la comunicacin serial es la tasa de baudios la cual es la
unidad de medicin que indica el nmero de bits transferidos por segundo. Los baudios son
mediciones de la cantidad de bits de datos en una transmisin, generalmente la tasa
utilizada es de 9600 baudios, es importante conocer el tamao del paquete que se esta
enviando ya que de esto depende la tasa de baudios, la cual si se elige incorrectamente
provocar errores en la transmisin.
Los valores estndar para los paquetes de datos son de 5, 6, 7, y 8 bits. Por tanto, se
debe elegir un valor adecuado para conseguir la correcta transferencia de la informacin.
2.4.2. Protocolo RS-232
Como ya se mencion anteriormente se utiliza un conector DB-9 para realizar la
conexin generalmente entre un computador y algn dispositivo perifrico, el puerto serial
trabaja con seales digitales de +12 V para representar el valor lgico 0 y -12 V para el
valor lgico 1 esto para la entrada y salida de datos, esto representa un problema para
este proyecto en especifico ya que en el se trabar con el dispositivo Arduino Mega el cual
no soporta estas tensiones por lo tanto se deber realizar una conversin de esta tensin a
valores TTL que rondan los 5 V, a continuacin se presentan las funciones especificas de
cada uno de los 9 pines que emplea el protocolo serie RS-232 para realizar la
comunicacin.


21


Tabla 2.2 Distribucin de pines del protocolo serial RS-232 [0]
Nmero de Pin Seal Descripcin Funcin E/S
1 CD/DCD (Data) Carrier Detect Deteccin de seal portadora E
2 RxD Receive Data Recibir Datos. E
3 TxD Transmit Data Transmitir Datos. S
4 DTR Data Terminal Ready Terminal de datos listo. S
5 SG Signal Ground Referencia a tierra de las seales -
6 DSR Data Set Ready Equipo de datos listo. E
7 RTS Request To Send Solicitud de envo. S
8 CTS Clear To Send Libre para envo. E
9 RI Ring Indicator Indicador de llamada. E


En la tabla anterior se puede observar como las seales RXD, DSR, DCD y CTS
son seales de entrada mientras que TDX, DTR y RST son seales de salida adems la
seal SG es la referencia a tierra para todas las otras seales, a continuacin se presenta el
uso que se le da en el protocolo RS-232 a cada seal.
2.4.3. Utilizacin de las seales RS-232
RXD, Recibe Datos: por este pin ingresan los datos enviados por los dispositivos
externos con lo que se establece la comunicacin.
22


TDX, Transmite Datos: Este pin es el encargado enviar los datos hacia el
dispositivo externo con el que se esta comunicando.
DSR, Conjunto de datos listo: este pin por lo general es mantenido en un valor
lgico permanente de 0.
GND, Tierra de seal: este pin sirve de referencia para todos los otros pines ,
adems es de gran importancia ya que la comunicacin se da con valores positivos y
negativos que esta tierra se encarga de referenciar.
DTR, Terminal de datos listo: este pin ejecuta el control principal del dispositivo
externo con el que se comunica el computador, es el encargado de decidir si el dispositivo
externo transmite o recibe dato alguno.
RST, Solicita permiso para enviar datos: este pin se utiliza generalmente para
efectuar un handshaking o estrecharse la mano entre los dispositivos que se
comunican, entonces si el dispositivo al que se le van a enviar los datos puede recibir los
datos lo hace saber poniendo un valor lgico de 0 en el pin CTS.
CTS, Pista libre para enviar datos: este pin acompaa al anterior para la
realizacin del handshaking ya que este pin se pone en 0 cuando esta listo para la
recepcin de datos del computador.
RI, Timbre telefnico: este pin es de unos exclusivo para cuando un Controlador
lgico programable esta conectado a un modem.
En sntesis los pines que portan los datos a transmitir son RXD y TXD, los dems se
encargan de otras labores como el DSR que indica si el dispositivo externo se encuentra
23


encendido, el DTR que similar al anterior pero este indica si el computador esta encendido,
el RTS indica si el ordenador puede recibir datos o no, tambin esta el CTS que indica si el
aparato conectado puede recibir datos y por ultimo el DCT que detecta la presencia de
datos por tanto descubre la existencia de comunicaciones.









24


CAPTULO 3: Control automtico de la fresadora
3.1 Verificacin del funcionamiento del puerto serial
Para realizar la comunicacin entre la computadora que posee instalado el software de
control donde se programan y simulan las instrucciones y la fresadora que las ejecuta es
necesario que exista una comunicacin por medio del puerto serial de ambos dispositivos,
por esta razn se realiz un diagnostico del puerto serial existente verificando su
funcionamiento para poder adaptarlo al controlador Arduino que fue el que se utiliz y con
el cual se realiz el control de la fresadora, por tanto se efectuaron algunas pruebas de
continuidad entre la parte externa que presenta los pines de conexin para el cable de
comunicacin o conector macho y la parte interna del puerto la cual esta conectada por un

Figura 3.1 Parte externa del Puerto serial.
25


cable que lleva las seales hasta el controlador de la mquina que en este caso llevaba las
seales hacia el controlador antiguo que ya no existe y el cual fue sustituido por el Arduino
Mega2560, a continuacin se muestra una imagen en la figura 3.2 de los cables que van
desde la conexin externa mostrada en la figura 3.1 hasta la conexin que llega al
controlador que recibe los datos mostrada en la figura 3.3, este es un cable interno el cual
trasporta los datos provenientes del computador cuando se realiza una comunicacin
exitosa y se quieren enviar instrucciones para que la mquina CNC trabaje de forma
automtica y no tener que realizar las piezas manualmente.

Figura 3.2 Cable de conexin del puerto serial.
El conector que entra directamente a la tarjeta que contiene el controlador, es un
tipo de conector diferente al conector DB9 utilizado en la comunicacin serial como se
puede observar en la figura 3.3 y aunque el cable para realizar la comunicacin entre la
mquina y el computador es un cable especial, este tambin posee una distribucin de los 9
26


pines del conector DB9, por lo tanto se realizaron unas pruebas de continuidad para
encontrar la respectiva distribucin de pines del protocolo de comunicacin RS-232 y para
verificar el funcionamiento de los cables que comunican desde la parte externa de la
mquina hasta la parte interna donde se encuentra el controlador de la misma, luego de
realizar esas pruebas se obtuvo una distribucin que se observa en la figura 3.4.

Figura 3.3 Conexin interna del puerto serial al controlador.






27








Figura 3.4 Distribucin de los pines en el conector interno
En la figura anterior se observa que aunque no es un conector tradicional DB9 si se
sigue con una distribucin similar a la de estos, adems a raz de las pruebas efectuadas se
logr comprobar el funcionamiento del puerto serial instalado en la mquina ya que todos
los cables contaban con continuidad y los nueve pines que se requieren para realizar la
conexin serial estaban habilitados y en buen estado, luego de estas pruebas se procedi a
realizar transmisiones de seales de un generador de seales para corroborar el buen
funcionamiento, a continuacin se presenta una imagen obtenida al trasmitir por los
conectores del puerto serial.

1
6
2 3
7 8
4
9
5
X
28



Figura 3.5 Transmisin de prueba por los conectores del puerto serial.

3.2 Comunicacin serial entre el computador y el Arduino Mega
3.2.1 Etapa de acople de tensiones
Para lograr el objetivo descargar listas de instrucciones de la computadora hacia la
fresadora para que sean ejecutadas en esta, se procedi primero a verificar el con el torno la
comunicacin serial entre el programa CNC Lathe Level 4, en la figura siguiente se puede
observar una captura obtenida de la comunicacin serial entre el computador y el torno
cuando se descarg una serie de comandos para ser ejecutados en este.

29



Figura 3.6 Captura de datos enviados por el puerto serial

De esta figura se observa el tipo de datos enviados por el puerto serial estos datos
son los que se desean capturar y decodificar para implementarlos en la fresadora mediante
el arduino, pero como se puede observar tambin la comunicacin serial esta posee niveles
de tensin de +12V para 0 lgico y -12V para 1 lgico, estas tensiones pueden daar el
dispositivo de Arduino por lo que antes de conectarlo directamente se debe implementar
una etapa de conversin de tensiones de uso comn en el estndar RS-232 a tensiones TTL
que van de 0V a 5V y son las adecuadas para trabajar con este dispositivo, a continuacin
se presenta una imagen donde se observan una transmisin serial a travs del controlador
Arduino con tensiones TTL y su respectivo valor lgico.
30



Figura 3.7 Transmisin serial por dispositivo Arduino.[11]

Para la conversin obligatoria de estos niveles de tensin es necesaria la utilizacin
del circuito integrado MAX232 el cual es un elemento elctrico especializado para la
realizacin de esta funcin, debido a la imposibilidad de encontrarlo en el mercado nacional
se opt por la utilizacin de su homlogo el NTE7142 , este dispositivo cuenta con cuatro
canales de comunicacin dos en cada sentido, pero en este proyecto solo se utilizar uno
que va desde la computadora hacia el Arduino y otro que va del Arduino a la computadora,
este dispositivo es fcil de implementar ya que para funcionar solo necesita que se le
adicionen 5 capacitores como se muestran en la siguiente figura y su alimentacin es de
solo 5 V ya que las dems tensiones son obtenidas de los capacitores que se colocan.

31



Figura 3.8 Dispositivo MAX232
Este circuito fue implementado fsicamente y probado mediante una bifurcacin del
cable de comunicacin serial para verificar el funcionamiento del dispositivo convirtiendo
las tensiones que iban de +12V a -12V a tensiones TTL de 0V a 5V, a continuacin se
observa la imagen obtenida al implementar el circuito NTE7142 con sus correspondientes
capacitores.
32



Figura 3.9 Funcionamiento del circuito integrado NTE7142
En la imagen anterior se observa como en el canal 2 se tiene la seal del protocolo
RS-232 la cual posee valores relativamente altos y los cuales tambin son tanto positivo
como negativos ya que un 1 lgico se representa con -12V y un 0 lgico se representa
con una tensin de 12V, en el caso del canal 1 el cual posee la seal luego de pasar por la
etapa de transformacin a tensiones TTL se observa que las tensiones no superan los 5V y
adems no existen valores negativos ya que el cero lgico se representa con una tensin de
0V y el uno lgico se representa con una tensin aproximada de 5 V, estas son las tensiones
que necesita el dispositivo Arduino para trabaja sin que corra el riesgo de ser daado.

33


Para el caso del la obtencin de las seales que se envan para que la mquina ejecute
en modo automtico, se trabaj con el programa Mill Level 4 de Lab Volt con la
intensin de realizar comandos cortos para poder capturarlos realizar una decodificacin de
su representacin enviada a travs de unos y ceros por el puerto serial, por ejemplo se
enviara el comando de realizar una lnea entonces este comando sera capturado y se
decodificara cual era la parte que defina que se realizara la lnea y cual parte contena los
datos como los puntos finales de la lnea, en el desarrollo de este proceso se intent de
varias maneras primero enviando directamente al arduino pero este no encontraba la
informacin enviada, luego se trabaj con el programa Hyperterminal de Windows el cual
puede establecer la conexin en serie entre dos computadores para la transmisin de datos,
en un computador se corra el programa propio de la fresadora Lab-Volt intentando
enviar instrucciones o cdigos de programacin pequeos para que la otra computadora los
capturara y luego proceder a decodificarlos como anteriormente se mencion, pero se
encontr el inconveniente que el programa que es en el que se escriben los cdigos, se
realizan las simulaciones y se envan los datos a ejecutar en la mquina por el puerto serial,
no enva los datos a menos que se encuentre la mquina conectada en el otro extremo, en
una primera instancia se pens que esto obedeca a diferencias en los estados de los pines
que facilitan la comunicacin con el protocolo RS-232, por lo tanto se procedi a la
medicin de estas tensiones en el torno cuando este estaba listo para recibir datos del
computador, a continuacin se presentan las tensiones medidas.

34


Tabla 3.1 Medicin de las tensiones en la conexin serial para el torno
Nmero de Pin Tensin
[V]
Valor lgico
1 -9.4 1
2 -10.2 1
3 -6.0 1
4 6.2 0
5 0 -
6 -9.4 1
7 6.4 0
8 -9.6 1

Y luego se procedi a realizar las mismas mediciones de tensin en los pines del
puerto serial pero esta vez en las computadoras en las que se deseaba realizar la trasmisin
por medio del programa Hyperterminal, a continuacin se presentan los resultados
obtenidos para este otro caso.

35



Tabla 3.2 Medicin de las tensiones en la conexin serial entre dos computadores
Nmero de Pin Tensin
[V]
Valor lgico
1 -8.38 1
2 -8.79 1
3 -9.29 1
4 8.28 0
5 0 -
6 -8.38 1
7 9.12 0
8 -9.14 1

En esta ocasin se observ que aunque existen diferencias de tensin entre ambas
mediciones los valores lgicos que estas representan se encuentran iguales por lo tanto la
falta de transmisin no se debi a un problema en el protocolo RS-232 ya que este se
encontraba con la bandera de que la mquina estaba lista y libre para recibir datos y aun as
no los envi, esto se corrobor despus en el laboratorio al utilizar un cable serial el cual
estaba cortado a la mitad y conectado mediante una protoboard, lo que permita ir
desconectando pines e intentar la conexin entre la computadora y el torno, se lograron
desconectar uno por uno todos los pines del protocolo RS-232 excepto los pines de
transmisin, recepcin y tierra y el torno todava reciba datos y los ejecutaba sin problemas
36


y tambin el programa CNC Lathe Level 4 de Lab-Volt enviaba los datos a este sin ningn
problema o error, por lo tanto se observ que la comunicacin entre el programa que enva
los cdigos o las instrucciones y la mquina que las ejecutar, no ser posible si no se
cuenta con la mquina apropiada ya que es posible que el controlador de la mquina CNC
enve una especie de llave que permite la comunicacin, es por esta razn que no se pudo
lograr la transmisin entre dos computadores conectados por Hyperterminal, como la
fresadora no posee el controlador original no existen los cdigos que permitan iniciar la
transmisin, por esta razn que en este proyecto no se realizar la captura ni decodificacin
de datos ya que no sera de ninguna utilidad si se mantiene este software nativo de la
mquina, la recomendacin ms conveniente sera utilizar software desarrollado en
proyectos anteriores cuyo objetivo era enviar esta informacin al controlador existente,
solamente que ahora se enviara al controlador Arduino, sin embargo el proyecto se
continu desde este punto previendo que en un futuro la comunicacin entre algn
programa y la mquina se pueda realizar, por esta razn se realiz un programa en Arduino
que sea capaz de adquirir los datos que seran enviados por medio de la comunicacin
serial, almacenarlos y luego ejecutarlos con subrutinas y movimientos anteriormente
programados para cada cdigo.

3.2.2 Programa de recepcin de datos por el puerto serial en Arduino.
Se trabaj con el Arduino Mega para el cual se cre un programa basado en las
funciones principales para la comunicacin serial con otros sistemas, para la
37


implementacin de este cdigo que permitiera capturar datos, almacenarlos para luego
ejecutarlos, primera mente se busc informacin como guas de programacin para la
realizacin de este, a continuacin se presentan las principales funciones utilizadas en este
programa.
Lo primero que se realiz fue abrir el puerto serial en el programa. Para ello se utiliza la
funcin beginSerial(rate); en el rate se escribi la tasa de baudios utilizada generalmente la
ms comnmente usada es de 9600 baudios y esta es la que emplea el programa que se
encarga de enviar los datos desde el computador, como solo se va a correr una vez se
coloca en el void setup(), tambin se utiliz la funcin Serial.available() que devuelve el
numero entero que hay en el buffer disponibles para utilizar que ya se han recibido por el
puerto serial y Serial.read() para leer el dato.
Adems se trabaj con la librera EEPROM para el almacenamiento de los datos en esta
memoria, el cdigo se adjunta en los anexos.
Como no se logro realizar la lectura de la llave que abre la comunicacin serial ya que
se intent comunicar el software CNC Mill Level 4 con el torno y en el programa se
produca un error, no se lograron capturar los cdigo que se enviaban como se tena
planeado desde un inicio es por esta razn que el programa se realizar sin esa etapa
intermedia de decodificacin y traduccin de los cdigos que enva la maquina a los
cdigos habilitados para el nuevo funcionamiento de la fresadora, a continuacin se
presenta la tabla con las instrucciones y cdigos que se podrn utilizar con el nuevo
controlador.
38


Tabla 3.3 Instrucciones habilitadas para el nuevo controlador

Cdigo
Original
Cdigo en el
Arduino en binario
Hexadecimal
Funcin
G01 b11111111 0xFF Lneas rectas
G02 b11111110 0xFE Arcos a favor del reloj
G03 b11111101 0xFD Arcos en contra del reloj
G04 b11111100 0xFC Pausa
G25 b11111011 0xFB Cambiar el origen
G26 b11111010 0xFA Restaurar origen
G70 b11111001 0xF9 Pulgadas
G71 b11111000 0xF8 Milmetros
M04 b11110111 0xF7 RPM
M05 b11110110 0xF6 RPM=0
M07 b11110101 0xF5 Definir Feedrate
M30 b11110010 0xF2 detener y regresar al inicio
M31 b11110001 0xF1 detener y reiniciar
EJEX b11101101 0xED indica posicin absoluta en x
EJEY b11101100 0xEC indica posicin absoluta en y
EJEZ b11101011 0xEB indica posicin absoluta en z

39


Como no se logr realizar la decodificacin ya que no se puede obtener la llave de apertura
del puerto serial se recomienda utilizar software desarrollado en proyectos anteriores en los
cuales se trabaj igualmente con la fresadora y cuya funcin era enviar las instrucciones de
control como igualmente lo hace el software CNC Mill Level 4 de Lab-Volt o en su
defecto crear un software nuevo que lea un archivo txt lo traduzca en los comandos de la
tabla 3.3 y los envi por el puerto de comunicacin para que el arduino se encargue de
capturarlos y almacenarlos en la memoria EEPROM, mediante los programas prototipo que
se presentan en el apndice D, los cuales ya fueron probados mediante el envi de datos
desde el programa Hyperterminal, y el arduino se encarga de leerlos y almacenarlos, como
se observa en la siguiente figura donde se prob mediante un arduino uno, para leer los
datos almacenados una vez ledos del puerto serial.

Figura 3.10 Datos leidos y almacenados en la memoria EEPROM
40


Para la programacin de piezas mediante los lenguajes de manufactura G y M se
tienen dos opciones en el programa Mill Level 4 de Lab Volt, se puede elegir entre
programacin Line Mode que se refiere a la programacin a escribiendo a mano cada
cdigo G o M respectivo para lo que se desea lograr o el otro mtodo de programacin es
por Block-Mode este es ms intuitivo ya que como su nombre lo indica se van agregando
bloques de comandos con la secuencia que se desee que se realicen, en la siguiente figura
se presenta la pantalla donde se elige el tipo de programacin que se va a utilizar entre otros
parmetros importantes a la hora de realizar la pieza que se desea.

Figura 3.11 Pantalla de inicio para crear un nuevo proyecto.
En la figura 3.11 se puede observar que al iniciar un proyecto se deben establecer
los parmetros ms importantes antes de iniciar la programacin de la pieza primero como
ya se mencion anteriormente se debe escoger que tipo de programacin se desea realizar si
en forma lineal escribiendo los cdigos o en bloques, adems se deben elegir las unidades
con las que se desea trabajar ya sean milmetros o pulgadas e introducir las dimensiones del
41


material en bruto con el que se va a trabajar, a continuacin se presenta una imagen donde
se ejemplifica un bloque solido de plstico con los que trabaja la fresadora para realizar las
piezas y sus respectivas dimensiones medidas en el laboratorio.

Figura 3.12 Bloque en bruto para la realizacin de piezas
Adems volviendo a la Figura 3.11 se debe establecer si la programacin ser
realizada en coordenadas absolutas que se trabaja como si fuera un plano cartesiano normal
donde el eje X corresponde de la esquina inferior izquierda hacia la derecha, el eje Y
de igual modo pero hacia arriba y por ultimo el eje Z hacia abajo. En el modo absoluto
se dan las coordenadas a las que se desea que la fresa en milmetros desde la esquina
inferior izquierda tomada como referencia, el otro modo de incremental estas no toman de
referencia la esquina inferior izquierda si no que el ultimo punto a donde se desplaz la
fresa de este punto se genera las nuevas coordenadas.
12 mm
50 mm
50 mm
42


Por ultimo se elige el material con el que se va a trabajar es decir el material del que esta
compuesto el bloque a fresar, en el laboratorio se cuentan con bloques de acrlico y
plstico.
Otro aspecto a tomar en cuenta para la programacin es el ancho de la broca de fresado
ya que se pueden utilizar varias brocas diferentes la que contaba la mquina por el
momento se obtuvo que mide aproximadamente 3mm lo que quiere decir que realiza
pequeos crculos de 3mm de dimetro, que aunque parezca una pequea longitud, esta si
debe ser tomada en cuenta a la hora de disear piezas ya que se trabaja con bloques
relativamente pequeos y medidas muy exactas, adems que si no se toman en cuenta
pueden interferir con otras lneas y producir un error en la figura que se desea realizar.
3.2.3 Creacin de pieza mediante la programacin por bloques
Para la creacin de una pieza mediante la programacin por bloque, primero se
establecieron los parmetros necesarios con los cuales se va a trabajar en la pieza, para este
caso se trabaj con milmetros e introduciendo las dimensiones de la pieza obtenidas en el
laboratorio, adems se eligieron las coordenadas absolutas por comodidad y como material
el plstico como se observa en la siguiente figura.
43



Figura 3.13 Parmetros elegidos para la programacin por bloques
En la programacin por bloques la creacin de piezas resulta muy intuitiva ya que
como se muestra en la siguiente figura, se presentan los cdigos con los que se va a trabajar
a un lado y se introducen las coordenadas y las velocidades de manera sencilla.

Figura 3.14 interfaz de programacin por medio de bloques
44


La pieza que se program para simular su fresado fue una figura simple, la cual se
compone de un crculo y de una estrella en el centro, esto se decidi as ya que la fresadora
que ser controlada por Arduino no ejecutar todos los comando con los que esta vena de
fabrica en un inicio, es por esta razn que se eligi una figura que se pudiera replicar una
vez la mquina trabaje correctamente y que no surjan errores por programar con cdigos
que ya la mquina no cuente para su ejecucin.

Figura 3.15 Programacin de la figura por bloques.
Al simular la pieza se obtiene la siguiente figura.
45



Figura 3.16 Figura obtenida de la programacin por bloques.

3.2.4 Creacin de pieza mediante la programacin lineal
Para la programacin lineal se eligen los parmetros como en caso anterior, solamente
con la diferencia en el caso del editor donde se elige el Line-Mode para la programacin
introduciendo manualmente los cdigos G y M

Figura 3.17 Parmetros para la programacin lineal.
46


En este caso la programacin se realiza introduciendo los cdigos y los parmetros
manualmente como se muestra la siguiente figura.

Figura 3.18 Programacin de modo lineal.
En el caso de este tipo de programacin es necesario saber los cdigos o
tenerlos a mano para poder utilizarlos, diferente a la programacin por bloques que los
cdigos principales aparecen a un lado por lo que es un poco ms sencillo, sin embargo
cuando se obtiene prctica programando se realiza de manera ms rpida que la
programacin en bloques que es ms tediosa su programacin.
A continuacin se presenta la figura programada de manera lineal para los cdigos
G y M, donde se emplearon los conceptos adquiridos durante el tiempo empleado para el
conocimiento de estos cdigos, adems se observa como solamente con lneas y arcos se
pueden crear casi cualquier figura que se desee y como la fresadora va a tener disponibles
estos movimientos son piezas que se pueden llegar a implementar en determinado
momento, otro aspecto importante es que en la simulacin de piezas programadas de
47


manera lineal corre de manera ms fluida sin presentar tantos problemas como en el caso de
la programacin por bloques donde las simulaciones algunas veces se quedaban atascadas y
cerraban el programa de improviso.

Figura 3.19 Pieza programada de manera lineal.
48



4. Captulo 4: Conclusiones y Recomendaciones
A continuacin se presentan las principales conclusiones y una serie de
recomendaciones a las que se llegaron al realizar presente proyecto.

La Fresadora es una mquina CNC la cual puede ser de gran utilidad en la
enseanza de procesos de control e industrializacin a estudiantes de la escuela de
ingeniera elctrica, sentando las bases de procesos que los estudiantes se podran
encontrar en el mundo laboral en alguna ocasin dado al alto xito de estas
mquinas en el mundo industrial y de precisin, es por esta razn la importancia de
tener habilitado y en funcionamiento estos equipos del laboratorio de control.
Se verific el buen funcionamiento del hardware existente para el puerto serial de la
fresadora, por lo tanto se establece la posibilidad de conexin con un computador el
cual pueda enviar una serie de instrucciones, para que estas sean ejecutadas de
manera automtica por la mquina con ayuda del controlador Arduino, se corrobor
que todas las conexiones que se encargan de llevar los datos en una comunicacin
serial o hacer el control de flujo, funcionaran, mediante pruebas de continuidad y de
transmisin de seales.
El protocolo de comunicacin RS-232 utiliza valores de tensin relativamente
elevados y con valores negativos, lo que es incompatible con el dispositivo arduino
que utiliza valores de tensin TTL, es por esto que es necesario realizar una etapa de
49


acoplamiento y de transformacin de tensiones para que los datos enviados por el
puerto serial de una computadora sean compatibles con un controlador Arduino y
que su interaccin no llegue a daar este dispositivo, para realizar este cambio de
tensiones del estndar RS-232 a tensiones TTL se utiliz el dispositivo NTE 7142 el
cual es fcil de conseguir en el mercado nacional y su implementacin como
circuito tampoco es complicada ya que solo necesita cinco capacitores adicionales y
una fuente de alimentacin de 5 V, las pruebas realizadas en este dispositivo
resultaron exitosas.
La captura de los cdigos G y M que son los que se trabaja para programar los
movimientos a ejecutar por la fresadora present grandes inconvenientes el primero
de ellos fue el programa CNC Mill Level 4, en el cual se programan y simulan las
instrucciones que realizar la mquina posteriormente, este software no enva los
datos por el puerto serial hasta que tenga la mquina especifica conectada, y aunque
en un principio se pens la posibilidad de errores en las seales de control del
protocolo RS-232 luego se comprob que no era as y que muy probablemente el
controlador de la mquina, posee un tipo de llave que habilita la comunicacin
serial para la descarga de datos, por lo tanto no se logr la captura ni decodificacin
de datos enviados desde este software, se intent dicha lectura mediante el
programa Hyperterminal de Windows pero tampoco funcion, es por esta razn que
se recomienda la utilizacin de un software realizado en un proyecto anterior
similar ya que como el controlador de la fresadora no ser el original, si no que ser
50


controlada por Arduino el software original tampoco funcionar ni enviar datos por
el puerto serial o eventualmente la creacin de un programa propio el cual se
encargue de leer un archivo de formato .txt donde iran las instrucciones, para que
este software las traduzca conforme a la tabla 3.3 y envie los datos listos por el
puerto serial donde el arduino solo tenga que leerlos y almacenarlos para su
utilizacin con programas similares a los aqu desarrollados.
Se cre el software de control el cual debe capturar los datos provenientes del
puerto serial, como esta transmisin no fue posible efectuarla, el software queda
como un software experimental, el cual lee y almacena instrucciones provenientes
del puerto serial en la memoria EEPROM para que despus sean ejecutadas
mediante algoritmos desarrollados en un proyecto paralelo a este, sin embargo se
observ la factibilidad de trabajar con dispositivos como el Arduino para la
implementacin de proyectos simples que no involucren tareas muy complejas.
En el caso de la programacin de piezas para que estas sean creadas en la fresadora,
se observ que el programa CNC Mill Level 4 de Lab-Volt, facilita dicha
programacin ya que el usuario puede elegir entre programacin por bloques o
programacin de modo lineal, la programacin por bloques es una programacin un
poco ms asistida donde como su nombre lo indica se van programando los
movimientos de la mquina bloque por bloque, introduciendo los parmetros en
casillas dispuestas para estos fines, en el caso de la programacin lineal es un poco
ms complicada ya que se deben conocer los cdigos para programarlos o tenerlos a
51


mano, adems de la sintaxis de cada cdigo para evitar problemas al compilarlo,
cosa que es muy difcil que ocurra con la programacin en bloques, para realizar
programacin lineal se necesita un poco ms de prctica que con la programacin
por bloques.
Se encontraron inestabilidades en el software de programacin y simulacin ya que
en algunas simulaciones el software enviaba un error o simulaba tringulos u otras
figuras cuando se le programaba para ejecutar un crculo o un arco, las figuras no
pudieron ser ejecutadas en la prctica por problemas con el motor DC que mueve la
broca entre otros.
52
BIBLIOGRAFA

Libros:
1. Gairaud Abarca, M Propuesta para la implementacin de un instrumento
virtual de control para la fresadora del Laboratorio de Automtica, Escuela
de Ingeniera Elctrica, Universidad de Costa Rica. 2007
2. Garca Higuera, A. CIM, el computador en la automatizacin de la
produccion, 1era edicin, Editorial de la Universidad de Castilla-La Mancha,
Espaa, 2007.
3. Lab Volt Systems. Student Manual: Mill Level 3 s Series Software, I.
Edicin, USA,1997.
4. Lab Volt Systems. User Manual: Lathe Level 3 s Series Software, I.
Edicin, USA,1997.
5. Lab Volt Systems. User Manual: Mill Level 3 s Series Software, I. Edicin,
USA,1997.

Pginas web:

6. Arduino. Arduino Mega 2560
http://arduino.cc/it/Main/ArduinoBoardMega2560

53



7. Autor desconocido. La comunicacin serial
http://catarina.udlap.mx/u_dl_a/tales/documentos/lem/morales_h_oe/capitulo3.pdf
8. Lab-Volt. CNC Mill System (5400)
http://www.labvolt.com/products/automation-and-robotics/simulation-
software/5400-cnc-mill-5400
9. Meza Martinez, I. Comunicacin de tarjeta Arduino con el computador,
http://blog.jorgeivanmeza.com/2009/06/comunicacion-de-la-tarjeta-arduino-con-el-
computador/
10. National instruments. Comunicacin serial: conceptos generales,
http://digital.ni.com/public.nsf/allkb/039001258CEF8FB686256E0F005888D1
11. Ruiz Gutirrez, J. Manual de programacin Arduino,
http://www.entremaqueros.com/bitacoras/roshardware/wp-
content/uploads/2012/04/arduma1.pdf





54



APNDICES
A continuacin se presentan los apndices del proyecto.
Apndice A. Programa de pieza con la programacin de modo lineal
G71
M04 1200
G01 X23.0 Y25.0
G01 X23.0 Y25.0 Z-2.0
G02 X27.0 Y25.0 I25.0 J25.0
G02 X23.0 Y25.0 I25.0 J25.0
G01 Z3.0
G01 X19.0 Y25.0
G01 Z-2.0
G02 X21.0 Y25.0 I20.0 J25.0
G02 X19.0 Y25.0 I20.0 J25.0
G01 Z5.0
G01 X15.0 Y25.0
G01 Z-2.0
G02 X17.0 Y25.0 I16.0 J25.0
G02 X15.0 Y25.0 I16.0 J25.0
55



G01 Z3.0
G01 X3.0 Y25.0
G01 Z-2.0
G02 X12.0 Y27.0 I10.0 J25.0
G01 X9.0 Y25.0
G01 Z5.0
G01 X3.0 Y25.0
G01 Z-2.0
G03 X12.0 Y23.0 I10.0 J25.0
G01 X9.0 Y25.0
G01 Z5.0
G01 X29.0 Y25.0
G01 Z-2.0
G02 X31.0 Y25.0 I30.0 J25.0
G02 X29.0 Y25.0 I30.0 J25.0
G01 Z5.0
G01 X33.0 Y25.0
G01 Z-2.0
G02 X35.0 Y25.0 I34.0 J25.0
G02 X33.0 Y25.0 I34.0 J25.0
56



G01 Z5.0
G01 X38.0 Y25.0
G01 Z-2.0
G02 X48.0 Y25.0 I43.0 J25.0
G01 X48.0 Y18.0
G01 X45.0 Y22.0
G01 X43.0 Y18.0
G01 X41.0 Y22.0
G01 X38.0 Y18.0
G01 X38.0 Y25.0
G01 Z5.0
G01 X39.0 Y26.0
G01 Z-2.0
G02 X41.0 Y26.0 I40.0 J26.0
G02 X39.0 Y25.0 I40.0 J26.0
G01 Z5.0
G01 X42.0 Y26.0
G01 Z-2.0
G02 X44.0 Y26.0 I43.0 J26.0
G02 X42.0 Y25.0 I43.0 J26.0
57



G01 Z5.0
G01 X0.0 Y0.0
M05
Apndice B. Algunos Cdigos G de la fresadora Lab-Volt
G00 RAPID Se desplaza a otra posicin a la mayor velocidad posible
G01 MOVE Se desplaza a otra posicin a la velocidad en que se encuentra
G02 ARC.CW Realiza un arco en sentido horario.
G03 ARC.CCW Realiza un arco en sentido anti horario
G04 DWELL Realiza una pausa de un intervalo definido.
G05 ARC Realiza un circulo completo
G25 SET.ZERO Establece la posicin actual como el nuevo origen.
G26 ABS.ZERO Reposiciona la herramienta de corte en el origen (0,0,0)
G50 SCALE.OFF Apaga la herramienta de escalamiento.
G51 SCALE.ON Enciende la herramienta de escalamiento.
G70 IN. Establece los valores en pulgadas.
G71 MM. Establece las unidades en milmetros
G80 FINISH Finaliza el ciclo de la subrutina
G90 ABS Establece las coordenadas son valores absolutos.
58



G91 INCR Incrementa los valores de las coordenadas
G94 FEED Establece fijo el nivel de entrada de la fresa

Apndice C. Algunos Cdigos M de la fresadora Lab-Volt
M04 SPEED Establece la velocidad de la fresadora
M05 SPEED OFF Detiene la fresadora.
M06 TOOL Selecciona la herramienta
M07 FEED Establece el nivel de entrada.
M08 COOL.ON Enciende el sistema de enfriamiento
M09 COOL.OFF Apaga el sistema de enfriamiento
M28 DO Establece el inicio de un ciclo DO.
M29 END.DO Establece el fin del ciclo DO.
M30 END Define el fin del programa y regresa a home
M47 RESTART Reinicia el programa.
M97 CALL Realiza el llamado a una subrutina
M98 SUB Define la subrutina a ejecutarse
M99 END.SUB Establece el fin de una subrutina
59



Apndice D. Programacin para el puerto serial
Programa de captura de datos enviados por el puerto serial
#include <EEPROM.h>
#include <SoftwareSerial.h>

int direccion = 1000; //inicia a escribir en el espacio 4096 de la EEPROM
int valor = 0;//
int EEinic;
int led = 13; //enciende el led para verificar que se limpio la memoria
void setup()
{
Serial1.begin(9600);//abre el puerto 1 serial a 9600 baudios
for (EEinic=1000; EEinic < 4096; EEinic++)
{
EEPROM.write(EEinic, 0); //inicializando la memoria EEPROM
if(EEinic==1023){
digitalWrite(led,HIGH); }
}
}
60



void loop() {

// lee desde el puerto 1, guarda en EEPROM 1000 en adelante:

if (Serial1.available()) {

int valor = Serial1.read(); //lee datos en Puerto 1
EEPROM.write(direccion,valor);

//los escribe en la posicion indicada por la direccin

direccion = direccion+1;

if (direccion == 4096) {
delay(900000000); //delay para q no se sobreescriban datos durante la prueba
}
}
}
61



Prueba de los datos almacenados en la memoria EEPROM
#include <EEPROM.h>
#include <SoftwareSerial.h>
int direccion = 1000; //inicia a escribir en el espacio 1000 de la EEPROM
int valor = 0;//
int EEinic;

void setup()
{
Serial1.begin(9600);//abre el puerto 1 serial a 9600 baudios
}

void loop() {

// lee desde el puerto 1, guarda en EEPROM 1000 en adelante:

valor = EEPROM.read(direccion); //lee datos en Puerto 1
Serial1.print(direccion);
Serial1.print("\t");
Serial1.println(valor);
62



delay(50);

//los escribe en la posicin indicada por la direccin

direccion = direccion+1;

if (direccion == 4096) {
delay(900000000); //si llega al final se tiene que esperar para devolver al
//inicio, este delay es solo para realizar la prueba y q no se
. //reinicie y se puedan leer los datos
}

}
63



ANEXOS
Hojas de datos


64



65




66






67



68



69



70




71



72

Das könnte Ihnen auch gefallen