3. aplicaciÓn...

32
Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por láser Escuela Superior de Ingeniería Universidad de Sevilla Diego Medina Medina Página 16 de 72 3. APLICACIÓN DESARROLLADA 3.1 DESCRIPCIÓN GENERAL DE LA SOLUCIÓN PLANTEADA Como se puede observar en la figura 5, la aplicación de control desarrollada deberá controlar los dos elementos que formarán parte del sistema de mecanizado por láser funcionando en un ordenador. Se pretende utilizar una estructura basada en capas para poder conseguir que la aplicación de un nivel superior pueda mediante el uso de librerías el comunicarse con los dos equipos. Figura 5: Estructura basada en capas para identificar la comunicación con cada equipo con el programa superior Se observa claramente como por debajo del interfaz gráfico que ofrecerá el sistema existirá un programa de control que pretende obtener la información ofrecida por el usuario e interaccionar con cada uno de los dispositivos para poder obtener como resultado el mecanizado deseado. Para ello se deben de poder controlar los dispositivos a través de una comunicación por puerto serie. Cada uno de los dispositivos deberá recibir los mensajes que son capaces de reconocer según los manuales de usuarios y para ello se diseñarán una Application Programming Interface (API) por cada uno de los dispositivos que forman parte del sistema. Estas API’s permitirán que la comunicación entre el ordenador y los dispositivos sea transparente al usuario final y que la programación se desarrolle a un nivel de lenguaje más elevado. En base a las API’s se desarrollarán una librería de funciones para cada uno de los dispositivos. Con estas librerías, se diseñará el programa principal que será el encargado de que realizar la configuración de cada uno de los

Upload: others

Post on 27-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 16 de 72

3. APLICACIÓN DESARROLLADA

3.1 DESCRIPCIÓN GENERAL DE LA SOLUCIÓN PLANTEADA Como se puede observar en la figura 5, la aplicación de control desarrollada deberá controlar los dos

elementos que formarán parte del sistema de mecanizado por láser funcionando en un ordenador. Se

pretende utilizar una estructura basada en capas para poder conseguir que la aplicación de un nivel

superior pueda mediante el uso de librerías el comunicarse con los dos equipos.

Figura 5: Estructura basada en capas para identificar la comunicación con cada equipo con el programa superior

Se observa claramente como por debajo del interfaz gráfico que ofrecerá el sistema existirá un programa

de control que pretende obtener la información ofrecida por el usuario e interaccionar con cada uno de

los dispositivos para poder obtener como resultado el mecanizado deseado. Para ello se deben de poder

controlar los dispositivos a través de una comunicación por puerto serie. Cada uno de los dispositivos

deberá recibir los mensajes que son capaces de reconocer según los manuales de usuarios y para ello se

diseñarán una Application Programming Interface (API) por cada uno de los dispositivos que forman parte

del sistema.

Estas API’s permitirán que la comunicación entre el ordenador y los dispositivos sea transparente al

usuario final y que la programación se desarrolle a un nivel de lenguaje más elevado. En base a las API’s

se desarrollarán una librería de funciones para cada uno de los dispositivos. Con estas librerías, se

diseñará el programa principal que será el encargado de que realizar la configuración de cada uno de los

Page 2: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 17 de 72

dispositivos en función a los parámetros ofrecidos por el técnico de laboratorio y del desarrollo del

mecanizado.

En el diagrama de estados, de la figura 6, del programa principal se puede observar el diseño a grandes

rasgos de la aplicación.

Se va ha describir, sin entrar en profundidad, el diagrama de estados del programa principal y las

operaciones más importantes que se realizarán en cada una de las etapas del diagrama de estados.

• Inicio de la aplicación y selección del tipo de mecanizado: cuando se ejecute la aplicación

desarrollada el programa mostrará un menú de selección de mecanizado que permitirá al

técnico de laboratorio seleccionar cual de una serie de opciones de mecanizados preestablecidos

desea realizar sobre la muestra de material. Una vez que el técnico seleccione la opción que

desea se pasa a la etapa de obtención de los parámetros. Previamente el técnico ha debido de

alinear correctamente la muestra con la luz láser, ya que esto se debe realizar manualmente.

• Introducción de los parámetros: dependiendo del tipo de mecanizado los parámetros que serán

requeridos diferirán de uno a otro tanto en cantidad como en significado. Existirán una serie de

parámetros que serán obligatorios a todos los mecanizados, como son por ejemplo la velocidad

de movimiento del posicionador, la potencia del láser o el número de pasadas (que está

relacionado con el volumen de material a eliminar), mientras que el resto de parámetros

dependerán del tipo de mecanizado. Existirán parámetros que tengan que ser acotados, como la

potencia del láser o la velocidad del posicionador y otros que podrán tomar cualquier valor

entero positivo, como el número de pasados, la longitud de movimiento del posicionador.

• Configuración de los dispositivos. Tras obtener los parámetros y comprobar que se encuentran

dentro de los rangos correctos, en este estado se realizará la configuración de los parámetros

obligatorios definidos anteriormente. Una vez que estén configurados correctamente y se

indique al sistema que se desea continuar el programa procederá a iniciar el mecanizado por

láser.

• Realización del mecanizado: cada tipo de mecanizado tiene una función diferente que se

encargará de interactuar con el posicionador y con el láser para que el resultado sea el

mecanizado deseado. Como previamente se ha seleccionado el tipo de mecanizado, se le ofrece

al programa los parámetros necesarios y a la vez que se está ejecutando el mecanizado láser, se

Page 3: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 18 de 72

informará de una estimación de tiempo que de ejecución del mecanizado. Esto permitirá al

técnico realizar trabajos en paralelo al mecanizado láser sabiendo el tiempo de las tareas.

• Fin de la aplicación: una vez que se finaliza el mecanizado el programa preguntará si se desea

realizar otro mecanizado. Si se indica que sí volverá a la etapa de selección del tipo de

mecanizado y si se indica que no finalizará el programa.

Figura 6: Diagrama de estados del programa de control

Page 4: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 19 de 72

Este diagrama de estado está realizado en base a una serie de conceptos de alto nivel de programación

que los dispositivos no pueden ejecutar directamente sin una serie de librerías que habrá que diseñar

previamente y que pasamos a explicar en los siguientes apartados.

3.2 DISEÑO DE LAS API’S

Una API (Interfaz de Programación de Aplicaciones) se define como una serie de funciones y

