Introducción Al Control Numérico Computarizado

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 22

Introducción al control

numérico computarizado
(CNC)

Caso de Estudio

NOMBRE Juan José Peters

AUTOR Juan José Peters

PERÍODO Noviembre-Diciembre

PALABRAS CLAVE CNC, Electrónica, Juan José Peters, Código G, GRBL,


DIYLILCNC, Drivers, Arduino, cnt, MadLab
RELACIONADO Desarrollo Electrónica
DIYLILCNC, CNC_DIY, Funcionamiento del driver CNC
DIY para motores paso a paso (Marco teórico)

ESTUDIADO POR Juan José Peters


[ocultar]

 1 Artículos Previos
o 1.1 Desarrollados por el MADLAB
 2 Introducción al Control Numérico Computarizado
o 2.1 Antecedentes históricos
 2.1.1 Programación Manual
o 2.2 LOS BLOCKS (Bloque de instrucciones) en Control Numérico
 2.2.1 Estructura de Bloque
 2.2.2 Formato de Bloque
 2.2.3 Comandos G (funciónes de desplazamiento de la fresa)
 3 Funcionamiento de DIYLILCNC como máquina CNC (Marco teórico)
o 3.1 Sistemas CAD, CAM y código G
o 3.2 Sender
o 3.3 Controlador CNC
 3.3.1 UNIDAD DE ENTRADA – SALIDA DE DATOS
 3.3.2 UNIDAD DE MEMORIA INTERNA E INTERPRETACIÓN DE
ÓRDENES
 3.3.3 UNIDAD DE CÁLCULO
 3.3.4 Unidad de enlace con la máquina herramienta y servomecanismos.
 3.3.5 Drivers para control de motores paso a paso
 3.3.6 motores paso a paso

Artículos Previos
Desarrollados por el MADLAB
1. Proyecto DIYLILCNC
2. Proyecto RepRap
3. CNC_DIY
Introducción al Control Numérico
Computarizado
Antecedentes históricos
El CNC tuvo su origen a principio de los años 50 en el Instituto Tecnológico de
Massachusets (MIT), en donde se automatizó por primera vez una gran fresadora.
En esta época, las computadoras estaban en sus inicios y eran tan grandes que el
espacio ocupado por la computadora era mayor que el de la máquina.
Hoy día las computadoras son cada vez mas pequeñas y económicas, con lo que
el uso del CNC se ha extendido a todo tipo de maquinaria: Tornos, rectificadoras,
electroerosionadoras, máquinas de coser, etc.
CNC Significa "Control Numérico Computarizado". En una máquina CNC, a
diferencia de una máquina convencional o manual, una computadora controla la
posición y velocidad de los motores que accionan los ejes de la máquina. Gracias
a esto puede hacer movimientos que no se pueden lograr manualmente como
círculos, lineas diagonales y figuras complejas tridimensionales.
Las máquinas CNC son capaces de mover la herramienta al mismo tiempo en los
3 ejes para ejecutar trayectorias tridimensionales como las que se requieren para
el maquinado de moldes y troquueles, como se muestra en la siguiente imagen.
En una máquina de mecanizados en CNC una computadora controla el
movimiento de la mesa, el carro y el husillo. Una vez programada la máquina
esta ejecuta todas las operaciones por sí sola, sin necesidad de que el operador
esté manejándola. En el caso de una industria o un taller, esto permite aprovechar
mejor el tiempo del personal para que sea mas productivo.
El término "Control Numérico" se debe a que las órdenes dadas a la máquina son
indicadas mediante códigos numéricos. Por ejemplo, para indicarle a la máquina
que mueva la herramienta describiendo un cuadrado de 10 mm por lado se le
darían los siguientes códigos:
Un conjunto de órdenes que siguen una secuencia lógica constituyen un
programa de maquinado. Dándole las órdenes o instrucciones adecuadas a la
máquina, esta es capaz de maquinar una simple ranura, una cavidad irregular, la
cara de una persona en autorrelieve o bajorrelieve, un grabado artístico, un molde
de inyección de una cuchara o el de una botella... lo que se quiera.
Al principio hacer un maquinado era muy dificil y tedioso, pues había que
planear e indicarle manualmente a la máquina cada uno de los movimientos que
tenía que hacer. Era un proceso que podía durar horas, días o semanas. Aún así,
era un ahorro de tiempo comparado con los métodos convencionales.
Actualmente, muchas de las máquinas modernas trabajan con lo que se conoce
como "lenguaje conversacional" en el que el programador escoje la operación
que desea y la máquina le pregunta los datos que se requieren. Cada instrucción
de este lenguaje conversacional puede representar decenas de códigos numéricos.
Por ejemplo, el maquinado de una cavidad completa se puede hacer con una sola
instrucción que especifica el largo, alto, profundidad, posición, radios de las
esquinas, etc. Algunos controles incluso cuentan con graficación en pantaya y
funciones de ayuda geométrica. Todo esto hace la programación mucho mas
rápida y sencilla.
También se emplean sistemas CAD/CAM que generan el programa de
maquinado de forma automática.
Para la realización de un programa de maquinado se pueden utilizar dos métodos:

 Programación Manual: En este caso, el programa pieza se escribe únicamente


