rs232 fresadora

Upload: dina-mamani-delgado

Post on 15-Oct-2015

128 views

Category:

Documents


3 download

TRANSCRIPT

  • 5/25/2018 RS232 FRESADORA

    1/84

    Universidad de Costa RicaFacultad de IngenieraEscuela de Ingeniera Elctrica

    IE 0502 Proyecto Elctrico

    Implementacin del software de control para lafresadora Lab-Volt

    Por:

    Max Ramrez Prez

    Ciudad Universitaria Rodrigo Facio

    Julio del 2012

  • 5/25/2018 RS232 FRESADORA

    2/84

    ii

    Implementacin del software de control para lafresadora 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

  • 5/25/2018 RS232 FRESADORA

    3/84

    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.

  • 5/25/2018 RS232 FRESADORA

    4/84

    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.

  • 5/25/2018 RS232 FRESADORA

    5/84

    v

    NDICE GENERAL

    1. CAPTULO 1: INTRODUCCIN ..................................................... 1

    1.1 Objetivos .............................................................................................. 2

    1.2 Objetivo general .......................................................................................................... 21.1.2 Objetivos especficos ............................... ......................... ......................... ........... 2

    1.3 Metodologa ......................................................................................... 3

    2. CAPTULO 2: DESARROLLO TERICO ...................................... 5

    2.1 La fresadora Mill CNC 5400 Lab-Volt .............................................. 52.2. Control numrico computarizado CNC ............................................. 62.3. Plataforma Arduino: Aspectos generales. ......................................... 92.3.1. Descripcin General ........................................................................................... 92.3.2. Arduino Mega ................................................................................................... 11

    2.3.2.1. Caractersticas generales ............................................ ...................... ............... 112.3.2.2. Alimentacin ......................... ...................... ......................... ......................... . 132.3.2.3. Memoria ......................................................................................................... 142.3.2.4. Entradas y salidas ..................... ......................... ...................... ....................... 152.3.2.5. Comunicaciones ............................................................................................. 16

  • 5/25/2018 RS232 FRESADORA

    6/84

    vi

    2.3.2.6. Programacin ................................................................................................. 162.4. Comunicacin serial .......................................................................... 172.4.1. Principio de funcionamiento del puerto serial .................................................. 192.4.2. Protocolo RS-232 .............................................................................................. 202.4.3. Utilizacin de las seales RS-232 ..................................................................... 21CAPTULO 3: CONTROL AUTOMTICO DE LA FRESADORA ...... 24

    3.1 Verificacin del funcionamiento del puerto serial ........................... 243.2 Comunicacin serial entre el computador y el Arduino Mega ...... 283.2.1 Etapa de acople de tensiones .................................................................................... 283.2.2 Programa de recepcin de datos por el puerto serial en Arduino. ............................ 363.2.3 Creacin de pieza mediante la programacin por bloques ....................................... 423.2.4 Creacin de pieza mediante la programacin lineal ................................................. 454. CAPTULO 4: CONCLUSIONES Y RECOMENDACIONES ...... 48

    BIBLIOGRAFA ......................................................................................... 52

    APNDICES ............................................................................................... 54

    Apndice A. Programa de pieza con la programacin de modo lineal ..... 54Apndice B. Algunos Cdigos G de la fresadora Lab-Volt ....................... 57Apndice C. Algunos Cdigos M de la fresadora Lab-Volt ...................... 58

  • 5/25/2018 RS232 FRESADORA

    7/84

    vii

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

    ANEXOS ...................................................................................................... 63

  • 5/25/2018 RS232 FRESADORA

    8/84

    viii

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

  • 5/25/2018 RS232 FRESADORA

    9/84

    ix

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

  • 5/25/2018 RS232 FRESADORA

    10/84

    x

    NDICE DE TABLAS

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

  • 5/25/2018 RS232 FRESADORA

    11/84

    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

  • 5/25/2018 RS232 FRESADORA

    12/84

    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.

  • 5/25/2018 RS232 FRESADORA

    13/84

    1

    1.CAPTULO 1: IntroduccinEl 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,

  • 5/25/2018 RS232 FRESADORA

    14/84

    2

    2

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

    cdigos similares.

    1.1 Objetivos1.2 Objetivo generalInstalar 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.

  • 5/25/2018 RS232 FRESADORA

    15/84

    3

    3

    1.3 MetodologaEl 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 5300Lab-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 conel 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 manufacturaen 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 elobjetivo 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.

  • 5/25/2018 RS232 FRESADORA

    16/84

    4

    4

    5- Aplicacin de los cdigos G y M para la programacin de diseos propiosdonde se demuestren las distintas aplicaciones que se pueden realizar haciendo

    uso del modo automtico.

    6- Experimentacin con las distintas funciones implementadas en el CNC Mill5400 Lab-Volt para la demostracin de su funcionamiento en modo

    automtico.

  • 5/25/2018 RS232 FRESADORA

    17/84

    5

    2. CAPTULO 2: Desarrollo terico2.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

  • 5/25/2018 RS232 FRESADORA

    18/84

    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 CNCLa 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

  • 5/25/2018 RS232 FRESADORA

    19/84

    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 preciossuficientemente bajos.

    Con CNC se pueden fabricar productos de gran calidad por la precisin de lasmquinas y en grandes cantidades.

    Adems con CNC se pueden fabricar productos que hasta entonces eranprcticamente 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

  • 5/25/2018 RS232 FRESADORA

    20/84

    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.

  • 5/25/2018 RS232 FRESADORA

    21/84

    9

    2.3.Plataforma Arduino: Aspectos generales.2.3.1. Descripcin GeneralSe 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.

  • 5/25/2018 RS232 FRESADORA

    22/84

    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 Arduinoes 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 dispositivossimilares conclusin a la que se llega realizando una adecuada comparacin.

    Entorno de programacin sencillo: El entorno de programacin ha sidodesarrollado 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 decontroladores 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.

  • 5/25/2018 RS232 FRESADORA

    23/84

    11

    Hardware Extensible: Las aplicaciones del controlador aumentan al utilizarhardware 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.

  • 5/25/2018 RS232 FRESADORA

    24/84

    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

  • 5/25/2018 RS232 FRESADORA

    25/84

    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. AlimentacinEl 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

  • 5/25/2018 RS232 FRESADORA

    26/84

    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 siendoalimentada 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 elmicrocontrolador 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 FTDIintegrado 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. MemoriaEl 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.

  • 5/25/2018 RS232 FRESADORA

    27/84

    15

    2.3.2.4. Entradas y salidasEl 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 casocontrario 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 elcaso 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 unainterrupcin 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.

  • 5/25/2018 RS232 FRESADORA

    28/84

    16

    PWM: estos pines proporcionan una salida de modulacin de onda por pulso, lacual 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. ProgramacinComo 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.

  • 5/25/2018 RS232 FRESADORA

    29/84

    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

  • 5/25/2018 RS232 FRESADORA

    30/84

    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.

  • 5/25/2018 RS232 FRESADORA

    31/84

    19

    2.4.1. Principio de funcionamiento del puerto serialEl 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 quesabe 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 dedatos.

    Bit de paridad: este bit es utilizado para detectar errores que ocurran en latransmisin 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.

  • 5/25/2018 RS232 FRESADORA

    32/84

    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-232Como 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 decada uno de los 9 pines que emplea el protocolo serie RS-232 para realizar la

    comunicacin.

  • 5/25/2018 RS232 FRESADORA

    33/84

    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-232RXD, Recibe Datos:por este pin ingresan los datos enviados por los dispositivos

    externos con lo que se establece la comunicacin.

  • 5/25/2018 RS232 FRESADORA

    34/84

    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

  • 5/25/2018 RS232 FRESADORA

    35/84

    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.

  • 5/25/2018 RS232 FRESADORA

    36/84

    24

    CAPTULO 3: Control automtico de la fresadora

    3.1Verificacin del funcionamiento del puerto serialPara 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.

  • 5/25/2018 RS232 FRESADORA

    37/84

    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

  • 5/25/2018 RS232 FRESADORA

    38/84

    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.

  • 5/25/2018 RS232 FRESADORA

    39/84

    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

  • 5/25/2018 RS232 FRESADORA

    40/84

    28

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

    3.2Comunicacin serial entre el computador y el Arduino Mega3.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.

  • 5/25/2018 RS232 FRESADORA

    41/84

    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.

  • 5/25/2018 RS232 FRESADORA

    42/84

    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.

  • 5/25/2018 RS232 FRESADORA

    43/84

    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.

  • 5/25/2018 RS232 FRESADORA

    44/84

    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 de0V 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.

  • 5/25/2018 RS232 FRESADORA

    45/84

    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.

  • 5/25/2018 RS232 FRESADORA

    46/84

    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.

  • 5/25/2018 RS232 FRESADORA

    47/84

    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

  • 5/25/2018 RS232 FRESADORA

    48/84

    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

  • 5/25/2018 RS232 FRESADORA

    49/84

    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.

  • 5/25/2018 RS232 FRESADORA

    50/84

    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 RPMM05 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

  • 5/25/2018 RS232 FRESADORA

    51/84

    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

  • 5/25/2018 RS232 FRESADORA

    52/84

    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

  • 5/25/2018 RS232 FRESADORA

    53/84

    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 mm50 mm

  • 5/25/2018 RS232 FRESADORA

    54/84

    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 bloquesPara 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.

  • 5/25/2018 RS232 FRESADORA

    55/84

    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

  • 5/25/2018 RS232 FRESADORA

    56/84

    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.

  • 5/25/2018 RS232 FRESADORA

    57/84

    45

    Figura 3.16 Figura obtenida de la programacin por bloques.

    3.2.4 Creacin de pieza mediante la programacin linealPara 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.

  • 5/25/2018 RS232 FRESADORA

    58/84

    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

  • 5/25/2018 RS232 FRESADORA

    59/84

    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.

  • 5/25/2018 RS232 FRESADORA

    60/84

    48

    4.Captulo 4: Conclusiones y RecomendacionesA 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 laenseanza 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 lafresadora, 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 relativamenteelevados 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

  • 5/25/2018 RS232 FRESADORA

    61/84

    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 losmovimientos 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

  • 5/25/2018 RS232 FRESADORA

    62/84

    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 delpuerto 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

  • 5/25/2018 RS232 FRESADORA

    63/84

    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.

  • 5/25/2018 RS232 FRESADORA

    64/84

    52

    BIBLIOGRAFA

    Libros:

    1. Gairaud Abarca, M Propuesta para la implementacin de un instrumentovirtual 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 laproduccion, 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 2560http://arduino.cc/it/Main/ArduinoBoardMega2560

  • 5/25/2018 RS232 FRESADORA

    65/84

    53

    7. Autor desconocido. La comunicacin serialhttp://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

  • 5/25/2018 RS232 FRESADORA

    66/84

    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

  • 5/25/2018 RS232 FRESADORA

    67/84

    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

  • 5/25/2018 RS232 FRESADORA

    68/84

    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

  • 5/25/2018 RS232 FRESADORA

    69/84

    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 milmetrosG80 FINISH Finaliza el ciclo de la subrutina

    G90 ABS Establece las coordenadas son valores absolutos.

  • 5/25/2018 RS232 FRESADORA

    70/84

    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

  • 5/25/2018 RS232 FRESADORA

    71/84

    59

    Apndice D. Programacin para el puerto serial

    Programa de captura de datos enviados por el puerto serial

    #include

    #include

    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); }

    }

    }

  • 5/25/2018 RS232 FRESADORA

    72/84

    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

    }

    }

    }

  • 5/25/2018 RS232 FRESADORA

    73/84

    61

    Prueba de los datos almacenados en la memoria EEPROM

    #include

    #include

    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);

  • 5/25/2018 RS232 FRESADORA

    74/84

    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

    }

    }

  • 5/25/2018 RS232 FRESADORA

    75/84

    63

    ANEXOS

    Hojas de datos

  • 5/25/2018 RS232 FRESADORA

    76/84

    64

  • 5/25/2018 RS232 FRESADORA

    77/84

    65

  • 5/25/2018 RS232 FRESADORA

    78/84

    66

  • 5/25/2018 RS232 FRESADORA

    79/84

    67

  • 5/25/2018 RS232 FRESADORA

    80/84

    68

  • 5/25/2018 RS232 FRESADORA

    81/84

    69

  • 5/25/2018 RS232 FRESADORA

    82/84

    70

  • 5/25/2018 RS232 FRESADORA

    83/84

    71

  • 5/25/2018 RS232 FRESADORA

    84/84

    72