Ceci est le manuel de Studio 1.1.0, une version antérieure. Le manuel de la dernière version
Documentation 1.1.0 Référence
Logiciels d’envoi avec le noyau propre à Twinwright
Cette page s’adresse à ceux qui veulent piloter la MC-1 depuis un logiciel d’envoi de G-code de leur choix (bCNC, gSender ou Universal G-code Sender) plutôt que depuis Studio. Le contrôleur de la MC-1 est le noyau propre à Twinwright, compatible avec le protocole série Grbl 1.1 et les extensions qu’utilisent les logiciels d’envoi actuels ; ces logiciels d’envoi fonctionnent donc avec lui, moyennant les quelques réglages et réserves ci-dessous.
Tout ce qui figure ici a été testé sur le jumeau numérique de la MC-1, qui exécute le même code de contrôleur que la machine. La vérification sur une machine réelle reste à faire. Versions testées : bCNC 0.9.16, gSender 1.6.4, UGS Platform 2.1.27.
Connexion
| Où | Comment |
|---|---|
| Le jumeau dans la fenêtre de Studio | Studio accepte un seul logiciel d’envoi à la fois sur localhost:2323 (cet ordinateur seulement ; lancez Studio avec --bind any pour y accéder depuis le réseau). bCNC : port socket://localhost:2323. gSender : Ethernet, adresse 127.0.0.1, port 2323. UGS : tcp://localhost:2323. |
| La MC-1 elle-même | USB natif : le contrôleur apparaît comme un port série (COM*n* sous Windows). Choisissez ce port. Le débit en bauds est sans importance en USB natif, mais certains logiciels d’envoi en demandent un : 115 200 convient. |
Ce que le contrôleur dit de lui-même :
- Sa ligne d’accueil est
Grbl 1.1f ['$' or '$HELP' for help], comme celle d’un contrôleur Grbl classique. Les logiciels d’envoi cherchent une ligne d’accueil qui commence par « Grbl » pour remarquer que le contrôleur a redémarré (voir la section 3). - Son nom figure dans la réponse à
$I:[VER:Twinwright 1.1f.…]et[FIRMWARE:Twinwright]. Les logiciels d’envoi qui affichent le micrologiciel affichent « Twinwright ».
Choisir le micrologiciel dans le logiciel d’envoi
| Logiciel d’envoi | Réglage | Pourquoi |
|---|---|---|
| bCNC 0.9.16 | Controller : GRBL1 | bCNC ne lit pas le nom du micrologiciel. Testé avec GRBL1. |
| gSender 1.6.4 | Default firmware : le choix autre que Grbl | gSender reconnaît un micrologiciel à son nom dans $I. Notre contrôleur indique son propre nom ; gSender utilise donc le micrologiciel que vous avez défini par défaut. Testé avec ce choix. |
| UGS 2.1.27 | Firmware : GRBL | Testé : réglages, programmes, alarmes et prise d’origine après une réinitialisation, sans Soft Reset supplémentaire (section 3). L’autre choix de micrologiciel d’UGS fonctionne aussi, mais demande un Soft Reset de plus après une réinitialisation ; le déplacement manuel (jog) n’a été testé qu’avec ce choix. |
Après une alarme ou une réinitialisation
- Arrêt d’urgence. L’arrêt d’urgence de la MC-1 ouvre le contacteur de puissance. Relâchez-le, appuyez sur le bouton Start de la machine, puis réinitialisez dans le logiciel d’envoi et faites la prise d’origine. Tant que Start n’est pas actionné, l’alarme (ALARM:10) ne s’efface pas.
- ALARM:11 (prise d’origine requise). Faites la prise d’origine (
$H). Le déverrouillage avec$Xest refusé (error:46). - ALARM:2 (limite logicielle). Le programme a demandé un déplacement hors de la course. La prise d’origine laisse Z en haut de sa course (Z machine 0) ; tout déplacement au-dessus, comme
G53 G0 Z5, déclenche donc ALARM:2. Réinitialisez, puis faites la prise d’origine ou déverrouillez. - bCNC se rétablit après toute réinitialisation : il voit la ligne d’accueil « Grbl » et oublie les lignes qui étaient encore en route, de sorte que
$Hpart bien. - bCNC après Stop. Le Stop de bCNC est un arrêt d’avance suivi d’une réinitialisation. Ensuite, bCNC renvoie au contrôleur, en une ou deux lignes, les modes qu’il avait auparavant (système de coordonnées, unités, correction de longueur d’outil), et dans quelques cas le contrôleur les refuse, comme le font d’autres contrôleurs Grbl : avec une correction de longueur d’outil (
G43.1) active, la ligne reçoit error:24 (bCNC envoie son propreG43.1Z...après son premier Stop ; à partir du deuxième Stop, cela arrive donc toujours) ; sousG80,G43.1Z...reçoit error:31 ; avec une mise à l’échelle (G51) active,G51:Xreçoit error:1. Après une erreur, chaque ligne de G-code qui suit reçoit la même erreur jusqu’à une ligne vide, une commande$ou une réinitialisation. Après un Stop, vérifiez donc le système de coordonnées, les unités et la correction de longueur d’outil avec$Get$#avant de faire un déplacement manuel ou de continuer. Si ces valeurs sont fausses, redéfinissez l’origine pièce et mesurez de nouveau la longueur d’outil (testé sur le jumeau, 2026-10-06). - UGS avec son autre choix de micrologiciel. Après une réinitialisation qu’UGS n’a pas envoyée lui-même, par exemple une réinitialisation depuis la fenêtre de Studio ou un redémarrage spontané du contrôleur, appuyez une fois de plus sur Soft Reset dans UGS avant Home. Tant que ce n’est pas fait, Home ne fait rien. Avec ce choix, UGS ne prend pour un redémarrage qu’une autre ligne d’accueil. Une réinitialisation par le bouton Soft Reset d’UGS lui-même ne pose pas de problème. Sur la MC-1 elle-même, de telles réinitialisations sont rares : elle n’a pas d’entrée de réinitialisation et un seul hôte USB. Avec le micrologiciel réglé sur « GRBL », cela ne se produit pas : après une telle réinitialisation, UGS affiche CONNECTING, et Home fonctionne aussitôt (testé sur le jumeau, 2026-10-06).
Changements d’outil (M6)
Aucun des trois logiciels d’envoi, avec ses réglages par défaut, ne permet à la MC-1 de changer l’outil et de mesurer le nouveau :
| Logiciel d’envoi | Par défaut | Que faire |
|---|---|---|
| bCNC | Ignore chaque ligne M6 : les coupes de l’outil suivant sont faites avec l’outil resté dans la broche. | Réglez son changement d’outil sur Manual tool change (TLO) et mesurez sur le capteur de longueur d’outil de la MC-1 (section 5). |
| gSender | Changement d’outil « Ignore » : M6 est envoyé comme commentaire et le programme ne s’arrête pas. | Réglez son changement d’outil sur Fixed Tool Sensor, au niveau du capteur de longueur d’outil de la MC-1 (section 5). |
| UGS | Gère M6 lui-même : il dégage, arrête la broche et vous demande de changer l’outil, mais il ne le mesure jamais. Un outil plus long coupe alors trop profond et, sur une machine réelle, il peut entrer en collision avec la pièce. | Exécutez un seul outil par programme et définissez la longueur de l’outil ou l’origine pièce avant chacun, ou utilisez Studio pour les programmes avec changements d’outil. |
Compléments sur UGS et M6 :
- Il s’arrête aussi à un « M6 » dans un commentaire, comme le
( M6 T1 )de FreeCAD. - Un deuxième M6 qui suit immédiatement un changement d’outil peut lui échapper et arriver jusqu’au contrôleur. Le contrôleur attend alors, à l’état Tool, une confirmation qu’UGS n’envoie jamais, et plus aucun bouton de la fenêtre d’UGS ne fonctionne. Sur la MC-1, seul l’arrêt d’urgence y met fin : appuyez dessus, relâchez-le, appuyez sur Start, puis sur Soft Reset et Home dans UGS.
- Si le contrôleur est réinitialisé pendant un travail UGS avant qu’UGS soit arrivé à un M6, UGS peut signaler le travail comme terminé, mais sa boîte de dialogue de changement d’outil s’affiche quand même. La fermer peut relancer tout le programme depuis le début. Après une réinitialisation en plein travail, fermez le fichier dans UGS avant de continuer.
Mesurer la longueur d’outil sur le capteur de longueur d’outil de la MC-1
Le capteur de longueur d’outil se trouve à l’arrière gauche de la table ; G59.3 est mémorisé juste au-dessus.
- bCNC, Manual tool change (TLO). Position de changement d’outil au-dessus du capteur de longueur d’outil. Position de palpage
G59.3. Distance de palpage 50 mm, recherche 200 mm/min, approche lente 25 mm/min ($342–$344de la MC-1), commande G38.2. Mesurez le premier outil avec « Calibrate » avant d’exécuter le programme. bCNC définit ensuiteG43.1pour chaque nouvel outil. - gSender, Fixed Tool Sensor. Emplacement du capteur
G59.3. Mesurez l’outil initial dans l’assistant. gSender décale ensuite le Z pièce pour chaque nouvel outil (G10 L20) au lieu d’utiliser une correction de longueur d’outil. Il prend la longueur à l’endroit où l’axe s’est arrêté après le contact, et non au point de déclenchement que rapporte le contrôleur ; chaque changement peut donc être un peu décalé. Dans le jumeau, exécutez les changements d’outil à la vitesse 1× : gSender lit cette position après une courte pause fixe, et un jumeau qui tourne plus vite peut lui en donner une antérieure à l’arrêt. - Commencez à au moins 0,1 mm sous le haut de Z (Z machine −0,1 ou plus bas) quand le changement d’outil commence. Les deux logiciels d’envoi reviennent à cette hauteur après la mesure. En partant tout en haut, la petite dispersion d’une mesure peut placer ce retour au-dessus de la limite logicielle, et le travail s’arrête avec ALARM:2 avant d’avoir usiné.
Définir l’origine pièce avec un palpeur
- UGS (son module de palpage) calcule l’origine pièce à partir des points de déclenchement que rapporte le contrôleur (
[PRB:]). C’est la bonne méthode. - gSender (palpeur 3D) et bCNC (sa page de palpage, puis ses boutons Z=0 / X / Y) définissent l’origine pièce là où les axes se sont arrêtés après le contact. La machine continue toujours un peu au-delà du déclenchement avant de s’arrêter, et d’autant plus loin que le contact final est rapide. Utilisez un contact final lent, ou définissez l’origine pièce avec les cycles de palpage de Studio, qui utilisent les points de déclenchement.
- Le centre de trou d’UGS (le Hole Center de son module de palpage) : à partir de l’endroit où vous laissez le palpeur, il palpe en -X, +X, -Y et +Y, chaque fois sur la moitié du diamètre de trou que vous saisissez, et place le centre à mi-chemin entre les points de déclenchement des contacts lents. Sa portée dépend de ce diamètre : le point de départ peut être éloigné du centre d’au plus (diamètre saisi - alésage réel) / 2 + le rayon de la bille. Si vous saisissez le diamètre exact de l’alésage, cela ne fait que le rayon de la bille (1 mm pour une bille de 2 mm) ; saisissez un diamètre plus grand de quelques mm (24 à 26 pour un alésage de 20 mm) pour tenir compte d’un placement du palpeur à l’œil.
- Quand le centre de trou d’UGS n’atteint pas la paroi (constat 192, comportement propre à UGS) : ce palpage se termine par ALARM:5 et UGS s’arrête. Mais il a défini X0 Y0 de G54 au point de départ avant de palper et, comme le cycle ne s’est pas terminé, G54 reste là. Après le déverrouillage, redéfinissez l’origine pièce avant d’usiner. Son cycle de palpage reste aussi à mi-chemin : déconnectez-vous puis reconnectez-vous avant de palper de nouveau. Il prend aussi pour un contact un point que le contrôleur rapporte comme non touché (
[PRB:...:0]). - Étalonnez d’abord le palpeur (cycles de palpage de Studio : une bague étalon). Un palpeur non étalonné lit chaque alésage trop grand et chaque bossage trop petit du double de sa pré-course.
Autres points à connaître
- bCNC sur le réseau. Sous Windows, bCNC ne lit une connexion TCP qu’environ toutes les 2 secondes ; son affichage peut donc avoir 2 secondes de retard. « Idle » dans bCNC ne signifie pas que la machine s’est arrêtée. Une connexion USB n’a pas ce délai.
- gSender, M0. Un M0 situé dans les 10 premières lignes d’un programme ne met pas en pause (gSender le transforme en commentaire). M1 met toujours en pause.
- gSender, déplacement manuel continu. Maintenir un bouton de déplacement manuel est refusé sur la MC-1 (error:15) : gSender demande un long déplacement manuel au-delà de la course. Déplacez les axes par pas. Sur certains contrôleurs Grbl,
$40=1(limiter les commandes de déplacement manuel) arrête les longs déplacements aux limites logicielles au lieu de les refuser ; le contrôleur de la MC-1 ne tient pas encore compte de ce réglage et les refuse toujours (essayé avec gSender sur le jumeau, 2026-10-06). - UGS, lignes longues. UGS n’envoie jamais une ligne de plus de 127 caractères : le travail s’arrête sans message. Gardez des lignes plus courtes (UGS supprime d’abord les commentaires).
- UGS, M30. UGS supprime M30. Un programme qui compte sur M30 pour arrêter la broche et le refroidissement les laisse en marche : terminez les programmes par M5 et M9 avant M30.
- UGS, commentaires. Si une ligne contient deux commentaires, UGS supprime aussi le code situé entre eux.
- Déconnexion pendant un travail. Le contrôleur continue d’exécuter les lignes qu’il a déjà. gSender et UGS n’envoient aucun arrêt quand vous vous déconnectez ; la machine continue donc, broche en rotation. Arrêtez le travail avant de vous déconnecter. bCNC fait un arrêt d’avance puis une réinitialisation avant de fermer la connexion.
- Commentaires avec des caractères non ASCII (comme le chinois, « Ø », « – ») : les trois logiciels d’envoi suppriment les commentaires avant l’envoi ; ces caractères n’atteignent donc jamais le contrôleur. Le contrôleur lui-même lit le texte UTF-8 dans les commentaires et dans
(MSG,...)comme du texte, jamais comme une commande temps réel.