procedimientos que se ofrecen a cierta biblioteca para ser utilizado por otro software como capa de

adaptación.

En nuestro caso nosotros tenemos dos dispositivos que permiten ser controlados a través de un puerto

RS-232. Esto implica por una parte que ambos dispositivos deben de tener una función que les permita

hacer una conversión de los comandos que reconoce cada dispositivo mediante el puerto serie.

Esta función permitirá que cada una de las API’s que vayamos a diseñar se puedan comunicar con los

dispositivos y que estos sean capaces de funcionar como la aplicación que usan las API’s para la

adaptación.

Cada API, de las dos que diseñaremos, permitirá configurar los dispositivos con los parámetros que nos

ofrecen los manuales de usuario de los dispositivos. Las funciones que formen parte de la API se

encargarán de recibir una serie de parámetros necesarios con valores variables y de enviarlos a través del

puerto serie en el formato que requiere el dispositivo.

3.2.1 FUNCIONES DE ENVIO DE COMANDOS MEDIANTE RS-232 Se ha indicado anteriormente que las API’s que permitirán el control remoto de los dispositivos se

fundamentan en el envío a través del puerto serie de una serie de comandos que son capaces de

entender los dispositivos y que tienen una significación determinada.

Las funciones que se encargan del envío de estos comandos se encargan de la apertura del puerto serie

para una comunicación. Existe una diferencia importante entre la comunicación serie del posicionador y

la del láser, la cual ha obligado a que se implementen dos funciones diferentes en vez de solo una. El

problema radica en el que el posicionador, al menos en los comandos necesarios para poder realizar los

mecanizados, no devuelve ninguna cadena de caracteres a través del puerto serie. Por ello la función solo

se encarga de enviar los datos necesarios sin esperar respuesta alguna del posicionador. Sin embargo, el

Page 5: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 20 de 72

láser responde a todos los comandos que le lleguen por el puerto serie con una cadena de 16 caracteres.

Esto implicará que la función que gestiona la comunicación serie del láser deberá de enviar el comando y

de recibir la cadena de caracteres y ofrecérsela a la API para que esta pueda obtener la información que

considere necesaria.

En el manual de usuario del posicionador, en el subapartado 5.3, podemos observar que el dispositivo

permite una amplia serie de configuraciones de la comunicación mediante el puerto serie RS-232-C. Si se

retira la cubierta del posicionador podemos observar una serie de conmutadores que deberemos colocar

en una posición u otra para obtener la configuración que deseamos para la comunicación serie. En el

diseño de la aplicación de comunicación se ha optado por una comunicación a 9600 baudios con 8 bits de

información, un bit de stop y sin paridad. Esto obligará a que los conmutadores deberán configurarse

para recibir esa comunicación, permitiendo así el control desde el puerto RS-232C. Además, en ese

mismo apartado se indica la configuración física del cable RS-232-C con el conector DB9 para su

conexionado con el ordenador de control.

En el manual de usuario del láser, en el subapartado 2.5 del capitulo 3, se nos indican los parámetros de

configuración para la comunicación a través del puerto serie con el láser. Dichos parámetros utilizados a

la hora de abrir el puerto serie son: una comunicación a 9600 baudios con 8 bits de información, un bit de

stop y sin paridad.

Resulta de vital importancia un detalle importante al analizar el código programado. Para que el

programa funcione correctamente, cable del puerto serie del posicionador deberá de conectarse con el

puerto COM1 y el del láser con el del puerto COM33 del ordenador de control. Ya que estos son los

puertos a los que se destinan los comandos de cada uno de los dispositivos por parte del programa.

3 Se utilizará el puerto COM3 en vez del puerto COM2, ya que esté tiene como funcionalidad el conectar un ratón o un modem de 56K y se trata de un puerto serie macho, a diferencia del COM1 que es hembra. El puerto COM3, hembra, se corresponde con un conversor de puerto USB a puerto serie RS-232 que hace que el sistema lo vea como un puerto serie más.

Page 6: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 21 de 72

En el anexo A se pueden encontrar los códigos de programación de estas funciones. En la figura 7 se

pretende ilustrar un ejemplo sencillo sobre el procedimiento que debe de realizar cada una de las

funciones.

En el caso del posicionador, en general queremos enviar órdenes al posicionador para que las ejecute.

Por lo que una aplicación superior desea realizar, por ejemplo, un desplazamiento en el eje horizontal y

usa las funciones de la API del posicionador indicando el eje, la distancia y el sentido del movimiento y

esta genera la cadena correspondiente a esta orden y se la pasa a la función de comunicación por puerto

serie para que esta se la envíe al posicionador. En el caso del láser podríamos estar interesados en

obtener el valor de la temperatura en la cavidad resonante. Por ello la aplicación a través de la API del

láser indica que desea realizar una lectura de la temperatura en la cavidad resonante. La API genera la

cadena y la función de comunicación la envía y espera la respuesta del láser devolviéndole a la API la

cadena obtenida y esta le devuelve a la aplicación el parámetro deseado, la temperatura en este caso.

Figura 7: Ejemplo de una comunicación con cada uno de los equipos mediante RS-232

Como se puede observar en el anexo A, la funcionalidad de este código se basa en configurar los puertos

serie del ordenador y de enviar y recibir los caracteres necesarios. Por lo que pasamos a la explicación del

diseño de las API’s requeridas.

3.2.2 API DE POSICIONADOR En el subapartado 5.2 del manual del posicionador encontramos el formato de los comandos que

reconoce el controlador del posicionador a través de los puertos de entrada/salida del sistema. El

comando deberá estar formado por los siguientes apartados:

Page 7: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 22 de 72

• El número del eje sobre el que queremos actuar. Este tendrá el formato:

o 01 ó 1 para el eje 1.

o 02 ó 2 para el eje 2.

o 00 ó 0 o sin indicación para que se ejecute sobre todos los ejes.

o 0a ó a para el eje a. Para que a sea superior a 2 debemos configurar el puerto RS-232 en

conexión en cadena. Se usaría en el caso de tener 3 ejes de movimiento.

• Dos caracteres que identificarán la operación que se desea realizar en sobre el eje que se ha

indicado anteriormente.

• Un posible argumento de formato numérico de caracteres con signo para identificar el sentido

del desplazamiento en el eje.

• Un valor ASCII correspondiente a una terminación de línea (CR o LF).

A diferencia de lo que ocurrirá en la API del láser, en esta librería no se han implementado todos los

