24 · Máquina
Panel de máquina
El emisor GRBL / FluidNC integrado: conectar, jog, palpar, enviar.

El botón Machine de la barra de herramientas (View → Machine Panel, ⇧⌘M) abre un panel a la derecha de la ventana principal: un emisor nativo para controladores GRBL 1.1, FluidNC y Makera Carvera. La franja de conexión y la lectura de posición se quedan arriba; las pestañas de debajo (Control, Positions, Program, Probe, Height Map, Macros) se desplazan por su cuenta; un E-STOP rojo bajo la lectura permanece visible en todas las pestañas; la consola es la pestaña Console de la ventana principal, y «Open in a window» en la parte superior del panel da a los mismos controles una ventana propia con el texto del programa.
Conexión
El menú Controller a la izquierda de la franja elige la familia de firmware: GRBL / FluidNC o Makera Carvera. Elija Wi‑Fi (la IP del controlador y el puerto telnet, 23 por defecto) o USB (un puerto /dev/cu.* a 115200) y pulse Connect. Para una Carvera, Wi‑Fi es el puerto TCP de la máquina (2222; la lupa junto al puerto escucha a las Carvera que se anuncian en la red local y rellena la dirección) o USB; la Carvera acepta un solo cliente a la vez, así que cierre o desconecte antes el controlador de Makera. La aplicación averigua qué protocolo habla el firmware (texto plano o el protocolo enmarcado de Makera), lee version y model, y toma el recorrido del perfil — el firmware no lo informa. Los estados de la Carvera son Idle / Run / Hold / Home / Alarm / Tool (el cambiador trabajando) / Wait (un cambio manual o una pausa) / Sleep; sus alarmas llegan como texto, y Unlock ($X) solo responde cuando la máquina está detenida. La píldora de estado muestra Idle / Run / Jog / Hold / Alarm…, la insignia el firmware que identificó la aplicación ($I), y las alarmas aparecen descodificadas con Unlock / Home / Reset. Las alarmas que pierden la posición (finales de carrera, un reset en movimiento) marcan la posición como no fiable: haga Home, o pulse Unlock para conservar la posición tal cual. La conexión convive con otros clientes (un mando en el mismo controlador sigue funcionando).
DRO, cero, posiciones
Coordenadas de trabajo y de máquina, avance y husillo en vivo, el búfer del planificador y las entradas activadas (P = entrada de palpador cerrada). Pulse un valor de eje para fijar o poner a cero ese eje; la rejilla de botones de debajo tiene Zero XY / Zero Z / Zero All (G10 L20 P0, persistente) y Probe Z (el palpado en dos pasadas de la pestaña Probe) en la primera fila, Work Zero (sube primero a la Z de trabajo segura), Safe Z (justo bajo el tope del recorrido Z), Home y Unlock en la segunda. El icono de controles deslizantes arriba a la derecha del panel abre Customize Buttons…, como una hoja de personalización de barra de herramientas: arrastre para reordenar, quite, y añada otras acciones integradas (Spindle, Coolant, Hold, Resume, Reset, Sleep) o cualquier macro — New Macro… crea una allí mismo. La pestaña Positions guarda posiciones de máquina con nombre; Go to coordinates… se mueve a un destino de máquina tecleado (Z primero al subir, al final al bajar). Save work zero guarda dónde está el X0 Y0 Z0 de trabajo en coordenadas de máquina, y Use as zero en cualquier entrada restablece el origen de trabajo en ese punto (G10 L2 P0, sin movimiento): para restaurar un cero tras un reset o un nuevo homing. Los User buttons de la pestaña Control ejecutan las macros de la pestaña Macros (un botón por macro, icono SF Symbol opcional; «allow while running» mantiene un botón activo durante un trabajo, para comandos cortos como el refrigerante). E-STOP (también al final de la barra de trabajo, y ⇧⌘.) envía cancelación de jog, feed hold y soft reset de una vez sin esperar nada; la posición se marca como no fiable si la máquina se movía. ⌘. sigue siendo la parada controlada.
Jog y overrides