por medio de razonamientos y cálculos que realiza un operario.

 Programación Automática: En este caso, los cálculos los realiza un


computador, que suministra en su salida el programa de la pieza en lenguaje
máquina. Por esta razón recibe el nombre de programación asistida por
computador. De este método hablaremos más adelante.

Programación Manual
El lenguaje máquina comprende todo el conjunto de datos que el control necesita
para la mecanización de la pieza. Al conjunto de informaciones que corresponde
a una misma fase del mecanizado se le denomina bloque o secuencia, que se
numeran para facilitar su búsqueda. Este conjunto de informaciones es
interpretado por el intérprete de órdenes. El programa de mecanizado contiene
todas las instrucciones necesarias para el proceso de mecanizado. Una secuencia
o bloque de programa debe contener todas las funciones geométricas, funciones
máquina y funciones tecnológicas del mecanizado, de tal modo, un bloque de
programa consta de varias instrucciones. El comienzo del control numérico ha
estado caracterizado por un desarrollo anárquico de los códigos de programación.
Cada constructor utilizaba el suyo particular. Posteriormente, se vio la necesidad
de normalizar los códigos de programación como condición indispensable para
que un mismo programa pudiera servir para diversas máquinas con tal de que
fuesen del mismo tipo.
Los caracteres más usados comúnmente, regidos bajo la norma DIN 66024 y
66025 son, entre otros, los siguientes:
N es la dirección correspondiente al número de bloque o secuencia. Esta
dirección va seguida normalmente de un número de tres o cuatro cifras. En el
caso del formato N03, el número máximo de bloques que pueden programarse es
1000 (N000 a N999).
X, Y, Z son las direcciones correspondientes a las cotas según los ejes X, Y, Z de
la máquina herramienta. Dichas cotas se pueden programar en forma absoluta o
relativa, es decir, con respecto al cero pieza o con respecto a la última cota
respectivamente.
G es la dirección correspondiente a las funciones preparatorias. Se utilizan para
informar al control de las características de las funciones de mecanizado, como
por ejemplo, forma de la trayectoria, tipo de corrección de herramienta, parada
temporizada, ciclos automáticos, programación absoluta y relativa, etc. La
función G va seguida de un número de dos cifras que permite programar hasta
100 funciones preparatorias diferentes.
Ejemplos:
G00: El trayecto programado se realiza a la máxima velocidad posible, es decir, a
la velocidad de desplazamiento en rápido.
G01: Los ejes se gobiernan de tal forma que la herramienta se mueve a lo largo
de una línea recta.
G02: Interpolación lineal en sentido horario.
G03: Interpolación lineal en sentido antihorario.
G33: Indica ciclo automático de roscado.
G77: Es un ciclo automático que permite programar con un único bloque el
torneado de un cilindro, etc.
M es la dirección correspondiente a las funciones auxiliares o complementarias.
Se usan para indicar a la máquina herramienta que se deben realizar operaciones
tales como: parada programada, rotación del husillo a derechas o a izquierdas,
cambio de útil, etc. La dirección m va seguida de un número de dos cifras que
permite programar hasta 100 funciones auxiliares diferentes.
Ejemplos:
M00: Provoca una parada incondicional del programa, detiene el husillo y la
refrigeración.
M02: Indica el fin del programa. Se debe escribir en el último bloque del
programa y posibilita la parada del control una vez ejecutadas el resto de las
operaciones contenidas en el mismo bloque.
M03: Permite programar la rotación del husillo en sentido horario.
M04: Permite programar la rotación del husillo en sentido antihorario, etc.
F es la dirección correspondiente a la velocidad de avance. Va seguida de un
número de cuatro cifras que indica la velocidad de avance en mm/min.
S es la dirección correspondiente a la velocidad de rotación del husillo principal.
Se programa directamente en revoluciones por minuto, usando cuatro dígitos.
I, J, K son direcciones utilizadas para programar arcos de circunferencia. Cuando
la interpolación se realiza en el plano X-Y, se utilizan las direcciones I y J.
Análogamente, en el plano X-Z, se utilizan las direcciones I y K, y en el plano Y-
Z, las direcciones J y K.
T es la dirección correspondiente al número de herramienta. Va seguido de un
número de cuatro cifras en el cual los dos primeros indican el número de
herramienta y los dos últimos el número de corrección de las mismas.

