Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Présentation du projet

Dans ce tutoriel, je vous montre comment j'ai converti mon robot SCARA imprimé en 3D, construit dans une vidéo précédente, pour qu'il fonctionne comme graveur laser. Vous pouvez regarder la vidéo ci-dessous ou lire l'article.

Vue d'ensemble du projet

Le robot SCARA a 4 degrés de liberté entraînés par 4 moteurs pas-à-pas NEMA 17 et contrôlés par une carte Arduino. Dans la vidéo originale, j'utilisais un Arduino UNO avec un shield CNC, mais maintenant nous utiliserons un Arduino MEGA avec une carte RAMPS. Cette combinaison est nécessaire car nous utiliserons le firmware Marlin d'imprimante 3D pour contrôler le robot.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Côté mécanique, j'ai juste dû remplacer le mécanisme de pince par un module laser. J'utilise ici un module laser de 5,5 W, suffisant pour la gravure.

Une caractéristique intéressante de cette configuration SCARA est qu'on obtient une plus grande amplitude de mouvement sur l'axe Z, permettant de graver des objets plus hauts.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

La zone de travail est également impressionnante compte tenu de la faible emprise au sol du robot. Il peut utiliser la zone devant lui ainsi que sur les deux côtés. On peut même le configurer pour utiliser presque 360 degrés autour du robot comme zone de travail, grâce au firmware open-source Marlin qui offre des options pour la gravure laser et la configuration SCARA.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Pour générer les G-codes, j'utilise un autre logiciel open-source : Inkscape et son plugin Inkscape-Lasertools. On peut générer des G-codes avec contours seulement ou avec contours et remplissage à partir de la même image vectorielle, avec diverses options comme l'ajustement du faisceau laser, vitesse de déplacement, vitesse de remplissage, vitesse de périmètre, commandes laser on/off incluant le contrôle PWM, etc.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Je vais maintenant vous guider à travers tout le processus de configuration d'un robot SCARA pour en faire un graveur laser. Nous examinerons la conception de ce robot SCARA, comment installer et configurer le firmware Marlin selon notre machine, et comment préparer les dessins et G-codes pour la gravure. Commençons.

Conception et modèle 3D

Voici un aperçu rapide du modèle 3D de ce robot SCARA pour voir comment il fonctionne, au cas où vous n'auriez pas vu le tutoriel original où j'explique en détail sa construction.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Le robot est conçu pour que la plupart des pièces puissent être facilement imprimées en 3D. Les articulations sont entraînées par des moteurs pas-à-pas NEMA 17 dont la vitesse est réduite par des courroies GT2 et des poulies GT2 imprimées en 3D. Le robot a 4 degrés de liberté, mais dans ce cas, nous n'en avons besoin que de 3 : deux rotations pour atteindre n'importe quel point dans la zone de travail et un mouvement linéaire pour ajuster la hauteur du laser.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

La 4ème articulation qui fait pivoter l'effecteur final ne sera pas utilisée, bien que le module laser y soit attaché. J'ai conçu le support du laser de façon que le faisceau soit au centre de rotation de ce 4ème axe, donc même si l'axe tourne, cela n'affectera pas la position finale.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Vous pouvez trouver et télécharger ce modèle 3D, ainsi que l'explorer dans votre navigateur sur Thangs :

Télécharger le modèle 3D d'assemblage depuis Thangs.

Merci à Thangs pour le soutien de ce tutoriel.

Fichiers STL pour l'impression 3D :

Sponsorisé


J'ai conçu ce robot SCARA avec 3DEXPERIENCE SOLIDWORKS for Makers, qui est aussi le sponsor de cette vidéo. Oui, vous avez bien entendu. Avec 3DEXPERIENCE SOLIDWORKS for Makers, SOLIDWORKS propose enfin ses outils de conception leaders de l'industrie aux makers à un prix incroyablement bas.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Les makers peuvent maintenant accéder aux meilleurs outils de conception SOLIDWORKS pour seulement 99 $ par an, mais pour MES spectateurs, SOLIDWORKS propose une offre limitée dans le temps pour obtenir ces outils encore moins cher !