comandos que nos indica el manual. El por qué de esto lo encontramos en que muchos de estos

parámetros sirven para configurar parámetros que a priori no nos resultan interesantes en el diseño de

un mecanizado.

Para realizar un mecanizado, con el láser en modo de disparo continuo, lo que nos interesa es realizar

movimientos relativos a la posición que nos encontramos en cada uno de los ejes o de manera oblicua al

punto que atacamos. Otros dos parámetros importantes a la hora del procesamiento es la velocidad del

desplazamiento del posicionador, ya que una mayor velocidad implicará una mayor separación de los

puntos de ataque, debido a que el láser es pulsado y no continúo. Por último, como la idea es tener una

resolución en tres dimensiones del mecanizado gracias a las iteraciones realizadas, las funciones que

implementaremos deberán tener la posibilidad de realizar de manera continua varias pasadas en ambos

sentidos del desplazamiento de manera automática.

Por todo esto, como se puede observar en el anexo A en el apartado correspondiente al código de la

librería de funciones del posicionador, diseñamos seis funciones básicas que codificarán los parámetros

de una aplicación superior a los comandos requeridos por el controlador del posicionador y que serán

enviados a través de la función de comunicación por el puerto serie del posicionador. Estás funciones nos

permiten configurar la velocidad en cualquiera de los dos ejes de funcionamiento del sistema, realizar

Page 8: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 23 de 72

rectas horizontales y verticales de un tamaño concreto y un número de pasadas. Además, se permite la

realización de rectas oblicuas. Esto se consigue a través del envío de comandos a cada uno de los ejes de

manera simultánea y consiguiendo que al moverse los dos ejes a la vez podamos obtener una recta con

inclinación en cada uno de los cuatro cuadrantes del plano. Estas funciones también permiten realizar

pasadas sucesivas en los diferentes sentidos del movimiento.

Se han realizado posteriormente, basándose en las funciones anteriormente descritas, una serie de

funciones que se utilizan para simplificar la programación a un nivel más elevado. Estas funciones utilizan

las rectas horizontales, verticales y oblicuas para realizar los movimientos para obtener rectángulos de

diferentes tamaños y trapecios de diferentes orientaciones y diferentes tamaños.

3.2.3 API DEL LASER

En el manual de usuario y mantenimiento del láser ofrecido por el fabricante Quantel, dentro del

apartado 3 del manual “Laser description”, encontramos la información necesaria para conocer el

formato que deberán cumplir los comandos a enviar por el puerto serie para que el láser sea capaz de

funcionar de manera remota. Dicho subapartado es el 2.5. En el podemos encontrar la información para

poder realizar las funciones necesarias para configurar y controlar el dispositivo.

En el manual se nos indica que la cadena de caracteres que se envía mediante el puerto serie del

ordenador deberá estar siempre terminada con un valor ASCII de retorno de carro con salto de línea

(CRLF) o de salto de línea (LF). Además sistema de control del láser solo permite una tasa máxima de 20

comandos recibidos por segundo.

En general el formato de los comandos enviados al láser tendrán el siguiente formato:

• Un identificador del comando: podrá constar de uno, dos o tres caracteres ASCII y son los que

permiten identificar al sistema la tarea que desde el ordenador se desea realizar sobre el

dispositivo.

Page 9: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 24 de 72

• Una cadena de caracteres numéricos opcional: esta cadena no es obligatoria en todos los

comandos. En general solo los comandos que deseen introducir un valor de configuración al

equipo, como por ejemplo el valor de potencia que deseamos utilizar o la frecuencia de disparo,

son los que incluirán este campo.

• Valor de terminación de cadena: todas las cadenas, como indicamos antes deberán incluir este

carácter para que el controlador del láser tenga la capacidad de diferenciar mensajes.

Si el controlador del láser recibe una cadena que no es capaz de identificar devolverá un mensaje de char

desconocido a través del puerto serie. Si es capaz de identificar el comando pero descubre que el valor de

la cadena numérica no se encuentra dentro del rango lo que enviará será un mensaje de cadena

desbordada para indicar que el valor no se ajusta al rango. Por último, el controlador también nos

indicaría que si lo que esperaba en un determinado carácter era un valor numérico y lo que recibe no lo

es, nos lo indicaría mediante un mensaje de carácter no numérico.

Con respecto a los mensajes que devuelve el controlador, en el manual se indica que lo que se envía es

una cadena de 15 caracteres precedidos por un CRLF.

En este apartado se indican todos los comandos que pueden recibir el controlador, la funcionalidad de los

comandos y sus respuestas. En base a ello se ha programado una función por cada una de los comandos

existentes. Cada función codificará la cadena a enviar por el puerto serie, avisará en caso de error en el

envío y de obtener la cadena recibida. Dicha cadena será devuelta a la aplicación superior por si esta

tuviera que obtener la información que requiera del mensaje recibido por el puerto serie.

3.3 FUNCIONES AUXILIARES

Existen una serie de funciones que resultarán necesarias en diferentes partes del programa, no

solamente a las API’s, y que se han incluido en una librería nombrada como “operaciones_auxiliares.h”.

En el anexo A se pueden encontrar las implementaciones de estas funciones, de las cuales vamos a hablar

sin entrar en mucha profundidad en el código.

Page 10: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 25 de 72

En la librería se pueden identificar dos familias de funciones si atendemos a la tarea que cumplen, en la

primera familia tenemos funciones que se utilizar para codificar y clasificar datos mientras que la segunda

familia son funciones que se utilizaran para realizar estimaciones de tiempo de ejecución.

3.3.1 FUNCIONES DE CODIFICACIÓN Existe una problemática que hemos mencionado pero que no hemos indicado como se resolvía. El

programa que se ejecuta sobre el ordenador utiliza los valores obtenidos de los equipos como variables

enteras, sin embargo lo que llega a través de los puertos series son cadenas de caracteres. Esto implica

que deben de existir una función encargada de la conversión de cadenas de caracteres a enteros y de

enteros a cadena de caracteres para que el ordenador y los otros dispositivos puedan entenderse. Las

funciones encargadas de esto son las llamadas “enteroacaracter” y “caracteraentero”.

Además, en el caso del posicionador, se puede dar el caso de que la cadena tenga que tener previamente

un símbolo menos previo a la distancia de desplazamiento. Eso indica al posicionador que debe realizar

un desplazamiento negativo del eje. Para ello se implementa la función “codificavalorneg”. En esta