LOS BLOCKS (Bloque de instrucciones) en Control


Numérico

Estructura de Bloque
Es el modo de dar ordenes a la maquina para que se los ejecute. Esto tiene ciertas
características que se debe cumplir. La maquina ejecuta las ordenes (operaciones)
de acuerdo a los datos entregados por dicha operación, por lo que cada orden
tiene una estructura definida. A cada orden se le denomina block o bloque de
programa.
De manera general cada bloque tiene la siguiente estructura:
a) Numero de bloque (número de linea de programa)
b) Código de orden de configuración (función de maquinado)
c) Parámetros de la función de maquinado (Coordenadas X, Y, Z y parámetros
complementarios)
d) Comentarios

Formato de Bloque
El modo básico de comunicarse con la maquina herramienta es a través de los
elementos que forman la estructura de un bloque de instrucciones, en donde cada
uno de los caracteres alfanuméricos tienen un significado y una representación
propia.

Comandos G (funciónes de desplazamiento de la fresa)


Los comandos G son las órdenes mas utilizadas. Son las órdenes de movimientos
de las herramientas. Son las funciones básicas del lenguaje de programación G y
las que determinarán las coordenadas y la forma final de la pieza mecanizada.
Ejemplo:
G2: Arco de circunferencia
Datos requeridos:

 Coordenada de punto final


 Radio de la curva

G2 X100 Y100 I100 F1000

Funcionamiento de DIYLILCNC como


máquina CNC (Marco teórico)
La siguiente presentación reúne los conceptos principales para comprender el
funcionamiento de la máquina fresadora CNC DIYLILCNC, prototipo
desarrollado para fines de investigación y diseño de piezas. Esto es el preámbulo
para comprender el funcionamiento de esta máquina herramienta.
El proceso para transformar un modelo virtual de 2 o 3 dimensiones en una pieza
de maquinado final pasa por seis etapas, las cuales son realizadas de forma
individual o en etapas agrupadas, dependiendo de cada fabricante o diseñador de
máquinas CNC, tanto en hardware como en software. Estas etapas son:

 Diseño asistido por computadora (CAD)


 Manufactura asistida por computadora (CAM)
 Envío de codigo G hacia la máquina (Sender)
 Controlador CNC
 Drivers de motores paso a paso (Stepper Driver)
 Movimiento de ejes (Motores paso a paso)
Las 3 primeras etapas se ejecutan en la computadora y las siguientes 3 etapas son
parte de la máquina CNC.
Se detallará a continuación cada una de estas etapas.

Sistemas CAD, CAM y código G