C'est exact. Pour les spectateurs de cette vidéo, vous pouvez obtenir ce pack aujourd'hui – qui inclut une version cloud de SOLIDWORKS, ainsi que des outils de conception basés navigateur comme 3D Creator et 3D Sculptor – à un prix spécial de 20 % de réduction tant qu'il y en a !

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Il suffit de cliquer sur mon lien ci-dessous et de créer votre identifiant 3DEXPERIENCE gratuit, ce qui vous permettra d'accéder à cette offre spéciale de 20 % de réduction – pour commencer à créer avec le meilleur dès aujourd'hui. Un grand merci à SOLIDWORKS pour le sponsoring et le soutien de contenu éducatif comme celui-ci.

Découvrir SOLIDWORKS for makers

20 % de réduction sur SOLIDWORKS for makers


Installation du module laser

D'abord, j'ai retiré le mécanisme de pince du robot, maintenu en place par quatre boulons.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Les fils utilisés pour contrôler le servomoteur de la pince serviront maintenant à contrôler le module laser.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Le module laser que j'ai fonctionne en 12V et peut être contrôlé par signal PWM avec seulement deux fils : Masse et VCC. Pour connecter le laser, j'ai utilisé le connecteur fourni avec le module, celui à 3 broches. Le fil noir de gauche est la Masse et le du milieu, le fil blanc dans mon cas, est le VCC. J'ai soudé deux connecteurs mâles sur ces fils pour les brancher facilement aux fils de l'effecteur final.

Puis j'ai simplement mis le connecteur en place, fait passer le fil par une des ouvertures du support, et fixé le module laser avec deux boulons M3. Avec quatre boulons M4, j'ai fixé le module laser au robot.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Ensuite, comme mentionné, au lieu de l'Arduino UNO utilisé dans la vidéo originale, nous avons maintenant besoin d'une carte Arduino MEGA combinée à une carte RAMPS.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Ici, nous devons d'abord sélectionner la résolution de pas des drivers. Pour un mouvement plus fluide, nous devons sélectionner la plus haute résolution possible en ajoutant trois jumpers par driver pas-à-pas. J'utilise le driver A4988 qui a une résolution de 1/16 de pas, mais on peut aussi utiliser le DRV8825 qui a une résolution de 1/32.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Ensuite, nous pouvons connecter tous les fils en place. J'avais tous mes fils étiquetés pour ne pas les mélanger.

Schéma de câblage du graveur laser robot SCARA

Voici le schéma de câblage montrant comment tout doit être connecté.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Les moteurs pas-à-pas vont juste au-dessus des drivers et les fins de course (normalement fermés, deux fils) vont aux broches S et – des endstops pour chaque axe respectivement.

Pour contrôler le module laser, nous utiliserons la broche D9 qui, dans une configuration d'imprimante 3D, sert à contrôler un ventilateur. Cette broche est capable de PWM, donc on peut contrôler l'intensité du laser avec. Pour l'alimentation, nous avons besoin d'une alimentation 12V avec un courant minimum de 3A.

Vous pouvez vous procurer les composants nécessaires pour ce projet via les liens ci-dessous :

Pour les composants mécaniques, consultez l'article original.

Une fois tout connecté comme expliqué, j'ai un peu serré les fils et couvert l'électronique pour que tout soit propre et net.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Finalisation de l'assemblage

Il y a une chose de plus à changer sur mon robot SCARA pour qu'il fonctionne correctement : le moment où le fin de course du second bras est déclenché. Comme le robot SCARA sera configuré pour travailler en mode droitier, le homing du second bras doit être à 0 degrés, ou aligné avec le premier bras, tout en pouvant pivoter vers la gauche. Pour cela, j'ai simplement collé un petit morceau sur l'articulation du bras pour qu'il déclenche le fin de course à la position décrite.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

En fait, il y a un autre petit détail à changer. Le déclencheur du fin de course original interférait avec un des écrous au bas du bras, empêchant le bras d'atteindre son mouvement complet.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