función lo que se hace simplemente es añadir dicho valor negativo cuando sea necesario. Existe su

función análoga “codificavalorpos”, cuya única diferencia es que no incluye dicho signo menos.

Se podría pensar que al ser funciones que, en general, se usan sobre el posicionador deberían incluirse en

la librería del posicionador, pero debido a que lo que realiza es un marcado del signo de la cadena de

caracteres, estas funciones pueden utilizarse también para otros puntos del programa y por eso se ha

incluido en esta librería.

En ciertos mecanizados, existe una necesidad implícita en la implementación del mecanizado que obliga a

que el número de pasadas que debe realizar el mecanizado sea par. Debido a esto, se ha incluido en esta

librería una función que le indica al programa principal si un número que se le ofrece a la función es par o

no.

Page 11: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 26 de 72

3.3.2 FUNCIONES DE TEMPORIZACIÓN La segunda rama de funciones auxiliares que utilizamos da solución al cálculo del tiempo de ejecución del

mecanizado. Más adelante en la memoria se hace una descripción amplia de cómo se calculan los

tiempos de ejecución, posteriormente de que se hayan definido los mecanizados implementados por el

programa.

3.4 SOFTWARE DE CONTROL

En el siguiente apartado de la memoria se pretende profundizar en la forma de implementación del

diagrama de estados que se presentó en el apartado de descripción, para ser más exactos en la

ilustración de la figura 6.

Como se observa a lo largo de la memoria, se está desarrollando un programa que se soporta sobre dos

bases. La primera de ellas se fundamenta en el posicionador y su controlador y la segunda en el láser y su

controlador. Hasta este momento todo hace creer que los dispositivos funcionan de una manera

independiente el uno de otro. Es a partir de este momento que empezarán a interaccionar unas

funciones de las API del láser con otras funciones de la API del posicionador para obtener mecanizados de

manera automática. La siguiente figura pretende ilustrar una torre de capas de adaptación, donde cada

capa interacciona con la capa inferior y superior.

Figura 8: Diagrama de capas de las librerias y sentidos de las comunicaciones por cada puerto RS-232

Page 12: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 27 de 72

En los siguientes apartados describiremos las características particulares de la implementación diseñada

para realizar la herramienta de mecanizado por láser.

3.4.1 FUNCIONES BASADAS EN LAS API’S

El siguiente paso en el desarrollo del proyecto es la elaboración de unas funciones a un nivel más alto de

programación que se basen en las funciones ofrecidas por las API’S y que emulen el comportamiento

implementado por el sistema de control del láser, para funcionar de manera automática.

Desarrollamos una librería que implemente funciones de control del arranque del dispositivo láser, ya

que las funciones que ejecutan la librería del posicionador resultan suficientes para que más adelante

podamos realizar la implementación de los mecanizados.

3.4.1.1 FUNCION DE LECTURA DE TEMPERATURA DE LA CAVIDAD RESONANTE LASER

Como se puede observar en la figura 9, existen dentro del diagrama de estados de la realización del

mecanizado dos bucles que exigen unos niveles de temperatura dentro de la cavidad resonante para

poder salir de dicho bucle.

Para ello se implementa una sola función que solicita al láser que le envíe el valor de la temperatura en la

cavidad resonante. A través de una función de conversión de los caracteres en los que se almacena la

información de la temperatura, se haya su valor equivalente en una variable entera esto permite que se

pueda comparar dicha temperatura con los umbrales programados y activar o desactivar dos banderas

que son las que nos permiten salir de estos bucles e indicar al programa principal que cumplimos la

condición para poder activar la lámpara o el sistema Q-SWITCH.

El primer valor umbral se corresponde con una temperatura de 32º C y el segundo valor umbral con una

temperatura de 35º C.

Page 13: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 28 de 72

Como se ha indicado anteriormente, esta es una función que activa o desactiva las banderas, pero no

mantiene al sistema en espera de alcanzar la temperatura deseada si no se tiene. Por lo que no se trata

del bucle de espera de calentamiento.

3.4.1.2 FUNCIONES DE ACTIVACIÓN Y DESACTIVACIÓN DE LAMPARAS Y SISTEMA Q-SWITCH

Resultan necesarias cinco funciones que realicen las funciones de los botones del mando de control de las

figura 3, ya que el botón “Ready” no es necesario para el arranque de las lámparas.

Estas funciones tendrán que realizar las acciones de encendido y apagado de las lámparas, disparo simple

Q-SWITCH, disparo continuo Q-SWITCH y apagado del modo continuo Q-SWITCH. Dichas funciones se

encuentran en el anexo A del proyecto fin de carrera.

Dichas funciones invocan a las funciones de la librería del láser que están relacionadas con la activación

de la lámpara y del mecanismo de disparo en el caso en el que la bandera que les corresponde, de

temperatura mayor de 32º y de 35º C respectivamente, lo permitan. Además, en el caso de la activación

de la lámpara, además se hace una espera activa de 8.1 segundos ya que el mecanismo de bombeo no

alcanza el régimen permanente hasta transcurridos 8 segundos.

Para las funciones de parada de disparo continuo y de apagado de la lámpara se ejecutarán en cualquier

caso independientemente del valor de la bandera por cuestiones de seguridad.

Por último, indicar que el mecanismo de disparo simple no requiere de ejecutar posteriormente una

parada del mecanismo de disparo.

3.4.2 FUNCIONES DE MECANIZADO IMPLEMENTADAS

Una vez que ya tenemos implementadas las funciones que nos permiten obtener el valor de la

temperatura de la cavidad resonante del láser, la activación y desactivación de la lámparas para obtener

la inversión de población de la cavidad resonante y la activación y desactivación del sistema de disparo Q-

Page 14: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 29 de 72

SWITCH podremos implementar las funciones que nos permitirán obtener los diferentes mecanizados

ofrecidos por el sistema.

Para ello, una vez seleccionado el mecanizado a realizar, la aplicación pasará los estados del diagrama de

la figura 9:

Figura 9: Diagrama de estados para el control de la temperatura de la cavidad resonante y el mecanizado

Este diagrama se basa en el funcionamiento del sistema láser. Cuando utilizamos el láser a través del

mando de control remoto, una vez que se configuran los parámetros previos a la interacción con la

muestra, el sistema requiere que la lámpara de inversión de población este encendida para que la

cavidad tenga la inversión de población necesaria para que suceda el fenómeno láser. Está lámpara,