En el sistema CAD (Diseño asistido por computadora) la pieza que se desea
maquinar se diseña en la computadora con herramientas de dibujo y modelado
sólido. Para la fabricación sustractiva de 3D o archivos de diseño en 2D, por lo
general se utiliza la extensión de archivos CAD DXF. DXF (acrónimo del inglés
Drawing Exchange Format) es un formato de archivo informático para dibujos de
diseño asistido por computadora, creado fundamentalmente para posibilitar la
interoperabilidad entre los archivos .DWG, usados por el programa AutoCAD, y
el resto de programas del mercado.
Para fabricación aditiva se utiliza principalmente la extensión STL. STL (siglas
provinientes del inglés "'STereo Lithography'"') es un formato de archivo
informático de diseño asistido por computadora (CAD) que define geometría de
objetos 3D, excluyendo información como color, texturas o propiedades físicas
que sí incluyen otros formatos CAD. Fue creado por la empresa 3D Systems,
concebido para su uso en la industria del prototipado rápido y sistemas de
fabricación asistida por ordenador. En especial desde los años 2011-2012 con la
aparición en el mercado de impresoras 3D de extrusión de plástico termofusible
(personales y asequibles), el formato STL está siendo utilizado ampliamente por
el software de control de estas máquinas.
Posteriormente el sistema CAM (manufactura asistida por computadora) toma la
información del diseño y genera la ruta de corte que tiene que seguir la
herramienta para fabricar la pieza deseada. A partir de esta ruta de corte se crea
automáticamente el programa de maquinado, el cual puede ser introducido a la
máquina mediante un dispositivo de almacentamiento (Pendrive, CD, etc) o
enviado directamente desde una computadora.
Hoy día los equipos CNC con la ayuda de los lenguajes conversacionales y los
sistemas CAD/CAM permiten a los usuarios producir piezas con mucha mayor
rapidez y calidad, sin necesidad de tener una alta especialización.
El código G es un formato de texto que se puede escribir con la mano o generada
por un script. Aplicaciones de CAM se utilizan generalmente para generar el
código G. Se utiliza principalmente las extensiones de archivo .tap y .nc, aunque
existen decenas de otras extensiones que cumplen la misma función. Finalmente,
todas son extensiones de texto tipo .txt.
Se puede utilizar cualquier editor de texto para hacer o editar el archivo (es decir,
el bloc de notas, Wordpad), pues son archivos de texto.

Sender
Un software Sender tiene como misión principal enviar la información de código
G a través de un protocolo de comunicación desde la computadora hacia la
máquina. Este no es el único método, ya que muchas máquinas CNC permiten
cargar los datos de maquinado desde dispositivos de almacenamiento como
pendrives o tarjetas SD (antiguamente desde tarjetas perforadas y diskettes). En
la actualidad, se utiliza comunicación por puerto paralelo o puerto serial. Sin
embargo, debido a que este tipo de puertos se encuentra obsoleto para las
distintas marcas de computadoras se está emigrando todo el desarrollo CNC a
comunicación por puerto USB. El software sender también controla el flujo de
datos enviados funcionando como "Buffer", de modo que si una máquina CNC
acumula muchas instrucciones o queda vacía de datos, puede comunicarse con el
programa sender para detener el envío de datos o para solicitar mas.
Los Software sender han ido evolucionando en el tiempo, y en la actualidad
ofrecen importantes características entre las cuales están:

 Permiten una interacción entre los distintos recursos y características a través de


interfaz gráfica de usuario (GUI).
 permiten ejecutar movimientos en la máquina de forma manual (código G desde
teclado) o automática a través de la carga de un script (programa de mecanizado).
 Permiten la visualización del objeto virtual y de la trayectoria que seguirá la
herramienta en su recorrido.

Para DIYLILCNC se ha utilizado como interfáz Sender el Software Universal


GcodeSender, el cual es una interfaz gráfica de usuario con todas las funciones
requeridas en la gestión de código G y recomendada para su uso por el
desarrollador del firmware controlador CNC usado también en esta máquina.
Controlador CNC
Un controlador CNC que permite la calibración, configuración y el control de
fresadoras CNC. Es el encargado de procesar cada linea de proceso de un
programa de maquinado (Programa en codigo G) para que la máquina
herramienta ejecute los movimientos necesarios para realizar una rutina de
fresado.
GRBL es un firmware libre y de código abierto utilizado en DIYLILCNC. Este
programa ha sido diseñado para ser cargado en plataformas de desarrollo
Arduino.
En DIYLILCNC el controlador Grbl recibe secuencias de código de maquinado
desde una interfaz sender por USB (que es un puerto de serie) y utiliza esta
comunicación serial para controlar el flujo de código, es decir, cuando el GRBL
envía una señal de "estoy lleno" detiene la transmisión hasta que GRBL pide más
datos.
Un software CNC Controler ejecuta cuatro unidades principales de
procesamiento de control numérico:

 Unidad de entrada y salida de datos.


 Unidad de memoria interna e interpretación de órdenes.
 Unidad de cálculo.
 Unidad de enlace con la máquina herramienta.
UNIDAD DE ENTRADA – SALIDA DE DATOS
La unidad entrada de datos sirve para introducir los programas de mecanizado en
el equipo de control numérico, utilizando un lenguaje inteligible para éste. En los
sistemas antiguos se utilizaron para la introducción de datos sistemas tipo ficha
(Data Modul) o preselectores (conmutadores rotativos codificados); los grandes
inconvenientes que presentaron estos métodos, sobre todo en programas
extensos, provocó su total eliminación. Posteriormente se utilizaba para dicho
propósito la cinta perforada (de papel, milar o aluminio), por lo que el lector de
cinta se constituía en el órgano principal de entrada de datos. Esta cinta era
previamente perforada utilizando un perforador de cinta o un teletipo. El número
de agujeros máximo por cada carácter era de ocho (cinta de ocho canales).
Además de estos agujeros, existía otro de menor tamaño, ubicado entre los
canales 3 y 4 que permitía el arrastre de la cinta.
Los primeros lectores de cinta fueron electromecánicos; los cuales utilizaban un
sistema de agujas palpadoras que determinaban la existencia de agujeros o no en
cada canal de la cinta, luego esto actuaba sobre un conmutador cuyos contactos
se abren o cierran dependiendo de la existencia o no de dichos agujeros. Luego se
utilizaron lectores de cinta fotoeléctricos, los cuales permitían una velocidad de
lectura de cinta muy superior. Los mismos constaban de células fotoeléctricas,
fotodiodos o fototransistores como elementos sensores. Estos elementos sensibles
a la luz, ubicados bajo cada canal de la cinta (incluso bajo el canal de arrastre).
Una fuente luminosa se colocaba sobre la cinta, de tal forma que cada sensor
producía una señal indicando la presencia de un agujero que sería amplificada y
suministrada al equipo de control como datos de entrada. Otro medio que se
utilizaba para la entrada de datos era el cassette, robusto y pequeño, era más fácil
de utilizar, guardar y transportar que la cinta, siendo óptima su utilización en
medios hostiles. Su capacidad variaba entra 1 y 5 Mb. Luego comenzó a
utilizarse el diskette. Su característica más importante era la de tener acceso
aleatorio, lo cual permitía acceder a cualquier parte del disco en menos de medio
segundo. La velocidad de transferencia de datos variaba entre 250 y 500 Kb / s.
Con la aparición del teclado como órgano de entrada de datos, se solucionó el
problema de la modificación del programa, que no podía realizarse con la cinta
perforada, además de una rápida edición de programas y una cómoda inserción y
borrado de bloques, búsqueda de una dirección en memoria, etc.

UNIDAD DE MEMORIA INTERNA E


INTERPRETACIÓN DE ÓRDENES
Tanto en los equipos de programación manual como en los de programación
mixta (cinta perforada o cassette y teclado), la unidad de memoria interna
almacenaba no sólo el programa sino también los datos máquina y las
compensaciones (aceleración y desaceleración, compensaciones y correcciones
de la herramienta, etc.). Son los llamdos datos de puesta en operación. En las
máquinas que poseían sólo cinta perforada como entrada de datos, se utilizaba
memorias buffer. Luego, con el surgimiento del teclado y la necesidad de ampliar
significativamente la memoria (debido a que se debía almacenar en la misma un
programa completo de mecanizado) se comenzaron a utilizar memorias no
volátiles (su información permanece almacenada aunque desaparezca la fuente de
potencia del circuito, por ejemplo en el caso de un fallo en la red) de acceso
aleatorio (denominadas RAM) del tipo CMOS.
Además poseían una batería denominada tampón, generalmente de níquel –
cadmio, que cumplían la función de guardar durante algunos días (al menos tres)
todos los datos máquina en caso de fallo en la red. Una vez almacenado el
programa en memoria, inicia su lectura para su posterior ejecución. Los bloques
se van leyendo secuencialmente. En ellos se encuentra toda la información
necesaria para la ejecución de una operación de mecanizado.

UNIDAD DE CÁLCULO
Una vez interpretado un bloque de información, esta unidad se encarga de crear
el conjunto de órdenes que serán utilizadas para gobernar la máquina
herramienta. Como ya se dijo, este bloque de información suministra la
información necesaria para la ejecución de una operación de mecanizado. Por lo
tanto, una vez el programa en memoria, se inicia su ejecución. El control lee un
número de bloques necesario para la realización de un ciclo de trabajo. Estos
bloques del programa son interpretados por el control, que identifica: la nueva
cota a alcanzar (x, y, z del nuevo punto en el caso de un equipo de tres ejes),
velocidad de avance con la que se realizará el trayecto, forma a realizar el
trayecto, otras informaciones como compensación de herramientas, cambio de
útil, rotación o no del mismo, sentido, refrigeración, etc.). La unidad de cálculo,
de acuerdo con la nueva cota a alcanzar, calcula el camino a recorrer según los
diversos ejes.

