24 · Machine

Panneau Machine

L'émetteur GRBL / FluidNC intégré : connecter, jogger, palper, envoyer.

Le panneau Machine à côté de l'aperçu ; ici l'onglet Program pendant l'envoi d'un travail.
Le panneau Machine à côté de l'aperçu ; ici l'onglet Program pendant l'envoi d'un travail.

Le bouton Machine de la barre d'outils (View → Machine Panel, ⇧⌘M) ouvre un panneau à droite de la fenêtre principale : un émetteur natif pour les contrôleurs GRBL 1.1, FluidNC et Makera Carvera. La bande de connexion et l'affichage de position restent en haut ; les onglets dessous (Control, Positions, Program, Probe, Height Map, Macros) défilent séparément ; un E-STOP rouge sous l'affichage reste visible sur chaque onglet ; la console est l'onglet Console de la fenêtre principale, et « Open in a window » en haut du panneau donne aux mêmes commandes une fenêtre à part avec le texte du programme.

Connexion

Le menu Controller à gauche de la bande choisit la famille de firmware : GRBL / FluidNC ou Makera Carvera. Choisissez Wi‑Fi (l'IP du contrôleur et le port telnet, 23 par défaut) ou USB (un port /dev/cu.* à 115200) et appuyez sur Connect. Pour un Carvera, Wi‑Fi désigne le port TCP de la machine (2222 ; la loupe à côté du port écoute les Carvera qui s'annoncent sur le réseau local et remplit l'adresse) ou USB ; le Carvera n'accepte qu'un client à la fois, quittez ou déconnectez donc d'abord le contrôleur Makera. L'application détecte le protocole du firmware (texte brut ou protocole encadré de Makera), lit version et model, et prend la course dans le profil — le firmware ne la signale pas. Les états du Carvera sont Idle / Run / Hold / Home / Alarm / Tool (le changeur au travail) / Wait (changement manuel ou pause) / Sleep ; ses alarmes arrivent en texte, et Unlock ($X) ne répond que si la machine est arrêtée. La pastille d'état montre Idle / Run / Jog / Hold / Alarm…, le badge le firmware identifié par l'application ($I), et les alarmes apparaissent décodées avec Unlock / Home / Reset. Les alarmes qui perdent la position (fins de course, reset en mouvement) marquent la position comme non fiable : faites Home, ou appuyez sur Unlock pour garder la position telle quelle. La connexion coexiste avec d'autres clients (un pendentif sur le même contrôleur continue de fonctionner).

DRO, zéro, positions

Coordonnées pièce et machine, avance et broche en direct, tampon du planificateur et entrées déclenchées (P = entrée de palpeur fermée). Cliquez une valeur d'axe pour définir ou mettre à zéro cet axe ; la grille de boutons dessous a Zero XY / Zero Z / Zero All (G10 L20 P0, persistant) et Probe Z (le palpage en deux passes de l'onglet Probe) en première ligne, Work Zero (remonte d'abord au Z de travail sûr), Safe Z (juste sous le haut de la course Z), Home et Unlock en seconde. L'icône de curseurs en haut à droite du panneau ouvre Customize Buttons…, comme une feuille de personnalisation de barre d'outils : faites glisser pour réordonner, retirez, et ajoutez d'autres actions intégrées (Spindle, Coolant, Hold, Resume, Reset, Sleep) ou n'importe quelle macro — New Macro… y crée une macro sur-le-champ. L'onglet Positions garde des positions machine nommées ; Go to coordinates… se déplace vers une cible machine saisie (Z d'abord en montant, en dernier en descendant). Save work zero mémorise où se trouve le X0 Y0 Z0 pièce en coordonnées machine, et Use as zero sur une entrée rétablit l'origine pièce à ce point (G10 L2 P0, sans mouvement) — pour restaurer un zéro après un reset ou un nouveau homing. Les User buttons de l'onglet Control exécutent les macros de l'onglet Macros (un bouton par macro, icône SF Symbol facultative ; « allow while running » garde un bouton actif pendant un travail, pour des commandes courtes comme l'arrosage). E-STOP (aussi en fin de barre de travail, et ⇧⌘.) envoie d'un coup annulation de jog, feed hold et soft reset sans rien attendre ; la position est marquée non fiable si la machine bougeait. ⌘. reste l'arrêt contrôlé.

Jog et overrides

Pavé de jog, overrides et commandes machine sur l'onglet Control.
Pavé de jog, overrides et commandes machine sur l'onglet Control.

Tapez un bouton de jog pour un pas ; maintenez pour un mouvement continu qui s'arrête au relâchement (sur un FluidNC référencé avec limites logicielles, le jog court jusqu'à la limite et est annulé au relâchement ; sinon de courts segments sont diffusés). Les boutons diagonaux déplacent deux axes. Jog clavier : flèches = X/Y, Page haut/bas = Z, Maj = pas ×10, Échap ou ⌘. = stop. Les overrides ajustent l'avance (10–200 %, par pas de 1 et 10), les rapides (25/50/100 %) et la vitesse de broche en temps réel ; le contrôleur rapporte la valeur qu'il utilise. Sur un Carvera c'est le firmware qui jogge : un pas est $J X-0.1 F600, le maintien est $J -c, entretenu par les interrogations d'état et arrêté par Ctrl‑Y au relâchement ; les overrides d'avance et de broche passent par M220 / M223 (pas d'override rapide ; la machine renvoie la valeur utilisée dans son état).

Commandes machine (onglet Control) : Reset (soft reset Ctrl‑X — arrête tout ; la position est perdue si la machine bougeait), Hold / Resume (feed hold, cycle start), Check ($C — le G-code est analysé mais rien ne bouge), Spindle marche/arrêt à la vitesse indiquée à côté (bornée au minimum et maximum de Settings → Machine), Coolant (M8/M9), et sous More : Sleep, Safety Door, et les requêtes $G (état de l'analyseur), $# (décalages) et $I (infos de build), dont les réponses apparaissent dans la Console. Sur un Carvera suit un menu Tool : la fraise dans la broche telle que la machine la signale, nommée d'après le changeur d'outil ; n'importe quel emplacement (ou T0, le palpeur, ou rien) pour lancer un T<n> M6 à la main ; Calibrate Tool Length (M491 — le palpeur d'outil mesure la fraise ou le palpeur sans fil et le firmware mémorise sa longueur, l'étape que l'application Makera appelle Calibrate, et ce qui efface « Probe not calibrated ») ; Check Tool for Breakage (M491.1) ; Set Tool Number Without Changing (M493.2) pour une fraise mise à la main, à calibrer ensuite ; Unclamp / Clamp Collet (M490) ; et pour le palpeur sans fil, Pair (M471 met le récepteur en mode appairage, puis maintenez le bouton du palpeur jusqu'à ce que son voyant confirme) et Probe Laser On (M472). La tension de la batterie du palpeur (le W: de l'état) s'affiche sous le menu, en orange quand il faut la recharger.

Onglet Positions

L'onglet Positions : positions machine enregistrées et zéros pièce.
L'onglet Positions : positions machine enregistrées et zéros pièce.

Positions machine nommées, en deux listes choisies par le sélecteur Machine / Work. Machine contient les points où la broche retourne : Save current… mémorise les coordonnées machine où se trouve la broche, Go to… se déplace vers une coordonnée machine saisie, et chaque entrée a Go (Z d'abord en montant, en dernier en descendant, à l'avance de jog). Work contient les zéros pièce — où était le X0 Y0 Z0 pièce, en coordonnées machine : Save work zero mémorise le zéro actuel à la main, et avec Save the work zero when a program is sent (Réglages → Machine, activé par défaut) chaque envoi en enregistre un automatiquement, nommé d'après le programme et l'heure (« Front copper – 8 Oct 14:07 », icône horloge). Use as zero sur une entrée Work refait de ce point l'origine pièce avec G10 L2 — la machine ne bouge pas — ainsi, après un crash, un reset ou un homing, le même zéro est de retour sans refaire le palpage. Clic droit sur une entrée pour Rename…, Overwrite with Current Position / Current Work Zero, Go There… / Use as Work Zero… de l'autre liste, et Delete. Les macros peuvent aller à une position enregistrée avec @goto <nom>.

Onglet Program — envoi

Un programme en cours d'envoi : la barre de travail montre la ligne, le temps écoulé et restant pendant que les vues suivent la machine.
Un programme en cours d'envoi : la barre de travail montre la ligne, le temps écoulé et restant pendant que les vues suivent la machine.

Choisissez une couche générée (ou CNC export → Send … to Machine… dans la barre latérale), ou Open .ngc file… pour un programme externe (une carte de test, par exemple). Backlash et Apply height map transforment la copie envoyée, jamais les fichiers sur disque ; Save sent program… conserve cette copie. Verify diffuse le programme en mode check sans mouvement. Si la course de la machine ne peut contenir le programme, la barre de travail le dit en toutes lettres — par exemple que la ligne 12 monte à un Z au-dessus du haut de la course parce que le Z0 pièce est près du haut ; quand c'est le seul problème, Clamp Z to top reprépare le programme avec ces hauteurs de retrait abaissées juste sous le haut (les profondeurs de coupe sont intactes ; un badge orange « Z clamped » s'affiche tant que c'est actif) pour permettre un essai à vide. Send montre d'abord quelle couche va être fraisée — nom, face (les programmes de la face arrière rappellent de retourner la carte), outil, profondeur de coupe, durée estimée et ce que porte la copie diffusée — et diffuse sur Start (Settings → Machine → Confirm the layer before sending a program désactive la feuille) ; la ligne « cuts to Z » de la feuille est lue dans le texte exact qui va être diffusé : c'est la référence pour la profondeur. Le programme chargé suit toujours vos modifications : changer un paramètre régénère l'aperçu et le programme se reprépare à partir de lui, et si vous appuyez sur Send pendant que cela se fait encore, l'application avertit — The preview has newer edits — et demande s'il faut attendre ou envoyer délibérément la version précédente. La diffusion se fait avec comptage de caractères ; les canevas de la fenêtre principale, la vue latérale, la vue 3D et l'onglet G-code suivent le travail, un réticule bleu marque la position réelle de la machine, et la barre de travail affiche la ligne, le temps écoulé et restant — le temps restant est l'estimation par les vitesses d'avance mise à l'échelle du rythme mesuré jusque-là (une vraie machine parcourt les trajets denses en segments sous l'avance programmée), il converge donc vers la vérité au fil du travail ; le temps passé en feed hold ou à attendre un changement d'outil n'est pas compté. Le Mac est empêché de se mettre en veille pendant la diffusion, et la mise en veille de l'écran ne bloque ni le travail ni la progression. Hold/Resume et les overrides restent actifs. Stop met en pause, réinitialise une fois la machine immobile, et coupe la broche.

Les changements d'outil (diamètres de forets supplémentaires) suspendent le travail avant le changement : broche coupée, Z stationné en haut, et une bannière nomme la fraise. Jog, Zero et Probe Z sont actifs pendant la suspension pour palper la nouvelle fraise, puis Continue reprend aussitôt — la bannière liste les lignes de préambule qu'il enverra (Settings → Machine → Confirm before continuing after a tool change ramène la feuille de confirmation). Send from line… reprend en cours de programme avec un préambule sûr (retrait, broche, rapide au-dessus du point, plongée), toujours affiché pour confirmation. L'application demande confirmation avant de changer de projet, de se déconnecter ou de quitter pendant un travail.

Sur un Carvera il n'y a pas de suspension : le programme part dans la forme Carvera (les règles des fichiers d'étape — numéros du râtelier, pas de M0), chaque T<n> M6 est envoyé seul et l'application attend que la machine affiche Tool, puis de nouveau Idle avec la nouvelle fraise dans la broche, et continue. Un Carvera Air ou un Z1 demande sur la machine : changez la fraise quand il le demande et confirmez là ; l'application reprend dès que le firmware est de nouveau au repos. L'air (M7) est le bouton Coolant. Palpage, nivellement et marge utilisent les routines propres du Carvera, celles que le contrôleur Makera enveloppe, son application n'est donc pas nécessaire : Probe with the Carvera (onglet Probe) fait chercher à la machine son palpeur sans fil, toucher la surface sous la broche et y régler le Z0 pièce ; Level with the Machine (onglet Height Map) palpe la bordure de la grille avec ce palpeur et garde la grille dans le firmware, qui corrige ensuite chaque mouvement qu'il exécute, y compris ceux diffusés d'ici — la carte de l'application reste désactivée pour l'envoi, et Clear oublie la grille ; Margin (onglets Program et Height Map) parcourt la bordure du programme ou de la grille avec le laser du palpeur pour voir où le travail tombe avant toute coupe. Le changeur mesure chaque fraise sur le palpeur d'outil, donc un Z0 réglé au palpeur reste valable pour les fraises suivantes — la référence d'outil de l'onglet Probe n'est pas nécessaire. Le Probe Z ordinaire et la carte de hauteur de l'application fonctionnent toujours pour une fraise câblée à l'entrée palpeur. Pas encore testé sur la machine elle-même. Send Layers… (aussi Send Stage to Machine… dans la barre latérale) est là où le changeur prend tout son sens : cochez toute une étape — gravure du vernis, perçages, trous fraisés, découpe — ou n'importe quel ensemble de couches, et elles partent en un seul programme dans l'ordre d'usinage, un T<n> M6 entre elles, avec les emplacements du râtelier du travail ; le sélecteur montre les emplacements, la durée estimée et avertit quand les couches cochées couvrent deux séances (rien ne s'arrêterait pour peindre le vernis ou retourner la carte). Le menu nomme le programme chargé d'après son étape (« 2F · Front: mask etch, drilling, cutout ») ; les canevas le suivent comme tout travail, et une régénération le reprépare à partir des nouveaux fichiers. La carte de hauteur de la face des couches s'applique à tout le programme.

Onglet Probe

L'onglet Probe : palpage Z en deux passes.
L'onglet Probe : palpage Z en deux passes.

Un palpage Z en deux passes : descente rapide pour trouver le contact, retrait de 1 mm, descente lente pour le point exact ; l'origine pièce active est alors fixée au point de contact (G10 L20, placée au point de déclenchement rapporté par le contrôleur : sur FluidNC l'axe lui-même s'immobilise quelques centièmes au-delà du déclenchement, plus que l'épaisseur du cuivre, et l'application en tient compte) et relue depuis le contrôleur — le DRO affiche alors la hauteur de retrait moins ce dépassement, avec Z0 sur la surface. Épaisseur de plaque 0 = pince sur le cuivre et fraise comme palpeur ; saisissez l'épaisseur pour une plaque de contact. Settings → Machine contient les avances, la course maximale et le retrait.

Tool reference — une cale conductrice fixe, ou un palpeur d'outil à contact, sur le plateau de la machine, câblée en parallèle de l'entrée de sonde pour rester palpable même quand la carte ne l'est plus. Amenez la fraise quelques millimètres au-dessus et Set Reference Here pendant que le Z0 pièce vient d'être fixé sur le cuivre nu : le contact et ce Z0 sont mémorisés ensemble, comme réglage machine, à la manière du backlash. Après un changement de fraise — ou une fois la carte vernie au masque de soudure, l'origine n'étant plus touchable — Probe & Restore Z0 se gare à la hauteur de sécurité, palpe à nouveau le point et décale le Z0 pièce d'exactement la différence entre les deux contacts, absorbant la longueur de la nouvelle fraise ; la carte de hauteurs de la face chargée se re-référence en même temps. Montez le point isolé du bâti si votre circuit de sonde passe par la masse du bâti ; après l'avoir défini, lancez un Probe & Restore sans rien changer — un DRO inchangé est votre contrôle de répétabilité.

Étalonnage des axes (pas/mm)

Settings → Machine → Axis calibration lit et écrit les pas/mm du contrôleur.
Settings → Machine → Axis calibration lit et écrit les pas/mm du contrôleur.

Si un jog de 10 mm déplace la broche de 9,85 mm, les pas/mm du contrôleur sont faux. Settings → Machine → Axis calibration (FluidNC, connecté) lit axes/x|y/steps_per_mm et le nom du fichier de configuration depuis le contrôleur. Mesurez avec un comparateur ou une règle : joggez d'abord un peu dans le sens de mesure (rattrape le jeu), mettez le comparateur à zéro, joggez une distance connue — la plus longue possible — et saisissez commandé et mesuré ; nouveaux pas/mm = actuel × commandé ÷ mesuré. Apply écrit la configuration en cours aussitôt ($/axes/x/steps_per_mm=…) et, avec l'interrupteur d'enregistrement activé, $CD=<fichier de config> réécrit ce fichier (p. ex. raptorex.yaml) depuis la configuration en cours pour que la valeur survive au redémarrage. Remesurez ensuite ; des mesures qui diffèrent de plus de quelques centièmes indiquent du jeu ou une poulie desserrée, pas les pas/mm.

Onglet Macros

L'onglet Macros : chaque macro devient un bouton utilisateur sur l'onglet Control.
L'onglet Macros : chaque macro devient un bouton utilisateur sur l'onglet Control.

Vos propres séquences de commandes. Add crée une macro avec un nom, une icône SF Symbol facultative (fan.fill, drop.fill, house…) et les lignes G-code qu'elle envoie ; Run envoie les lignes l'une après l'autre en attendant chaque acquittement (la machine doit être connectée et au repos) ; Edit, et par clic droit Duplicate et Delete ; Restore Defaults remplace la liste par les exemples intégrés. Chaque macro est aussi un user button sur l'onglet Control ; allow while running garde un bouton actif pendant un travail, pour des commandes courtes comme l'arrosage. @goto <position> dans une ligne va à une position enregistrée de l'onglet Positions.

Onglet Height Map

Une carte de hauteur 3 × 3 palpée sur le simulateur, dessinée sur le parcours.
Une carte de hauteur 3 × 3 palpée sur le simulateur, dessinée sur le parcours.

Définissez une grille sur la carte (Auto l'ajuste au programme sélectionné), Probe la palpe et lit l'écart. Les cartes sont par face et stockées relativement au Z0 pièce tel qu'il était au palpage de la grille — réglez d'abord le Z0 sur la carte ; rien n'est palpé en X0/Y0, qui peut être hors de la carte — un changement de fraise ne coûte donc jamais la grille : Probe Z à l'origine pièce (ou Probe & Restore Z0 depuis la référence d'outil de l'onglet Probe) re-référence automatiquement la carte sur le nouveau Z0 et l'avertissement « Z re-zeroed » disparaît. Avec Apply height map activé, chaque coupe et plongée basse de la copie diffusée est déformée selon la surface mesurée (interpolation bilinéaire) ; les rapides à hauteur de sécurité sont intacts. Si l'origine pièce a bougé depuis le palpage, l'application avertit avant d'appliquer. Les cartes sont enregistrées dans le paquet du projet (HeightMaps/) dès qu'un palpage se termine, ainsi que dans Application Support ; elles peuvent aussi être enregistrées/chargées en JSON à la main ; View Options → Height Map montre les points sur le parcours.

Essayer sans machine

Activez Show the Simulator in the connection picker dans Settings → Machine, choisissez Simulator dans la barre de connexion et appuyez sur Connect : l'application démarre un simulateur intégré — un FluidNC, ou un Carvera quand le menu Controller dit Makera Carvera (T<n> M6 lance son changeur, $J jogge, coordonnées machine −course…0) — (fake-grbl.py, inclus ; nécessite python3 des outils en ligne de commande de Xcode) sur un port privé et lui parle comme à un vrai contrôleur — mouvement en temps réel, alarmes, suspensions de changement d'outil, palpage Z contre un PCB simulé posé sur le plateau — au-dessus de la carte la sonde trouve son dessus (épaisseur comprise), à côté le plateau, de sorte que la mise à zéro, la référence d'outil et les cartes de hauteur se comportent comme en vrai ; l'épaisseur de la carte et la place du zéro pièce sur la table sont dans Settings → Machine, et la carte elle-même se trouve là où le projet chargé la place par rapport à ce zéro, avec l'empreinte du projet. Son zéro pièce est préréglé sur le coin supérieur de la carte pour que les programmes d'exemple tiennent dans la course. La pastille d'état porte un tag SIM et le badge indique Simulator ; Disconnect ou quitter l'arrête. (Dév : -debugMachineWindow 1 -debugMachineConnect sim.)