jueves, 11 de noviembre de 2010

La popularización del controlador: DIY, Hobby, y CNC personal

Habiendo realizado un repaso general de los conceptos más relevantes que se destacan en la implementación y empleo de sistemas CNC profesional, no se puede dejar de mencionar los diferentes tipos de tecnologías adoptadas por unas y otras vertientes de esta tendencia tecnológica. Estas diversas corrientes de desarrollo afectan tanto a la electrónica de control, como al diseño mismo de la mecánica de la máquina herramienta. Es así que durante años esta actividad estuvo circunscripta a determinados ámbitos productivos, generalmente caracterizados por su escala de producción y especialización técnica. Aquí hicieron su debut los primeros sistemas NC y luego tuvieron lugar los más modernos Centros de Mecanizados CNC, que hasta dicho momento respondían al concepto de “tecnología propietaria” o “arquitectura cerrada”. Desde entonces compañías originarias de Alemania, Estados Unidos de Norte América, Japón, Corea de Sur y China se destacaron por sus avances y afianzaron sus marcas, entre ellas Siemens, Emco, Heidenhain, Fanuc, Hurco, Haas, Fagor, Makino, Mitsubishi, Masak, Okuma, Mori Seiki, GSK, Doosan, KND, SNK, Great, Eurotech, etc.


Pero como se mencionó en más de una oportunidad anteriormente,  queda bien claro el peso específico que tiene el microprocesador, como elemento a partir del cual, se hace posible el acceso de forma económica al desarrollo de programas informáticos destinados al control de dispositivos CNC y de otros que le dan soporte al mismo.
Es así que en la actualidad se distinguen dos filosofías, en referencia a la arquitectura lógica sobre la cual se apoyan los programas de control o controladores CNC, pero sin embargo ambas están basadas en el mismo estándar industrial, en cuanto al microprocesador se refieren. Estamos hablando de los Sistemas Operativos, basados en la plataforma UNIX o compatible con la misma, desarrollado por AT&T Corp. y los que responden a Windows, desarrollado por Microsoft Corp., a partir del Sistema Operativo DOS en su instancia inicial.

En términos generales, los primeros se ajustarían de mejor forma a los requerimientos específicos de un dispositivo robótico, a partir de la misma arquitectura lógica que le da forma y que le confiere las características funcionales adecuadas para recibir la catalogación de Real Time Operating System (RTOS o Sistema Operativo de Tiempo Real). En tanto los segundos, requieren de un algoritmo “emulador”, para poder ajustarse a las condicionalidades agrupadas dentro de la especificación. 

Un RTOS, es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista). 

En la actualidad hay un debate sobre qué es en verdad tiempo real. Muchos RTOS tienen un programador y diseños de controladores que minimizan los periodos, en los que las interrupciones están deshabilitadas. Muchos incluyen también formas especiales de gestión de memoria que limitan la posibilidad de fragmentación de la memoria y aseguran un límite superior mínimo, para los tiempos de asignación y refresco de la memoria.
Este tipo de sistemas operativos no es necesariamente eficiente en el sentido de tener una capacidad de procesamiento alta. El algoritmo de programación especializado y a veces una tasa de interrupción del reloj alta, pueden interferir en la capacidad de procesamiento. Aunque para propósitos generales un procesador moderno suele ser más rápido, para programación en tiempo real deben utilizarse procesadores lo más predecibles posible, es decir, sin paginación. 

Las interrupciones son la forma más común de pasar información desde el mundo exterior al programa y son, por naturaleza, impredecibles. En un sistema de tiempo real estas interrupciones pueden informar diferentes eventos como la presencia de nueva información en un puerto de comunicaciones, de una nueva muestra de audio en un equipo de sonido o de un nuevo cuadro de imagen en una videograbadora digital.
Para que el programa cumpla con su cometido de ser tiempo real es necesario que el sistema atienda la interrupción y procese la información obtenida antes de que se presente la siguiente interrupción. Como el microprocesador normalmente solo puede atender una interrupción a la vez, es necesario que los controladores de tiempo real se ejecuten en el menor tiempo posible. Esto se logra no procesando la señal dentro de la interrupción, sino enviando un mensaje a una tarea o solucionando un semáforo, que está siendo esperado por una tarea. El programador se encarga de activar la tarea y esta se encarga de adquirir la información y completar el procesamiento de la misma.

El tiempo que transcurre entre la generación de la interrupción y el momento en el cual esta es atendida se llama “latencia de interrupción”. El inverso de esta latencia es una frecuencia llamada “frecuencia de saturación”, si las señales que están siendo procesadas tienen una frecuencia mayor a la de saturación, el sistema será físicamente incapaz de procesarlas. En todo caso la mayor frecuencia que puede procesarse es mucho menor que la frecuencia de saturación y depende de las operaciones que deban realizarse sobre la información recibida.