J'ai simplement retiré cet écrou, le remplaçant par un insert fileté pour qu'en revissant la pièce en place, il ne dépasse pas.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Et voilà. Le robot SCARA est maintenant prêt à fonctionner comme graveur laser, mais bien sûr, il faut d'abord installer le firmware sur la carte Arduino.

Voir aussi : Bras robot Arduino avec contrôle par smartphone

Firmware Marlin pour gravure laser avec robot SCARA

Comme dit, j'utiliserai le firmware Marlin, l'un des firmwares open-source les plus utilisés pour imprimantes 3D, qui a aussi des options pour la gravure laser et les configurations SCARA. On peut télécharger Marlin soit depuis son site officiel, soit depuis Github.com.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Pour installer le firmware Marlin sur la carte Arduino MEGA, nous utiliserons PlatformIO IDE au lieu de l'IDE Arduino. Comme le firmware Marlin est volumineux et complexe, l'IDE Arduino peut parfois donner des erreurs et ne pas parvenir à le compiler.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

PlatformIO est construit sur l'éditeur Visual Studio Code, et s'installe comme extension. Il faut donc d'abord installer Visual Studio Code, puis chercher PlatformIO dans le gestionnaire d'extensions et l'installer.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Une fois l'installation terminée, on clique sur le bouton Open Project, on navigue vers le dossier Marlin téléchargé et décompressé, et on clique sur « Open Marlin ».

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Cela charge tous les fichiers Marlin dans l'éditeur pour qu'on puisse les ouvrir et les modifier. Les deux fichiers principaux où on fait tous les ajustements selon notre configuration sont Configuration.h et Configuration_adv.h.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

En fait, avant d'ouvrir le dossier Marlin, il faut d'abord aller sur le dépôt Configuration sur Github.com d'où on peut télécharger des fichiers de configuration pré-testés qui nous conviennent. Dans le dossier « Examples », aller dans le dossier « SCARA » et copier ces deux fichiers de configuration pour les coller dans notre dossier Marlin.

Voir aussi : Comment configurer GRBL et contrôler une machine CNC avec Arduino

Configuration du firmware Marlin

Une fois qu'on a rouvert le dossier Marlin avec les fichiers de configuration « SCARA », on peut ouvrir Configuration.h et modifier certains paramètres selon notre machine. La première chose est de sélectionner le type de robot SCARA.

/** * MORGAN_SCARA a été développé par QHARLEY en Afrique du Sud en 2012-2013. * Implémenté et légèrement retravaillé par JCERNY en juin 2014. */ //#define MORGAN_SCARA /** * Mostly Printed SCARA est un design open source par Tyler Williams. Voir : * https://www.thingiverse.com/thing:2487048 * https://www.thingiverse.com/thing:1241491 */ #define MP_SCARA #if EITHER(MORGAN_SCARA, MP_SCARA) // Si le mouvement est saccadé, essayez de baisser cette valeur #define SCARA_SEGMENTS_PER_SECOND 100 // Longueur des bras de support intérieur et extérieur. Mesurez les longueurs des bras précisément. #define SCARA_LINKAGE_1 228.15 // Longueur bras 1 - 228(mm) #define SCARA_LINKAGE_2 136.2 // Longueur bras 2 - 136.5(mm) // Décalage tour SCARA (position de la tour par rapport à la position zéro du plateau) // Cela doit être raisonnablement précis car cela définit la position du plateau dans l'espace SCARA. #define SCARA_OFFSET_X 300 // (mm) #define SCARA_OFFSET_Y 150 // (mm)Langage : Arduino (arduino)

Le « MORGAN_SCARA » est pour un robot SCARA parallèle et le « MP_SCARA » pour un robot SCARA en série, comme celui que nous avons. Cela est basé sur un design open-source de Tyler Williams qui implémente la cinématique inverse sur les G-codes générés pour des systèmes cartésiens normaux.

