Découpe CNC par fil chaud +20 ans de pratique
Découpe CNC par fil chaud+20 ans de pratique

Arduino Mega 2560 + RAMPS 1.4 — firmware et câblage

1. Présentation de la carte

CarteArduino Mega 2560 + shield RAMPS 1.4
FirmwareGRBL Mega-5X — variante HotWire4X, version 1.2i, build 20260701 ou ultérieur
Axes4 — XYZA
LiaisonUSB, port série virtuel, 115200 bauds
AlimentationUSB pour le flashage, bornier d’alimentation 12V - 5A pour le fonctionnement
Une carte Mega 2560 + RAMPS sans aucun driver ni jumper installé.
La carte Arduino Mega 2560 avec son shield RAMPS 1.4 enfiché dessus, sans aucun driver ni cavalier installé.

C’est une carte qui commence à dater, mais elle fonctionne, elle est peu chère, et il y en a pas mal en circulation, donc j’ai décidé de l’intégrer dans HotWire4X, avec un firmware adapté.

2. Pourquoi un firmware recompilé

Il manquait toujours quelque chose dans les firmwares existants pour être parfaitement adapté au fil chaud, c’est pour cela que j’ai compilé cette version qui permet :

  1. Une sortie pour le PWM de chauffe qui ne va pas sur un MOSFET de la carte et dont l’accès est facile (et à proximité d’une broche GND), car il faut pouvoir utiliser un système de gestion de la chauffe externe pour alimenter le fil d’une vraie CNC fil chaud avec la tension nécessaire (généralement 48 V en pratique amateur) — pas juste les 12V maxi de la RAMPS.
  2. Un bouton STOP qui arrête le mouvement ET coupe la chauffe, branché sur l’entrée « porte » de la carte (prévue à l’origine pour la porte du carter d’une machine-outil) : le mouvement freine jusqu’à l’arrêt, la chauffe se coupe, les moteurs restent sous tension et la position du fil reste exacte. C’est le même effet que le bouton STOP de l’onglet Découpe.
  3. Des boutons-poussoir en « normalement ouvert », car on parle de pratique amateur et de machine peu puissante, et cela permet d’avoir une interface qui ne se met pas en erreur au démarrage. (Sur cette carte, contrairement à la SKR Pico, ce choix est figé dans le firmware : il ne se change pas depuis HotWire4X.)

⚠ Le bouton STOP n’est pas un arrêt d’urgence : il ne coupe aucune alimentation. Ta machine doit avoir un véritable arrêt d’urgence, qui coupe l’alimentation des moteurs et de la chauffe.

3. L’architecture de chauffe : le point à ne pas rater

Pour chauffer le fil, on trouve des plans sur Internet de machines de découpe par fil chaud utilisant le MOSFET prévu pour le lit chauffant d’une imprimante 3D (= on branche le fil de découpe sur le bornier D8 de la RAMPS, et on a une seule alimentation moteurs + carte + chauffe du fil).

C’est séduisant parce que c’est simple, mais le problème avec cette configuration est que cet étage de puissance est prévu pour une tension d’alimentation de 12V maxi. (Il y a une bidouille pour passer en 24V, mais on va éviter, hein 😅)

À 12V, la puissance disponible pour le fil est faible : cela ne permet que des fils très courts et/ou des vitesses très lentes. Autrement dit, une machine vraiment petite — et pour une machine vraiment petite, la RAMPS est trop encombrante : une BTT SKR Pico fait le même travail dans un format bien plus compact, et accepte 24 V directement.

C’est pourquoi je ne propose pas de firmware « chauffe intégrée » pour la RAMPS.

Le seul firmware que je propose concerne donc les machines de découpe par fil chaud de taille compatible avec une pratique polyvalente de la découpe 4 axes :

  • il fait sortir le signal PWM de commande de la chauffe sur une broche facilement accessible (la broche D6 de l’ensemble de broches SERVOS, avec une broche GND toute proche),
  • pour piloter un étage de puissance séparé, alimenté en 48 V,

et avoir ainsi une chauffe suffisante pour une machine exploitant la découpe 4 axes jusqu’à 1 m de largeur de plateau, pour la découpe de tous les polystyrènes et de l’EPP.

Un tel montage permet en plus l’opto-isolation de la chauffe par rapport au micro-contrôleur. Il nécessite 2 tensions d’alimentation : 12V pour la RAMPS et les moteurs, 48V pour la chauffe du fil.