En cambio, los sistemas operativos que responden a un tipo de diseño típico, una tarea en particular tiene tres posibles estados: “ejecución”, “preparación” y “bloqueo”. La mayoría de las tareas están bloqueadas casi todo el tiempo. Solamente se ejecuta una tarea por CPU (Central Procesing Unit o Unidad Central de Procesamiento). La lista de tareas preparadas suele ser corta, de dos o tres tareas como mucho.  

Usualmente, la estructura de datos de la lista de tareas preparadas en el programador está diseñada para que cada búsqueda, inserción y eliminación necesiten interrupciones de cierre, solamente durante un período muy pequeño, cuando se buscan partes de la lista muy definidas.
Esto significa que otras tareas pueden operar en la lista asincrónicamente, mientras que el sistema realiza su búsqueda. Una buena programación típica es una lista conectada bidireccional de tareas preparadas, ordenadas por orden de prioridad. Hay que tener en cuenta, que no es rápido de buscar sino determinista. La mayoría de las listas de tareas preparadas sólo tienen dos o tres entradas, por lo que una búsqueda secuencial es usualmente la más rápida, porque requiere muy poco tiempo de instalación. El tiempo de respuesta crítico es el tiempo que necesita para poner en la cola una nueva tarea preparada y restaurar el estado de la tarea de más alta prioridad. 

En un sistema operativo en tiempo real bien diseñado, preparar una nueva tarea necesita de 3 a 20 instrucciones por cada entrada en la cola y la restauración de la tarea preparada de máxima prioridad de 5 a 30 instrucciones. Por ejemplo, en un procesador tipo 68000 de 20MHz, los tiempos de cambio de tarea son de 20 microsegundos con dos tareas preparadas. Cientos de CPU tipo MIP ARM pueden cambiar en unos pocos microsegundos.

Es así que se puede afirmar que el sistema operativo Windows, compatible con el microprocesador x86 de Intel, se ajusta más a un tipo de diseño típico, de acuerdo a lo descripto hasta aquí y por lo tanto carece de las prestaciones adecuadas para administrar en “tiempo real” un programa CNC ejecutado en el modo “usuario normal”. Sin embargo, las notables mejoras en el diseño y por lo tanto de rendimientos, que han experimentado los microprocesadores de esta serie, han dado lugar para que los sistemas operativos compatibles con esta arquitectura lógica alcancen niveles de respuesta adecuadas para automatismos, a pesar de su clara orientación generalista. Más aún, existen diversos desarrollos, que han logrado suplir este “flanco débil”, que presentan los sistemas operativos Windows y que “corrigen” ciertos aspectos de los algoritmos que limitan su capacidad de respuesta en tiempo real. Estos desarrollos tienen la forma de extensiones de aplicación general, tal es el caso del Ardance RTX, adoptado en el proyecto llevado adelante por NC System, con su controlador integrado WinPCNC o de otros de tecnología propietaria, como el desarrollado por Artsoft Corp., para su controlador CNC Mach3.

Los ejemplos mencionados tienen en común, diseños que responden al concepto de arquitectura abierta. En cambio se pueden citar muchos más, que en cambio adoptaron una arquitectura cerrada, tales son los propuestos por PlanetCNC, con su producto CNC USB, CamSoft, Flashcut, Win-PCNC, de la firma Heiz CNC Technik, MicroKinetics MillMaster Pro, EdingCNC, USBCNC, ProNC, de ISEL Germany, WinCNC, de la compañía MicroSystems, y varios otros más. Arquitectura abierta es un tipo de arquitectura de computadoras o arquitectura de software, que permite añadir, modernizar y cambiar sus componentes.




Pero no es la intensión del presente artículo profundizar en este aspecto técnico en particular, de los programas controladores CNC y de los sistemas operativos, que en muchos casos le dan soporte, sino más bien dar una idea general del estado actual de los avances en el ámbito que nos ocupa y sus alcances. Existe una notable profusión de información relacionada a las arquitecturas lógicas de los sistemas operativos, que recomendamos consultar, para indagar en mayor profundidad sobre el tema.

No obstante, las diferencias que prevalecen hoy en día entre una y otra corriente de desarrollo, la notable mejora de las prestaciones que ofrecen los microprocesadores de uso corriente en ámbitos laborales, tanto así como domésticos, hacen posible la implementación de sistemas de automación de pequeña escala, tales como controlar un pequeño torno o fresadora de mesa, con una computadora personal.
Los desarrollos recientes en la técnica del CNC en pequeña escala son posibles, en gran parte debido al proyecto conocido como Enhanced Machine Controller, (EMC o Controlador de Máquina Mejorado), llevado adelante por el National Institute of Standards and Technology (NIST o Instituto Nacional e Tecnología y Estándares), una agencia del Departamento de Comercio de los Estados Unidos de Norte América.