Dans mon tutoriel précédent, j'ai déjà expliqué ce qu'est la cinématique inverse et comment elle fonctionne avec ce robot SCARA, pour plus de détails consultez ce tutoriel. En bref, avec la cinématique inverse, on calcule à quels angles les deux bras doivent se positionner pour atteindre une coordonnée X, Y donnée. Les mathématiques derrière la cinématique inverse sont basées sur la trigonométrie, et le résultat dépend uniquement des longueurs des deux bras.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Cela dit, ici nous devons entrer la longueur des bras du robot, dans ce cas 228 mm pour le premier bras et 136,5 mm pour le second. Le paramètre suivant à régler est la position zéro du plateau de travail. Cette valeur est entrée avec SCARA_OFFSET_X et Y et c'est la distance depuis la tour ou la première articulation par rapport à la position zéro du plateau.

Il y a un autre ensemble de paramètres à ajuster : MANUAL_X_HOME_POS pour X et Y. Ces valeurs sont les distances X et Y depuis l'effecteur final du robot (ou le laser) en position home, par rapport à la position zéro du plateau qu'on vient de définir. Pour obtenir ces valeurs, j'ai fait un croquis simple dans SOLIDWORKS avec deux lignes représentant les deux bras du robot SCARA.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Depuis là, on peut définir la position zéro du plateau souhaitée et obtenir les valeurs pour les variables MANUAL_X_HOME_POS.

Ensuite, nous devons définir les connecteurs de fin de course. Dans notre cas, nous avons un fin de course par axe, à la position minimum.

#define USE_XMIN_PLUG #define USE_YMIN_PLUG #define USE_ZMIN_PLUGLangage : Arduino (arduino)

En plus, nous devons définir X_HOME_DIR à –1 qui indique la direction des fins de course lors du homing.

// Direction des fins de course lors du homing ; 1=MAX, -1=MIN // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1Langage : Arduino (arduino)

Ici, nous devrions aussi vérifier que toutes les variables __MIN_ENDSTOP_INVERTING sont à « FALSE ».

Puis nous devons ajuster les valeurs DEFAULT_AXIS_STEPS_PER_UNIT pour qu'elles correspondent à notre machine.

#define DEFAULT_AXIS_STEPS_PER_UNIT { 177.7777777, 142.2222222, 400, 93 }Langage : Arduino (arduino)

Ces valeurs indiquent combien de pas le programme doit envoyer aux drivers pour que le moteur bouge d'une unité, ici une rotation d'un degré de l'articulation. Voici comment j'ai calculé ces valeurs pour mon robot SCARA.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Les moteurs pas-à-pas NEMA 17 font 200 pas pour une rotation complète, mais avec une résolution de 1/16 de pas, il faut envoyer 3200 pas au driver pour une rotation complète de 360 degrés. De plus, pour la première articulation, nous avons une réduction de 20:1, ce qui signifie 64000 pas pour une rotation complète. En divisant par 360, on obtient 177,777, qui est le nombre de pas que le programme doit envoyer pour faire tourner l'articulation d'une unité (un degré).

Le second bras a une réduction de 16:1, donc la valeur sera 142,222. Pour l'axe Z, nous avons une vis de guidage au pas de 8 mm, ce qui signifie qu'une rotation complète du moteur donne 8 mm de mouvement linéaire. Une unité ici est 1 mm, donc on divise 3200 par 8 pour obtenir 400, le nombre de pas pour que l'axe Z bouge d'une unité (1 mm). La quatrième valeur est pour l'extrudeur, mais comme nous n'en avons pas, on n'a pas à la changer.

La direction du moteur dépend de comment on a branché les fils. Si c'est inversé, on peut soit inverser les fils, soit le changer ici en logiciel en mettant les variables INVERT_X_DIR à TRUE.

// Inverser la direction du pas-à-pas. Changer (ou inverser le connecteur du moteur) si un axe va dans le mauvais sens. #define INVERT_X_DIR false #define INVERT_Y_DIR false #define INVERT_Z_DIR falseLangage : Arduino (arduino)

Il faut faire quelques changements supplémentaires pour que ce firmware Marlin fonctionne. Comme Marlin est principalement un firmware pour imprimantes cartésiennes classiques, le mode SCARA a quelques petits bugs non résolus au moment de ce projet. Voici les changements que j'ai faits pour le faire fonctionner.

