Calcula los usuarios online de tu web o blog

Proyectos

Interfaz CNC v 1.4

 

Si buscamos por la Web encontraremos muchas opciones para armar un sistema de drivers CNC, en mi caso me gusta el formato modular, donde tenemos por un lado los drivers, que controlan los motores según las seńales que recibe desde la PC, y la interfaz, que en realidad no hace mas que comunicar la PC con los drivers, hay quienes arman todo en una sola placa, incluso omitiendo la Interfaz sin problemas, es una cuestión de gustos y practicidad.

En este caso entonces tendremos por un lado la interfaz y por el otro los drivers, siendo el verdadero objetivo de la interfaz aislar el puerto paralelo de la PC de los drivers, en este caso usando compuertas de tipo buffers (74HC244), seguramente muchos dirán que seria mejor hacerlo con optoacopladores, puede que así sea, pero la disponibilidad de optos de rápida respuesta acá en arg no es muy buena, o son muy caros, además teniendo mínimos cuidados utilizando los buffers es mas suficiente, y estos son muy rápidos.

A continuación podremos ver unas imagenes de la interfaz:

Click en la imagen para ampliar

Como se puede observar la Interfaz cuenta con 4 conectores para drivers, pudiendo manejar entonces hasta 4 ejes, borneras para las 5 entradas del puerto paralelo donde se conectan los finales de carrera parada de emergencia y demás, 3 reles para el encendido del husillo, bomba de agua y aspiradora por ejemplo, conector para expansión que veremos para que es mas adelante y los reguladores de tensión, ya que a los drivers hay que alimentarlos con 5Vdc.

Esquema Interfaz CNC v1.4

 

Conector de los drivers:

Para el conector de los drivers se utilizo una ficha IDC10H, estas fichas permiten conectarse solo de una forma y los cables son muy fáciles de armar, simplemente se mota el cable mano, en este caso de 10 conductores, se inserta la ficha (hembra) y se presiona quedando conectad al cable. Como se puede ver en la imagen, tenemos la alimentación de 5V, masa, y las seńales de control Clock, Enable, Dirección y Half/Full (paso - medio paso).

Los programas de CNC que trabajan por el puerto paralelo como ser el Mach, Kcam, TurboCNC entre otros controlan cada eje principalmente con dos seńales Paso o Clock y Dirección, también es posible controlar el enable desde la PC, pero después veremos porque prefiero controlarlo por Hardware. Estas seńales, llegan a la interfaz a través del puerto paralelo, y luego de aislarlas por medio de los buffers las lleva a los drivers.

La manera de que controlan los drivers es muy simple y es la siguiente:

Cada drive de manera independiente al recibir un pulso (puede actuar por flanco ascendente o descendente) mueve el motor un paso (o medio paso según la configuración) según la dirección que le indica la seńal de dirección, por ejemplo en sentido horario si esta en 1 lógico y anti horario si esta en cero. Recordemos que el estado de 1 lógico corresponde a +5V. El enable lo que hace es habilitar o deshabilitar el driver, de manera que et mismo estando deshabilitado desenergiza las bobinas del motor, y con el pin Half/Full se le indica al driver si debe trabajar en modo paso entero o medio paso.

Enable por Hardware:

Como ya mencione, el control del enable, o habilitación de los drivers se hace en la interfaz utilizando un PIC 12F629. Si bien la mayoría de los soft para cnc mencionados incorporan el control del enable, demanda el uso de 4 pines del puerto para dicho fin, o uno solo en caso de poder conf para un unico enable, pero con un pic se puede hacer eso y de manera muy económica.

La forma de trabajar es muy simple, cuando no hay actividad de paso en ningún eje en 10 o 30 seg según se halla seteado, se apagan los drivers, luego al detectar un paso en cualquier eje inmediatamente se activan todos los enables. Esto es muy útil, ya que los motores paso a paso cuando están parados y energizados es cuando más consumen y más calientan.

A continuación coloco el programa en asembler para quienes le interese modificarlo o simplemente entender el funcionamiento, cabe mencionar que para detectar los paso se están utilizando interrupciones, con lo cual la respuesta ante un paso es muy rápida, de unos 3 uSeg.