Toque un botón de jog para un paso; mantenga pulsado para un movimiento continuo que se detiene al soltar (en un FluidNC referenciado con límites por software el jog corre hasta el límite y se cancela al soltar; en otro caso se transmiten segmentos cortos). Los botones diagonales mueven dos ejes. Jog por teclado: flechas = X/Y, Re Pág/Av Pág = Z, Mayús = paso ×10, Esc o ⌘. = parar. Los overrides ajustan el avance (10–200 %, en pasos de 1 y 10), los rápidos (25/50/100 %) y la velocidad del husillo en tiempo real; el controlador informa del valor que está usando. En una Carvera el firmware hace el jog por sí mismo: un paso es $J X-0.1 F600, mantener pulsado es $J -c, mantenido vivo por los sondeos de estado y detenido con Ctrl‑Y al soltar; los overrides de avance y husillo van por M220 / M223 (sin override de rápidos; la máquina devuelve el valor que usa en su estado).
Controles de máquina (pestaña Control): Reset (soft reset Ctrl‑X: detiene todo; la posición se pierde si la máquina se movía), Hold / Resume (feed hold, cycle start), Check ($C: el G-code se analiza pero nada se mueve), Spindle encendido/apagado a las rpm de al lado (acotadas al mínimo y máximo de Settings → Machine), Coolant (M8/M9), y bajo More: Sleep, Safety Door, y las consultas $G (estado del analizador), $# (desplazamientos) y $I (información de compilación), cuyas respuestas aparecen en la Console. En una Carvera sigue un menú Tool: la broca en el husillo tal como la informa la máquina, nombrada desde el cambiador; cualquier posición (o T0, el palpador, o nada) para ejecutar un T<n> M6 a mano; Calibrate Tool Length (M491: el medidor mide la broca o el palpador inalámbrico y el firmware guarda su longitud, el paso que la aplicación de Makera llama Calibrate, y lo que borra «Probe not calibrated»); Check Tool for Breakage (M491.1); Set Tool Number Without Changing (M493.2) para una broca puesta a mano, a calibrar después; Unclamp / Clamp Collet (M490); y para el palpador inalámbrico, Pair (M471 pone el receptor en modo de emparejamiento; luego mantenga el botón del palpador hasta que su luz confirme) y Probe Laser On (M472). El voltaje de la batería del palpador (el W: del estado) se muestra bajo el menú, en naranja cuando hay que cargarla.
Pestaña Positions

Posiciones de máquina con nombre en dos listas, elegidas con el selector Machine / Work. Machine guarda los puntos a los que vuelve el husillo: Save current… guarda las coordenadas de máquina donde está ahora el husillo, Go to… se mueve a una coordenada de máquina tecleada, y cada entrada tiene Go (Z primero al subir, al final al bajar, al avance de jog). Work guarda ceros de trabajo, es decir, dónde estaba el X0 Y0 Z0 de trabajo en coordenadas de máquina: Save work zero guarda el actual a mano, y con Save the work zero when a program is sent (Ajustes → Machine, activado por defecto) cada envío registra uno automáticamente, con el nombre del programa y la hora ("Front copper – 8 Oct 14:07", icono de reloj). Use as zero en una entrada Work vuelve a convertir ese punto en el origen de trabajo con G10 L2 (la máquina no se mueve), de modo que tras un choque, un reset o un homing el mismo cero vuelve sin palpar de nuevo. Clic derecho en una entrada para Rename…, Overwrite with Current Position / Current Work Zero, Go There… / Use as Work Zero… de la otra lista, y Delete. Las macros pueden ir a una posición guardada con @goto <nombre>.
Pestaña Program: envío