Dans scara.cpp, ligne 75, j'ai remplacé MORGAN_SCARA par MP_SCARA. Dans motion.cpp, j'ai mis en commentaire les lignes 1716 et 1717, dans configuration.h mis en commentaire VALIDATE_HOMING_ENDSTOPS, et dans configuration_adv.h décommenté QUICK_HOME.

Même avec ces changements, le homing ne fonctionnait pas encore 100 % correctement, mais j'expliquerai l'astuce que j'ai utilisée pour le faire marcher.

Néanmoins, maintenant on peut cliquer sur le bouton Upload en bas à gauche de l'éditeur et le firmware Marlin sera installé sur la carte Arduino. Vous pouvez télécharger ce firmware Marlin particulier avec tous mes changements pour qu'il fonctionne avec ce robot SCARA ci-dessous, ou bien sûr, télécharger le Marlin original depuis Github.com et faire tous les changements vous-même comme expliqué.

Logiciel de contrôle – Repetier-Host

Très bien, une fois le firmware Marlin installé, nous avons besoin d'un programme pour contrôler le robot et envoyer des G-codes. Il y a plusieurs options, mais j'ai choisi Repetier-Host, un logiciel d'impression 3D populaire. On peut le télécharger et l'utiliser gratuitement. Une fois installé, on va dans Config > Paramètres de l'imprimante et on règle plusieurs choses.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Il faut sélectionner le port COM auquel l'Arduino est connecté et le Baud Rate défini dans le firmware Marlin. Dans l'onglet Forme de l'imprimante, on doit définir les valeurs max X et Y et la Zone d'impression.

Une fois ces paramètres appliqués, on clique sur Connecter et le logiciel devrait se connecter à notre robot SCARA. Puis on va dans l'onglet Contrôle manuel et on essaie de déplacer l'imprimante.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Notez qu'en appuyant sur les flèches X ou Y, le robot peut se comporter bizarrement car il implémente la cinématique inverse immédiatement, et bougera probablement les deux bras même si on appuie sur une seule flèche.

Néanmoins, pour faire fonctionner le robot, il faut d'abord le référencer (homing). Avant de cliquer sur le bouton Home, on doit manuellement amener les articulations près des fins de course.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Quand on clique sur Home, le robot devrait commencer à bouger vers les fins de course. En fait, le second bras commence à bouger vers son fin de course pendant que le premier bras doit bouger en sens inverse. Une fois que le second bras (axe Y) atteint son fin de course, le premier bras (axe X) commence alors à bouger vers le sien. Une fois le fin de course X atteint, le robot va vers le fin de course Z.

Après le homing, on devrait pouvoir commencer à graver ou déplacer manuellement le robot dans sa zone de travail. Cependant, si on essaie de faire quoi que ce soit tout de suite, pour une raison quelconque le robot se comportera mal et fera des mouvements étranges. Pour éviter ce comportement, après le homing, il faut juste déconnecter le robot du logiciel et le reconnecter.

Maintenant, on peut déplacer manuellement ou graver et le robot fonctionnera correctement. C'est probablement un bug dans le firmware Marlin, présent parce que le mode SCARA n'est pas bien supporté faute d'intérêt.

Néanmoins, si on envoie la commande G-code G00 X0 Y0, le robot devrait aller à sa position zéro, celle qu'on a définie dans Configuration.h.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Puis on peut activer le laser en envoyant la commande M106 S10. La valeur après S peut aller de 0 à 255 et c'est en fait le contrôle PWM de la puissance du laser de 0 à 100 %. On utilise une valeur de S10 pour qu'il ne brûle rien mais qu'il soit visible pour voir la position zéro et ajuster le focus du laser.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Le focus peut être ajusté manuellement en tournant l'objectif du laser en bas et dépend aussi de la distance entre lui et la pièce. Il est recommandé de régler une distance d'environ 5 cm et d'ajuster le focus jusqu'à obtenir le point le plus petit possible.

Gravure laser avec le robot SCARA

Pour calibrer la machine, c'est une bonne idée de commencer par graver un carré simple pour voir si ça marche bien.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

