La Mecatronica en la Ingenieria Mexicana

Anuncio
MEXICO
CHROMA-II DISEÑO Y CONSTRUCCIÓN DE UN
CONTROL NUMÉRICO DE ARQUITECTURA
ABIERTA
ESPECIALIDAD: Ingeniería Mecánica
GILBERTO HERRERA RUIZ
DOCTOR EN INGENIERÍA
Fecha de ingreso (20 DE SEPTIEMBRE DEL 2007)
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
CONTENIDO
Página
Resumen ejecutivo
1 Introducción
3
4
2 Estado del Arte
10
3 Metodología
17
4 Conclusiones
51
5 Bibliografía
52
Especialidad: Mecánica
2
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
RESUMEN
En la actualidad, uno de los temas más importantes de la investigación en el área de
manufactura, esta enfocado al desarrollo de Sistemas Inteligentes de Manufactura, la
finalidad de estos sistemas es que puedan operar sin la intervención humana. En estos
sistemas autónomos, las tareas de monitorización del proceso, tales como la detección
y corrección de fallas en la herramienta, que antes estaban bajo el control del operador
de la máquina, se dejan al cerebro del sistema el Control Numérico por Computadora
(CNC). En el presente trabajo se muestra el diseño y desarrollo de un control numérico
de arquitectura abierta CHROMA-II el cual tiene capacidades de monitorización del
estado de la herramienta así como posibilidades de introducir algoritmos de control.
Palabras clave: CNC, Monitorización de herramienta, Máquinas-herramienta
Especialidad: Mecánica
3
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
1.
INTRODUCCIÓN.
En la actualidad, uno de los temas más importantes de la investigación en el área de
manufactura, esta enfocado al desarrollo de Sistemas Inteligentes de Manufactura, la
finalidad de estos sistemas es que puedan operar sin la intervención humana. En estos
sistemas autónomos, las tareas de monitorización del proceso, tales como la detección
y corrección de fallas en la herramienta, que antes estaban bajo el control del operador
de la máquina, se dejan al cerebro del sistema el Control Numérico por Computadora
(CNC). Para que éste sistema pueda sustituir eficientemente a los operadores de las
máquinas-herramienta, deben de estar equipados con sistemas de monitorización,
diagnóstico y corrección de dichas fallas. En este mismo sentido es de vital
importancia que las fallas sean corregidas en tiempo real, dado que si no se detecta y
corrige la falla, entonces se pueden causar desperfectos en la máquina, la pieza o en el
porta-herramienta. A manera de ejemplo en caso de que la ruptura de la herramienta
no se detecte a tiempo, el porta-herramienta se puede romper y en algunos casos si el
problema persiste, la máquina y la pieza de trabajo pueden dañarse. Esto sucede
debido a que la herramienta en vez de cortar, empieza a solo empujar la pieza de
trabajo, causando una sobrecarga en la máquina, donde en el mejor de los casos esta
última se descalibra. Es por ello que los sistemas actuales de Control Numérico
necesitan contar con capacidad de multiprocesamiento así como con capacidad de
poder ingresar diferentes tipos de sensores, desgraciadamente los CNCs actuales no
permiten cambiar su configuración es por ello que es necesario el establecer
propuestas de arquitecturas abiertas en dichos sistemas que nos permitan introducir
no solo sensores sino diferentes algoritmos de control.
Las estadísticas muestran que alrededor del 20% del tiempo ocioso de la máquina se
debe a fallas que suceden durante la operación de corte de la máquina, estas fallas se
deben comúnmente a rupturas de herramientas. Esta cifra nos muestra la importancia
de los sistemas de detección y corrección de las fallas en la productividad de la
industria metal-mecánica. En dichas fallas no solamente son relevantes las rupturas
completas de herramienta, sino también las fallas más pequeñas y que tienen un
impacto en la calidad del acabado en la pieza a producir, dichas fallas están relacionas
al astillamiento de la herramienta o al desgaste de la misma.
Especialidad: Mecánica
4
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
La importancia y área de investigación de este trabajo es clara si se toma en cuenta
que la industria manufacturera en México es la industria exportadora más importante
del país, mientras en 1981 aportaba el 16% del valor de las exportaciones totales del
país, actualmente aporta el 83% (NAFINSA), La industria metal-mecánica aporta por si
sola 40% del total de las exportaciones, principalmente a través de la Industria
automotriz y de la de autopartes (NAFINSA). Contrariamente a lo que sucede en la
industria automotriz la cual es meramente dominada por empresas transnacionales,
México cuenta con una industria de autopartes que en su mayor parte es nacional. La
industria de autopartes en México realizó exportaciones en 2006 por 5000 millones de
dólares. Esta industria sin embargo al ser proveedores de partes de la industria
automotriz tiene una demanda por mantener una alta calidad y productividad para
mantenerse en competitividad internacional. En el caso específico de nuestro estado
este posee una estructura económica muy diversificada en la actividad industrial; El
sector de autopartes es especialmente relevante por su aportación al PIB del estado.
La industria Queretana de maquinaria y equipo es la más importante ya que aporta un
81.5% del valor de la producción total industrial del Estado, así mismo da empleo a
más de 45 mil personas (Anuario económico 1999), es importante mencionar que en
este sector de maquinaria y equipo el 94.4% del total de las empresas son pequeñas y
medianas.
Hasta el día de hoy, los elementos y los métodos que se han venido utilizando para
detectar fallas en las herramientas de corte no satisfacen a los investigadores que
trabajan en ello (Altintas, 1988), ni contribuyen a resolver verdaderamente los
problemas que enfrentan los usuarios. Gran parte de estos fracasos relativos se debe a
que los métodos de detección de fallas han estado basados primordialmente en los
resultados que proporcionan el análisis de Fourier y los análisis estadísticos (Tarng,
1992), aplicados a las señales que pueden monitorizarse durante el proceso de
maquinado; sin embargo, ninguno de estos métodos ha sido efectivo en la detección
de fallas, tales como la detección de astillamientos de la herramienta, ya que estos
métodos solamente reportan cambios sutiles en las fuerzas de corte, localizadas en el
eje del tiempo.
Otro problema que ha afectado la investigación hasta hoy hecha, es que al basarse en
el análisis de frecuencia bajo la transformada de Fourier, su análisis demanda alta
cantidad de tiempo de computo, por lo que la utilización de este medio en ambiente
Especialidad: Mecánica
5
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
industrial no se ve muy factible ya que difícilmente podría realizarse en tiempo real
(Herrera, 1995).
Debido a esto y en respuesta a la necesidad que se tiene para que los datos obtenidos
en
la
monitorización
se
procesen
adecuadamente
y
permitan
que
tengamos
diagnósticos previos, rápidos y correctos, estamos proponiendo un proyecto de
investigación en el cual se pueda encontrar una técnica nueva de detección de
astillamiento y ruptura de herramientas, donde los módulos que integraran el sistema
de monitorización, diagnóstico y corrección de fallas deben contar con inteligencia.
Para que el diagnóstico tenga éxito en nuestro sistema propuesto, el procesamiento de
las señales del corte tendrá que estar basado en el uso de Wavelets (Herrera, 1994).
Con esta nueva teoría matemática, es posible construir un método más sensitivo de
análisis que permita explorar pequeños cambios en el proceso de corte, a partir de
señales de fuerza involucradas en el mismo. A grandes rasgos, podemos decir que
mediante el uso de wavelets, el analista puede enfocarse en los detalles de su análisis
de señales, tal y como si utilizara una cámara con un lente de zoom. A diferencia de la
transformada de Fourier, la cual solo proporciona información en frecuencia, la
transformada
de
wavelet
proporciona
información
en
tiempo
y
frecuencia
simultáneamente.
La teoría de wavelets nos permite trabajar sobre los vacíos de información que a veces
presentan los datos. En realidad la teoría de wavelets, a través de la transformada
discreta de wavelet, supera a la transformada rápida de Fourier en el reconocimiento
de los cambios pequeños de fuerza que se tienen cuando una herramienta corta, y los
cuales son definitivos para predecir una falla que pueda volverse fatal en el sistema
total de maquinado.
Para evitar todo este panorama que reduce la calidad de la manufactura, es necesario
que el sistema de detección y diagnóstico de la máquina-herramienta envíe
información fidedigna al sistema de corrección de fallas; también es necesario que los
métodos de monitorización y análisis de las señales de corte sean congruentes con los
requerimientos del CNC. En este caso, las matemáticas de wavelet presumen ser la
mejor teoría que nos permita encontrar las fallas en el corte y actuar en favor de su
Especialidad: Mecánica
6
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
corrección durante periodos de tiempo suficientes para evitar daños severos al sistema
de manufactura.
Otro punto importante en el desarrollo de este trabajo es el tratar de evitar el uso de
sensores costosos que haría imposible el uso de esta técnica a la pequeña y mediana
empresa del país, es por ello que se introduce el concepto de monitorización sin
sensores (“sensorless”) el cual nos permite usar señales ya existentes en la
maquinaria de control numérico comercial, el presente trabajo se centra en el uso de
las señales de corriente de los motores que manejan los ejes de movimiento de dichas
máquinas, esta señales de corriente nos dan una información de las fuerzas ejercidas
durante el maquinado de una pieza. Los obstáculos que tenemos al usar estas señales
es principalmente que son señales con poca sensibilidad y con una gran cantidad de
ruido debido a que provienen de sistemas con una frecuencia de conmutación muy alta
lo que contiene ruido de alta frecuencia asociada a la señal misma.
En la figura 1.1 se muestra la fotografía de una fresadora típica convertida a CNC
(Computer
Numeric
Control,
control
numérico
computarizado)
que
puede
ser
encontrada en las industrias manufactureras de nuestro país, misma que es la utilizada
para llevar a cabo el desarrollo y las pruebas del sistema de detección de rupturas. La
figura 1.2 muestra un acercamiento de la bancada de la fresadora FNK 25A. La
herramienta de corte con los insertos se muestra en la figura 1.3.
Especialidad: Mecánica
7
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 1.1. Fresadora FNK 25A.
Figura 1.2. Bancada de la fresadora FNK 25A.
Especialidad: Mecánica
8
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 1.3. Herramienta de corte típica con insertos.
Con el objeto de detectar la condición operativa de las herramientas durante el proceso
de fresado se han propuesto diversos esquemas de sensado de señales y en la figura
1.4 se muestran los más importantes reportados hasta la fecha. Algunos sistemas de
detección se basan en el uso de un esquema de sensores mientras que otros sistemas
lo hacen utilizando varios tipos de sensores de manera simultánea.
Como se puede observar en la figura 1.4, los mecanismos de sensado de las señales
para la detección del estado de las herramientas en un proceso de fresado se pueden
clasificar de dos formas: por el lugar donde se lleva a cabo el sensado y por la variable
a sensar y sensor utilizado. El lugar donde se puede llevar a cabo el sensado incluye:
el husillo, el cuerpo de la máquina, los cojinetes del husillo, el porta-herramientas, el
proceso mismo de corte, la abrazadera, la bancada, el tornillo de bolas y el manejador
del eje (Servo-driver, servo-amplificador), Prickett y Johns (1999). En cuanto a la
variable a sensar y el sensor utilizado se destacan: fuerza, torque, vibración, emisión
acústica, sonido, visión, posición, velocidad, corriente en los motores, potencia en los
motores, precarga y fuerza de corte.
Especialidad: Mecánica
9
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 1.4. Principales mecanismos de sensado de señales en un proceso de fresado. (Adaptada de Prickett y Johns, 1999).
Cada una de las soluciones propuestas para llevar a cabo la detección del estado de las
herramientas tiene sus propias ventajas y desventajas y la elección del método o
conjunto de métodos adecuados para una aplicación específica dependen de varios
factores como son: precisión, exactitud, resolución, tiempo de análisis, poder de
cómputo y costo total del sistema. Poder seleccionar la solución óptima requiere de un
análisis y evaluación de los métodos mencionados.
2. ESTADO DEL ARTE
En el presente capítulo se muestra un análisis del estado del arte, utilizado como
fundamento para el desarrollo del trabajo. La revisión se ha dividido en cinco temas
principales:
procesos
de
maquinado,
detección
de
desgaste
y
ruptura,
acondicionamiento de señales, procesamiento digital de señales y procesamiento de
señales en circuitos integrados.
Especialidad: Mecánica
10
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
En la sección correspondiente al proceso de maquinado se revisan los desarrollos de
los modelos matemáticos que involucran la fuerza de corte de las herramientas. La
detección de desgaste y ruptura es uno de los temas centrales del presente trabajo y
en esta sección se muestra la literatura que ha tratado este tema. Así mismo, se ha
incluido un análisis del estado del arte en lo que se refiere al proceso en si y a los
equipos comerciales que cumplen parcialmente con esta función en las herramientas
modernas. La literatura correspondiente al manejo de señales analógicas y su
procesamiento se revisa en la sección de acondicionamiento de señales. La información
relativa al desarrollo y aplicación de algoritmos digitales para el procesamiento de
información se trata en la sección de procesamiento digital de señales. Finalmente, en
la sección correspondiente al procesamiento de señales en circuitos integrados se
revisa la literatura pertinente a la realización física de los algoritmos de procesamiento
digital de señales.
2.1
Proceso de maquinado
El proceso de maquinado debe ser comprendido para entender la forma en que se
generan las señales que determinan o indican la manera en que se produce el corte.
Esto involucra principalmente el análisis dinámico del proceso de corte por las
herramientas en función de los materiales y los parámetros involucrados como son: la
velocidad de giro del husillo, la tasa de alimentación, la profundidad del corte y el
número de insertos en la herramienta. De este análisis surge la forma de onda de la
señal a procesar.
La teoría del proceso de maquinado se presenta de una manera muy completa en
Altintas (2000 a). El capítulo 2 incluye un análisis de la mecánica del proceso de corte
en metales. En las secciones 2.2 a 2.8 se presentan los casos más importantes de la
mecánica del proceso de corte en sus variantes ortogonal, oblicua y helicoidal, así
como los modelos predictivos de las fuerzas de corte en los diferentes ejes
coordenados. Las deformaciones estáticas y dinámicas durante el maquinado son
cubiertas en el capítulo 3 donde se resaltan los efectos producidos por estas
deformaciones como una vibración. El capítulo 6 trata sobre el maquinado asistido por
sensores donde se muestra un panorama general del sistema de sensores y
procesamiento de señales requeridos para monitorear los diferentes aspectos del
proceso de maquinado, su control y su supervisión.
Especialidad: Mecánica
11
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Un suplemento a la teoría y modelado del proceso de corte se muestran en Altintas
(2000 b), donde se presentan los últimos modelos para la predicción de las fuerzas de
corte para los casos ortogonal, oblicuo y helicoidal, haciendo énfasis en el aspecto
computacional del monitoreo del proceso.
Johnson (2000) presenta un artículo donde muestra los efectos de desgaste en
herramientas de carburo y propone soluciones para corregirlos. Este artículo es
relevante para comprender mejor los efectos y proceso de desgaste de herramientas
en los procesos de maquinado.
Una de las técnicas tradicionales para determinar el grado de desgaste de una
herramienta de corte es mediante la inspección visual de la viruta que se produce
durante el proceso de corte. Jawahir y Balaji (2000) presentan un modelo predictivo
para la formación de viruta en los procesos de corte en máquinas rotatorias,
mostrando los avances más recientes en el tema con un análisis en dos y tres
dimensiones.
2.2
Detección de desgaste y ruptura
Una vez que se cuenta con la información de la forma de onda involucrada se procede
al procesamiento de la misma para extraer la información útil para la toma de
decisiones por el sistema de supervisión maestro. Esto implica el análisis de las
diferentes alternativas que se han seguido para resolver el problema por otros equipos
de trabajo. De este análisis se obtiene el algoritmo numérico adecuado para la
extracción de la información importante del proceso de monitoreo. La información
relevante contempla los aspectos tecnológicos generales para llevar a cabo el
procesamiento de la información que van desde el sensor hasta el sistema de
procesamiento.
Uno de los mejores compendios para el estudio de los aspectos concernientes a los
sensores y la instrumentación se presenta en Webster (1999). Destacan de manera
particular la sección 2 con una revisión a la medición de variables espaciales, la sección
3 donde se revisa la medición de tiempo y frecuencia, las secciones 4 a 7 que tratan de
la medición de variables mecánicas y la sección 8 donde se encuentran las variables
electromagnéticas.
Especialidad: Mecánica
12
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Bejhem y Nicolescu (1999) presentan un ejemplo para resolver el problema de la
detección de la ruptura de herramientas en procesos de corte en maquinados y hacen
uso de un sistema de cómputo con capacidad de multiproceso para analizar las fuerzas
de corte en tres ejes, la vibración y el sonido. El sistema de cómputo tiene capacidad
para
multiproceso
con
procesadores
digitales
de
señales
DSP
(Digital
Signal
Processors) conectados en tándem vía ethernet. Los sensores utilizados son celdas de
carga en la abrazadera, acelerómetros para medir la vibración y sensores piezoeléctricos para medir el sonido. El sistema resuelve el problema pero tiene la principal
desventaja de ser muy costoso.
Además del multiprocesamiento en tándem existen otras formas de contar con un
sistema de cómputo con procesadores múltiples como es el caso de las arquitecturas
abiertas, donde los procesadores comparten un bus estándar y se comunican en
paralelo vía este bus. Un ejemplo del uso de arquitecturas abiertas para el monitoreo
del proceso de maquinado se muestra en Teltz et al (1995). Además de detectar la
ruptura de las herramientas, la arquitectura abierta permite realizar el control y
supervisión general del proceso completo, con la consecuente penalización en costo.
Otro ejemplo de multiprocesamiento para el monitoreo de sistemas de maquinado lo
muestra Herrera-Ruiz et al (1995). El trabajo reportado se basa en un sistema de
arquitectura con bus VME para comunicar los diferentes módulos procesadores, tanto
los sensores como los controladores. Este esquema es una forma particular de
arquitectura abierta.
Sood y Abdelguerfi (1985) presentan en su trabajo un análisis de tres métodos
diferentes para detectar rupturas en herramientas en procesos de corte. El primer
método propuesto se basa en mediciones similares, utilizando como base el conjunto
de señales generadas y almacenadas digitalmente para un proceso de maquinado con
herramientas en buenas condiciones y se utiliza para compararlo con maquinados
sucesivos hasta detectar un umbral de tolerancia donde se determina que la
herramienta se encuentra con un desgaste o ruptura inaceptables. El segundo método
propuesto por Sood y Abdelguerfi se basa en reconocimiento de patrones de señales
que en lugar de contar con una base de datos muy grande con un maquinado completo
para comparar, se utilizan técnicas de compresión de datos para reconocer patrones de
corte. El tercer método propuesto en este trabajo se basa en el modelado matemático
Especialidad: Mecánica
13
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
del proceso de corte por estimación de parámetros. Estos tres métodos propuestos
desde 1985, fecha del trabajo, son los que han sido utilizados de manera general por
los fabricantes de equipos de detección de rupturas en herramientas de corte hasta la
fecha. Estos métodos tienen la principal desventaja que requieren un enorme poder de
cómputo para la detección de la ruptura resultando en equipos grandes y costosos.
Oguamanam et al (1990) presentan un trabajo para la detección de ruptura en
herramientas de corte para procesos de torneado con una sola herramienta de corte,
basado en visión artificial. El sistema hace uso de una cámara digital para obtener una
imagen en dos dimensiones de la herramienta durante el torneado. El sistema trabaja
con procesamiento de imágenes en tiempo real y su aplicación se ha restringido a
laboratorios debido al nivel de procesamiento requerido.
Otro método que ha sido propuesto para resolver el problema de la detección de
desgaste y ruptura de herramientas de corte es el presentado por Roth y Pandit
(1999). El método propuesto se basa en un análisis de variaciones múltiples aplicado a
señales de vibración.
Li y Tso (1999), Li et al (2000 a) y Li et al (2000 b) describen tres aplicaciones a la
detección de desgaste y ruptura de herramientas para diferentes procesos de
manufactura, utilizando como fuente la corriente de control de los motores que
manejan los ejes. En Li y Tso (1999) se aplica este método de sensado a procesos de
barrenado exclusivamente. Los trabajos reportados por Li et al (2000 a) y Li et al
(2000 b) se aplican a la detección de desgaste y ruptura en herramientas de corte
utilizando técnicas híbridas de procesamiento que incluyen redes neuronales y lógica
difusa. La importancia de estos trabajos radica en el uso de la señal de corriente de los
motores que manejan los ejes de las bancadas debido a que esta señal no hace uso de
ningún sensor especial ya que se encuentra disponible en todos los sistemas de
maquinado automático.
Matsumura (2001) presenta una técnica de monitoreo de la condición de las
herramientas de corte mediante la medición fuera de línea de la dimensión de la
herramienta
utilizando
un
láser
e
interferometría
para
medir
las
variaciones
micrométricas debidas al desgaste. Este sistema no sirve para trabajar en línea ya que
Especialidad: Mecánica
14
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
la medición se realiza cuando termina el proceso de maquinado y antes de que
comience el siguiente ciclo.
Una de las principales técnicas de procesamiento digital de señales que ha probado ser
muy eficiente en la detección de desgaste y ruptura en herramientas de corte es la
técnica de ondoletas aplicadas a la medición de la fuerza de corte. Kasashima et al
(1994) proponen por primera vez el uso de ondoletas para sensar el desgaste de las
herramientas en procesos de corte. Yao et al (1999), Li et al (1999) y Li et al (2000 c)
han propuesto el uso combinado de la transformada de ondoletas (Wavelets) y las
redes neuronales con clasificadores difusos. Wang (2001) hace uso de las ondoletas y
las aplica a señales provenientes de la vibración de la maquinaria para detectar el
estado de las herramientas de corte.
El algoritmo de procesamiento utilizado por los artículos citados se puede resumir de
acuerdo con el cuadro 2.1.
Algoritmo
Cómputo
principal
requerido
Ondoletas
Moderado
Observaciones
Transformaciones de espacio en el campo de los reales. Adecuado para señales
cíclicas y transitorias. El filtrado es inherente al algoritmo. Equivale a un banco de
filtros tipo FIR (Finite Impulse Response, respuesta finita al impulso)
Análisis
de
Moderado
Fourier
Transformaciones de espacio en el campo complejo. Adecuado para señales
cíclicas solamente. Requiere un pre-procesador para el filtrado de la señal.
Comparación
Alto
punto a punto
El procesamiento es sencillo pues solamente se realizan comparaciones. Se
requiere una gran capacidad de almacenamiento y programabilidad del sistema.
Este método se conoce como el de fuerza bruta.
Reconocimiento
Alto
de patrones
El procesamiento debe reconocer patrones de maquinado adecuado y diferenciarlo
de un máquina con herramientas rotas. Requiere una alta capacidad de
almacenamiento y procesamiento.
Lógica difusa
Moderado
Se basa en reconocimiento de patrones de la señal pero solo es útil cuando ésta se
encuentra comprimida como por ejemplo con transformada de ondoletas.
Redes neuronales
Alto
Debido al alto paralelismo se necesita una cantidad muy grande de procesadores
para poder tener un análisis en línea.
Variables
Muy alto
múltiples
Mediante un sistema experto hace uso de la información proporcionada por una
multitud de sensores localizados en la maquinaria.
Visión
Muy alto
El procesamiento de imágenes aún requiere de sistemas sofisticados de cómputo
en paralelo para trabajar en línea.
Cuadro 2.1. Resumen de los principales algoritmos para el monitoreo de herramientas.
Especialidad: Mecánica
15
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Por otro lado, la mayoría de los trabajos reportados hace uso de sensores
especializados para poder obtener señales más puras y directas que aquellos que
hacen uso de las señales ya disponibles en el sistema de maquinado, como por
ejemplo la corriente de control de los motores. Los sistemas de sensado más populares
son las celdas de carga y los acelerómetros.
En lo que se refiere a los equipos comerciales que realizan el monitoreo de las
herramientas de corte se encontraron diversos sistemas especializados, algunos de los
cuales se utilizan en máquinas herramientas en industrias de la región. Cinco son las
compañías que ofrecen estos equipos y son: Siemens, Montronix, OMAT, PROMESS y
Caron Engineering
Siemens ofrece un sistema de monitoreo de múltiples sensores dentro de un sistema
de arquitectura propietaria de la empresa. Este sistema de monitoreo lleva el nombre
comercial de Brankamp y por las características que menciona utiliza un sistema de
monitoreo por comparación punto a punto.
El sistema PS100 de Montronix ofrece monitoreo mediante la medición de la potencia
eléctrica en el motor y es una unidad independiente. La medición de la potencia incluye
la medición de la tensión y la corriente del motor lo que implica que no hay que
realizar modificaciones a la maquinaria existente. Aparentemente el sistema detecta
patrones de maquinado y tiene niveles
de tolerancia que son programados
manualmente lo que requiere de supervisión continua.
OMAT ofrece el sistema OptiMonitor basado en celdas de carga y un software cerrado,
propietario de la empresa. El sistema incluye varios procesadores por lo que el
cómputo numérico intensivo es evidente.
El módulo detector de PROMESS tiene características similares al ofrecido por OMAT,
basando su sistema de medición en acelerómetros en lugar de celdas de carga.
Finalmente, Caron Engineering ofrece un sistema de múltiples sensores en arquitectura
cerrada, propietaria de la empresa. El sistema incluye el monitoreo de diversas
variables, tomadas de diversos sensores. Tiene características similares al equipo
Especialidad: Mecánica
16
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
ofrecido por Siemens aunque incluye la medición micrométrica fuera de línea mediante
láser.
3.
Desarrollo
3.1
Arquitectura
Uno de los principales objetivos del proyecto es ofrecer una solución industrial que sea
efectiva y redituable para cumplir con las expectativas económicas de los usuarios, es
decir, el producto obtenido a partir del desarrollo deberá ser una solución
económicamente viable. En consecuencia, debemos tomar en cuenta aquellos factores
económicos que pudiesen elevar el costo de una licencia final para el usuario. Así pues,
uno de los factores que influyeron en la selección de una plataforma desarrollo,
después de la robustez y la seguridad, fue el costo de licencias de terceros en el
producto final. Afortunadamente existen actualmente diversas soluciones de código
abierto para la mayor parte de los requerimientos del sistema CNC; en aquellos casos
en los cuales no fue posible encontrar una solución de código abierto para algún
componente del sistema, tal como el sistema gráfico, se eligió una solución que no
requiriera el pago de regalías por parte del usuario final. Para reducir el costo del
desarrollo se optó por una plataforma computacional de arquitectura abierta y, en
virtud de la documentación disponible y de los costos, se eligió a la computadora
personal basada en el microprocesador Intel© (PC) como plataforma de desarrollo.
Existe una amplia gama de opciones a emplear como sistema operativo para la
plataforma PC como para las comerciales de código abierto; la funcionalidad que ofrece
cada sistema operativo no siempre es apropiada para un sistema de control de
movimiento de arquitectura abierta. Si bien es posible en la mayoría de los casos
adaptar el sistema operativo para satisfacer los requerimientos de velocidad de
respuesta de una aplicación de control de movimiento, las soluciones aplicables a
sistemas operativos comerciales también son de naturaleza comercial. Por ejemplo, si
se desea emplear el sistema operativo Windows© en aplicaciones de control de
movimiento es necesario resolver el problema de la imposibilidad de predecir el tiempo
de respuesta del sistema operativo ante eventos externos en virtud de su arquitectura
basada en mensajes; las dos soluciones más comunes que nos permiten habilitar al
sistema operativo Windows como parte del sistema de control de movimiento son el
emplear hardware adicional que se encargue de la temporización oportuna de las
tareas de control de movimiento, o bien instalar un núcleo de tiempo real que a su vez
cargue al sistema operativo Windows como una tarea más; en ambos casos el costo
Especialidad: Mecánica
17
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
del desarrollo se incrementa para el usuario final. Es recomendable, por consiguiente,
emplear un sistema operativo con una arquitectura que no esté basada en mensajes;
dos opciones robustas son el sistema operativo Linux y alguna variante del sistema
operativo DOS. Si bien el sistema operativo Linux es robusto e inclusive existen
algunas soluciones (comerciales) de tiempo real para el mismo tal como RT Linux, la
curva de aprendizaje del mismo es larga y se requiere de mucha experiencia para
configurarlo de manera óptima debido a que usualmente es necesario reconfigurar su
núcleo de tal suerte que es necesario conocer su código fuente para optimizarlo. Por
otra parte, el sistema operativo DOS también es robusto, ha estado disponible por
años, su curva de aprendizaje es corta y tiene requerimientos de hardware menores
que Linux (e.g., menos memoria RAM en general, de modo que se puede emplear en
equipo más antiguo). Su re-configuración es sencilla, sin necesidad de tener que
recompilar el núcleo en virtud de su arquitectura modular, y permite un acceso directo
a la mayoría de los dispositivos existentes por medio de interfaces de bajo nivel bien
documentadas. Después de evaluar diversas opciones concluimos que la mejor opción
para la implementación de un sistema operativo DOS dentro del sistema CNC era el
sistema operativo FreeDOS debido a que es una plataforma de código abierto, gratuita
y bien documentada; si bien el DOS no es desde sus orígenes una arquitectura abierta,
la documentación heredada a lo largo de los años provee la información necesaria para
explotar el sistema a detalle. Si bien, para una primera versión del sistema, decidimos
emplear una tarjeta comercial de control de movimiento PID que ofreciera planeación
de trayectorias mínima, la plataforma resultante permitirá eventualmente realizar
estas funciones por medio de software. Esperamos que en el futuro sea posible ofrecer
el control numérico de movimiento implementando la lógica del controlador en
software con un soporte mínimo de electrónica, a saber, empleando simplemente una
tarjeta de interfaz que mantenga un registro de la posición de los motores y que
genere una señal analógica para los amplificadores.
3.1.1 El lenguaje de programación
El lenguaje C es, junto a lenguaje ensamblador, un lenguaje de programación de
sistemas por excelencia. La mayor parte del software desarrollado para la plataforma
DOS se desarrolla en alguno de estos dos lenguajes y, de hecho, la cantidad de
compiladores disponibles en ambos casos es muy amplia. Decidimos emplear el
lenguaje C (siguiendo el estándar ANSI 89) para el desarrollo del sistema por dos
razones principales:
Especialidad: Mecánica
18
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
El lenguaje C ofrece una portabilidad mucho mayor que lenguaje ensamblador, es
decir, al ser un lenguaje estandarizado es posible programar partes críticas del
sistema, tales como el código del ejecutivo, de manera independiente de la plataforma,
permitiendo así cambios en el compilador o el sistema operativo de ser considerados
apropiados. Asimismo, es posible emplear código heredado para la implementación de
algunos algoritmos. El fabricante de tarjetas de control de movimiento provee una
biblioteca de lenguaje C que permite el uso de la misma. A pesar de que le biblioteca
da soporte a un gran número de compiladores, en virtud del tamaño de los
identificadores, fue necesario emplear un compilador que permitiera identificadores de
más de 32 caracteres.
Para cumplir con los dos requerimientos anteriores, elegimos el compilador Turbo C
++ 4.5. Dicho compilador se ejecuta bajo el entorno gráfico de Windows 3.1, Windows
95 o Windows 98. Se eligió desarrollar el sistema bajo Windows 98 en virtud de su
disponibilidad, pero se tomó la decisión de emplear FreeDOS como plataforma de
ejecución final.
3.1.2 La arquitectura del sistema
A diferencia de versiones anteriores del sistema, el diseño de esta nueva versión fue
modular; este lineamiento fue establecido con la intención de simplificar el diseño y la
programación del sistema. La modularización del sistema ofrece grandes ventajas:
Hace más manejable el desarrollo de programas al reducir las dependencias. Simplifica
la depuración del software pues reduce la interdependencia entre las partes del código.
Facilita la reutilización de software pues los módulos pueden emplearse para distintas
aplicaciones; por ejemplo, el módulo ejecutivo que describiremos más adelante se
puede emplear para distintas aplicaciones. Permite el desarrollo del programa por más
de un desarrollador, generalmente en paralelo, pues simplifica el proceso de
integración.
Los módulos que fueron considerados en el diseño del sistema son los siguientes:
Editor
El módulo de edición de archivos de texto, editor, es una biblioteca de funciones
escrita en lenguaje C que provee la funcionalidad necesaria para editar varios archivos
Especialidad: Mecánica
19
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
de texto empleando una región rectangular de la pantalla de dimensiones arbitrarias;
después de editar un archivo las modificaciones en el mismo pueden ser guardadas en
el mismo archivo fuente o en otro archivo destino. La idea básica detrás del diseño de
este editor es separar la interfaz de usuario de la representación interna de los datos.
Esto ofrece dos grandes ventajas, a saber:
Fue posible desarrollar el editor de manera independiente de la interfaz de usuario.
Es posible modificar la operación interna (implementación) del editor sin alterar el
resto del código.
El resto del programa interactúa con el editor llamando sus funciones para indicar
acciones o solicitar información. El editor cuenta con diferentes funciones para poder
modificar el archivo de texto fuente, tales como:
Creación de un nuevo editor en la memoria de la computadora. Se pueden crear tantos
editores como sean necesarios de manera simultánea en un momento dado, aunque el
diseño del sistema CNC sólo requiere de la existencia de un ejemplar a la vez.
Liberación de los recursos empleados por un editor dado.
Modos de edición para agregar o sobrescribir texto.
Avanzar y regresar página.
Ir al inicio y al fin de un renglón.
Ir al inicio y al fin de un archivo que está siendo editado.
Suprimir un carácter que se encuentre adelante o atrás de la posición de edición
actual.
Salto y retorno de línea.
Desplazarse en cualquier dirección, arriba, abajo, izquierda o derecha, a partir de la
posición de edición actual.
Funcionalidad extra orientada a desplegar el archivo de texto en pantalla.
La versión actual del editor consiste de un búfer de tamaño N que permite editar la
línea actual, la cual es parte de una lista doblemente ligada de cadenas de caracteres.
Complilador
Un programa CNC se compone de una serie de instrucciones secuenciales de bajo nivel
relacionadas al maquinado de una pieza de trabajo. Cada instrucción se especifica en
un formato que puede aceptar, interpretar y procesar el sistema CNC. Este campo
Especialidad: Mecánica
20
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
tiene su propia terminología y términos especiales. Además cuenta con sus propias
abreviaciones y expresiones que únicamente las personas del ámbito conocen, donde
la mayoría de estos términos están relacionados a la estructura del programa.
Existen cuatro términos básicos usados en la programación CNC [Smid, 2003]. Ellos
aparecen en artículos profesionales, libros, publicaciones, etcétera. Estas palabras son
la clave para el entendimiento general de la terminología CNC:
Carácter
Palabra
Bloque
Programa
Carácter: es la unidad más pequeña del programa CNC (dígito, letra y símbolo). La
combinación de estos caracteres se llama entrada de programación alfanumérica.
Dígito: Existen diez dígitos disponibles (0 - 9) para crear números en un programa. Los
dígitos se usan en dos modos - uno para valores enteros y el otro para número reales.
Letras: Son veintiséis letras en al alfabeto inglés, en teoría todas disponibles para la
programación. La mayoría de los sistemas de control aceptarán sólo ciertas letras y
rechazarán otras, según sea la arquitectura de la máquina - herramienta para la cual
está escrito el programa. Las letras mayúsculas están designadas normalmente en la
programación CNC, pero algunos controles aceptan también letras minúsculas con el
mismo significado que su equivalente en mayúscula.
Símbolos: Algunos símbolos son usados además de dígitos y letras. Los símbolos más
comunes son el punto decimal, signo menos, signo por ciento, paréntesis y otros
dependiendo de las opciones del control.
Palabras: Es una combinación de caracteres alfanuméricos, creando una única
instrucción para el sistema de control. Normalmente, cada palabra comienza con una
letra mayúscula seguida por un número el cual representa un código del programa. Las
palabras indican casi siempre la posición de los ejes, comandos preliminares, funciones
misceláneas o algunas otras definiciones.
Bloque: Así como las palabras se usan como una única instrucción para los sistemas
CNC, los bloques se utilizan como una instrucción múltiple. Cada línea (bloque
Especialidad: Mecánica
21
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
secuencial o bloque) está compuesto por una o varias palabras y cada palabra se
compone por dos o más caracteres.
Programa: La estructura del programa varía para los diferentes controles, pero la
lógica no cambia de un control a otro. Un programa CNC usualmente inicia con un
número de programa o identificador similar, seguido de bloques de instrucciones en
orden lógico. El programa termina con un código de error o con el símbolo de fin de
programa (%). Los mensajes y documentación interna para el operador pueden ser
colocados
en
lugares
estratégicos
dentro
del
programa.
El
formato
de
los
programadores ha evolucionado durante los últimos años y han surgido varios
formatos [Smid, 2003].
Las palabras empleadas en la programación CNC se pueden dividir en códigos G,
códigos M y otros registros.
Códigos G La dirección G del programa identifica una función preparatoria o código G.
Esta dirección tiene uno y solamente un objetivo el cual es preparar al sistema de
control a cierta condición, modo o estado de operación deseada. El término función
preparatoria indica su significado---un código G preparará al control para aceptar las
instrucciones de programación siguiendo el código G de forma especifica.
Los sistemas de control organizan las funciones preparatorias separándolos dentro de
grupos arbitrarios. Cada grupo, llamado grupo de código G, tiene un número de dos
dígitos asignado arbitrariamente. Las reglas que gobiernan la coexistencia de códigos
G es muy simple. Si dos o más códigos G del mismo grupo están en el mismo bloque,
ellos están en conflicto.
Los grupos de códigos G están normalmente enumerados de 00 hasta el 25. Sólo las
funciones preparatorias del grupo 00 son no modales, es decir, ellas están únicamente
activas en el bloque en el cual fueron programadas. La relación de cómo se agrupan
los códigos G tiene un sentido perfecto en todos los casos. Una posible excelción es el
grupo 01 para los comandos de movimientos y el grupo 09 para los ciclos. La relación
entre estos dos grupos es esta: si un código G del grupo 01 se especifica en
cualesquiera del grupo 09 de ciclos fijos, el ciclo es cancelado inmediatamente, pero lo
opuesto no ocurre [[Smid, 2003]].
Especialidad: Mecánica
22
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Códigos M La dirección M del programa identifica una función miscelánea o funciones
máquina. No todas las funciones misceláneas se relacionan a la operación de la
máquina - herramienta CNC---muy pocas se relacionan al procesamiento del mismo
programa.
Dentro de la estructura de un programa CNC, los programadores frecuentemente
necesitan ciertos medios de activación de la máquina o para controlar el flujo del
programa. Sin la disponibilidad de tales medios, el programa podría no ser completado
o imposible de ejecutar. Primero, observemos la relación de las funciones misceláneas
y las funciones reales de la máquina.
Varias funciones físicas de la máqui8na herramienta deben controlarse por el
programa, para asegurar un maquinado totalmente automático. Estas funciones
utilizan normalmente la dirección M e incluyen las siguientes operaciones:
•
rotación del husillo,
•
cambiar rango de engranajes,
•
cambio automático de herramientas,
•
cambio automático de pallet,
•
operación de refrigerante y
•
movimiento de contrapunto entre otras.
Estás operaciones varían entre máquinas. Todas las maquinas herramienta CNC se
programan con funciones M, permitiendo por lo general no más de dos dígitos para
estas funciones. Además, algunas funciones máquina se utilizan para controlar la
ejecución del programa. Una interrupción de ejecución de programa requiere una
función M. Dichas funciones M caen dentro de dos grupos principales:
•
Control de funciones máquina.
•
Control de ejecución de programa
Los grupos de las funciones M están también normalmente divididos, desde un punto
de vista operacional, en dos grupos:
Especialidad: Mecánica
23
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
•
Las funciones M que se activan al inicio de un bloque.
•
Las funciones M que se activan al final de un bloque.
Si existe incertidumbre de cómo las funciones M interactuarán con el movimiento de la
herramienta, la elección más segura es programar la función M como un bloque
separado [Smid, 2003].
Otros registros Existen otras direcciones que identifican otras funciones de las
máquinas - herramientas (S, F, T, etc.). Las actividades del husillo de la máquina (S),
la velocidad de corte (F) y la herramienta (T) necesitan ser estrictamente controladas
por el programa CNC.
El comando relativo a la velocidad del husillo se controla en el sistema CNC por medio
de la dirección S. El formato de programación de la dirección S está usualmente dentro
de S1 a S9999 y no se permite el punto decimal.
La función F se usa en el programa CNC para seleccionar el valor del feedrate.
Normalmente se utilizan dos tipos de feedrate en la programación:
Feedrate por minuto
Feedrate por revolución
La llamada a dirección para una palabra en el programa es la dirección F, seguida por
un número de dígitos. El número de dígitos seguidos de la dirección F depende del
modo de feedrate y de la aplicación de la máquina - herramienta. El punto decimal es
permitido.
Cada máquina CNC utiliza un intercambiador automático de herramienta (función T)
que puede ser usada en el programa. Para los centros de maquinado, la función T
normalmente controla sólo el número de herramienta. Para los tornos CNC, la función
T indexa la estación del número de herramienta, así como también el número de
desplazamiento. Existen dos tipos de selección de herramienta usados en los procesos
de cambio automático de herramienta:
Selección de herramienta fijo: las máquinas - herramienta que utilizan selección fija de
herramienta (principalmente centros los maquinado) requieren que el operador
coloque todas las herramientas dentro de los huecos del almacén que correspondan al
Especialidad: Mecánica
24
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
número de herramienta. Hoy en día, este tipo de selección se considera impráctico y
costoso en largas ejecuciones, puesto que existen grandes pérdidas de tiempo durante
los cambios de herramienta.
Selección de herramienta aleatoria de memoria: esta característica es la más común
en las máquinas - herramienta modernas. El programador CNC identifica cada
herramienta por un número T, usualmente en el orden de uso. El número de
herramienta requerida por el programa moverá físicamente la herramienta a la
posición de espera dentro del almacén de herramientas. Esto puede ocurrir
simultáneamente, mientras la máquina está usando otra herramienta para desbastar la
pieza. No se confunda el método de la dirección T utilizado con la selección de la
herramienta fija y la misma dirección T usada con la selección aleatoria de memoria.
En este método se llama a la herramienta con anticipación antes de que se necesite,
así el sistema de control puede buscar la herramienta mientras otra herramienta está
haciendo trabajo productivo [Smid, 2003].
Un compilador, por definición, es un programa que traduce de un lenguaje fuente a un
lenguaje destino [Aho et al., 1998]. Generalmente un compilador completo se divide
en dos etapas, la de análisis y la de síntesis. Durante la etapa de análisis el compilador
extrae toda la información relevante del lenguaje fuente para después escribir un
subconjunto de dicha información en el lenguaje destino durante la etapa de síntesis.
En la mayoría de los compiladores el lenguaje fuente puede ser generado por un ser
humano o ser generado por algún otro programa; típicamente el código G es escrito
por un operador experimentado o por algún programa de diseño o manufactura
asistidos por computadora. Ya sea que el programa en código G vaya a ser sintetizado
en otro lenguaje o deba ser interpretado en línea, la etapa de análisis debe ser
realizada por medio de un lector de código G.
La etapa de análisis y, por consiguiente, un lector de código G realizan tres clases de
análisis, a saber, el análisis léxico, el análisis sintáctico y el análisis semántico. Durante
el análisis léxico el lector de código G agrupa los caracteres del flujo de entrada (ya
sea un archivo de disco, un arreglo en memoria o un editor de texto) en símbolos
Especialidad: Mecánica
25
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
léxicos o tokens. El código G asigna un registro a cada una de las funciones disponibles
para que almacene el valor correspondiente; así pues, el código G tiene veintiséis
registros identificados por una letra mayúscula del alfabeto después de la cual,
sintácticamente, puede seguir un entero o número de punto flotante, ya sea con signo
o sin signo; los números de punto flotante no emplean notación científica. Cada
símbolo léxico es almacenado en una estructura de datos que contiene el tipo de
símbolo (nombre de registro, número entero no negativo, número entero negativo,
punto flotante no negativo o punto flotante negativo) junto con su valor (número de
registro o valor numérico).
Algunos registros tal como el registro N siempre almacenan un número entero, de
modo que el registro N seguido de un número de punto flotante es un error de
sintaxis. Otros registros tales como X, Y y Z siempre almacenan un número de punto
flotante, aunque sintácticamente es válido que estén seguidos por un número de punto
flotante o de un número entero; en caso de que sea un número entero el valor debe
dividirse entre un factor que depende del sistema de unidades en efecto al momento
de cargar el registro. El analizador sintáctico siempre está al tanto del sistema de
unidades empleado, ya sea sistema internacional (SI) o unidades inglesas. Asimismo,
el analizador sintáctico siempre provee de información en formato incremental al
analizador semántico y se configura a sí mismo para determinar la forma correcta de
leer las unidades del código fuente.
Durante la etapa de análisis semántico los valores de cada registro que deba
modificarse junto con otras instrucciones para establecer otros parámetros e indicar
acciones se insertan en una cola de prioridades debido a que el orden en que las
instrucciones se leen del archivo fuente no necesariamente es el orden en que deben
ejecutarse. Se tiene entonces una cola de prioridades que representa a un bloque y
que ordena por prioridades a las palabras del código G.
Ejecutivo
La arquitectura de un sistema de cómputo es una colección de módulos con interfaces
bien definidas que permiten describir el comportamiento de un sistema.
La
implementación describe la estructura interna de cada uno de los módulos del sistema.
La virtualización es el proceso de asociar la arquitectura y la implementación de un
módulo. El ejecutivo es una pieza versátil de software, y es una parte importante de la
Especialidad: Mecánica
26
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
virtualización del sistema, como se describe a continuación. Si bien es posible ejecutar
el código necesario para generar el movimiento de la máquina - herramienta deseado
en la forma de acciones semánticas durante la traducción dirigida por sintaxis que
realiza el lector de código G, es más recomendable ejecutar el código de control
movimiento a partir de una interfaz bien definida y uniforme. La idea principal es
separar la implementación de la ejecución de instrucciones de control movimiento del
resto del programa por medio de una interfaz bien definida con la intención de dar
soporte a diversos sistemas de control de movimiento. Las principales ventajas que
ofrece este enfoque no se limitan a la programación más fácil de los módulos, sino que
se extienden a todas las ventajas de una arquitectura abierta pues al definirse una
interfaz bien definida será posible emplear dicha interfaz no sólo para ejecutar
programas en una máquina - herramienta, sino que será posible ``ejecutarlos'' en un
simulador (no implementado todavía) que permita prever la ejecución del programa.
Actualmente el ejecutivo está implementado de tal forma (Figura 3.1) que ejecuta
rutinas de código G conforme son leídas por el lector de código G, accediendo a las
rutinas de control de movimiento por medio de una tabla de direcciones que contiene
la información necesaria para hacer llamadas a funciones. Las instrucciones de control
de movimiento están formadas por una instrucción que describe el tipo de movimiento
a realizar (e.g., G03) seguido de parámetros que describen sus características (e.g.,
X30.0 Y20.0 R10.0); a partir del tipo de movimiento se selecciona una función a la cual
se le proveen los parámetros correspondientes.
Especialidad: Mecánica
27
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.1 Diagrama operacional del ejecutivo
Interfaz hombre-máquina (IHM)
La interfaz hombre-máquina se desarrolló empleando la biblioteca BGI de Turbo C++
4.5 empleando un enfoque orientado a objetos. Se emplea un controlador BGI para
adaptadores SVGA que permite emplear capacidades gráficas amplias, así que la
interfaz de usuario fue diseñada con gran resolución y número de colores. El diseño del
sistema gráfico es orientado a objetos basado en mensajes. El sistema de control
implementa una interfaz de usuario basado en el concepto de pantalla de operación.
Una pantalla de operación (o escritorio) es un objeto que pertenece a una lista de
escritorios y a su vez es una colección de objetos gráficos que al operar en conjunto
permiten al usuario del sistema de control dar instrucciones a una computadora. Cada
pantalla de operación está formada por una colección de ventanas de diferentes tipos
sobre las cuales se realizan actividades de actualización (eventos) por medio de
mensajes contenidos en una lista. La colección de ventanas de nivel superior (ventanas
padres) ocupa regiones de la pantalla de operación que son mutuamente excluyentes.
Las regiones de la pantalla de operación que no han sido cubiertas por alguna ventana
tienen un color de fondo por omisión. La lista de mensajes se lee secuencialmente de
tal suerte que los mensajes se van procesando uno por uno conforme se vaya
solicitando su procesamiento. La cantidad de memoria máxima para el uso del sistema
es aquel requerido por la pantalla de operación que ocupe mayor cantidad de memoria
debido a que cada que se selecciona una pantalla de operación nueva se libera la
memoria empleada por los objetos gráficos de la pantalla de operación anterior y se
reserva memoria para los nuevos objetos gráficos pertenecientes a la pantalla de
operación que se acaba de seleccionar.
Especialidad: Mecánica
28
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.2: Organización de la interfaz gráfica de usuario
Cada una de las ventanas tiene asociados diferentes propiedades, tales como las
coordenadas de la esquina superior izquierda, su ancho y su alto, texto asociado con la
misma de ser necesario, una referencia a su ventana padre, una lista de referencias a
sus ventanas hijas, un apuntador a un bloque de datos personalizado y una función
responsable de procesar todos los mensajes recibidos por la ventana. Las ventanas de
nivel superior carecen de ventana padre y son las que se dibujan primero al trazar la
pantalla. Después de trazarse a sí misma, cada ventana envía a cada una de sus
ventanas hijas el mensaje de que se retracen a su vez. Con cada interacción con el
usuario de una ventana el mensaje es procesado por la misma o un mensaje es
enviado a su ventana padre para ser procesado cuando sea pertinente. Cada uno de
los controles de las ventanas es a su vez una ventana que tiene asociada una función
de procedimiento que se encarga de procesar los mensajes que corresponden a la
misma. Como parte de la biblioteca de la interfaz de usuario, existe una función de
procedimiento por omisión que se puede emplear para la mayor parte de las
actividades subyacentes para ventanas genéricas tales como el dibujo de la ventana y
otras respuestas estándar. Cada ventana puede tener a su vez ventanas hijas de
diferentes clases tales como iconos y botones de comandos. El sistema implementa por
omisión diversas funciones (procedimientos de ventana) para atender a las solicitudes
hechas a los elementos o controles estándar (como los botones) de la interfaz de
Especialidad: Mecánica
29
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
usuario. Los elementos de la interfaz de usuario reportan información al usuario y
también le permiten interactuar con el sistema. Los eventos que generan los
elementos de la interfaz de usuario pueden ser de dos tipos: mensajes de la interfaz
de usuario y eventos de tiempo real. Los mensajes de la interfaz de usuario generan
más mensajes para la actualización de la interfaz de usuario, se procesan por medio de
la lista de mensajes y se emplean para tareas que no son críticas para el sistema. Los
eventos de tiempo real interactúan directamente con el \hardware{} para acciones
tales como paro de emergencia y son procesados directamente sin introducirse en la
lista de mensajes.
Teclado
Figura 3.3 Teclado típico de una máquina - herramienta CNC CHROMA-II. El actual diseño y características
varirán para diferentes modelos de máquinas.
La interfaz del teclado con la computadora personal (PC, Personal Computer) se ocupa
de rastrear continuamente el estado de todas las teclas, es decir, puede detectar si ha
ocurrido algún cambio de estado en cualquiera de las teclas. De ser así, determina si lo
que ha ocurrido es una pulsación o una liberación de la misma. También se encarga de
conocer que tecla se encuentra presionada o ha cambiado de estado.
Cada una de las teclas tiene asociado un número diferente para que el controlador del
teclado pueda reconocer a cada una de ellas, este número tiene 7 bits y se llama scancode y depende únicamente de la posición que la tecla ocupa en dicho teclado (véase
Figura 3.3) Así cuando una tecla ha sido pulsada o liberada, la interfaz del teclado
guarda el scan-code de la tecla en una pequeña memoria interna. Además de la
pequeña memoria interna el teclado tiene algunos otros registros:
Especialidad: Mecánica
30
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Registro de Estado: contiene información acerca de la interfaz.
Registro de Datos: si en la memoria interna existen teclas presionadas registradas
previamente, el controlador se encarga de guardar una copia en este registro del scancode, la cual corresponde a la primera tecla que se presionó.
En las PCs compatibles con IBM, la administración de las interrupciones de hardware
normalmente las realiza un micro-controlador. Este circuito recibe las peticiones de
interrupción del sistema y se las envía de una en una al CPU. En la arquitectura de la
PC, la interfaz del teclado está conectada a la línea IRQ-1 del microcontrolador y se
identifica ante el CPU como el vector 9. Cada vez que se presione o libere una tecla se
producirá una interrupción de hardware con vector 9.
Además existen dos módulos de software los cuales controlan o administran el f{}lujo
de entrada de las teclas. El primer módulo es el encargado de leer la tecla presionada,
para después convertir esta tecla en su código ASCII correspondiente y guardar el
código asignado en un registro de memoria. El otro módulo se encarga de examinar el
contenido del registro y regresar su estado cada vez que el usuario lo solicite. Ambas
rutinas se encuentran implementadas en el BIOS (BIOS, Basic Input Output System)
de la PC. La primera de ellas se encarga de activar una interrupción por medio del
hardware generada por la interfaz del teclado (INT 9h), que pasa al CPU a través del
micro-controlador. La segunda es llamada por los programas mediante la ejecución de
la interrupción software INT 16h.
El esquema del teclado de propósito especial que utilizamos se muestra en la Figura
3.4 del cual tiene dos conectores que salen del mismo dispositivo. Los cables planos
tienen un máximo de RN (N = 6) y CM (M = 13) renglones y columnas
respectivamente.
Especialidad: Mecánica
31
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.4: Esquema del teclado alfa-numérico del panel de control CNC
Estos cables realmente forman parte de la propia membrana, que no es más que una
matriz de contactos bajo las gomas de las teclas. Este teclado matricial se encuentra
repartido en CM columnas de M teclas cada una, que corresponden con los contactos
de la membrana (véase Figura 3.4 para más detalle). En el esquema del teclado
matricial cada una de las M columnas están conectadas a una de las líneas de salida al
sistema de control del teclado, y el otro extremo de cada tecla de N renglones se
encuentra conectado a un grupo de $N$ líneas de entrada del mismo sistema.
Generalmente cuando se quiere saber si una tecla está presionada, se leen los
renglones por completo (las N teclas), leyendo el puerto de E/S que pone un cero en la
línea de dirección de dicho renglón.
La conexión entre un teclado y la PC se realiza a través de un conector tipo PS/2 (miniDIN) como se muestra en la Figura 3.5. En el PS/2 una línea transmite la señal de
reloj, otra los datos y dos más la alimentación (+5Vdc y GND).
Figura 3.5 Esquema de conexión del conector PS/2.
Especialidad: Mecánica
32
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
En el diagrama de tiempos de la Figura 3.6 podemos observar como los
datos se
sincronizan a través del reloj, para que así el teclado pueda enviar los datos a la PC.
Figura 3.6: Ejemplo del diagrama de tiempos.
Lo más importante para el problema que nos ocupa es qué información nos da el
teclado respecto de los teclazos. Es decir, cuando se presiona una tecla, el teclado
envía el scan-code, esto es el código asociado con cada tecla a través de una tabla.
Existen tres modalidades o tablas dependiendo del tipo de teclado:
Scan-code 1: es el usado en teclados del tipo XT de 83 teclas.
Scan-code 2: propio de teclados AT de 102 teclas, es el más usado.
Scan-code 3: sólo utilizado en teclados del tipo PS/2.
El scan-code 1 se considera casi obsoleto debido al poco uso que
tiene en la
actualidad, aunque algunos controladores de teclado transforman los scan-codes 2 y 3
a éste por medio de software logrando compatibilidad entre ellos. Lo más común,
aunque varía según el fabricante, es que el teclado acepte trabajar con el scan-code 2
y/o 3. El scan-code 3 permite entre otras cosas configurar el teclado en una modalidad
de respuesta más afín con las necesidades de nuestro teclado, por consiguiente es el
modo de funcionamiento que hemos elegido. Un rasgo importante que hay que resaltar
es que se pueden configurar diferentes modos de trabajo del teclado:
Make: cuando se presiona una tecla se envía el scan-code y ninguna señal cuando de libera la tecla.
Make/Break: cuando se presiona una tecla se envía el scan-code y cuando se libera la tecla se
vuelve a enviar el scan-code precedido de un código de liberación (F0).
Typematic: cuando se presiona una tecla se envía el \emph{scan-code}, y una vez que ha pasado
un breve período de tiempo se vuelve a enviar el scan-code continuamente hasta que la
tecla sea liberada.
Especialidad: Mecánica
33
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
En resumen, el protocolo de comunicación entre el teclado y la PC se realiza en forma
de transmisión serial (PS/2) con ocho bits de datos, bit de paridad y bit de inicio y fin
de transmisión. El controlador de teclado informa a la PC del estado de las teclas y la
PC le envía comandos para su configuración, re-inicialización, re-envío de datos, entre
otras cosas.
Panel de control
La interfaz del sistema CNC involucra algunos teclados de propósito especial (véase
Figura 3.7 que basan su operación en comunicarse a través del puerto serial de
comunicaciones. La comunicación es bi-direccional pues las teclas envían información
al puerto serial, donde se almacenan en una cola de teclazos (que no es lo mismo que
caracteres, pues no todas las teclas generan caracteres, como son las teclas borrar,
flecha arriba, etc.); asimismo, es posible habilitar o inhabilitar los indicadores del
teclado (LEDs, Light Emitting Diode) por medio de instrucciones de software. La
botonera del panel de control se encuentra dividida en varios grupos de funciones de
propósito especial, a estos grupos se les conoce como: modo, función, estado,
refrigerante, luz, transportador, etcétera (véase Figura 3.7). Cada una de las funciones
de estos grupos realiza una tarea específica, la cual depende del modo en que se
encuentre el sistema CNC en ese momento.
Figura 3.7: Panel de control típico de una máquina-herramienta CNC CRHOMA-II de tres ejes. El actual
diseño y características variarán para diferentes modelos de máquinas.
Especialidad: Mecánica
34
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
A continuación haremos una breve descripción de las funciones más importantes del
panel de control, utilizadas por el sistema de control numérico CNC CRHOMA-II si
desea conocer más información acerca del sistema, véase LABMEC, 2003).
Iniciar: se utilizan principalmente para comenzar a ejecutar los programas cargados en
memoria o ejecutar una línea de comando en los modos MEM e IMD respectivamente.
Detener: se utilizan principalmente para suspender la ejecución los programas en el
modo MEM o suspender una línea de comando ejecutada en el modo IMD.
PAP: permite la ejecución los programas cargados en memoria pasa a paso, es decir,
el sistema CNC ejecuta una línea del programa y espera una señal para ejecutar la
próxima línea, y así sucesivamente.
AOP: permite detener temporalmente la ejecución del programa, al programar en el
programa un M00.
OBQ: permite ignorar las líneas que estén precedidas en le programa por una diagonal
(/).
Sobre avance: permite sobre-cargar la velocidad de avance programada en el
programa, usualmente en el rango de 0% - 150%.
MAN: permite mover los ejes (bancadas) de la máquina – herramienta de manera
precisa (X1, X10 y X100), a través de un generador de pulsos.
IMD: permite la entrada de datos o líneas de comandos al sistema CNC de manera
manual.
MEM: permite la ejecución de los programas automáticamente.
ARCH: permite copiar, eliminar, pegar, etcétera archivos de dispositivos externos.
EDT: permite realizar cambios en los programas almacenados en memoria.
IMP: permite la operación manual de la máquina – herramienta por medio de teclas al
configurar una nueva pieza o programa.
En resumen, el protocolo de comunicación entre la botonera y la PC se realiza en
forma de transmisión serial (RS--232) con diez y seis bits de datos, bit de paridad y bit
de inicio y fin de transmisión. El controlador de la botonera informa a la PC del estado
de las teclas y la PC le envía comandos para su configuración, re-inicialización, reenvío de datos, entre otras cosas; Además, el sistema controlador de la botonera
trabaja de forma bi-direccional.
3.2
Sistema de Monitorización
El método que utilizamos para detectar la colisión consiste como primera etapa en
realizar el maquinado de una pieza en el cual se guarda el consumo de corriente en los
Especialidad: Mecánica
35
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
motores durante el tiempo del maquinado, a esta etapa le llamamos proceso de
aprendizaje y se guarda en memoria la curva del consumo de corriente en los tres
motores de los ejes de la máquina. Mediante ello se establecen límites máximos de
consumo de corriente con respecto al tiempo en cada motor. Una vez logrado esto se
continúa con la producción de la piezas que se supone son iguales a la primera y se va
monitorizando que el consumo no sobrepase en cada motor un 10% del consumido
durante el proceso de aprendizaje ver figura 3.8
APRENDIZAJE
MAXIMA CARGA
C
A
R
G
A
TIEMPO
MONITORIZACION
C
A
R
G
A
PARO
TIEMPO
Figura 3.8 Sistema de monitorización de colisión
Para detectar fallas tales como astillamiento o ruptura usamos un método de
monitorización “sensorless” debido a que proponemos usar señales que ya están
presentes en la máquina como pueden ser las señales de corriente de los servomotores
Especialidad: Mecánica
36
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
y que presentan un método indirecto de medición de las fuerzas que se presentan en
el maquinado. Esto hace factible el usarse en cualquier tipo de máquina y lo hace
práctico porque no se altera en nada el diseño de sujeción de la pieza de trabajo, así
como es un sistema muy económico debido a que no se usan sensores extras, la
presente metodología esta basada en el trabajo de Troncoso y Herrera [2003].
La extracción de la fuerza de corte a partir de la señal de corriente de los servoamplificadores tiene la ventaja de no utilizar sensores especiales, puesto que se hace
uso de una señal que se encuentra disponible en todas las máquinas CNC. Sin
embargo,
esta
señal
de
corriente
contiene
componentes
indeseables
que
se
manifiestan como ruido de alta frecuencia, conmutación de la corriente de control y los
efectos del tornillo de bolas. Con el objeto de extraer correctamente la información
pertinente, manteniendo bajos los niveles de las señales espurias, se necesita
determinar el intervalo dinámico de la señal para establecer los parámetros del filtro
analógico.
Es pertinente hacer notar que la señal de corriente de los servo-amplificadores
que se utiliza en el presente trabajo, y en las citas referenciadas que hacen uso de
ella, se trata realmente de una tensión normalizada proporcional a la corriente de
alimentación del servo-motor y además es una señal que se encuentra disponible en
todos los servo-amplificadores comerciales como estándar industrial. Por conveniencia
de compatibilidad entre las diversas fuentes bibliográficas y el presente trabajo
siempre que se haga uso de la señal fuente se referirá a ella como la señal de corriente
del servo-amplificador, aunque en la realidad se trate de una tensión proporcional. El
análisis resultante no se ve afectado por este tipo de consideraciones debido a que
todas las señales se tratan de forma normalizada y el algoritmo desarrollado hace uso
de la geometría de la señal, no de su amplitud proporcional.
Los parámetros a considerar para el diseño del filtro son: tipo de filtro (pasabajas, pasa-bandas, etc.), aproximación (Butterworth, Chebyshev, etc.), el intervalo
dinámico restringido por las frecuencias de corte y supresión, la atenuación máxima
permitida en la banda de paso y la atenuación mínima requerida en las bandas de
supresión. El objetivo primordial del presente apartado es correlacionar los parámetros
de diseño con las condiciones operativas de la fresadora.
Especialidad: Mecánica
37
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Para proceder con el análisis de la corriente de los servo-amplificadores, se
debe establecer un modelo donde se consideren cada uno de los componentes que
conforman el comportamiento general de la forma de onda. Mediciones directas de la
forma de onda muestran severas interferencias dentro de la señal y que provienen de
diferentes fuentes. Se debe recordar que el componente principal es la corriente de
control del servo-motor. El segundo componente es la señal de la fuerza de corte, la
cual se encuentra insertada en el componente principal. Las otras dos fuentes que
contribuyen con la señal son los efectos del tornillo de bolas de la bancada y el ruido
de conmutación inducido por el equipo digital que se encuentra cerca de la maquinaria
(tarjeta controladora, computadora, etc.).
Partiendo de la suposición de independencia lineal entre los diferentes
componentes de la señal de corriente, se puede establecer un modelo aditivo simple
para la corriente del servo-amplificador como se muestra en la figura 3.9.
Figura 3.9 Modelo aditivo para la corriente del servo-amplificador.
El componente principal de la corriente del servo-amplificador es la corriente de
control al servo-motor. Esta señal se genera a partir del control digital de posición
como una tensión en corriente directa DC (Direct Current)
VC , la cual alimenta al
servo-amplificador. Esta tensión de control en el servo-amplificador se utiliza para
generar la corriente de control de la forma de una señal de corriente modulada por
ancho de pulso PWM (Pulse Width Modulation). La señal PWM tiene un ancho de pulso
con periodo constante
TC y ancho variable, proporcional al nivel de tensión de control
y se relaciona con el ciclo de trabajo como:
DC =
TH
= KV VC
TC
(3.2)
TH es el ancho de pulso en estado alto como se muestra en la figura 3.3
K
I
y V es la ganancia constante del PWM. Entonces, la corriente de control C se puede
Donde
establecer como:
Especialidad: Mecánica
38
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
0 < t < TH
de otra manera
⎧I
IC = ⎨ M
⎩0
(3.3)
Figura 3.12 Forma de onda PWM.
I M representa la corriente pico en el servo-amplificador.
Considerando que la señal de corriente de control es periódica con periodo
TC ,
I C puede expandirse en series de Fourier como:
∞
I C = I 0 + ∑ I n cos(2πnf C + ϕ n )
n =1
(3.4)
Donde los principales componentes están representados por:
I 0 = DC I M
I1 = 2
IM
π
(3.5)
sen πDC
(3.6)
I 0 es la componente de DC de la señal de corriente de control, mientras que I1
1
fC =
TC y el resto de las componentes se encuentran
es la componente centrada en
f C . El espectro resultante de la señal de corriente de
localizadas en múltiplos de
control se muestra en la figura 3.10.
Especialidad: Mecánica
39
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.10. Espectro de la señal de corriente de control.
Desde el punto de vista central del presente trabajo, la componente más importante en
la corriente del servo-amplificador es la señal de la fuerza de corte. El modelado analítico de las
fuerzas de corte para fresado se pueden encontrar en Altintas (2000 a) y se puede ver como una
función sinusoidal truncada más una constante. La frecuencia del componente principal se
localiza en
fF
fF =
donde:
HN
2π
(3.7)
H es la velocidad del husillo en rev/s y N es un entero adimensional que
representa el número de insertos de la herramienta de corte. Los componentes
espectrales se encuentran distribuidos alrededor de cero y
amplitud monotónicamente decreciente.
k f F con k = 1,2,3,... y una
Los efectos del tornillo de bolas sobre la corriente del servo-amplificador son no
f
lineales y se reflejan como armónicos y sub-armónicos centrados en la frecuencia B ,
la cual puede ser relacionada con la tasa de desplazamiento de la bancada R en mm/s
y la relación del tornillo de bolas B en rev/mm para dar:
fB =
RB
2π
(3.8)
Los armónicos y sub-armónicos generados por efecto del tornillo de bolas son
decrecientes de forma monotónica en ambos lados del componente principal,
localizado en
fB .
El último componente que contribuye a la señal de corriente del servoamplificador es el ruido de conmutación que representa la interferencia producida por
los sistemas digitales circundantes como la tarjeta controladora y las computadoras
digitales. Esta señal de ruido tiene componentes espectrales en forma de armónicos y
sub-armónicos del oscilador base del sistema digital. Mediciones realizadas en los
sistemas digitales relacionados permiten determinar que el ruido de conmutación se
localiza en frecuencias superiores a los 10 kHz, por lo tanto, es necesario eliminar la
influencia de este ruido mediante un filtrado de todos los componentes espectrales por
encima de los 10 kHz.
Considerando todos los efectos relacionados con la señal de corriente del servoamplificador, la figura 3.11 muestra el espectro general a partir del cual es posible
determinar los requisitos del filtro analógico con el objeto de extraer la señal de la
fuerza de corte de una manera consistente.
Especialidad: Mecánica
40
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.11. Espectro completo de la corriente del servo-amplificador. (No mostrada a escala)
De la figura 3.11 se puede inferir que con el objeto de extraer la señal de fuerza
de corte de una manera consistente, a partir de la corriente del servo-amplificador,
algunas consideraciones deben tomarse en cuenta debido a las interferencias severas
que se producen entre los diferentes componentes. Si la frecuencia central de la fuerza
f << f << f
F
C , entonces la extracción
de corte del fresado se encuentra restringida a: B
de la señal es posible. Una vez que la condición se satisface, se puede establecer un
procedimiento general para calcular los parámetros del filtro analógico.
El sistema cuenta con un simulador del proceso de maquinado, de tal forma que de los
Gs que tiene en memoria puede simular las señales del proceso de maquinado de tal
forma que puede optimizar las velocidades de corte. La simulación se basa en el
proceso físico del fresado (Herrera, 1994. Holstein 1969), el modelo matemático
permite obtener una simulación bastante cercana al proceso de corte (Figura 3.12).
La fuerza que nos interesa es la fuerza resultante, esta fuerza es la que tiene la
información básica del estado del proceso de corte, esta fuerza se calcula con la
siguiente ecuación:
FR =
Fx 2 + Fy 2 + Fz 2
(1)
Donde Fx es la fuerza ejercida por la herramienta durante el proceso de corte en el eje
X , Fy es la fuerza en el eje Y y Fz es la fuerza en el eje Z. Estas fuerzas son las que
se obtienen directamente del sensor de fuerzas durante el experimento físico y serán
las que se compararán con la simulación.
Especialidad: Mecánica
41
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Fig 3.12 Modelo de Fresado
Dado que nos interesa detectar fallas en maquinado de acabado (endmill) y careado
(facemill). Normalmente estos cortes se realizan en dos y media dimensiones, esto es
aunque tres ejes se mueven uno se mantiene fijo mientras los otros dos rotan. Esto
permite despreciar una de las fuerzas que en este caso será Fz dado ello nos podemos
concentrar en las otras dos fuerzas tomando en cuenta que si el plano de corte cambia
solo se intercambian las fuerzas respectivas. Las fuerzas Fx y Fy son calculadas a
través de la fuerzas tangencial Ft y radial Fr ejercida por la herramienta de corte.
M
Fx = ∑ δ(θi) (Ft cos θi + Fr sin θi)
(2)
i=1
M
Fy = ∑ δ(θi) (Ft sin θi - Fr cos θi)
(3)
i=1
Si θs ≤ θi ≤ θe
θi = 1
En caso contrario θi = 0
donde M es el número de dientes o cortadores de la herramienta θi es el ángulo de
corte de entrada o inicio y θe es el ángulo de salida del cortador.
La fuerza tangencial y radial se desprenden de las siguiente ecuaciones:
Ft = kt bw hi
(4)
Fr = kr bw hi
(5)
donde bw es la profundidad de corte, kt y kr son constantes que depende de la dureza
del metal de la pieza y del material de la herramienta, hi es la espesura instantánea de
la viruta y se obtiene a través de las siguientes formulas:
Especialidad: Mecánica
42
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
hi = Vt sinθi + (ri - ri-1) + ci;
(6)
si Vt sinθi + ri ≤ ri-1 entonces hi= 0
donde
M
ci = ∑ Vt sinθi + (ri-j - ri-j-1)
(7)
j =1
hasta que Vt sinθi + ri-j > ri-j-1
donde Vt es la velocidad de corte en mm/diente ri es el radio de cada cortador o diente de la herramienta, M el número de
cortadores o dientes en la herramienta y θi es el ángulo instantáneo de corte.
Las variables kt y kr se obtienen a través de las siguientes ecuaciones
8
kt = 2.6 * 10 hi
kr = 0.6 * kt
-0.206
(8)
(9)
Este modelo nos permite simular los procesos de corte bajo los diferentes estados
físicos de la herramienta (normal, ruptura y astillamiento). La ruptura de herramienta
se simula dándole al cortador (es) o diente (s) que se rompe (n) un radio ri de 0, en
caso de astillamiento se le reduce al radio la cantidad deseada de acuerdo a la
magnitud del daño que se desea simular.
El procesamiento de las señales de fuerza se hace a través de la transformada de
wavelet. Como mencionamos anteriormente la transforma de wavelet, nos permite
enfocarnos en los detalles de la señal, tal y como si utilizáramos una cámara con un
lente de zoom. Esto se logra a través de la resolución de los filtros empleados en la
transformada, si aumentamos uno de ellos se incrementa la resolución en el dominio
de frecuencia (a costa de la resolución en el dominio del tiempo), de tal forma que
podemos ir enfocando nuestro análisis (lente) hasta llegar a la resolución donde el
domino del tiempo y frecuencia son los más óptimos al tipo de cambios que nos
interesa detectar.
A diferencia de la transformada de Fourier, la cual solo proporciona información en el
dominio de la frecuencia, la transformada de wavelet proporciona información en los
dominios de tiempo y frecuencia simultáneamente. La teoría de wavelets también nos
permite trabajar sobre los vacíos de información que a veces presentan los datos. En
realidad la teoría de wavelets, a través de la transformada discreta de wavelet, supera
a la transformada rápida de Fourier en el reconocimiento de los cambios pequeños de
Especialidad: Mecánica
43
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
fuerza que se tienen cuando una herramienta corta, y los cuales son definitivos para
predecir una falla que pueda volverse fatal en el proceso de maquinado.
La transformada de wavelet obtiene su nombre por el uso de wavelets las cuales se
usan para generar una familia de funciones wavelets
Ψ (t) =
a,b
1
Ψ( t − b ) donde a,b: real > 0.
a
a
(10)
La transformada continua de wavelet esta dada por:
∞
F(a,b) =
∫
−∞
f(t) Ψ
*a,b
(t)dt
(11)
Como podemos observar en esta ecuación la señal F(a,b) que se obtiene de la
transformada de la señal f(t) esta definida en el plano a-b, donde a y b son usadas
para ajustar el área de análisis en frecuencia y tiempo. Un valor pequeño de a produce
un análisis de alta resolución en el dominio del tiempo, mientras una a grande produce
una alta resolución en el dominio de la frecuencia. Incrementos en b hace que el
análisis de la señal se recorra sobre la longitud de la señal a analizar. En el caso del
análisis de Fourier no es posible localizar el análisis sobre un área específica tal como
en el análisis de wavelet, si incrementamos la frecuencia de los cosenos y senos (que
se usan para obtener la transformada de fourier) en el análisis el resultado se
expanderá alrededor del plano del tiempo, siendo imposible fijarlo sobre una parte
localizable (específica) del análisis.
Tal como sucede con Fourier bajo la transformada discreta de fourier, para poder
programar la transformada de wavelet es necesario utilizar la transformada discreta de
wavelet. Métodos de discretización son usados para ello. La transformada discreta de
wavelet se obtiene de la transformada continua a través de la discretización de la
ecuación 10. Una discretización comúnmente usada es:
Ψj,k(t) =
1
Ψ( t − 2 ) donde j,k: enteros.
a
jk
2j
(12)
Como se puede observar a ha sido reemplazado por 2j y b por 2jk la transformada
discreta de wavelet esta dada por
Especialidad: Mecánica
44
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
∞
Cj,k =
∫
−∞
f(t) Ψ
*
j,k(t)dt
(13)
La transformada discreta es obtenida de ecuación 13 discretizando f(t)
∞
dj+1,k =
∑ h (i − 2 k ) dj , k
(14)
I = −∞
∞
cj+1,k = ∑ g (i − 2 k ) dj , k
(15)
I = ∞
Cj,k representa la versión discretizada de la funcion original f(t), a cada resolución j>1
los coeficientes dj,k representan la aproximación de baja frecuencia de la señal y cj,k
representa la distribución de altas frecuencias.
De esta forma es posible programar un algoritmo de la transformada de wavelet, h y g
son filtros que se pueden programar de diferentes formas dependiendo de la resolución
buscada, en similitud con las variables a y b de la transformada continua de wavelet.
En el caso de la transformada de Fourier existe un solo tipo de filtro basado en senos y
cosenos, en el caso de la transformada de wavelet existe un número infinito de filtros
posibles a diseñar.
Con los datos obtenidos de la transformada se procesan por un método estadístico de
asimetría el cual se basa en la ecuación
10
A = ∑ (Bi +10 − Bi )
2
i =1
donde A es el valor de la asimetría y B son los coeficientes obtenidos de la
transformada de wavelet.
La figura 3.13 muestra la gráfica normalizada de la asimetría, obtenida del detector de
ruptura en herramientas de corte en condiciones de prueba dinámica y graficada
revolución por revolución en el husillo para todo el proceso de maquinado. Al inicio del
proceso de fresado, cuando las herramientas están nuevas y sin daño, el valor de la
asimetría de la DWT es cercano a cero. Conforme continúa el proceso de fresado, una
Especialidad: Mecánica
45
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
herramienta comienza a desgastarse y el valor de la asimetría se incrementa.
Finalmente,
cuando
se
rompe
la
herramienta,
la
asimetría
se
incrementa
significativamente y se puede detectar un pico en su valor e identificar el ciclo en el
que se produce la ruptura.
Un detalle comparativo entre la asimetría, los coeficientes de la DWT y los datos en el
dominio del tiempo se muestran en la figura 4 donde se han seleccionado algunos
ciclos de maquinado para mostrar la operación en diferentes condiciones del proceso.
Las revoluciones seleccionadas corresponden a los índices: 500, 1050, 1108 y 1120.
Para la revolución con índice 500, el sistema de detección de ruptura indica que las
herramientas se encuentran en condiciones normales de operación. En la revolución
1050 se detecta cierto grado de desgaste en las herramientas y así es indicado por el
sistema con un incremento en la asimetría. Cuando se produce la ruptura se detecta
un incremento significativo en el valor de la asimetría, reflejado en la revolución de
índice 1108 del experimento. Después de la ruptura, el sistema de detección indica que
la condición de las herramientas se ha degradado, por ejemplo en la revolución de
índice 1120.
Figura 3.13 Asimetría normalizada durante la prueba dinámica.
Especialidad: Mecánica
46
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
En la figura 3.14 se puede observar que los datos en el dominio del tiempo
muestran muy pocas variaciones en la forma de onda para las diferentes condiciones
de las herramientas de corte por lo que se hace muy difícil su identificación directa.
Esta forma de onda contiene 256 puntos por revolución con ruido insertado. Por otro
lado, los coeficientes de la DWT representan una versión comprimida de los datos en el
dominio del tiempo con la ventaja de no mostrar los componentes indeseables de
frecuencia. Como se muestra en la figura 4, la DWT mantiene la geometría de la señal
original con menos puntos por revolución (8 puntos para el detalle de nivel 5) y la
condición de las herramientas de corte se puede identificar fácilmente. La asimetría,
como una función de autocorrelación no lineal, proporciona una estimación de la
condición de las herramientas de corte mediante la comparación de las fuerzas de
corte ejercidas por ambos insertos, llegando a detectar desgaste y ruptura en la
herramienta.
Figura 3.14 Detalle de la asimetría, coeficientes de la DWT y datos en el dominio del tiempo para la prueba dinámica del
sistema.
La figura 3.15 muestra una fotografía en acercamiento con las herramientas de corte
después del experimento de ruptura. El experimento se repitió varias veces y siempre
se obtuvieron resultados similares, indicando que el sistema de detección de ruptura
en herramientas de corte funciona adecuadamente y con la suficiente precisión para
detectar ruptura en las herramientas de corte y, hasta cierto grado, desgaste.
Especialidad: Mecánica
47
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Fig 3.15 Herramientas de corte
Este sistema de monitorización esta instalado para la versión del CNC en máquinas
fresadoras o máquinas de 3, 4 y 5 ejes de libertad, a continuación en el siguiente
anexo se muestra la experiencia con la instalación de dicho sistema en un máquina
taladradora de una empresa del estado de Querétaro. En figura 3.16 se puede
observar la máquina monitorizada.
Fig 3.16 Máquina Taladradora
Especialidad: Mecánica
48
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
En la Figura 3.17 se puede observar la pieza que se trabaja en dicha máquina.
Figura 3.17 pieza trabajada
Así mismo se puede observar en figura 3.18 la herramienta y la astilladota en la
misma que produce en la pieza trabajada en defecto que hace que la pieza sea
rechazada.
Figura 3.18 Pieza y herramienta defectuosa
En figura 3.19 sepuede observar las señales tomadas del procesos de maquinado de
dicha pieza, una con la herramienta en buen estado y la segunda en mal estado, así
mismo se muestran las señales sin filtrar tal como se obtienen de los
servoamplificadores y una vez filtradas.
Especialidad: Mecánica
49
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Fig 3.19 señales obtenidas por el sistema de monitorización
Como se puede observar en la figura 3.20 después del ciclo 12 se detecta que la
herramienta esta en mal estado, pudiendo observar la eficacia del sistema de
monitorización.
Figura 3.20 ciclo de producción
En fig 3.21 se muestra el prototipo final del CNC desarrollado.
Especialidad: Mecánica
50
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Figura 3.21 Sistema CHROMA-II
4
Conclusiones
El desarrollo del presente trabajo muestra el desarrollo de un Control Numérico
de Arquitectura Abierta CHROMA-II el cual tiene capacidades de detección de fallas en
maquinados, se describierón tres ideas originales: el análisis sistemático de la
corriente de control de los servo-amplificadores para la extracción de la señal de fuerza
de corte para el monitoreo sin sensores, el uso de la asimetría de la DWT como figura
de mérito para la determinación del estado de las herramientas de corte en máquinas
CNC y la propuesta de una arquitectura del CNC. El CNC desarrollado tiene un costo
menor a las 10,000 USD así mismo la sección de monitorización tiene un costo total
estimado inferior a los $300.00 (Trescientos dólares Us. Cy.) resulta en un sistema
competitivo comercialmente cuando se compara con sistemas como el Brankamp de
Siemens y el Montronix cuyos precios son superiores a los $10,000.00 (Diez mil
dólares Us. Cy.).
Al proponer y comprobar estas ideas originales, además de haber resuelto el
problema original de la detección de ruptura en herramientas de corte, se ha podido
abrir una nueva línea de desarrollo tecnológico encaminada a la solución de problemas
relacionados con el área por medio de algoritmos de procesamiento digital de señales.
Esta línea es prometedora tanto tecnológica como académicamente para mejorar la
Especialidad: Mecánica
51
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
productividad en futuros desarrollos realizados en el posgrado de Instrumentación y
Control Automático de la Facultad de Ingeniería de la UAQ.
Bibliografía
Actel Corporation. 1997. ACT-1 Family FPGAs data sheet. Actel Corporation.
Actel Corporation. 2001. SX-A Family FPGAs data sheet. Actel Corporation.
Altintas, Y. 2000 a. Manufacturing automation, metal cutting mechanics, machine tool
vibrations and CNC design. Cambridge University Press. New York.
Altintas, Y. 2000 b. Modeling approaches and software for predicting the performance
of milling operations at MAL-UBC. Machine Science and Technology, Marcel
Dekker Inc. 4:445-478.
Bass, M. J., and C. M. Christensen. 2002. The future of the microprocessor business.
IEEE Spectrum. April 2002. IEEE Press. New York.
Bejhem, M, and C-M Nicolescu. 1999. Machining condition monitoring for automation.
Proc. 3rd International Conference on Machining & Grinding. October 4-7.
Society of Manufacturing Engineers. Cincinnati. OH.
Blaauw, G. A., and F. P. Brooks. 1997. Computer architecture, concepts and evolution.
Addison Wesley. Reading. MA.
Burr-Brown Corporation. 1998. ADS7862 Data Sheet. Burr-Brown Corporation, a
division of Texas Instruments Inc.
Carter, J. W. 1996. Microprocessor architecture and microprogramming, a state
machine approach. Prentice Hall. NJ.
Chandrakasan, A., W. J. Bowhill, and F. Fox. 2001. Design of a high-performance
microprocessor circuit. IEEE Press. CA.
Especialidad: Mecánica
52
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Chang, K. C. 1999. Digital design with VHDL and synthesis, an integrated approach.
IEEE Computer Society Press. CA.
Chen, W.-K. (Editor-in-chief). 2000. The VLSI handbook. CRC Press and IEEE Press.
Boca Raton. FA.
Daubechies,
I.
1988.
Orthonormal
bases
of
compactly
supported
wavelets.
Communications on Pure and Applied Mathematics. 41:909-996.
Daryanani, G. 1976. Principles of active network synthesis and design. John Wiley and
Sons, New York.
Herrera-Ruiz, G., C. Gutierrez-Mazzotti and K. Mori. 1995. Design of a multiprocessor
based monitoring system applied to machine tools Proc. 2nd International
Conference on Computer Integrated Manufacturing. September. World Scientific
& Global Publications Services. Singapore.
Jawahir, I. S., and A. K. Balaji. 2000. Predictive modeling and optimization of turning
operations with complex grooved cutting tools for curled chip formation and
chip breaking. Machine Science and Technology. Marcel Dekker Inc. 4:399-443.
Johnson, D. N. 2000. Recognizing tool failure, Proc. Metalworking Fluids Conference,
March 22-23, 2000. Society of Manufacturing Engineers. Arlington Highs. IL.
Kaiser, G. 1994. A friendly guide to wavelets. Birkhauser, Quinn-Woodbine. New
Jersey.
Kasashima, N., K. Mori, and G. Herrera-Ruiz. 1994. Diagnosing cutting tool conditions
in
milling
using
wavelet
transform.
Proc.
7th
Int.
Conference
on
Production/Precision Engineering. September 15-17. JSPE Publication Series I.
Elsevier Science Ltd. Chiba. Japan.
Li, X., A. Djordjevich, and P. Venuvinod. 2000 a. Current-sensor-based feed cutting
force intelligent estimation and tool wear condition monitoring. IEEE Trans. On
Industrial Electronics. 47:697-702.
Especialidad: Mecánica
53
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Li, X., S. Dong, and Z. Yuan. 2000. Discrete wavelet transform for tool breakage
monitoring. Int. J. Of Machine Tools and Manufacture. 39:1935-1944.
Li, X., and S. K. Tso. 1999. Drill wear monitoring based on current signals. Wear.
Elsevier Science Ltd. 172-178.
Li., X., S. K. Tso, and J. Wang. 2000 c. Real-time tool condition monitoring using
wavelet transform and fuzzy techniques. IEEE Trans. On Systems, Manufacture
and Cybernetics. Part C: Applications and Reviews. 30:352-357.
Li, X., P. K. Venuvinod, and M. K. Chen. 2000 b. Feed cutting force estimation from the
current measurement with hybrid learning. Int. J. Of Advanced Manufacturing
Technology. Springer-Verlang. London.
Lim, H., V. Piuri, and E. E. Swartzlander Jr. 2000. A serial-parallel architecture for twodimensional discrete cosine and inverse discrete cosine transforms. IEEE Trans.
On Computers. 49:1297-1309.
Madisetti, V. K., and D. B. Williams (Editors). 1998. The digital signal processing
handbook. CRC Press and IEEE Press. Boca Raton. FA.
Marino, F. 2000. Efficient high-speed/low-power pipelined architecture for the direct 2D discrete wavelet transform. IEEE Trans. On Circuits and Systems II: Analog
and Digital Signal Processing. 47:1476-1491.
Marino, F., D. Guevorkian, and J. T. Astola. 2000. Highly efficient high-speed/lowpower pipelined architecture for the 1-D discrete wavelet transform. IEEE Trans.
On Circuits and Systems II: Analog and Digital Signal Processing. 47:14921502.
Matsumura, T. 2001. Self-adaptive tool wear monitoring system in milling process.
Proc. XXIX NAMRC Conference. May 22-25. Society of Manufacturing Engineers.
Gainsville. FA.
Especialidad: Mecánica
54
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Milutinovic, V. 1997. Surviving the design of a 200 MHz RISC microprocessor, lessons
learned. IEEE Computer Society Press. CA.
Oguamanam, D. C. D., S. D. Bhole, H. Raafat and S. M. Tabourn. 1990. Tool wear
minitoring
and
breakage
detection:
a
machine
vision
approach.
Proc.
Conference VISION ’90. November 12-15. Society of Manufacturing Engineers.
Detroit. Michigan.
Parhami., B. 2000. Computer arithmetic, algorithms and hardware design. Oxford
University Press. New York.
Patterson, D. A., and J. L. Hennessy. 1998. Computer organization & design, the
hardware/software interface (2nd Edition). Morgan Kaufmann. San Francisco.
CA.
Pekmastzi, K. Z. 1999. Multiplexer-based array multipliers. IEEE Trans. On Computers.
48:15-23.
Prickett, P. W., and C. Johns. 1999. An overview of approaches to end milling tool
monitoring. International Journal of Machine Tools and Manufacture. 39:105122.
Proakis, J. G., and D. G. Manolakis. 1996. Digital signal processing, principles,
algorithms, and applications (3rd Ed.). Prentice Hall Inc. New Jersey.
Romero-Troncoso,
R.
De
J.,
and
G.
Espinosa-Flores-Verdad.
1999
a.
Phase
accumulator algorithm for DDS applications. Electronics Letters. May 13th.
35(10).
Romero-Troncoso, R. De J., and G. Espinosa-Flores-Verdad. 1999 b. VHDL core for
synthesis of phase accumulators in DDS applications. Proc. 2nd Forum on Design
Languages FDL’99. Lyon. France.
Romero-Troncoso, R. De J., and G. Espinosa-Flores-Verdad. 1999 c. Algorithm for
phase accumulator synthesis for applications in DDS. Proc. Of the 3rd
Especialidad: Mecánica
55
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
International Workshop on Design of Mixed-Mode Integrated Circuits and
Applications. Puerto Vallarta. Mexico.
Roth, J. T., and S. M. Pandit. 1999. Using multivariate models to monitor end-mill wear
and predict tool failure. Proc. XXVII NAMRC Conference. May 25-28. Society of
Manufacturing Engineers. Berkeley. CA.
Rubinfield, L. P. 1975. A proof of the modified Booth’s algorithm for multiplication.
IEEE Trans. on Computers. 25:1014-1015.
Shriver, B., and B. Smith. 1998. The anatomy of a high-performance microprocessor, a
system perspective. IEEE Computer Society Press. CA.
Skahill, K. 1996. VHDL for programmable logic. Addison Wesley and Cypress
Semiconductor- CA.
Sood, A. K., and M. Abdelguerfi. 1985. Computer-based approaches to tool condition
monitoring.
Proc.
Sensors
Conference
’85.
November
5-7.
Society
of
Manufacturing Engineers. Detroit. Michigan.
Stelling, P. F., C. U. Martel, V. G. Oklobdzija, and R. Ravi. 1998. Optimal circuits for
parallel multipliers. IEEE Trans. On Computers. 47:273-285.
Teltz, R. W., A. Shawky, K. Urbasik and M. A. Elbastawi. 1995. Sensor based planning
and control for open architecture machining. Proc. XXIII NAMRC Conference.
May 24-26. Society of Manufacturing Engineers. Houghton. Michigan.
Texas Instruments Inc. 1999. TL084 data sheet. Texas Instruments Inc.
Trang, Y. S., and B. Y. Lee. 1992. Use of model-based cutting simulation system for
tool breakage monitoring in milling. International Journal of Machine Tools and
Manufacture. 32:641-649.
Vetterli, M., and C. Herley. 1992. Wavelets and filter banks: theory and design. IEEE
Trans. on Signal Processing. 40:2207-2232.
Especialidad: Mecánica
56
CHROMA Desarrollo de un Control Numérico de Arquitectura Abierta
Wang., L. 2001. Tool wear monitoring in machining processes through wavelet
analysis. Proc. XXIX NAMRC Conference. May 22-25. Society of Manufacturing
Engineers. Gainsville. FA.
Webster, J. G. (Editor-in-chief). 1999. The measurement, instrumentation and sensors
handbook. CRC Press and IEEE Press, Boca Raton. FA.
Yao, Y., X. Li, and Z. Yuan. 1999. Tool wear detection with fuzzy classification and
wavelet fuzzy neural network. Int. J. Of Machine Tool and Manufacture.
39:1525-1538.
Yeh, W. C., and C. W. Jen. 2000. High speed Booth encoded parallel multiplier design.
IEEE Trans. On Computers. 49:692-701.
Yu, S., and E. E. Swartzlander Jr. 2001. DCT implementation with distributed
arithmetic. IEEE Trans. On Computers. 50:985-991.
Especialidad: Mecánica
57
Descargar