Mecanizado PCB con CNC Wegstr: Parte 2 - Software e G-Code
¡Hola de nuevo! Continuamos con la guía que empezamos en la parte anterior. Si recién llegas, te recomiendo echarle un vistazo primero.
En el post anterior dejamos listos los materiales. Ahora es momento de pasar al ordenador para generar los archivos que nuestra CNC necesita para empezar a trabajar.
FlatCAM
Para este trabajo usaremos FlatCAM un software para convertir nuestros diseños de PCB (archivos Gerber) a G-Code. Específicamente, vamos a usar la versión Beta, ya que a día de hoy es la rama más estable y sencilla de utilizar para lo que necesitamos.
Nos enfocaremos en las funciones esenciales para mecanizar una placa. FlatCAM tiene muchísimas opciones, así que si algo fuera de esta guía te da curiosidad, ¡te animo a que investigues y experimentes por tu cuenta!
¿Archivos Gerber y Excellon?
| Imagen 1: Exportar archivos en Fusion 360 |
Estos archivos de fabricación son un conjunto de archivos Gerber y Excellon:
Archivos Gerber: Representan cada capa de tu PCB, por ejemplo para las pistas de cobre de la cara superior o la serigrafía. Son lo que definen todo lo que se ve en 2D.
Archivo Excellon: Es un archivo de texto simple que le dice a la CNC exactamente dónde tiene que perforar y qué diámetro de broca debe usar para cada agujero.
FlatCAM lo que hace es tomar todos estos "planos" y "mapas", y traducirlos a un lenguaje que la máquina CNC entiende: el G-Code, que son las instrucciones de movimiento paso a paso.
Instalación desde el Repositorio
Para empezar, vamos a descargar el código fuente usando Git. Esto asume que ya tienes Git configurado en tu ordenador. Abre una terminal y clona el repositorio con el siguiente comando:
git clone https://bitbucket.org/marius_stanciu/flatcam_beta.gitUna vez clonado, sigue estos pasos:
- Abre la carpeta en VS Code: Inicia Visual Studio Code y abre la carpeta
flatcam_betaque acabas de descargar.
- Instala las dependencias (si es necesario): Es muy probable que la primera vez necesites instalar las librerías de Python de las que depende el programa. Para ello, abre una terminal dentro de VS Code (o en la carpeta del proyecto) y ejecuta:
pip install -r requirements.txtrequirements.txt, pip se encargará de descargar todo lo necesario.- Ejecuta FlatCAM: Busca el archivo
flatcam.pyen el explorador de archivos de VS Code, hazle clic derecho y selecciona "Run Python File in Terminal", o simplemente presiona el botón de "Play" en la esquina superior derecha.
| Imagen 2: Presionar en el botón para iniciar FlatCam |
Yo estoy usando Python 3.10, pero debería funcionar sin problemas con versiones un poco más nuevas. Si todo ha ido bien, ¡deberías ver la interfaz de FlatCAM aparecer en tu pantalla!
¡FlatCAM!
Una vez que la pantalla de carga termina, empezamos con el proceso.
Paso 1: Importar y Alinear
Primero, vamos a importar los archivos. Los que yo uso generalmente son los Gerbers Top, Bottom y Profile, además del archivo de perforaciones Excellon. Donde trabajo, solemos hacer placas de una sola cara (solo Bottom) para validar diseños, así que nos centraremos en eso.
Ahora, hay que mover todo al origen (0,0). Selecciona todos los archivos que importaste en el panel de proyecto y muévelos a la esquina inferior izquierda, la coordenada 0,0.
Parte 2: Espejado (Mirroring)
- Ve a la herramienta 2-Sided en el menú de arriba.
- Se abrirá un panel. Haz clic en la pestaña Advanced.
- Donde dice
target, filtra para que solo muestre los Gerbers y selecciona el archivo Bottom. Hacemos esto para que use el contorno total de la placa como referencia para el espejado. - Presiona el botón Calculate Bounds Values. Verás que se rellenan los campos con las dimensiones de tu placa.
- En Axis, elige la opción Y. Esto hará que el espejado sea horizontal.
- Finalmente, cambia el Target de Profile a tu capa Bottom y dale al botón Mirror.
¡Listo! Tu capa Bottom debería haberse volteado, pero sin moverse del 0,0. Ahora repite el mismo paso para tu archivo Excellon y cualquier otro que necesites para la cara inferior.
¡MUCHO OJO! La capa Top NUNCA se espejea. Esa siempre se mecaniza tal cual. Revisa dos veces que todo esté bien alineado, que nadie quiere perder 6 horas de mecanizado para darse cuenta de que la placa está al revés 😔.
Un último consejo antes de seguir: guarda tu proyecto. Aunque esta versión de FlatCAM es estable, más vale prevenir que lamentar. Acostúmbrate a guardar después de cada paso importante.
Generación de los G-Code
G-Code: Mecanizado Bottom
Ahora sí, a crear los archivos para la máquina. Empezaremos con la capa Bottom.
Haz doble clic sobre tu archivo Bottom en el panel de Project y selecciona la pestaña Isolation Routing. Aquí es donde crearemos las rutas para aislar las pistas. Pero antes, necesitamos calcular el diámetro real de nuestra fresa.
Ve a la cinta de opciones de arriba y busca el botón de Calculators. En el panel que aparece, busca la herramienta V-Shape Tool:
- Tip Diameter: Es el diámetro de la punta de la fresa. Este dato te lo da el fabricante. En mi caso, usaré 0.2mm.
- Tip Angle: El ángulo de la punta, también dado por el fabricante. Usaré 90°.
- Cut Z: Indica qué tan profundo va a cortar la fresa. Para las pistas de una PCB, este valor casi siempre es -0.1mm.
Después de poner esos valores, presiona el botón Calculate. El número que aparece en Tool Diameter (en mi caso, 0.4mm) es el que necesitamos. ¡Apúntalo!
- Diameter: Aquí va el diámetro que calculamos. Lo cambiamos a 0.4mm
- Overlap: Este valor es el porcentaje de la fresa que se "monta" sobre la pasada anterior al limpiar áreas grandes de cobre.
Un valor bajo (50%) hace el trabajo más rápido, ideal si necesitas la placa con urgencia. Un valor alto (70-80%) tarda más, pero asegura que no queden restos de cobre, dejando un acabado mucho más limpio. Yo generalmente uso entre 70% y 80%. - Method: Es la estrategia que usará el programa para remover el cobre. Aunque hay varias (Standard, Seed-based, etc.), yo casi siempre utilizo Combo, ya que me ha dado los mejores resultados en la mayoría de las placas.
Verás que en el panel principal del proyecto aparecerá un nuevo archivo, generalmente llamado <nombre_archivo>.gbr_ncc. Este es el archivo que ahora tendremos que usar. Al abrirlo, ve a la pestaña Milling y configura lo siguiente:
- Cut-Z: Esta opción debería venir ya con -0.1mm. Lo dejamos así.
- Travel-Z: La altura a la que estará la herramienta al moverse. Usaremos 2mm.
- Feedrate X-Y: La velocidad a la que se moverá en el plano XY. Usaremos 170 mm/min.
- Feedrate Z: La velocidad a la que la herramienta bajará en el eje Z. Usaremos 170 mm/min.
- Spindle Speed: La velocidad de giro del spindle. Usaremos 11000 rpm.
Verás que aparece el CNC Job en el panel del proyecto. Al hacer doble clic podrás ver la distancia recorrida y el tiempo estimado. En mi experiencia, el tiempo nunca es muy acertado, pero sirve para tener una idea. Finalmente, selecciona el objeto y presiona el botón para guardar el G-Code.
G-Code: Drills
- Cut Z: La profundidad del agujero. Lo ideal es medir tu placa usando un Pie de metro, pero un valor de -1.8mm es generalmente adecuado.
- Travel Z: Igual que antes, yo uso 2mm.
- Feedrate Z: Acá yo utilizo 170 mm/min, que es la velocidad de la máquina Wegstr.
- Spindle Speed: Usaremos la velocidad de la máquina, en mi caso es 11000 rpm.
- Tool Change: ¡Marca esta casilla! Esto indicará que se harán pausas para cambiar de herramienta. Luego podrás definir el End Move Z (la altura a la que subirá la fresa), yo uso 20mm que es una distancia cómoda.
Ya con todo listo, presiona el botón para generar el CNCJob Object y guarda tu G-Code de las perforaciones.
G-Code: Profile
- Tool Dia: El diámetro de la herramienta de corte. En este caso usaremos una de 1.8mm.
- Cut Z: La profundidad de corte, este debe ser un poco mayor que el grosor de la placa. Importante: al realizar estos cortes las máquinas utilizan bastante potencia, lo que puede causar que el motor del spindle se detenga al sobrecalentarse o no poder hacer el corte correctamente. Para esto usaremos la opción de Multi-Depth, que hace que los cortes sean hechos de manera progresiva, ayudando a nuestro motor a realizar el trabajo.
- Gaps Size: Usaremos un valor pequeño como 0.1mm para los puentes (gaps) que sujetarán la placa. Así será mucho más fácil romperlos con la mano después.
Al generar la geometría, busca el nuevo archivo en el panel del proyecto. Haz clic y se abrirá el mismo panel de fresado de antes. Usa los mismos valores que en el mecanizado de pistas (Feedrate, Spindle Speed), pero con la diferencia de usar un Cut Z de -1.8mm (el mismo que pusimos al generar la geometría).
Una vez estos datos ya están puestos, simplemente generamos el CNCJob Object ¡y obtenemos nuestro último G-Code!
Comentarios
Publicar un comentario