À mon premier essai, le carré n'était pas à la bonne position et orientation car j'avais mis une mauvaise valeur pour MANUAL_X_HOME_POS. Une fois corrigé, le carré est sorti proche de ce qu'il devait être.

J'ai chargé un G-code de mon logo et lancé la gravure.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Honnêtement, voir ce robot SCARA travailler comme graveur laser est vraiment cool, mais notez qu'on DOIT utiliser des lunettes de protection laser pour protéger nos yeux de la lumière UV du laser, c'est très dangereux. Aussi, on doit utiliser un masque respiratoire de sécurité et travailler en espace ouvert ou pièce bien ventilée, car les fumées produites pendant la gravure laser sont aussi dangereuses pour la santé.

Néanmoins, la gravure du logo est bien sortie, mais j'ai remarqué qu'elle n'était pas totalement carrée.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Je suis revenu à la gravure du carré simple pour trouver la cause. J'ai réalisé que le problème vient des dimensions des longueurs des bras. Comme le robot n'est pas très rigide, quand les bras sont étendus, leur poids fait pencher le robot légèrement vers l'avant. Cela cause une légère déviation de la position réelle des bras.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Après des dizaines de tests, j'ai fini par ajuster les valeurs de 228 à 228,15 mm pour le premier bras, et de 136,5 à 136,2 mm pour le second. Cela m'a donné le résultat le plus précis et le carré était correct. Toutefois, selon l'emplacement de l'impression, si le bras est totalement étendu ou non, la précision peut encore varier.

Génération de G-code pour la gravure laser

Enfin, laissez-moi vous montrer comment j'ai préparé les dessins et généré les G-codes pour la gravure. J'ai utilisé Inkscape, un logiciel de graphisme vectoriel open-source.

Ici, il faut d'abord régler la taille de la page à la taille de notre zone de travail. En exemple, je vais vous montrer comment j'ai préparé le logo Arduino pour la gravure laser.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

J'ai téléchargé une image du logo Arduino et l'ai importée dans Inkscape. Avec la fonction Vectoriser le bitmap, on convertit d'abord l'image en format vectoriel. On ne peut générer des G-codes qu'à partir de formes vectorielles, et pour cela j'ai utilisé un plugin appelé Inkscape-Lasertools. On peut télécharger ce plugin depuis Github.com et l'installer en copiant les fichiers du zip dans le répertoire extensions d'Inkscape.

Une fois le plugin installé, on va dans Extensions > Lasertools pour l'ouvrir et l'utiliser pour générer un G-code. Il y a plusieurs options à régler. Comme nous avons connecté notre laser à la broche D9 (utilisée pour un ventilateur), on peut activer le laser en envoyant la commande M106.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

On peut choisir si le G-code ne contiendra que les contours de la forme ou aussi le remplissage sur les boucles fermées. On peut régler la vitesse de déplacement du laser, la vitesse de remplissage et la vitesse de périmètre.

En choisissant un remplissage, si on veut baisser l'intensité du laser dans la zone de remplissage, on peut ajouter une valeur PWM à la commande M106 pour régler l'intensité, par exemple M106 S128 pour 50 % de puissance laser. On pourrait obtenir un effet similaire en laissant la puissance laser à 100 % mais en augmentant la vitesse de déplacement dans la zone de remplissage. Ce sont des réglages à tester pour voir ce qui marche le mieux.

Dans l'onglet Préférences, on peut sélectionner « Supprimer les petits chemins de remplissage », et dans l'onglet Cadre, sélectionner « Générer G-code pour aperçu du cadre ». Cette fonction est très utile car elle génère un G-code d'aperçu de la zone où le dessin aura lieu, pour positionner précisément la pièce.

Ok, une fois le G-code généré, on le charge dans Repetier-Host. Comme ce n'est pas de l'impression 3D mais juste des déplacements, on doit cocher « Afficher les déplacements » pour prévisualiser le G-code.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