Il y a deux possibilités pour les alimentations, exactement comme pour la SKR Pico :

  • Soit deux alimentations séparées (12 V pour la RAMPS et les moteurs, 48 V pour la chauffe) :
Schéma de câblage Mega 2560 + RAMPS 1.4 avec deux alimentations et une gestion externe de la chauffe.
Principe de câblage avec deux alimentations différentes.
  • Soit une alimentation 48 V pour la chauffe, et un convertisseur 48 V → 12 V pour la RAMPS et les moteurs :
Schéma de câblage Mega 2560 + RAMPS 1.4 avec une alimentation, un convertisseur et une gestion externe de la chauffe.
Principe de câblage avec une alimentation pour la chauffe et un convertisseur pour les moteurs et la carte.

4. Le firmware

Nom du firmware : « RAMPS 1.4 - HotWire4X PWM-D6 - R.ILTIS »
Il est destiné aux machines de découpe fil chaud 4 axes avec alimentation et gestion de la chauffe séparées.
Il expose le signal PWM 5V (destiné à piloter la chauffe) sur la broche D6 de l’ensemble de broches SERVOS de la RAMPS. Il permet en plus des points 2 et 3 ci-dessus. La sortie de puissance D8 du lit chauffant n’est plus utilisée pour la chauffe.
→ C’est le firmware RAMPS sur la page Téléchargements !

5. L’alimentation moteurs + carte : 12 V, et pas plus

Il est possible d’alimenter la logique de la carte à partir du câble USB pour flasher le firmware et vérifier qu’elle est bien reconnue par le logiciel — l’Arduino Mega 2560 s’alimente tout seul par l’USB, sans cavalier à poser.

Pour faire fonctionner la machine, il faut alimenter les moteurs par le bornier de puissance de la RAMPS, en 12 V — dans ce cas de figure, l’Arduino Mega 2560 s’alimente à partir du 12V et d’un régulateur intégré à la carte.

Une carte Mega 2560 + RAMPS et son bornier d’alimentation 12V - 5A mis en évidence.
C’est le bornier du bas qu’il faut utiliser pour alimenter les moteurs (et la carte).

6. Drivers, micropas et courant des moteurs

Contrairement à la SKR Pico, la RAMPS n’a pas de drivers intégrés : on utilise des petits modules enfichables (A4988, DRV8825, TMC2208/2209 par exemple).

Prends-les tous du même modèle pour que les quatre axes se comportent pareil.

Sur la RAMPS, les micropas se règlent avec les trois cavaliers MS1, MS2, MS3 qui se trouvent sous chaque driver, entre les deux rangées de broches.

Une carte Mega 2560 + RAMPS et les emplacements des drivers mis en évidence avec les connecteurs MS.
Les 4 emplacements de drivers à utiliser, avec les connecteurs MS. MS1 est à gauche, MS3 à droite.

La combinaison de cavaliers à poser dépend du nombre de micropas que tu as choisis et du modèle de driver : reporte-toi à la table de réglage du driver, elle doit être fournie lors de l’achat car elle dépend du type de driver.

Note les micropas que tu as définis, il faudra les reporter dans HotWire4X.

Ensuite tu peux enficher les drivers et régler le courant des moteurs avec le petit potentiomètre de chaque driver.

Une carte Mega 2560 + RAMPS et les potentiometres des drivers mis en évidence.
Les 4 potentiomètres des drivers. La tête des potentiomètres est métallique, il faut alimenter la carte et mesurer la tension par rapport à la masse, puis calculer le courant moteur.

Là, il y a autant de méthodes et de calculs que de type de drivers, donc je te renvoie vers la documentation fournie lors de l’achat (et si elle n’est pas claire, il faut râler auprès du vendeur et demander des précisions !).

ATTENTION :

  • Ne jamais enficher ni retirer un driver sous tension, ni débrancher un moteur sous tension — gros risque de griller le driver !
  • Toujours vérifier le sens du driver avant de l’enficher : la broche EN du driver va sur la broche EN de la RAMPS. À l’envers, il crâme à la mise sous tension.

7. Flasher facilement le firmware (= transférer le nouveau firmware dans la carte)

Sur l’Arduino Mega le firmware est un fichier .hex qu’il faut envoyer à la carte par le câble USB.

Et pour cela tu vas tout simplement utiliser HotWire4X !

  1. Télécharge et installe HotWire4X si ce n’est pas déjà fait

  2. Télécharge le firmware Mega 2560 + RAMPS. C’est le fichier grbl-Mega5X-HotWire4X.hex.

  3. Démarre HotWire4X puis clique sur Type GRBL, puis sur Lancer HotWire4X