Mas abajo podrán descargar el proyecto entero que incluye dos hex ya compilados, uno para un tiempo de 10 o 30 seg y otro para 30seg o 1.5 min. En esta imagen se aprecia la configuración de los fuses del 12F629 en el WinPic800.

 

Conector de expansión y reles:

Como se ve en la imagen y en el esquema puestos anteriormente, en a interfaz tenemos 3 reles con sus respectivas borneras de conexión de Normal Abierto y Normal Cerrado la malla RC es para evitar las chispas en los contactos de los reles para alargar la vida util. Estos reles se puede utilizar por ejemplo para comandar el Husillo, bomba de agua y aspiradora, si solo se desea utilizar uno de ellos se puede montar con un solo rele como se ve en las imágenes de mas abajo.

Entre los buffers y los transistores que accionan los rele tenemos un conector de expansión, también del tipo IDC e 10 conductores, que si no se utiliza se lo debe puentear con jumpers en caso de estar colocado o directamente con puentes si no se pone de la siguiente manera:

Este conector esta revisto para en un futuro conectar un modulo para el control de RPM del husillo desde le soft de fresado que tengo en desarrollo, de esa manera se tiene acceso a 3 salidas del puerto para el control del mismo, y además también podrá controlar los reles este dispositivo ya que tiene acceso también a los transistores que controlan los reles.

 

Configuración de Jumpers:

En la placa nos encontraremos con 5 jumpers de configuración, 4 de los cuales son para el setear el modo de trabajo de los drivers en paso entero o medio paso, donde Half es paso entero y Full medio paso, estos jumpers se encuentra al costado del conector de cada eje. El quinto jumpers es para setear el tiempo de inactividad de pasos para que el Pic espera antes de apagar los drivers, como dice la serigrafía de componentes de la placa, estando cerrado el jumper es de 30 seh y abierto de 10 seg, o 1.5M / 30 seg si utilizan el otro firmware para el Pic.

 

Entradas:

El puerto paralelo Tiene 5 bit´s que son entradas, las cuales tenemos disponibles en la interfaz, vemos que tenemos 6 borneras, esto es porque son las 5 entradas mas un común, y para accionar cada entrada lo que se hace es puentear entre el común y la entrada en cuestión. En la serigrafía de componentes esta descripto que pin del puerto corresponde a cada conector, como así también que pin acciona cada rele.

En los puertos paralelos de las PC mas modernas, es posible configurar el bus de datos (pin 2 al 9) como entradas, ampliando así el numero, pero ahora no es factible ya que esos pines se utilizan para el control de los drivers, esto se puede aplicar si se cuenta con dos puertos paralelos en una PC, pudiendo entonces hacer mas cómodo el conexionado de las entradas, o incluso conectar sistemas de encoders por ejemplo con el mach.

Tener solo 5 entradas es una complicación, no nos permite poner un final de carrera independiente por cada eje y demás, a esto debemos sumarle la parad de Emergencia, que es muy importante y útil, incluso en el Mach es obligatoria, no se pude dejar sin configurar.

Ante esto yo utilizo la siguiente configuración para las entradas en una maquina de 3 ejes:

Se puede ver que una entrada se dedica a la parada de emergencia, tres a los finales de carrera agrupados por eje, en realidad lo importante es que la maquina se detenga para evitar dańos, no debería llegar ahí si tenemos bien configuración los limites de la maquina, y por ultimo nla entrada que queda se ponen los tres interruptores de Home en paralelo. El home es la posición donde las coordenadas se van a hacer cero cuando mandemos a posicionar la maquina justamente al " Home", en ese punto las coordenadas virtuales del sistema se ponen a cero, y es posible conectar los 3 en paralelo, ya que el mach por ejemplo, previendo esto, cuando uno manda la maquina a posicionarse al home, mueve de a un eje, y al encontrar el cero retrocede liberando el pulsador para continuar con el siguiente eje. En una maquina de mas ejes, no nos queda otra que poner los limites de varios ejes todos en paralelo.

 

Configuración :

 

Fotos:

Primera versión funcionalPrimera versión funcional

Click en la imagen para ampliar.

NOTA: Las fotos son de una versión anterior, por eso se ve un diodo y una resistencia en la zona del pic que no están en los esquemas anteriores.

 

Descarga:

Proyecto completo con el PCB en PDF listo para imprimir.