On peut enfin cliquer sur « Imprimer » et notre robot SCARA gravera la pièce. Comme dit, regarder ce robot graver est très satisfaisant et on peut graver beaucoup de choses avec.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Une bonne fonctionnalité est l'axe Z ajustable, ce qui permet de graver des objets plus hauts, comme cette boîte en bois pour mes mèches Forstner. J'ai gravé mon logo sur le devant et un texte « Forstner bits » au dos.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Voici un exemple de gravure de la même forme vectorielle, une silhouette de Batman, avec seulement les contours et avec remplissage sur boucles fermées.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Bien sûr, la gravure avec remplissage prend beaucoup plus de temps mais le rendu final est bien meilleur.

Enfin, laissez-moi vous montrer comment j'ai gravé ce grand dessin de 600x450 mm avec ce robot SCARA.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

J'ai placé le robot sur la pièce pour qu'il atteigne le devant et les deux côtés. J'ai ajusté manuellement la pièce et le robot pour qu'ils soient au milieu et parallèles.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Dans le firmware Marlin, j'ai défini la position zéro au coin en bas à gauche de la pièce, à 300 mm du robot en X et 150 mm en Y. Attention aux signes pour ces valeurs. Selon cela, j'ai aussi changé les variables MANUAL_X et Y_HOME_POS.

Après avoir flashé le firmware avec ces nouvelles valeurs, j'ai fait le homing comme expliqué et envoyé le laser à la position zéro. Puis j'ai activé le laser pour ajuster l'orientation de la pièce si besoin.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

En envoyant des commandes G01 (lignes droites), je pouvais vérifier et ajuster le positionnement de la pièce.

Pour préparer le G-code de cette gravure, j'ai fait un modèle avec cette configuration de la pièce et du robot dans Inkscape. De là, je vois où le robot peut atteindre avec le laser et modifier le dessin en conséquence.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Pour le dessin, j'ai téléchargé une image et la convertie en vectoriel avec l'outil Vectoriser le bitmap.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Puis j'ai redimensionné et positionné l'image comme je voulais, et avec l'outil Gomme, j'ai supprimé les zones où est le robot et celles hors de sa portée.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Puis j'ai généré le G-code et laissé la machine faire son travail. Cela a pris 4 heures pour graver ce dessin.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Une fois fini, je voulais remplir la zone vide où était le robot. Pour cela, j'ai repositionné le robot et la pièce, ainsi que changé les paramètres Marlin pour que la nouvelle zone de travail soit cet espace vide.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Dans l'ensemble, cette méthode demande du travail pour la configurer, mais ça marche très bien. J'aime beaucoup le résultat de cette gravure.

Conclusion

Pour conclure, bien qu'il y ait eu des problèmes avec le firmware, j'ai trouvé des contournements pour faire fonctionner ce robot SCARA comme graveur laser. Si on regarde de plus près la gravure, on voit qu'elle est loin d'être parfaite.

Transformer votre robot SCARA DIY en graveur laser précis avec Arduino

Le robot n'est pas très rigide et a du jeu, donc on ne peut pas obtenir des mouvements précis et fluides. Cependant, ce qu'on a appris ici peut s'appliquer à n'importe quel robot SCARA pour obtenir de meilleurs résultats.

J'espère que vous avez apprécié ce tutoriel et appris quelque chose. N'hésitez pas à poser vos questions dans les commentaires et consultez ma collection de projets Arduino.

Processus de fabrication

  1. Construire une horloge Numitron rétro avec Arduino : simple, fiable et économe en énergie
  2. Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
  3. Contrôlez votre Roomba Create 2 avec Arduino et Android – Guide pas à pas
  4. Construire un voltmètre DIY avec Arduino et écran Nokia 5110
  5. MobBob : Construisez votre propre robot Arduino, contrôlé via smartphone Android
  6. Construire une roue de mesure précise avec Arduino Nano et encodeur rotatif
  7. Construisez un moniteur de qualité d'air précis avec le capteur Sharp GP2Y1010AU0F
  8. Jeu Pong 1D avec Arduino et bande LED WS2812 – Tutoriel DIY pas à pas
  9. Bras robotique Arduino contrôlé par gestes manuels – Construction DIY pas à pas