Démarrage de HotWire4X en mode GRBL.
Pas besoin de licence, le flashage est disponible en version gratuite.
  1. Connecte la carte Mega 2560 + RAMPS à l’ordinateur avec un câble USB.

  2. Ouvre le menu Machine > Flasher la Mega 2560...

Menu de flashage de l’Arduino.
L’outil de flashage est directement intégré, c’est pas beau ça ?
  1. L’usage est intuitif :
  • tu cliques sur Parcourir… pour aller chercher le fichier .hex que tu as téléchargé,
  • tu t’assures que « Vérifier après écriture » est bien coché,
  • si besoin tu cliques sur Actualiser pour mettre à jour le port COM sur lequel la carte est branchée,
  • tu cliques sur Flasher.
Fenêtre de flashage de l’Arduino.
Simple et efficace.

Le transfert s’effectue en quelques secondes, la LED de la carte clignote, puis la carte redémarre toute seule.

Début du transfert.Transfert réussi.
La progression du transfert et le transfert réussi.
  1. Teste la reconnaissance de la carte par HotWire4X : retourne dans l’écran d’accueil avec le bouton ⬆️ en haut à droite, sélectionne Type GRBL dans l’écran de démarrage et clique sur Détecter l’interface.
Écran de démarrage de HotWire4X avec le bouton de sélection de GRBL et le bouton de recherche de l’interface.
Lance la recherche de l’interface GRBL — le même bouton que pour la SKR Pico.
  1. Si tout s’est bien passé, tu dois voir s’afficher le nom du firmware : RAMPS 1.4 - HotWire4X PWM-D6 - R.ILTIS.
Nom du firmware sur l’écran d’accueil de HotWire4X.
Et hop, ton flashage du firmware est terminé 😀

→ Les versions à jour des firmwares sont sur la page Téléchargements

8. Câblage complet

Sur la RAMPS, la sortie du PWM et le bouton STOP se branchent sur deux zones faciles à repérer :

FonctionZone sur la RAMPSBroche
Sortie PWM de chauffe (vers le module 48 V)connecteur SERVOSD6 (signal 5V, 244Hz) et GND
Bouton STOPconnecteur AUX-2A12 et GND
Pause (facultatif)connecteur AUX-2A10 et GND
Reprise (facultatif)connecteur AUX-2A11 et GND
Le détail des connecteurs sur la RAMPS.
En bleu la sortie du PWM avec sa masse GND en vert, en rouge le bouton STOP avec sa masse GND en vert. En violet la Pause et en orange la Reprise, facultatives.

Le bouton STOP se câble entre A12 et la masse GND du connecteur AUX-2 : c’est un bouton-poussoir « normalement ouvert », un appui met la broche à la masse. Ces deux broches sont aux deux coins opposés du connecteur.

Ne branche rien sur A9 : c’est l’entrée Reset, elle redémarre la carte et la position du fil est perdue.

Les boutons Pause et Reprise n’ont pas d’intérêt réel en physique : HotWire4X les a à l’écran, Pause et Reprendre. Si tu les veux quand même, ils se câblent de la même façon sur A10 et A11, et partagent avec le STOP la seule masse GND d’AUX-2.

Voici le câblage complet avec le câble USB, les moteurs et l’alimentation des moteurs et de la carte : Schéma de câblage complet de la RAMPS avec chauffe déportée. Les fins de course ne sont pas indiqués car ils ne sont pas nécessaires en découpe CNC par fil chaud quand on conçoit correctement la machine.

9. Paramétrage de l’interface dans HotWire4X

HotWire4X intègre des modèles (templates) pour les interfaces présentées sur ce site.

Cela permet un paramétrage rapide : tu pars du template, puis tu passes en revue les valeurs pour les adapter à la réalité de ta machine.

Utilisation d’un template :

  1. Suis le menu Machine > Configuration machine... pour ouvrir la fenêtre Configuration de la machine.
  2. Clique sur la liste déroulante, choisis le modèle « Mega 2560 RAMPS - @template - GRBL » puis clique sur Ajouter pour créer une nouvelle machine basée sur ce modèle.
La liste déroulante des modèles (templates) et le bouton Ajouter.
Les modèles sont marqués avec le pseudo @template et ne peuvent pas être effacés.
  1. Saisis le nom de ta machine. Utilise un nom représentatif qui te permet de la reconnaître (pas le nom de son interface), tu as 16 caractères pour cela. Puis OK