según el manual, requiere de una temperatura de la cavidad de 32º C antes de que se pueda activar.

Por ello se realiza un bucle de espera activa en el que se solicita la temperatura de la cavidad resonante y

hasta que no supere dicha temperatura el sistema se mantendrá en espera y consultando al sistema la

temperatura cada segundo. Una vez que se alcanza la temperatura, la lámpara requiere de ocho

segundos hasta que se alcanza el régimen permanente de la inversión de población en la cavidad

resonante. Posteriormente, el sistema Q-SWITCH requiere de una temperatura de cavidad resonante de

35º C, por lo que se implementa otra espera activa hasta que la temperatura de la cavidad alcance el

umbral en el que puede realizar la emisión láser.

Una vez que se puede realizar la emisión láser, se implementa un bucle que se repetirá tantas veces

como iteraciones nos indique el técnico al usar la aplicación. En el bucle se activa el funcionamiento del

disparo continuo y el posicionador realizará los movimientos necesarios para que al exponer la muestra a

la interacción con la luz láser concentrada, como resultado obtengamos el mecanizado deseado. A

Page 15: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 30 de 72

terminar la iteración apaga el mecanismo de disparo continuo y comprueba si era la última iteración del

bucle. Si no lo es volverá a realizar la misma función y si lo es desactivará la lámpara de bombeo y volverá

al control de la aplicación de nivel superior.

Además, de forma simultánea a la ejecución del bucle de realización del mecanizado. El programa

mostrará por pantalla la información del tipo de mecanizado a realizar, los parámetros introducidos por

el técnico de laboratorio y el tiempo estimado hasta la finalización del mecanizado

Esta información permitirá al técnico conocer el tiempo que queda hasta la finalización y permitirá el

aprovechamiento de ese tiempo para que el técnico realice otros procesos que no tengan que ver con el

mecanizado láser, permitiendo un mayor aprovechamiento del tiempo de trabajo de nuestro técnico.

En los siguientes subapartados vamos a describir los parámetros que son necesarios para cada uno de los

mecanizados, además del resultado esperado al finalizar dichos mecanizados a través de una figura.

3.4.2.1 CANAL

Un canal es una estructura que cuando se mecaniza por láser se obtiene en general gracias al fenómeno

de ablación por láser. Este eliminará material pasando de estar en estado sólido a estado gaseoso y

dependiendo del tipo de láser podría evitarse la aparición de material en estado líquido. Por ello, para

obtener una cavidad en un material, lo que se realizan son movimientos en un solo eje de la distancia del

canal seleccionado. El ancho del canal vendrá impuesto por el tamaño del spot del láser, y este a su vez

por la potencia de funcionamiento del láser.

Por ello los parámetros de un canal solo serán la longitud del canal y el eje sobre el que se quiere obtener

el canal. Con ello obtendremos el siguiente mecanizado.

Figura 10: Parámetros específicos de un canal

Page 16: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 31 de 72

3.4.2.2 ASPA

La implementación de un aspa surge de la idea de obtener una manera de conseguir unas marcas de

alineación en la prueba a mecanizar. Resulta de vital importancia, si deseamos que la herramienta láser

pueda ser incluida dentro de los procesos de fabricación de la sala blanca, el que esta herramienta pueda

añadir un mecanismo para que si hubiera que alinear la muestra con algún otro proceso fotolitográfico,

este se pueda hacer con precisión y no tener que hacerlo a ciegas. Por ello, se implementa esta función.

El único parámetro específico necesario para este mecanizado es el tamaño de la aspa, ya que los ejes

serán siempre perpendiculares y del mismo tamaño. En la imagen se puede observar el resultado que se

debe obtener del mecanizado.

Figura 11: Parámetros específicos de un aspa

3.4.2.3 CANTILEVER

El cantilever es un brazo que está anclado solo en un extremo. Cuando tenemos una membrana

suspendida, resulta rápida y sencilla la fabricación de cantilevers mediante la técnica de mecanizado por

láser. La fabricación mediante procesos fotolitográficos resulta problemática a la hora de separar la

máscara de la membrana, ya que se podrían romper dichos brazos suspendidos al quedarse adheridos a

la máscara.

Como se puede observar en la figura 12, los cantilevers se obtienen de realizar una serie de canales que

atraviesen toda la membrana suspendida. Estos canales estarán separados en los centros de los mismos

por la relación de ancho que queremos que tenga la estructura suspendida más el tamaño del spot del

láser. Se realizarán tantos canales como cantilevers más uno se quieran generar. Posteriormente se

Page 17: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 32 de 72

realizará otro canal perpendicular a los anteriores y que nos permitirá que los puentes anclados en los

dos extremos se conviertan en cantilevers.

Los parámetros para el diseño de este mecanizado serán: la longitud de cada cantilever, el ancho del

cantilever a diseñar (en el que se tendrá en cuenta que el ancho medio del spot se encuentra en torno a

las 100 µm), el de cantilevers que se desean generar y la orientación de los cantilevers. Como restricción,

la separación entre cantilevers será siempre el ancho del haz.

En la figura 12 se pueden observar como se han definido las orientaciones de los cantilever.

Figura 12: Parámetros específicos del mecanizado cantilever

3.4.2.4 CORTE DE UN RECTÁNGULO

Otro mecanizado importante en las pruebas de laboratorio desarrollado ha sido el corte de una pieza

rectangular. Los únicos parámetros específicos que deberá indicar la estructura de información a la hora

de realizar el mecanizado serán el tamaño de la base y la altura de la pieza a cortar. No necesariamente

tendría que cortarse la pieza, ya que con el número de pasadas podríamos realizar obtener una

separación de un canal con forma rectangular.

Page 18: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 33 de 72

Figura 13: Parámetros específicos del corte de un rectángulo

3.4.2.5 MARCO HACIA EL INTERIOR

Aprovechando la función que realiza el rectángulo podemos eliminar material de la muestra en un patrón

la forma de un marco. Estrictamente hablando, el mecanizado anterior es propiamente un marco del

ancho del tamaño del spot. En este caso estamos interesados en generar un marco rectangular de un

ancho mayor que el que posee el tamaño del spot del láser y realizar una eliminación de un área.

Figura 14: Parámetros específicos del mecanizado marco hacia el interior

En la figura 14 podemos ver el mecanizado y los parámetros que tendrá que entregar la estructura de

parámetros específica del mecanizado. El área existente entre los dos rectángulos concéntricos es la que