Unidad de enlace con la máquina herramienta y


servomecanismos.
La función principal de un control numérico es gobernar los motores
(servomotores) de una máquina herramienta, los cuales provocan un
desplazamiento relativo entre el útil y la pieza situada sobre la mesa. Si
consideramos un desplazamiento en el plano, será necesario accionar dos
motores, en el espacio, tres motores, y así sucesivamente. En el caso de un
control numérico punto a punto y paraxial, las órdenes suministradas a cada uno
de los motores no tienen ninguna relación entre sí; en cambio en un control
numérico de contorneo, las órdenes deberán estar relacionadas según una ley bien
definida. Para el control de los motores de la máquina herramienta se pueden
utilizar dos tipos de servomecanismos, a lazo abierto y a lazo cerrado. En los de
lazo abierto, las órdenes a los motores se envían a partir de la información
suministrada por la unidad de cálculo, y el servomecanismo no recibe ninguna
información ni de la posición real de la herramienta ni de su velocidad. No así en
un sistema de lazo cerrado, donde las órdenes suministradas a los motores
dependen a la vez de las informaciones enviadas por la unidad de cálculo y de las
informaciones suministradas por un sistema de medidas de la posición real por
medio de un captador de posición (generalmente un encoder), y uno de medida
de la velocidad real (tacómetro), montados ambos sobre la máquina.
Para el caso de DIYLILCNC su funcionamiento es en lazo abierto, por lo que
una perdida de pasos en el movimiento de los motores implica perder los
parámetros de referencia en el proceso de maquinado. GRBL posee algunos
elementos en su programación para reducir esta posibilidad, como la
desaceleración del movimiento de los ejes para el frenado o cambios en la
dirección de desplazamiento de la herramienta de fresado.