Exemple de saisie de nom de machine.
Tu peux aussi lui donner un petit nom 😉.
  1. Tu peux dès à présent cliquer sur les onglets Machine, Interface, Axes, Sécurité, Chauffe et matière, Procédures, pour voir ce qu’ils contiennent. Mais pour pouvoir modifier les valeurs, tu dois d’abord cliquer sur le bouton ↓ Modifier / Tester ↓.
Le haut de la fenêtre Configuration de la machine : une flèche désigne le bouton « ↓ Modifier / Tester ↓ », un cadre entoure les onglets.
Le bouton Modifier / Tester déverrouille les champs de tous les onglets.
  1. Maintenant tu peux modifier tous les paramètres de tous les onglets. Et tu peux faire apparaître une fenêtre d’explications de tous les champs en cliquant sur le bouton Aide :
Le bouton Aide ouvre la fenêtre « Configuration machine — guide des champs », à côté de la fenêtre de paramétrage.
Le bouton Aide ouvre une fenêtre qui explique chaque paramètre.

En cas de problèmes de compréhension du paramétrage, consulte les accompagnements que je propose et/ou réfère-toi à la notice d’utilisation du logiciel.

  1. Une fois les paramètres saisis, clique sur → Enregistrer & Convertir ↓ pour créer les instructions de paramétrage de l’interface :
Le bouton Enregistrer & Convertir.
Chaque paramètre est accompagné d’un petit symbole (i). En laissant le pointeur sur ce symbole tu as la signification du paramètre.
  1. Contrôle tous les paramètres  »$ » de la liste. Si l’un ne te semble pas correct il faut modifier le contenu correspondant dans les onglets puis re-cliquer sur → Enregistrer & Convertir ↓.

  2. Une fois que les paramètres sont bons, c’est le moment de les transférer dans l’interface (qui doit être connectée). Pour cela, clique sur Transférer & Tester ↗ au bas de la liste.

Le bouton Transférer & Tester.
Une fois les paramètres transférés, tu es prêt à tester le fonctionnement de ta machine.
  1. Au bas de la colonne tu peux visualiser l’échange d’information entre le logiciel et l’interface, et tu as la possibilité d’envoyer des instructions G-code personnelles en cochant la case ☑️ Expert + Instruction + Envoyer (tu peux par exemple envoyer $I pour vérifier que tu as le bon firmware : la carte doit répondre [BOARD:RAMPS 1.4 - HotWire4X PWM-D6 - R.ILTIS]).
La zone de communication et d’envoi d’instructions à l’interface.
Comme son nom l’indique, c’est un champ à manipuler avec précaution 😉.

10. Tests et ajustements

C’est le moment de vérité : mets ta machine sous tension — tu vas utiliser le panneau de test (la colonne de droite de la fenêtre) pour tester les mouvements des axes afin qu’ils respectent le schéma ci-dessous. Puis tu testeras la chauffe.

Schéma des axes dans HotWire4X.
Les axes sont numérotés et orientés de cette façon dans HotWire4X.

10.1 Contrôles préalables

  • Voyant d’état vert dans le bouton avec le symbole USB (1, voir ci-dessous).
  • Dans le panneau de test, le voyant d’état doit indiquer Idle (2).
Les conditions pour que les mouvements puissent avoir lieu dans HotWire4X : le point vert du bouton USB (1), l’état Idle (2) et les fins de course (3).
Les fins de course (3) sont déclenchés mais comme ils sont désactivés dans les paramètres (aspect grisé), cela n’empêche pas les mouvements.
  • Si les fins de course sont activés (case cochée), les voyants doivent être gris pour que les mouvements puissent avoir lieu.

10.2 Ajustement de l’appairage et du sens des axes

Tu vas tester les mouvements axe par axe et corriger si besoin l’ordre des lettres et le sens de déplacement dans l’onglet Axes pour correspondre au schéma du §10 ci-dessus.

  1. Déplace à la main les chariots sur tous les axes pour les mettre à peu près en milieu de course (pour éviter les blocages en butée).

  2. Vitesse : 4 mm/s. Distance : 10 mm. Coche la direction X1+ sur le Côté 1 et appuie sur GO.

Le panneau de test des mouvements dans HotWire4X.
Pour le moment teste un axe après l’autre.

Le déplacement doit se faire sur le bon axe et dans le bon sens (voir schéma du §10). Si ce n’est pas le cas, modifie les paramètres (lettre et sens de l’axe) jusqu’à ce que ce soit OK.