será eliminada.

Los parámetros del mecanizado son: base, altura, ancho del marco y precisión. Este último parámetro se

refiere a la separación que existirá entre un rectángulo y su adyacente, ya que el marco se genera a

través de la eliminación rectángulos concéntricos separados por el parámetro de precisión. La indicación

de punto inicial y punto final nos indica el punto en el que iniciará el mecanizado y en el que terminará de

eliminar material en cada pasada, aunque luego volverá al punto inicial de nuevo. Por esta forma de

atacar el material desde un punto más externo hacia uno más interno decimos que el marco se genera

desde fuera hacia adentro (o hacia el interior).

Page 19: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 34 de 72

3.4.2.6 MARCO HACIA EL EXTERIOR

Este mecanizado es una modificación del anterior para el caso en el que estemos interesados en realizar

el mecanizado desde dentro hacia fuera (o hacia el exterior). La justificación de este mecanizado se

fundamenta en que permitirá la eliminación de material sin afectar en ningún caso a la zona interior al

marco. Con el marco anterior, si los parámetros no estuvieran bien ajustados podría afectarse a la zona

interior donde ya podría existir otro mecanizado, mientras que con este mecanizado es posible. Además

con este mecanizado podemos realizar, en el caso extremo, una eliminación de un área rectangular

completa, cosa que en el anterior mecanizado no es posible ya que el programa obliga a que el marco

nunca alcance el centro del rectángulo. Los parámetros específicos serán los mismos que en el

mecanizado anterior, con la diferencia de que la definición de los parámetros difiere del caso anterior.

Esto se puede ver en la figura 15.

Figura 15: Parámetros específicos del mecanizado marco hacia afuera

En este mecanizado los parámetros de base y altura se refieren a la base y altura del rectángulo de menor

área y los puntos inicial y final se ven permutados. Los parámetros de ancho del marco y de precisión

tienen la misma definición que en el caso anterior.

3.4.2.7 MEMBRANA SUSPENDIDA

Este mecanizado surgió como solución a una necesidad concreta de un estudio que se estaba realizando

en el laboratorio. La idea es mecanizar una membrana suspendida, como en el caso de los cantilevers,

pero transfiriéndole un patrón de corte para obtener una masa suspendida por cuatro brazos.

Page 20: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 35 de 72

Figura 16: Parámetros específicos del mecanizado de una membrana suspendida

En la figura 16 podemos observar que la estructura se consigue como resultado del corte de cuatro

trapecios en la configuración que se muestra en la imagen. Estos trapecios tienen unas pendientes de 45º

en los lados oblicuos. Los únicos parámetros necesarios para obtener dicha masa suspendida serán el

tamaño de la masa, la altura del trapecio (que se corresponderá con la longitud que tendrán los soportes

de la masa con una relación raíz de dos veces la altura de la base), y el ancho de los soportes de la masa.

3.4.2.8 DISPARO REPETITIVO CONTROLABLE

Este mecanizado es el más sencillo de los que se podían realizar previamente al desarrollo del software

de este proyecto fin de carrera. Existe la posibilidad de utilizar el disparo simple para tener un control

exacto, pero resulta mucho más lento que utilizar el disparo continuo y controlar el tiempo de exposición.

Debido a la baja tasa de disparo del láser y realizando un control sobre el tiempo de exposición, se podían

conseguir taladros con este método con un bajo error sobre el número de disparos realizados de manera

manual, de 3 a 8 disparos dependiendo del tiempo de reacción de la persona en activar y desactivar el

láser cuando el tiempo de exposición es mayor a un segundo. Con el programa se consigue una gran

exactitud sobre el número de disparos, como máximo un error en un disparo de más incluso para

cantidades inferiores a los diez disparos.

El programa solo requerirá como parámetro especifico de este mecanizado el número de disparos que

deseamos realizar sobre la superficie.

Page 21: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 36 de 72

Figura 17: Parámetros específicos del mecanizado disparo repetitivo controlable

3.4.2.9 MATRIZ DE DISPARO

El mecanizado anterior puede ser interesante para realizar pruebas aisladas y no escalables. En el caso de

que deseásemos realizar un array de taladros, sería tedioso elaborarlo con el mecanizado anterior. Por

ello se realiza un nuevo mecanizado que permite generar un array de taladros. En la figura 18 se observan

los parámetros específicos de este mecanizado.

Figura 18: Parámetros específicos del mecanizado matriz de disparo

Dichos parámetros son el número de disparos que se realizarán sobre cada uno de los taladros, el

número de filas y de columnas del array, la separación entre filas, denominada dY, y la separación entre

columnas, denominada dX.

3.4.2.9 ATAQUE DE ÁREA RECTANGULAR

Por último añadiremos un ataque de área en forma rectangular. Aunque este se podría obtener mediante

el mecanizado del marco hacia el exterior, resulta más intuitivo realizar una función que mediante rectas

horizontales de una longitud la base del rectángulo separadas un parámetro de precisión nos eliminen

material hasta llegar a la altura del rectángulo deseado.

Page 22: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 37 de 72

Figura 19: Parámetros específicos del mecanizado ataque de área rectangular

En la figura 19 se puede observar la relación entre los parámetros que definen el mecanizado y el

resultado esperado.

3.4.3 CÁLCULO DE LA TEMPORIZACION

Como se ha indicado anteriormente, las funciones que forman parte de la librería

“operaciones_auxiliares.h” y se utilizan para realizar estimaciones del tiempo de ejecución del

mecanizado. No existe una función de temporización genérica ya que la forma específica del mecanizado

es determinante a la hora de realizar la estimación del tiempo de ejecución.

La función calculará el tiempo de funcionamiento del posicionador para realizar el mecanizado y le

indicará al técnico de laboratorio el tiempo estimado en que finalizará el mecanizado. Además, al finalizar

la ejecución de la aplicación indicará el tiempo en el que se inició el mecanizado y el tiempo de

finalización.

Ahora vamos a explicar el cálculo del tiempo estimado que falta para la finalización en cada uno de los

mecanizados.

3.4.3.1 MODELO DEL CANAL

El canal tiene como parámetros de ejecución el número de pasadas, la longitud del canal y la velocidad a

la que funcionará el. Así el tiempo en minutos que le resta para finalizar el mecanizado será:

( )velocidad

pasadasnlongitudTcanal ⋅

⋅=60

º(min)

Page 23: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 38 de 72