Drivers para control de motores paso a paso


La palabra Driver puede tener muchos significados (en software, la palabra driver
se asocia a un "controlador de dispositivos"). Aquí tenemos que limitar nuestra
definición a cualquier equipo electrónico inteligente que proporcione un control
ajustable de la velocidad para un motor. El driver para un motor paso a paso
corresponde a un circuito electrónico, el cual tiene la característica de conmutar
cada una de las bobinas del Stepper y a su vez, generar la secuencia en que debe
alimentarse cada bobina para generar un paso. Junto con ello, permite invertir el
giro del motor invirtiendo la secuencia en que las bobinas son conmutadas.

motores paso a paso


Los motores paso a paso permiten realizar el desplazamiento de cada uno de los
ejes de la máquina sin manipulación humana directa. Proporcionan movimiento
mecánico según la secuencia de energización entregada por su correspondiente
driver. Los motores normalmente usados tipo stepper son los motores unipolares,
bipolares e híbridos.
DIYLILCNC utiliza motores paso a paso bipolares para sus 3 ejes en formato
NEMA 23 de 3A de intensidad de corriente nominal, lo cual le permite ejercer un
torque nominal de 1.8 N-m. Posee 200 pasos por giro, por lo que permite
posiciones angulares de 1.8° de separación.

También podría gustarte