Elija una capa generada (o CNC export → Send … to Machine… en la barra lateral), u Open .ngc file… para un programa externo (una placa de prueba, por ejemplo). Backlash y Apply height map transforman la copia que se envía, nunca los archivos en disco; Save sent program… conserva esa copia. Verify transmite el programa en modo check sin movimiento. Si el recorrido de la máquina no puede contener el programa, la barra de trabajo lo dice con todas las letras —por ejemplo que la línea 12 sube a una Z por encima del tope del recorrido porque el Z0 de trabajo está cerca del tope—; cuando ese es el único problema, Clamp Z to top vuelve a preparar el programa con esas alturas de retirada bajadas justo bajo el tope (las profundidades de corte no se tocan; una insignia naranja «Z clamped» se muestra mientras está activo) para poder hacer una prueba en vacío. Send muestra primero qué capa se va a fresar — nombre, cara (los programas de la cara posterior recuerdan voltear la placa), herramienta, profundidad de corte, tiempo estimado y lo que lleva la copia transmitida — y transmite con Start (Settings → Machine → Confirm the layer before sending a program desactiva la hoja); la línea «cuts to Z» de la hoja se lee del texto exacto que va a transmitirse: es la referencia definitiva de la profundidad. El programa cargado sigue siempre sus ediciones: cambiar un parámetro regenera la vista previa y el programa se vuelve a preparar a partir de ella, y si pulsa Send mientras eso aún ocurre la aplicación avisa — The preview has newer edits — y pregunta si esperar o enviar deliberadamente la versión anterior. La transmisión usa conteo de caracteres; los lienzos de la ventana principal, la vista lateral, la vista 3D y la pestaña G-code siguen el trabajo, una cruz azul marca la posición real de la máquina, y la barra de trabajo muestra la línea, el tiempo transcurrido y el restante — el tiempo restante es la estimación por velocidades de avance escalada al ritmo medido hasta ahora (una máquina real recorre los trazados densos en segmentos por debajo del avance programado), así que converge hacia la verdad a medida que avanza el trabajo; el tiempo en feed hold o esperando un cambio de herramienta no cuenta. El Mac no entra en reposo mientras se transmite un trabajo, y que la pantalla se duerma no detiene el trabajo ni congela el progreso. Hold/Resume y los overrides siguen activos. Stop hace hold, resetea cuando la máquina está parada y apaga el husillo.
Los cambios de herramienta (tamaños de broca adicionales) suspenden el trabajo antes del cambio: husillo apagado, Z aparcada arriba, y un cartel nombra la broca. Jog, Zero y Probe Z están activos durante la suspensión para palpar la nueva broca, y después Continue, que reanuda de inmediato; el cartel lista las líneas de preámbulo que enviará (Settings → Machine → Confirm before continuing after a tool change recupera la hoja de confirmación). Send from line… reanuda a mitad de programa con un preámbulo seguro (retirada, husillo, rápido sobre el punto, inmersión), siempre mostrado para confirmación. La aplicación pregunta antes de cambiar de proyecto, desconectar o salir mientras se ejecuta un trabajo.
En una Carvera no hay suspensión: el programa sale en la forma Carvera (las reglas de los archivos de etapa — números de ranura, sin M0), cada T<n> M6 se envía solo y la aplicación espera mientras la máquina muestra Tool, luego Idle de nuevo con la broca nueva en el husillo, y continúa. Una Carvera Air o una Z1 pide en la máquina: cambie la broca cuando lo pida y confirme allí; la aplicación sigue en cuanto el firmware vuelve a estar en reposo. El aire (M7) es el botón Coolant. Palpado, nivelado y margen usan las rutinas propias de la Carvera, las que envuelve el controlador de Makera, así que su aplicación no hace falta: Probe with the Carvera (pestaña Probe) hace que la máquina coja su palpador inalámbrico, toque la superficie bajo el husillo y fije ahí el Z0 de trabajo; Level with the Machine (pestaña Height Map) palpa el borde de la rejilla con ese palpador y guarda la rejilla en el firmware, que corrige después cada movimiento que ejecuta, incluidos los transmitidos desde aquí — el mapa de la aplicación queda apagado para enviar, y Clear olvida la rejilla; Margin (pestañas Program y Height Map) recorre el borde del programa o de la rejilla con el láser del palpador para ver dónde cae el trabajo antes de cortar. El cambiador mide cada broca en el medidor, así que un Z0 fijado con el palpador vale para las brocas siguientes — la referencia de herramienta de la pestaña Probe no hace falta. El Probe Z normal y el mapa de altura de la aplicación siguen sirviendo para una broca cableada a la entrada del palpador. Aún sin probar en la máquina real. Send Layers… (también Send Stage to Machine… en la barra lateral) es donde el cambiador se gana el sueldo: marque una etapa entera — grabado de máscara, taladros, agujeros fresados, recorte — o cualquier conjunto de capas, y salen como un solo programa en orden de mecanizado, un T<n> M6 entre ellas, con las ranuras del portaherramientas del trabajo; el selector muestra las ranuras, el tiempo estimado y avisa cuando las capas marcadas abarcan dos sesiones (nada se detendría para pintar la máscara o voltear la placa). El menú nombra el programa cargado por su etapa («2F · Front: mask etch, drilling, cutout»); los lienzos lo siguen como a cualquier trabajo, y una regeneración lo vuelve a preparar desde los archivos nuevos. El mapa de altura de la cara de las capas se aplica a todo el programa.
Pestaña Probe

Un palpado Z en dos pasadas: bajada rápida hasta encontrar contacto, retroceso de 1 mm, bajada lenta hasta el punto exacto; el origen de trabajo activo se fija entonces en el punto de contacto (G10 L20, situado en el punto de disparo que informa el controlador: en FluidNC el propio eje se detiene unas centésimas más allá del disparo, más que el grosor del cobre, y la aplicación lo tiene en cuenta) y se relee del controlador: el DRO muestra entonces la altura de retirada menos ese exceso, con Z0 en la superficie. Grosor de placa 0 = pinza en el cobre y la broca como palpador; introduzca el grosor para una placa de contacto. Settings → Machine guarda los avances, el recorrido máximo y la retirada.
Tool reference — un bloque conductor fijo, o un palpador de herramienta con interruptor, en la mesa de la máquina, cableado en paralelo con la entrada de la sonda para poder palparlo incluso cuando la placa ya no se puede. Lleve la broca unos milímetros por encima y Set Reference Here mientras el Z0 de trabajo está recién fijado sobre cobre desnudo: el contacto y ese Z0 se guardan juntos, como ajuste de máquina, igual que el backlash. Tras un cambio de fresa — o cuando la placa ya está enmascarada y el origen no se puede tocar — Probe & Restore Z0 aparca a la altura segura, vuelve a palpar el punto y desplaza el Z0 de trabajo exactamente la diferencia entre los dos contactos, absorbiendo la longitud de la nueva fresa; el mapa de alturas de la cara cargada se vuelve a anclar a la vez. Monte el punto aislado del bastidor si su circuito de sonda usa la masa del bastidor; tras fijarlo, ejecute un Probe & Restore sin cambiar nada — que el DRO vuelva igual es su comprobación de repetibilidad.
Calibración de ejes (pasos/mm)