3.4.3.2 MODELO DEL ASPA

El aspa tiene como parámetros de ejecución el número de pasadas, la longitud de cada brazo de la aspa y

la velocidad a la que funcionará el posicionador. Por lo que el tiempo, expresado en minutos, que le

tardaría un mecanizado con estos parámetros son:

( )velocidad

pasadasnlongitudTaspa ⋅

⋅⋅=60

)º(2min

Resulta evidente que el tiempo será el doble que en el anterior caso, ya que generamos dos rectas

perpendiculares, una por cada eje.

3.4.3.3 MODELO CANTILEVER

El tiempo de mecanizado de cantilevers utilizaremos los parámetros: número de cantilevers, número de

pasadas, longitud del cantilever, ancho del cantilever. Para obtener N cantilevers requeriremos N+1

canales y la distancia del canal perpendicular será de N+1 (Ancho del canal (µm)+ 100 µm). Por lo que el

tiempo de ejecución del mecanizado en minutos será:

( ) ( )velocidad

pasadasnancholongitudsCantileverNT scantilever ⋅

⋅++⋅+=60

)º(000.1)1º(min

3.4.3.4 MODELO CORTE DE UN RECTANGULO

El corte de un rectángulo tiene como parámetros de ejecución el número de pasadas, la longitud del

perímetro del mismo en función de la base y la altura del mismo y la velocidad de funcionamiento del

posicionador. En función a estos parámetros podremos expresar el tiempo, en minutos, que le faltarían al

sistema para finalizar el mecanizado como:

( ) ( )velocidad

pasadasnalturabaseTrect ⋅

⋅+=60

º2(min)

Page 24: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 39 de 72

3.4.3.5 MODELO MARCO

El tiempo en que se realiza el mecanizado de tipo marco es independiente de si se realiza hacia dentro o

hacia fuera, ya que ajustando los parámetros podremos atacar la misma cantidad de área con las dos

funciones.

Para poder calcular el tiempo de ejecución utilizaremos los parámetros: base, altura, ancho del marco,

precisión, número de pasadas y velocidad de funcionamiento del posicionador.

El ancho del marco dividido por la precisión nos indicará el número de rectángulos que serán necesarios

para realizar el ataque en superficie. Luego podemos calcular el tiempo medio de realización del

cuadrado como la media aritmética entre el rectángulo del mayor perímetro y el de menor perímetro, ya

que el incremento en perímetro es proporcional al número de rectángulos.

Dicha distancia resulta ser:

( )

)2(22

844

2

)22(22

anchoalturabaseD

anchoalturabaseanchoalturaanchobasealturabaseD

Media

Media

++=

=++=+++++=

Por lo que el tiempo total de ejecución, en minutos, será:

( ) ( )velocidad

pasadasnanchoalturabase

velocidad

pasadasnDT Media

marco ⋅⋅++=

⋅⋅

=60

º)2(2

60

º(min)

3.4.3.6 MODELO MASA SUSPENDIDA

Como se indicó al definir el modelo, este mecanizado se forma a parir de la eliminación de cuatro

trapecios. Por lo que habrá que calcular la distancia de que recorrerá el láser.

Page 25: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 40 de 72

En este mecanizado existe la particularidad, de que las rectas oblicuas, se generan por el movimiento de

los dos ejes del posicionador a la misma ve4z. Por ello para calcular la distancia recorrida solo tendremos

en cuenta la distancia horizontal en los trapecios horizontales y la distancia vertical en los trapecios

verticales. Como la distancia será la misma en los cuatro trapecios utilizaremos la de uno de ellos para

calcular el tiempo de ejecución que se verá multiplicado por cuatro.

alturamasaalturaDtrapecio 222 ++=

velocidad

pasadasnDT trapecio

roacelerómet ⋅⋅⋅

=60

)º(4(min)

3.4.3.7 DISPARO REPETITIVO CONTROLABLE

Este modelo es muy sencillo, ya que lo que deseamos es hacer un taladro con una profundidad conocida

y controlada por el número de disparos. En este caso el tiempo será proporcional al número de disparos,

teniendo en cuenta los ocho segundos de arranque de las lámparas de bombeo y la tasa de diez disparos

por segundo del láser, tenemos que el tiempo en minutos de un taladro será:

min/60

/10

º8

(min)seg

segdisparos

disparosnseg

T troladodisparocon

+

=

3.4.3.8 MATRIZ DE DISPARO

Este mecanizado pretende realizar una matriz de taladros con el mismo número de disparos por taladro.

Para el cálculo del tiempo calcularemos, como en el mecanizado anterior, el tiempo por taladro y luego

los tiempos que tarda el sistema en posicionarse en el número punto a taladrar. Como la lámpara se

enciende solo una vez, en este mecanizado despreciamos esos ocho segundos frente a la totalidad del

mecanizado.

4 Para obtener una recta oblicua se aprovecha que el controlador del posicionador permite realizar movimientos en los ejes de forma paralela. Por ello, el movimiento que describe el láser sobre la muestra es una recta con una inclinación. Para obtener diferentes pendientes jugamos con una relación de proporcionalidad entre las velocidades de los ejes, ya que los disparos tendrán la misma frecuencia y el tiempo de ejecución de los movimientos de cada eje deberán de ser los mismos. Al aumentar la velocidad de uno de los ejes, eso implicará una mayor dispersión de los disparos.

Page 26: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 41 de 72

Los parámetros a necesarios para el cálculo del tiempo de mecanizado serán: número de disparos por

taladro, número de filas, número de columnas, separación entre filas, separación entre columnas y

velocidad de funcionamiento del posicionador. Las filas se considerarán posicionadas a lo largo del eje Y y

las columnas a lo largo del eje X.

Con esta definición, el tiempo en minutos de ejecución del mecanizado será de:

( ) ( )velocidad

dYfilasnfilasndXcolumnasn

disparos

disparosnT arosmatrizdisp ⋅

⋅+⋅⋅+=60

º2ºº2

min/600

º(min)

3.4.3.9 ATAQUE DE ÁREA RECTANGULAR

Los parámetros específicos que definen este mecanizado son la base del área a eliminar, la altura y el

parámetro de precisión. Para el cálculo de la temporización nos hará falta también conocer el número de

pasadas sobre el material que se habrán de efectuar.

Con estos parámetros el tiempo estimado de duración del mecanizado será aproximadamente:

( )velocidad

baseprecisionAlturapasadasnTárearect ⋅

⋅⋅=60

)(º(min)

3.4.4 ENTORNO GRÁFICO

Para el desarrollo de la aplicación gráfica, al igual que en el desarrollo de librerías, se ha utilizado el

entorno de programación Builder C/C++.

El programa se basa en una serie de ventanas que estarán formadas por una serie de botones para

acceder de una ventana a otra y una serie de campos para obtener los parámetros del mecanizado. El

diagrama de estados que sigue la aplicación es el de la figura 20, que ya se había introducido

anteriormente.

Page 27: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 42 de 72

Figura 20: Diagrama de estados del programa de control

Ahora me dispongo a comentar la implementación de las formas que se corresponden con el diagrama de

estados.

3.4.4.1 Mensaje inicial

Esta forma es la que da la bienvenida al usuario al programa. En ella se indicará el nombre, la versión del

software que está utilizando y el diseñador de la aplicación. También aparecen dos botones, uno con el

mensaje “Continuar” y el otro con el mensaje “Salir de la Aplicación”. En la figura 21 se puede observar el

formato de dicha forma:

Page 28: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 43 de 72

Figura 21: Menú inicial

Por último existe también un menú desplegable con el mensaje “Seleccione el mecanizado a realizar”, en

el que se encuentran los diferentes tipos de mecanizados que incluye la versión del programa. Por

defecto, dicho desplegable, no ofrecerá ningún mecanizado y será el usuario del software el que tendrá

que indicarlo.

Figura 22: Desplegable con los diferentes mecanizados que ofrece la aplicación

Si el usuario pulsase el botón de “Continuar”, sin haber seleccionado ningún mecanizado, el programa

mostrará una etiqueta para alertar al usuario del error cometido. Una vez seleccionado el mecanizado, al

pulsar el botón de “Continuar”, una nueva forma sustituirá a la anterior.

Cada mecanizado requiere de una serie de parámetros genéricos y unos específicos. Por ello existirá una

forma por cada tipo de mecanizado. Dicha forma se encargará de obtener los parámetros que requiere el

mecanizado.

Page 29: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 44 de 72

3.4.4.2 Menú de adquisición de los parámetros del mecanizado

En la figura 23 se puede observar como es la forma correspondiente a un mecanizado concreto, la

correspondiente a la obtención de parámetros del cantilever.

La forma tiene dos ScrollBar que se utilizan para que el programa ofrezca un rango acotado de valores

acorde a los que se le pueden ofrecer a los dispositivos. Estos forman parte de los parámetros genéricos

como son el valor de la potencia del láser y velocidad del posicionador. Al moverse la posición del

ScrollBar, el valor que toma se va actualizando en una etiqueta que se coloca a la derecha del ScrollBar.

El otro parámetro genérico, como ya sabemos, es el número de pasadas que se obtendrá a través de un

campo del tipo Edit.

Para obtener los parámetros específicos del mecanizado existirán una serie de campos tipo Edit que se

utilizarán para capturar valores y otro del tipo RadioButtom (que no tendrá porqué aparecer en todos los

tipos de mecanizados), que permitirá seleccionar una sola opción dentro de una serie de valores.

Se incluye además una imagen del modelo del mecanizado. En dicha imagen aparecerá una serie de

indicaciones para que el técnico de laboratorio sepa diferenciar los valores de los parámetros a introducir

al mecanizado.

Figura 23: Menú de obtención de parámetros

Page 30: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 45 de 72

En la forma existen dos botones, uno con el mensaje “Continuar” y otro con el mensaje “Volver Atrás”.

Vamos a comenzar a hablar del segundo de los botones debido a que su única función es volver a la

forma anterior. Esto es así debido a que el técnico puede darse cuenta de que no ha seleccionado el

mecanizado que deseaba realizar y desea volver a la forma de selección de mecanizado.

El primero de los botones, al igual que en el caso anterior, se utiliza para chequear que todos los

parámetros han sido introducidos y que tienen el formato correcto. Si no cumpliera alguno de los dos

casos, se mostraría un mensaje en la forma que alertara al técnico de laboratorio como muestra la

siguiente imagen.

En la figura 24 se puede observar que falta por seleccionar una orientación de los cantilever con respecto

a la que se nos muestra en la imagen. En la figura 25 se puede observar que al introducir un número

disparos negativos en la prueba de disparo controlado también activar la misma alerta.

Figura 24: Mensaje de error por no seleccionar orientación

Page 31: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 46 de 72

Figura 25: Mensaje de error debido a haber introducido un número negativo de pasadas

En cambio, si introducimos todos datos y estos tienen el formato correcto una nueva forma sustituiría a

la actual.

3.4.4.3 Menú de inicio del mecanizado

En la figura 26, podemos observar la forma que sustituye a la forma de obtención de parámetros. En ella

se muestran los parámetros que se le han facilitado al programa en la forma anterior. Dichos parámetros

son los genéricos y específicos. Además se realiza una estimación del tiempo en el que se ejecutará el

mecanizado.

Inicialmente se muestran dos botones, uno con el mensaje “Empezar Mecanizado” y el otro con “Cambiar

parámetros del Mecanizado”.

El primero se pulsará en el caso de que el técnico no se haya equivocado al introducir los parámetros y

entonces empezará toda la fase de realización del mecanizado. En caso de que detecte que se ha

equivocado al introducir los valores, podrá pulsar el botón de “Cambiar parámetros del Mecanizado” y

volverá al menú anterior, para cambiar el o los parámetros que no haya introducido correctamente.

Page 32: 3. APLICACIÓN DESARROLLADAbibing.us.es/proyectos/abreproy/12015/descargar_fichero/4+Aplicación+desarrollada.pdfdiseñarán una Application Programming Interface (API) por cada uno

Diseño de una aplicación de control para el desarrollo de una herramienta de micromecanizado por

láser

Escuela Superior de Ingeniería Universidad de Sevilla

Diego Medina Medina Página 47 de 72

Figura 26: Menú previo al mecanizado

Posteriormente a la finalización del mecanizado, aparecerán dos nuevos botones que se encontraban

ocultos como se puede observar en la figura 27 y que sustituirán a los que se veían anteriormente.

Figura 27: Menú después de realizar el mecanizado

Estos nuevos botones, con los mensajes “Nuevo Mecanizado” y “Fin de mecanizados”. El primero nos

devolverá al menú inicial, mientras que el segundo nos hará salir de la aplicación.