EMC es un programa de dominio público que opera dentro el sistema operativo Linux y que trabaja basado en hardware de PC, vale decir microprocesadores compatibles con el estándar x86 de Intel o compatibles con el mismo, como son los productos de AMD entre otros. Una vez concluido el proyecto EMC del NIST, el desarrollo continuó, dando lugar al EMC2, el cual está licenciado bajo la GNU / GLP Licencia Pública General, creada por la Free Software Foundation. 
De esta forma y siguiendo la misma filosofía que le da existencia al sistema operativo Linux, se hizo disponible un programa de control CNC de arquitectura abierta, con todas las mejores prestaciones de uno de arquitectura cerrada o tecnología propietaria. 
Una descripción detallada del proyecto EMC se puede acceder mediante en el siguiente enlace: The NIST RS274NGC Interpreter - Version 3

Sin embargo sería injusto no mencionar otras aproximaciones al diseño de un controlador CNC basado en la plataforma PC. Estas a diferencia de las anteriores se asentaron sobre el sistema operativo DOS, optando de esta forma, por dejar a un lado las ventajas que otorgan una mayor y mejor disponibilidad de recursos gráficos, pero evitando las complejidades técnicas de los anteriores. Así se hicieron populares controladores como el CNCPro, Turbo CNC, Zeus CNC.


La disponibilidad de estos programas de control basados en formato PC ha llevado al desarrollo del DIY CNC (Do It Yourself o Hazlo Tu Mismo), permitiendo que los aficionados puedan construir sus propias máquinas herramientas utilizando en sus diseños, kits de retrofiting o componentes de libre disponibilidad, que no responden a tecnologías propietarias.

La misma arquitectura básica ha permitido a los fabricantes de pequeñas máquinas herramientas, como Sherline, Taig y MaxNC, Sieg, proveer llave en mano sus productos, ya sean estos máquinas de fresado o torneado ligero de escritorio, para los aficionados. Finalmente, la arquitectura abierta permitió la proliferación de muchos más emprendimientos productivos y comerciales, a partir de su utilización para crear las partes componentes y máquinas herramientas adecuadas para aplicaciones comerciales e industriales. Esta clase de equipo ha sido referido en diversos ámbitos como CNC Personal.

Paralelamente a la evolución de las computadoras personales, el CNC Personal tiene sus raíces en el proyecto EMC, de controlador CNC basado en PC, pero ha evolucionado hasta el punto en que puede sustituir a grandes equipos convencionales, en muchos casos. Al igual que con la computadora personal , el CNC Personal se caracteriza por un equipo cuyo tamaño, capacidad y precio de venta, lo hacen especialmente accesible para un gran cantidad de personas y está destinado a ser operado directamente por el usuario final, muchas veces sin formación profesional en tecnología de CNC.



Robaq Automación. Buenos Aires. Argentina. 
E-Mail: info.robaq.@gmail.com





Para saber más acerca de nuestros servicios relacionados, selecciona el siguiente enlace:



Folleto en formato JPG











Folleto en formato PDF

jueves, 28 de octubre de 2010

Acerca de los controladores del CNC

Un controlador o control CNC (Computer Numerical Control) es un dispositivo digital de control numérico (CNC) que cumple la función controlar máquinas herramientas y sus procesos. Ofrecen capacidades que van desde el control de una simple relación de movimiento de punto a punto, hasta el control de algoritmos muy complejos, con múltiples ejes de control. Los controladores CNC se utilizan para equipar a muchos tipos de maquinaria en un taller o planta fabril.

Algunos ejemplos incluyen Centros de Mecanizado Verticales y Horizontales (Vertical Machining Center y Horizontal Machining Center), tornos, Rectificadoras, equipos de Mecanizado por Descarga Electrostática (EDM), Routers, Pantógrafos de Oxicorte y Plasma-Corte, Patógrafos LASER y dispositivos para la inspección de equipos. 


Hoy en día se ofrecen controladores CNC en forma de kits, para la modificación o conversión de una máquina herramienta manual a una máquina automática por CNC. El proceso de recambio de un sistema analógico NC (Numerical Control) a uno digital CNC o la implantación de un sistema CNC en una máquina herramienta manual, habitualmente recibe la denominación de “retrofiting”, la cual resume la idea de las tareas necesarias para la incorporación de esta mejora en el dispositivo al cual se le está aplicando.

De esta forma, es posible prolongar la vida útil de una máquina usada, en buenas condiciones generales, dotándola de los medios tecnológicos más modernos, que le permitirán ofrecer mejores prestaciones en cuanto a velocidad y precisión. Estos kits incluyen componentes comunes, tales como el software, el cableado, y uno o varios generadores de señales, controladores y los motores. 