Si un jog de 10 mm mueve el husillo 9,85 mm, los pasos/mm del controlador están mal. Settings → Machine → Axis calibration (FluidNC, conectado) lee axes/x|y/steps_per_mm y el nombre del archivo de configuración del controlador. Mida con un reloj comparador o una regla: haga jog un poco en la dirección de medida primero (recupera la holgura), ponga el reloj a cero, haga jog una distancia conocida —cuanto más larga mejor— e introduzca la ordenada y la medida; nuevos pasos/mm = actual × ordenada ÷ medida. Apply escribe la configuración en ejecución al instante ($/axes/x/steps_per_mm=…) y, con el conmutador de guardado activado, $CD=<archivo de config> reescribe ese archivo (p. ej. raptorex.yaml) desde la configuración en ejecución para que el valor sobreviva al reinicio. Vuelva a medir después; las medidas que difieren en más de unas centésimas apuntan a holgura o a una polea floja, no a los pasos/mm.
Pestaña Macros

Sus propias secuencias de comandos. Add crea una macro con un nombre, un icono SF Symbol opcional (fan.fill, drop.fill, house…) y las líneas de G-code que envía; Run envía las líneas una tras otra esperando cada confirmación (la máquina debe estar conectada y en reposo); Edit, y con clic derecho Duplicate y Delete; Restore Defaults sustituye la lista por los ejemplos integrados. Cada macro es también un user button en la pestaña Control; allow while running mantiene un botón activo durante un trabajo, para comandos cortos como el refrigerante. @goto <posición> en una línea va a una posición guardada de la pestaña Positions.
Pestaña Height Map

Defina una cuadrícula sobre la placa (Auto la ajusta al programa seleccionado), Probe la palpa y lee la desviación. Los mapas son por cara y se guardan relativos al Z0 de trabajo tal como estaba al palpar la cuadrícula — fije antes el Z0 sobre la placa; nada se palpa en X0/Y0, que puede quedar fuera de la placa — así que un cambio de fresa nunca cuesta la cuadrícula: Probe Z en el origen de trabajo (o Probe & Restore Z0 desde la referencia de herramienta de la pestaña Probe) vuelve a anclar el mapa al nuevo Z0 automáticamente y el aviso «Z re-zeroed» desaparece. Con Apply height map activado, cada corte e inmersión baja de la copia transmitida se deforma según la superficie medida (interpolación bilineal); los rápidos a altura segura no se tocan. Si el origen de trabajo se movió desde el palpado, la aplicación avisa antes de aplicar. Los mapas se guardan dentro del paquete del proyecto (HeightMaps/) en cuanto termina un palpado, y también en Application Support; además pueden guardarse/cargarse como JSON a mano; View Options → Height Map muestra los puntos sobre la trayectoria.
Probar sin máquina
Active Show the Simulator in the connection picker en Settings → Machine, elija Simulator en la barra de conexión y pulse Connect: la aplicación arranca un simulador integrado — un FluidNC, o una Carvera cuando el menú Controller dice Makera Carvera (T<n> M6 ejecuta su cambiador, $J hace el jog, coordenadas de máquina −recorrido…0) — (fake-grbl.py, incluido; necesita python3 de las herramientas de línea de comandos de Xcode) en un puerto privado y habla con él como con un controlador real: movimiento en tiempo real, alarmas, suspensiones por cambio de herramienta, palpado Z contra un PCB simulado apoyado en la mesa — sobre la placa la sonda encuentra su cara superior (grosor incluido), al lado la mesa, de modo que poner a cero, la referencia de herramienta y los mapas de altura se comportan como en la realidad; el grosor de la placa y el lugar del cero de trabajo en la mesa están en Settings → Machine, y la placa misma está donde el proyecto cargado la pone respecto a ese cero, con la huella del proyecto. Su cero de trabajo está preajustado en la esquina superior de la placa para que los programas de ejemplo quepan en el recorrido. La píldora de estado lleva una etiqueta SIM y la insignia dice Simulator; Disconnect o salir lo detiene. (Dev: -debugMachineWindow 1 -debugMachineConnect sim.)