⚠ À chaque modification il faut repasser par les clics sur → Enregistrer & Convertir ↓ puis Transférer & Tester ↗ pour mettre à jour les paramètres dans l’interface.

  1. Quand un axe est OK, tu passes au suivant.

10.3 Ajustement de la résolution

  1. Scotche un réglet, mètre ruban, etc. le long de l’axe X1 et amène le fil sur le 0 (ou fais simplement une marque au crayon pour déterminer le début du mouvement).

  2. Fais un mouvement de 100 mm en X1+ dans le logiciel et mesure la distance réelle.

  3. Si tu as un gros écart (genre tu demandes 100 mm et ça avance de 50 mm), tu as probablement le champ « Micropas » qui ne correspond pas aux cavaliers MS1-MS3 de tes drivers (voir §6). Corrige-le.

  4. Si tu as un petit écart, ajuste le champ « mm / tour » en faisant une règle de proportionnalité et en testant jusqu’à obtenir exactement le déplacement demandé.

  5. Répète sur Y1, X2, Y2.

10.4 Ajustement de la puissance électrique maxi du fil

  1. Vérifie que le fil est bien dégagé, ne touche rien, que l’isolation électrique est parfaite par rapport au reste de la machine.

  2. Règle la puissance sur 10% et lance la chauffe en cliquant sur ON.

ℹ️ Tu peux voir un passage très rapide de la chauffe par 50% avant de redescendre à 10%. C’est normal, c’est lié à la procédure permettant de régler la chauffe en cours de mouvement.

Le panneau de test de la chauffe dans HotWire4X.
La procédure que je propose commence à 10% pour tenir compte des tables étroites. Sur une table large tu peux commencer à 50%.
  1. Augmente la chauffe par palier de 5% en utilisant le bouton +5.
Le panneau d’ajustement de la chauffe dans HotWire4X.
Dans HotWire4X, on peut faire varier la chauffe par pas de 5% et 0.5% pendant un mouvement ou une pause.
  1. Le but est ici de déterminer quelle est la puissance électrique maximale supportée par le fil sans le faire fondre. Il faut surveiller sa couleur : quand il devient « rouge cerise », il ne faut pas aller au-delà, sinon il risque de fondre et de casser.

  2. Reporte cette valeur dans le champ « Puissance électrique maximale » de l’onglet Chauffe et matière et recommence la procédure → Enregistrer & Convertir ↓ puis Transférer & Tester ↗. Cela va changer l’échelle de la chauffe directement au niveau de l’interface : même si tu affiches 100% de chauffe, la puissance électrique sera répartie sur la nouvelle échelle et tu ne feras pas fondre ton fil.

10.5 Test du bouton STOP

  1. Allume la chauffe (§10.4), lance un déplacement long (§10.2, par exemple 100 mm) et appuie sur le bouton STOP : le mouvement freine jusqu’à l’arrêt et la chauffe se coupe. HotWire4X te rend la main aussitôt, sans fenêtre, et la carte accepte la commande suivante.

  2. Si tu as câblé Pause et Reprise, refais un déplacement et teste Pause puis Reprise : le mouvement s’interrompt, puis reprend là où il s’était arrêté.

11. Valider et découper

Quand tout est OK, il faut bien sauvegarder tes réglages, pour cela clique sur :

  • ↑ Enregistrer et sélectionner ou créer une autre machine ↑
  • ou/puis sur Enregistrer & Quitter
Les boutons de sauvegarde des paramètres.
Évite de quitter cette fenêtre avec la croix, il y aura un message de sécurité, mais ce n’est pas la bonne méthode.

Tu es maintenant prêt à découper. Tu peux par exemple revenir à l’écran d’accueil avec le bouton ⬆️ en haut à droite, relancer, et cliquer sur Charger l’exemple sur le post-it d’accueil.

Le post-it d’accueil de HotWire4X.
L’affichage de ce post-it peut être annulé dans les paramètres du logiciel.

Change ensuite la valeur d’une corde et va dans l’onglet Découpe pour voir ce que ça donne. Et clique sur le bouton du cadre Simulation pour voir la simulation de la découpe :

Importation d’un NACA2412 dans HotWire4X.La simulation de découpe dans HotWire4X.
Zoome avec la molette de la souris, et tourne la vue en cliquant sur la molette de la souris.

Pour lancer une découpe réelle il te faut une licence, regarde ici celle qui te convient.

Profite de ta machine, de HotWire4X, lance des découpes de dingue, et partage tes projets sur cncpartage.fr !