Los motores pueden ser del tipo de Pasos Incrementales, también conocidos como Paso a Paso o Stepper. También pueden instalarse los más sofisticados servomotores. Tanto los primeros, como los segundos ofrecen ventajas y desventajas, que responden a las características de su solución técnica, que obviamente tienen implicancias directas en sus prestaciones y como es de esperar, también en sus valores de mercado.
Tanto los motores Stepper como los servomotores pueden ser controlados con extrema precisión y más aún si los mismos adoptan el uso motores de retroalimentación de posición, conocidos como codificadores o encoders. Aquí es oportuno aclarar que los encoders cumplen el mismo propósito que los resolvers, pero los primeros responden a una arquitectura electrónica digital, en cambio los segundos son de índole analógica y por esta razón existe una insalvable incompatibilidad entre ellos. 

Los motores de pasos incrementales proporcionan el movimiento (pasos) en respuesta a la alternancia de los pulsos de corriente, que cambia la polaridad de los polos del estator.
La más relevante característica técnica o especificación de los controladores CNC está determinada por el número de ejes, que son capaces de gestionar, pero también entra en consideración la Interface Hombre-Máquina o HMI (Human Machine Interfase)  y el entorno gráfico que habitualmente estas ofrecen, también referida como Interface Gráfica de Usuario o GUI (Graphical User Interfase), su flexibilidad de configuración y la plataforma informática sobre la cual opera.


Hoy en día es moneda corriente los controladores CNC configurados como paneles computarizados de control, instalados en el mismo gabinete o chasis de la máquina herramienta que controla. Otros están alojados en gabinetes independientes y separados de la misma. También hay controladores “de escritorio”, los cuales permiten a los operadores controlar los equipos y procesos de forma remota o desde oficinas separadas y próximas al entorno de trabajo. Existen alternativas que responden a necesidades de mejor ergonomía, los cuales adoptan la forma de paneles “colgantes”. En estos, los controladores cuelgan de un brazo articulado fijado al chasis de la máquina herramienta, permitiendo así su fácil reubicación de acuerdo a las necesidades del trabajo. Es también habitual encontrar controladores de “pedestal”, los cuales se asientan en la parte superior de un brazo fijo conectado a la máquina. 

En estos últimos años se han generalizado los controladores con pantalla integral, pantallas táctiles y teclados en pantallas táctiles. Algunas de las características ofrecidas por los modernos controladores CNC incluyen alarmas y monitoreo de eventos, almacenamiento de datos en disco rígido, almacenamiento en dispositivos de memoria no volátil tipo “Flash”, tales como “Pen-Drives”, con conector Bus en Serie Universal (Universal Serial Bus o USB), “Memory Stick” con conexión tipo SD o Micro SD, así como también programas de almacenamiento de múltiples trabajos y su control simultáneo. 

Los controladores CNC también se diferencian en términos del protocolo de comunicación industrial que adoptan. Los tipos más comunes son: Red de Recursos de Computador Conectado (ARCNET), Bus de Area de Control de Red (CAN-Bus), Red de Control (ControlNet), Data Highway Plus (DH +), DeviceNet, Ethernet 10 Base T o 100 Base-T, y el Proceso de Bus de Campo (PROFIBUS ®). También se emplean protocolos de comunicación por puertos paralelos, incluidos en la normativa IEEE 1284, nivel bi-direccional del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) de Estados Unidos de América del Norte. 

Algunos controladores se conectan por medio de interfaces en serie, que realizan la transmisión de datos un bit a la vez y son el RS232, RS422 y RS485. También hay controladores CNC que utilizan el Bus en Serie Universal (USB) para su conexionado, el cual consta de 4 cables y velocidad de transmisión de 12 Mbps. Este por lo general se emplea para conectar a velocidades bajas o medias, dispositivos periféricos o computadoras personales (PC). 

El lenguaje y modos de operación son consideraciones importantes a la hora de seleccionar el controlador CNC. Las opciones de lenguaje de un controlador CNC son: mapa de bits (entre ellos los más comunes son los que responden al formato BMP, JPG, TIF, PCX), programación conversacional, dibujo de intercambio de formato (DXF), código G (funciones preparatorias y de control G, M, F, S, T y otras varias más), lenguaje gráfico de Hewlett-Packard (HPGL, HP-GL ®) y la lógica de escalera.

Código G es el nombre común del lenguaje de programación de máquinas herramientas más utilizado, para la ejecución autónoma de de operaciones por control numérico (NC). Sin embargo este lenguaje tiene otras muchas implementaciones.
Este sentido general del término adoptado para su identificación, en referencia al lenguaje en su totalidad (haciendo un uso genérico de la palabra "código"), es imprecisa, porque se trata metonímicamente al sentido literal del término.  Esta forma de llamar a este lenguaje  toma como referente la instrucción preparatoria propia del mismo, no obstante es sólo uno de los muchos comandos que conforman este lenguaje (G es un comando preparatorio y va asociado a otros códigos específicos para dar forma completa a su sentido.
De hecho, cada letra del alfabeto Inglés es utilizada en algún lugar de este lenguaje, aunque el uso de algunas de estas es menos común que otras. La G es el carácter más profusamente repetido y relevante en los programas que responden a esta normalización y precisamente es por esta razón, establecido como el nombre común del lenguaje. 

En décadas posteriores a su creación, muchas implementaciones fueron desarrolladas por muchas organizaciones comerciales y no comerciales. La primera implementación de un control numérico se desarrolló en el Laboratorio de Servomecanismos del Massachusets Institute of Technology (MIT) en la década de 1950. La versión estándar más utilizada en los Estados Unidos fue establecida por la Alianza de Industrias Electrónicas (EIA). Una revisión final fue aprobada en Febrero de 1980 como RS274D. En Europa, es usual que en su lugar se adopte la norma del International Organization For Standarization ISO 6983, aunque son varios los estados de esta región que siguen la norma del Deutsches Institut für Normung DIN 66025, entre los que se destaca Alemania.

Varias extensiones y variaciones se añadieron de forma independiente por los fabricantes de controladores CNC y por fabricantes de máquinas herramientas, por esta causa los operadores de un controlador específico, deben tener conocimientos conscientes con las diferencias que presentan cada producto según su fabricante.  Existe una versión estandarizada del código G, conocido como BCL, pero el mismo no logró su propósito ya que únicamente se usa en algunas máquinas hoy en día. 

Algunos fabricantes de máquinas CNC han intentado superar las dificultades de compatibilidad mediante la estandarización de los controladores, integrando en sus máquinas herramientas dispositivos de control CNC construidos por la firma Fanuc o que sean compatibles con este. Esta semi-estandarización se puede comparar con las registradas en otros sectores industriales en los cuales existe una clara dominación del mercado, tal es el caso de lo que ocurre en el ámbito de la informática con IBM, Intel o Microsoft.

Existen pros y contras, y una gran variedad de alternativas disponibles. Algunas máquinas herramientas CNC hacen un uso "coloquial" de la programación, poniendo a disposición del operador un asistente “virtual”, que se muestra gráficamente en la GUI. De este modo evita por completo el uso de G-código en la instancia de programación, no obstante el mismo subyace detrás de la presentación gráfica, que se exhibe en la pantalla gráfica del controlador. Este recurso es conocido como “modo de programación conversacional” y tiene la particularidad de adoptar herramientas y procedimientos originarios del ámbito de la informática, resumidos en el concepto de “programación orientada a objetos”. Algunos ejemplos más populares son ProtoTRAK del fabricante Southwestern Industries, Mazatrol de Mazak, Haas Intuitive Programming System o IPS, WinMax de Hurco y el software Mori-AP System, de Mori Seiki, todo estos orientados hacia la programación conversacional. 

El código G comenzó como un tipo limitado de lenguaje, que carecía de construcciones tales como lazos o loops, los operadores condicionales y variables de programación declaradas, con empleo de palabras naturales (o las expresiones en las que los utilizan). Fue por lo tanto incapaz de codificar la lógica, sino que era esencialmente sólo una manera de "conectar puntos" en el espacio de coordenadas cartesiano, en la que muchos de los parámetros indispensables para la adecuada interpretación y ejecución de la instrucciones requerían la escritura a mano del programador. 

Las últimas implementaciones del código G son tales construcciones, que crean un lenguaje más cercano a un lenguaje de programación de alto nivel. Cuanto más es la medida, que le permita a un programador indicarle a la máquina lo que desea como resultado final, dejando los cálculos intermedios a esta, mayor es la utilización del poder computacional del controlador, para el máximo provecho.

Las opciones de modos para la operación del controlador CNC son: comandos de coordenadas polares, compensación de corte, interpolación lineal o circular, interpolación helicoidal, memorización del error de posicionamiento y su compensación, ciclos fijos o enlatados, rigid tapping o roscado rígido y auto-escalamiento.

Los comandos de coordenadas polares referencian todas las coordenadas a una recta llamada “eje” y a un punto específico del sistema de coordenadas cartesiano, llamado “polo”. Para fijar la posición de un punto se determina la distancia de éste al polo y el ángulo que éste forma con la dirección positiva del eje. Si los sistemas un sistema de coordenadas cartesiano y un sistema de coordenadas polar se disponen de modo que el origen cartesiano coincide con el polo y además el sentido positivo del eje polar se hace coincidir con la dirección positiva del eje de las abscisas, la equivalencia de valores de un sistema a otro se logra mediante la aplicación de fórmulas matemáticas.

Los comandos de interpolación lineal y circular, son los algoritmos más comúnmente utilizados en el programa de trabajo, para administrar la tasa de alimentación o velocidad de avance de la herramienta durante la tarea de cortado del material. El programa especifica los puntos inicial y finales, y el controlador calcula automáticamente por interpolación los puntos intermedios por los cuales deberá pasar la herramienta, dando lugar así a una trayectoria en línea recta o una trayectoria curva o en arco según sea el caso (de ahí se habla de "interpolación lineal" o “interpolación circular”). El controlador luego calcula la velocidad angular a la cual deben ser girados los tornillos actuadores, engranajes, poleas o cualquiera sean los elementos dispuestos para la transmisión mecánica de los movimientos, en la máquina herramienta. Estas operaciones requieren la realización de miles de cálculos por segundos, de parte de la computadora a cargo del controlador CNC.

La memorización de la compensación por error de posicionamiento (backlash) mejora la precisión de la máquina, mediante la corrección de huelgos originados en el o los tornillos actuadores, engranajes y cremalleras, poleas dentadas y correas o cualquier otro posible error de posicionamiento causado por los elementos de transmisión mecánica, que accionan los elementos móviles de la máquina herramienta. La interpolación helicoidal se utiliza para hacer agujeros de gran diámetro en piezas de trabajo.

Los ciclos enlatados son rutinas de trabajo propias de la máquina en cuestión, tales como la perforación, taladrado profundo, fresado, roscado, alesado y mandrinado que implican una serie de operaciones estandarizadas, que se agrupan y se especifican por medio de un solo programa de código G, con los parámetros adecuados.


La mayoría de los controladores modernos de máquinas herramientas CNC ofrecen ahora la capacidad de roscado rígido (rigid tapping), como una característica estándar. Un ciclo de roscado rígido sincroniza el eje de rotación de la máquina y el de alimentación, para que coincida con un paso de rosca específico, mientras el macho es rápidamente conducido dentro o fuera del agujero. Puesto que la alimentación en el agujero está sincronizado, en teoría, se puede utilizar un porta-herramientas sólido, sin ningún tipo de compensación de tensión. 



Robaq Automación. Buenos Aires. Argentina. 
E-Mail: info.robaq@gmail.com



Fuentes: http://gramlich.net/projects/cnc/controller/  
Traducción y adaptación: Robaq Automación


Para saber más acerca de nuestros servicios relacionados, selecciona el siguiente enlace:



Folleto en formato JPG











Folleto en formato PDF

viernes, 1 de octubre de 2010

Fabricación Asistida por Computadora

La fabricación asistida por computadora, también conocida por las siglas en inglés CAM (Computer Aided Manufacturing), implica el uso de computadoras y tecnología de cómputo para realizar de forma automática o semiautomática todas las fases de manufactura de un producto, incluyendo la planificación y control del proceso, la producción, la administración de recursos y el control de calidad.


Debido a sus evidentes ventajas, se suele integrar el diseño y la fabricación asistidos por computadora mediante el empleo combinado de sistemas CAD/CAM. Esta combinación permite la transferencia de información, desde la etapa de diseño a la etapa de planificación, para la fabricación de un producto, sin necesidad de volver a capturar manualmente los datos geométricos de la pieza. La base de datos que se desarrolla durante el trabajo CAD es incorporada al proceso CAM, para obtener los datos y las instrucciones necesarias para operar y controlar la maquinaria de producción, el equipo de manejo de materiales y las pruebas e inspecciones automatizadas, para establecer la calidad del producto.


La integración CAD/CAM requiere de un efectivo intercambio de la información CAD, tal como esta ha sido elaborada por el Kernel de gráficos geométricos y que se encuentra contenida en el formato de salida o “output”, que se obtiene como producto de las tareas de diseño. La compatibilidad entre los diversos algoritmos gráficos generados por los muy distintos programas CAD, para la formulación de la gráfica vectorial, que estos permiten elaborar, es un aspecto de primordial importancia, para una eficaz integración CAD/CAM. Así, el esfuerzo puesto en la búsqueda de mejoras funcionales y prestaciones generales llevada adelante por los desarrolladores de los programas CAD, resultaron en una mejora sustancial respecto a la compatibilidad cruzada entre plataformas. En otros casos, la adopción generalizada, forzó la consolidación de ciertos formatos gráficos, tal es el caso de los identificados como DWG y DXF, característicos de los productos AutoCAD, de la firma Autodesk.

No obstante, AutoCAD logró imponerse en una etapa del diseño CAD, en la que el dibujo 2D era el centro del desarrollo, en este ámbito y el modelado 3D estaba en su etapa infante, adoleciendo serias limitaciones, en años recientes esto comenzó a cambiar. El advenimiento de herramientas gráficas específicamente orientadas a la generación de sólidos virtuales tridimensionales paraméricos, tales como CATIA y SolidWorks de la firma Dassault Systemes, SolidEdge y NX de Siemens, Inventor de Autodesk, Rhinoceros de Robert McNeel & Associates, PowerShape, de Delcam, Alibre de 3DSystems, entre otros, alentaron la estandarización y paralelamente la facilidad del procedimiento.




Sin embargo, siguen sumándose otras propuestas tecnológicas en cuanto a aplicaciones CAD nos referimos. Así es posible incorporar en nuestra lista, programas CAD compatibles con sistemas operativos (SO) de uso general y amplia adopción tales como Windows, de Microsoft, Mac OSX de Apple Computers, pero también los propios de ámbitos específicos o más acotados, entre ellos Unix, ahora administrado por The Open Group, Linux, de Linux Organization/Free Software Foundation, Irix, de Silicon Graphics, Solaris, de Oracle, FreeBSD, de FreeBSD Foundation.

De esta forma el rango de oferta cubre todos los segmentos, satisfaciendo requerimientos muy diversos, apropiados para entornos de trabajo colaborativo, mediante grandes redes informáticas, soportados por SO más costosos y sofisticados, capaces de gestionar necesidades de misión crítica, hasta los más modestos y gratuitos, soportados por SO, también de distribución gratuita y código fuente abierto, tanto de uso profesional, como doméstico. Algunos de los mismo se mencionan seguidamente, volviendo a destacar que probablemente son más, los que no están en el listado, ya que los aquí presentados tienen aplicación a los procesos productivos referidos anteriormente, en los sumarios publicados.

1- Aplicaciones CAD 2D y 3D.
1.1- Programas de código fuente abierto (Open-Source Software - LGPL).
1.1.1- Assimp
1.1.3- Blender
1.1.4- BRL-CAD
1.1.5- FreeCAD
1.1.6- HeeksCAD
1.1.7- Inkscape
1.1.8- K3D
1.1.9- OpenSCAD
1.1.10- PyGear
1.1.11- PythonOCC
1.1.12- QCAD
1.1.13- Shapesmith
1.1.14- Wings3D

1.2- Programas con licencia desconocida.
1.2.1- AutoQ3D
1.2.2- Archimedes
1.2.3- Replath

1.3- Programas de código fuente cerrado (Closed-Source Software).
1.3.3- Cheetah3D
1.3.4- CoCreate
1.3.5- Sketchup
1.3.8- Solvespace
1.3.9- Tinkercad
1.3.10- Form-Z

2- Aplicaciones compatibles para gestionar archivos STL.
2.1 - Programas de código fuente abierto (Open-Source Software).
2.1.1- MeshLab
2.1.2- Skeinforge
2.1.3- Slic3r
2.1.4- Repsnapper
2.1.5- Cura
2.1.6- ConvertSTL

2.2- Programas de código fuente cerrado (Closed-Source Software).
2.2.2- Kisslicer

3- Aplicaciones CAD para diseño de circuitos electrónicos y ensayos sobre ProtoBoard o StripBoard.
3.1- Programas de código fuente abierto (Open-Source Software).
3.1.1- gEDA/gaf
3.1.2- KiCad
3.1.3- Gerbv
3.1.4- VeeCAD

3.2- Programas de código fuente cerrado (Closed-source Software).
3.2.1- Eagle
3.2.2- OrCAD
3.2.3- Ares
3.2.4- Altium
3.2.5- Protel


Cabe la aclaración, que son muchos los programas CAM, que proveen el conjunto de herramientas gráficas necesarias, para la propia formulación del modelo sólido virtual. De esta forma, se pueden identificar los paquetes integrados CAD/CAM/CAE/PLM, pero en el otro extremo del espectro, también las soluciones enfocadas, en sólo uno de estos entornos técnicos, que funcionan con total independencia de las demás aplicaciones mencionadas o que pueden asimilarse dentro del mismo espacio de trabajo, quedando totalmente asimilado en la interface gráfica de usuario del programa huésped.
Por lo general la aplicación CAD es la que actúa como huésped de los citados módulos de expansión o “add ons” o “plug-ins”, ofreciendo una amalgama propicia de funciones gráficas y de otra índole técnica, como lo son los que generan las condiciones de entorno inherentes a los procesos CAM, CAE (Computer Aided Engineering o Ingeniería Asistida por Computadora) o PLM (Product Life Management o Gestión de Ciclo de Vida del Producto). Algunos ejemplos de estos, son Mastercam, de CNC Software, Surfcam, de Vero Software, PowerMill, FeatureCAM y ArtCAM, de Delcam, Alphacam, Vero VISI y EdgeCAM, de Vero Software, Pro/Engineer y Creo Parametric, de Tristar, CamBam, de HexRay, EZ-CAM, de EZCAM Solutions, Visualcam y RhinoCAM, de Mecsoft, Gibbscam, de Gibbs And Associates, VCarve, de Vetric, SolidCAM, de SolidCAM, D2NC y otros tantos más.


Por lo general, en el pasado reciente, el operador CAD se veía obligado a exportar los datos hacia alguno de los formatos gráficos más comunes, seguramente DWG o DXF, si la gráfica vectorial era 2D. En cambio, para sólidos 3D, la exportación tenía como destino los formatos IGES o STL, sacando así ventaja de la amplia compatibilidad, que estos dos formatos tienen con una gran variedad de software. Sin embargo, actualmente, esta exigencia está quedando atrás y las aplicaciones disponen de funciones de ejecución, importación y exportación ampliadas, que aseguran la interpretación de los algoritmos geométricos según su formulación nativa o los convierten automáticamente.

Como resultado final de la programación CAM, practicada por el operador, la salida es por lo general un simple archivo de texto de código numérico o código G, a veces de muchos miles de comandos, que se transfiere a continuación, a una máquina herramienta, usando probablemente un programa de control numérico directo DNC (Direct Numerical Control). Cabe aclarar, que ciertas aplicaciones CAM dan origen a archivos cuyos formatos se identifican como NC, NCC, TAP, aunque la esencia en todos estos casos es la misma, ya que se trata del conjunto de órdenes, expresadas como texto sin formato, definidas por las normas de estandarización antes mencionadas.

Una de las funciones más relevantes de un sistema CAD/CAM, es la capacidad de simular virtualmente mediante animación gráfica tridimensional, la trayectoria que describe la herramienta en la operación de mecanizado. Es común que la simulación tenga tal grado de detalles visuales, que muestra el efecto progresivo del desbaste de la herramienta de corte, con una aproximación bastante ajustada a la realidad del acabado resultante, logrado en el material que se encuentra sometido al proceso.
Esta simulación resulta de la programación de la estrategia de maquinado, selección del tipo y tamaño del material, tipo y tamaño de la herramienta de corte, profundidad de corte multinivel o por pasada (stepdown) y lateralización de la pasada (stepover), velocidad de avance durante el corte (feedrate), caracterización de los procedimientos de aproximación, entrada y salida de la herramienta en el material, y demás parámetros que definen cada una de de las operaciones que intervienen en el mecanizado.

Cuanto mejor desarrollo distinga a la aplicación CAM, mayor será la cantidad de variables involucradas y más comprehensiva la base de datos disponible, para la selección de valores y alternativas, que mejor representan las necesidades técnicas requeridas, para la tarea. De esta manera, un típico sistema CAD/CAM puede generar el programa de control numérico necesario, para controlar de forma autónoma operaciones de torneado, fresado y agujereado, en una secuencia interpolada y repetitiva, de acuerdo a un plan de trabajo definido por su operador.

Las instrucciones que se generan en la computadora, se pueden modificar tanta veces como sean necesarias, para optimizar la trayectoria de la herramienta. Allí reside la utilidad de la simulación, que en definitiva es una modelización virtual animada, de las operaciones de producción. Mediante esta, el ingeniero o el técnico pueden entonces mostrar y comprobar visualmente si la estrategia de mecanizado presenta inconsistencias, errores en la asignación de valores, o posibles colisiones de herramienta de corte o de la pinza porta-herramienta, con el mismo material, que se está modelando.

En resumen, lo que aquí se intenta explicar con muchas palabras, no es más que procedimiento asistido por medio de cuadros de diálogos, menús desplegables, selección de objetos gráficos mediante mouse y teclado, ejecución de funciones por medio de la selección botones o íconos, etc., vale decir todas herramientas gráficas muy familiares y estándar al los modernos entornos gráficos, que presentan los sistemas operativos, tales como MS-Windows, Mac OS, Linux, etc.

Algunos ejemplos de CAM son: el fresado programado por control numérico, la realización de agujeros en circuitos automáticamente por un robot, y la soldadura automática de componentes SMD (Surface Mount Device) en una planta de montaje.

El surgimiento del CAD/CAM ha tenido un gran impacto en los procesos de manufactura al normalizar el desarrollo de los productos y reducir los esfuerzos en el diseño, pruebas y trabajo con prototipos. Esto ha hecho posible reducir los costos de forma importante, y mejorar la productividad. Por ejemplo, el avión bimotor de pasajeros Boeing 777 fue diseñado en su totalidad en computadora, con 2000 estaciones de trabajo conectadas a ocho computadoras. Este avión se construye de forma directa con los programas CAD/CAM desarrollados (y el sistema ampliado CATIA), y no se construyeron prototipos ni simulaciones, como los que se requirieron en los modelos anteriores. El costo de este desarrollo fue del orden de seis mil millones de dólares.


Algunas aplicaciones características del CAD/CAM son las siguientes:


  • Programación por calendario de procesos, para el control numérico, control numérico computarizado y robots industriales.
  • Desarrollos de prototipos rápidos.
  • Diseño de modelos y moldes para fundición en los que, por ejemplo, se re-programa tolerancias de contracción.
  • Modelos para operaciones de trabajo de metales, por ejemplo, modelos progresivos para estampado.
  • Diseño de herramientas, soportes y electrodos para electro-erosión.
  • Control de calidad e inspección; por ejemplo, máquinas de medición por coordenadas programadas en una estación de trabajo CAD/CAM.
  • Planeamiento y programación de proceso.
  • Distribución de planta.





Robaq Automación. Buenos Aires. Argentina. 
E-Mail: info.robaq@gmail.com




Fuentes: 
http://Wikipedia.org
Robaq Automación. Buenos Aires. Argentina.


Para saber más acerca de nuestros servicios relacionados, selecciona el siguiente enlace:



Folleto en formato JPG











Folleto en formato PDF