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

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Présentation

Dans ce tutoriel, nous allons apprendre à construire un robot SCARA basé sur Arduino. Je vous montrerai tout le processus de construction, de la conception du robot au développement de notre propre interface graphique utilisateur (GUI) pour le contrôler.

Vous pouvez regarder la vidéo ci-dessous ou lire le tutoriel écrit.

Vue d'ensemble

Le robot a 4 degrés de liberté et est entraîné par 4 moteurs pas-à-pas NEMA 17. De plus, il a un petit servomoteur pour contrôler l'effecteur final (la pince du robot dans ce cas). Le cerveau de ce robot SCARA est une carte Arduino UNO associée à un shield CNC et quatre drivers pas-à-pas A4988 pour contrôler les moteurs.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

En utilisant l'environnement de développement Processing, j'ai créé une interface graphique (GUI) qui propose à la fois le contrôle par cinématique directe et inverse. Avec la cinématique directe, on peut déplacer manuellement chaque articulation pour obtenir la position désirée. Avec les curseurs à gauche, on définit l'angle de chaque articulation. La position finale de l'effecteur final (valeurs X, Y, Z) est calculée et affichée à droite de l'écran.

D'un autre côté, avec la cinématique inverse, on définit la position désirée de l'effecteur final, et le programme calcule automatiquement les angles de chaque articulation pour que le robot atteigne cette position.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

J'ai fait le programme pour qu'on puisse utiliser les deux méthodes en même temps, sur le même écran. Les angles des articulations ainsi que les valeurs X, Y, Z de l'effecteur final sont connectés et toujours affichés.

Bien sûr, le robot peut aussi fonctionner automatiquement. Avec le bouton « Sauvegarder » (Save), on peut enregistrer chaque mouvement ou position du robot. Ensuite, en appuyant sur « Exécuter » (Run), le robot exécute les mouvements stockés en boucle, du premier au dernier, encore et encore. On peut aussi régler la vitesse et l'accélération depuis l'interface.

Modèle 3D du robot SCARA

Commençons par regarder le modèle 3D.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

J'ai conçu ce robot SCARA avec 3DEXPERIENCE SOLIDWORKS, qui sont aussi le sponsor de cette vidéo.

3DEXPERIENCE SOLIDWORKS est essentiellement SOLIDWORKS avec capacités cloud via la plateforme 3DEXPERIENCE. Tout fonctionne dans le cloud, donc vous ou votre équipe pouvez accéder aux données ou modèles à tout moment, depuis n'importe où. La plateforme inclut aussi de nombreuses apps de productivité et gestion.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Par exemple, le Planificateur de projet est excellent pour organiser vos tâches, fixer des échéances et suivre l'avancement. Avec l'app 3D Markup, vous pouvez visualiser, explorer et annoter les modèles depuis n'importe quel appareil : ordinateur, tablette ou smartphone.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Il y a aussi un modéliseur 3D cloud séparé appelé SOLIDWORKS xDesign, qui tourne dans votre navigateur. Il peut être utilisé avec Solidworks ou seul, super pour modéliser n'importe où, n'importe quand, sur n'importe quel appareil.

Merci à Solidworks pour le sponsoring de contenu éducatif comme celui-ci. Si vous voulez savoir si SOLIDWORKS et la plateforme 3DEXPERIENCE peuvent vous convenir, consultez les liens ci-dessous.

Essayer 3DEXPERIENCE gratuitement avec mon lien spécial : www.solidworks.com/HTMTryNow

En savoir plus sur 3DEXPERIENCE SOLIDWORKS : www.solidworks.com/HTMLearnMore

Revenons au modèle et expliquons comment j'en suis arrivé à ce design. Mon but était que la plupart des pièces soient imprimables en 3D. Tout ce que vous voyez ici peut être imprimé en 3D même sur une imprimante avec un plateau plus petit. Les poulies GT2 sont aussi imprimables en 3D. J'ai utilisé du design paramétrique pour les faire, donc si besoin on peut facilement changer leurs tailles. Il suffit de changer le nombre de dents, et toutes les dimensions se mettent à jour automatiquement pour faire la poulie de la bonne taille.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Pour la première articulation, on a une réduction de 20:1, obtenue en deux étapes avec ces poulies conçues sur mesure. Les deux courroies GT2 utilisées ici sont en boucle fermée de 200 mm et 300 mm. Les articulations du robot sont composées de deux roulements à butée et un roulement radial.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Pour la seconde articulation, on a une réduction de 16:1 de la même façon, et la troisième a une réduction de 4:1 avec une seule étape. Les articulations sont creuses, pour faire passer les fils des moteurs et micro-interrupteurs. Pour chaque courroie, il y a des fentes pour attacher des poulies folles pour les tendre.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

La pince du robot est entraînée par un servomoteur MG996R et on peut facilement changer les mors pour différentes tailles de prise. L'axe Z est entraîné par une vis de guidage de 8 mm, tandis que tout l'assemblage du bras glisse sur quatre tiges lisses de 10 mm et roulements à billes linéaires. La hauteur du robot dépend simplement de la longueur des tiges, ici 40 cm. La vis de guidage doit être 2 cm plus courte pour s'adapter, sinon le moteur Z peut être surélevé de 2 cm avec des écrous écartés.

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

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

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

Fichiers STL pour l'impression 3D :

Impression 3D des pièces du robot

Très bien, passons à l'impression 3D des pièces. J'ai utilisé mon Creality CR-10 pour imprimer toutes les pièces, une excellente imprimante à prix abordable. Comme mentionné, les pièces sont conçues pour tenir sur une imprimante plus petite, comme l'Ender 3.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Pour la plupart des pièces, j'ai utilisé du PLA+ (le bleu), et du PLA normal pour les poulies et la pince. Cela m'a pris environ 120 heures à 60 mm/s. La base était la plus grosse pièce, environ 32 heures. En augmentant la vitesse d'impression, on peut aller plus vite.

Voir aussi : Meilleures imprimantes 3D pour débutants et makers [Mise à jour 2021]

Voici toutes les pièces imprimées en 3D.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Note rapide : j'ai imprimé toutes les pièces avec une expansion horizontale de –0,1 mm activée dans le trancheur. Cela permet aux pièces d'avoir des dimensions plus précises et de mieux s'ajuster aux autres pièces mécaniques comme les roulements, tiges et boulons.

Assemblage du robot

Voici la liste des composants nécessaires pour assembler ce robot SCARA Arduino. La liste des composants électroniques se trouve plus bas dans la section schéma de câblage.

Voici les tailles de boulons requises :

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

On commence l'assemblage par la base. Ici, on insère d'abord un roulement radial à billes de 35 mm intérieur et 47 mm extérieur.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ensuite, le premier roulement à butée de 40 mm intérieur et 60 mm extérieur. Ce roulement sera entre la poulie et la base.

De l'autre côté de la base, on utilise un autre roulement à butée de même taille avec le coupleur d'articulation.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Puis on couple la poulie et la partie supérieure avec quatre boulons M4 de 55 mm. Il faut des écrous auto-freinants et les serrer correctement pour que l'articulation soit solide tout en tournant librement.

Ensuite, il faut installer la poulie intermédiaire. Elle est associée à la poulie d'articulation par une courroie GT2 de 300 mm. Pour l'installer, on utilise deux roulements 608, un en haut et un en bas de la base. Puis avec un boulon M8 de 45 mm, une rondelle et un écrou auto-freinant, on fixe la poulie.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ensuite, il faut installer le moteur pas-à-pas pour cette articulation. Il sera associé à la poulie intermédiaire par une courroie de 200 mm. Pour le fixer à la base, il faut quatre boulons M3.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Avant de serrer les boulons, il faut tendre la courroie au maximum. Note rapide : j'ai en fait remplacé le boulon M8 de la poulie intermédiaire en mettant sa tête en bas pour qu'il rentre dans la base.

À ce stade, on doit vérifier si les courroies sont assez tendues. Sinon, on peut utiliser des poulies folles pour mieux les tendre. Ici, j'utilise un boulon M5 de 35 mm et des écrous pour faire la poulie de tension.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Elle s'attache sur les fentes des deux côtés de la courroie pour la tendre autant qu'on veut. J'ai fini par tendre la courroie des deux côtés. Avec cela, la première articulation est terminée.

J'ai continué avec l'installation du micro-interrupteur pour cette articulation. Avant de le fixer, j'ai déjà soudé les fils dessus, car c'est un peu serré pour le faire après. Il faut un boulon M3 de 20 mm et un écrou pour fixer le micro-interrupteur.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Le coupleur d'articulation passe si près de l'interrupteur que j'ai fini par utiliser un seul boulon pour le fixer. Sur l'autre trou, j'ai juste mis un boulon plus court et l'ai collé en dessous. Ainsi, l'interrupteur est assez sécurisé et fonctionne bien.

Ok, maintenant on commence l'assemblage de l'axe Z. D'abord, sur le coupleur d'articulation, on fixe la plaque inférieure de l'axe Z.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Au-dessus, on fixe les quatre colliers pour les tiges lisses. Puis on insère les tiges en place. Elles doivent s'ajuster serré et aller jusqu'à la pièce du coupleur d'articulation. On peut alors serrer les tiges avec les colliers et des boulons/écrous M4.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

À ce point, il faut insérer le roulement pour la vis de guidage. Pour finir cette section, on glisse un simple couvercle qui cache tout et donne un aspect plus propre au robot.

Ensuite, on passe à l'assemblage du premier bras. Le bras sera fait de deux pièces boulonnées ensemble. La première pièce est où on installe les roulements linéaires qui glisseront sur les tiges lisses. Les insérer peut être un peu dur car ils ajustent serré.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Cela dépend de la précision de votre imprimante. Je suggère donc d'utiliser la fonction Expansion horizontale à l'impression et de l'ajuster selon votre imprimante. Dans mon cas, je n'ai pas pu faire rentrer deux roulements jusqu'en bas, mais ce n'est pas grave.

Ok, maintenant on assemble les deux parties du bras. Pour cela, on utilise quatre boulons M5 de 25 mm.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ensuite, on installe le second moteur pas-à-pas. Ici, j'utilise une poulie GT2 imprimée en 3D avec 20 dents. Je l'ai faite avec le design paramétrique mentionné et ça marche bien. Il faut aussi fixer l'écrou de la vis de guidage en place.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ensuite, on installe les courroies et poulies pour la seconde articulation. Il faut une courroie de 400 mm et une de 300 mm. La procédure est la même que pour la première articulation.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Pour la seconde et la troisième articulation, on utilise des roulements plus petits que pour la première. Le roulement radial a 30 mm intérieur et 42 mm extérieur, et le roulement à butée 35 mm intérieur et 52 mm extérieur.

Avant d'installer le coupleur de la seconde articulation, il faut insérer six boulons M4 de 20 mm dans les fentes hexagonales.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ils serviront à fixer le second bras au coupleur. Si besoin, pour tendre les courroies, on peut utiliser la même méthode avec poulies folles. Finalement, j'ai fixé le second micro-interrupteur en place et l'assemblage du bras n°1 était fini.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

J'ai continué en attachant le second bras au coupleur d'articulation. On utilise les boulons du coupleur qu'on a installés précédemment pour fixer la partie supérieure du second bras.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

À ce stade, je voulais tester le jeu (backlash) des articulations. Je m'attendais à un peu de jeu à cause des courroies, mais il y avait en fait beaucoup plus de jeu entre les deux parties des articulations. J'ai remarqué que le problème était que les trous pour les boulons sont légèrement plus grands que les boulons eux-mêmes. Pour résoudre, il faut un ajustement plus serré entre boulons et trous.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Dans mon cas, j'ai alésé les trous avec un foret de 4,5 mm et utilisé des boulons M5 au lieu de M4 pour fixer les deux parties de l'articulation. Cependant, j'ai mis à jour le modèle 3D pour que les trous fassent 3,5 mm et vous puissiez utiliser des boulons M4. J'ai aussi refait la première articulation pareil. Maintenant, le jeu dans les articulations est presque parti, sauf le petit backlash des courroies.

Très bien, maintenant on continue avec l'assemblage du second bras. Ici, d'abord on installe le moteur pas-à-pas pour la troisième articulation.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

J'utilise un moteur pas-à-pas plus petit ici pour que le bras soit plus léger. C'est quand même un NEMA 17 mais avec une longueur plus courte de 24 cm.

Encore la même procédure pour installer les courroies et la poulie de la troisième articulation, sauf qu'ici on utilise une seule étape de réduction avec une courroie de 400 mm. Ensuite, avant d'attacher cette partie inférieure du bras à la supérieure, il faut connecter le moteur et le micro-interrupteur et faire passer leurs fils par la seconde articulation.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

À ce point, il faut aussi insérer les fils pour l'effecteur final. Dans mon cas, j'ai inséré un câble 4 fils d'un moteur pas-à-pas pour piloter le servomoteur de ma pince qui en nécessite 3.

Ensuite, il faut insérer des écrous M4 dans les fentes du bras supérieur pour fixer la partie inférieure.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Juste avant de les assembler, on doit faire passer les fils sous ces crochets pour qu'ils restent loin des pièces mobiles.

Les fils sortant de la seconde articulation peuvent être attrapés par les écrous sur la poulie, donc j'ai fait un simple support de fils pour les écarter.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

On doit arranger les fils pour qu'ils passent d'un côté du bras pour éviter le contact avec les pièces mobiles. Finalement, on insère le couvercle du premier bras.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Le couvercle est fixé au bras par un joint à clipser (snap-fit). Avec cela, l'assemblage des bras est terminé.

Ensuite, on insère tout cet assemblage sur les tiges de l'axe Z.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Puis il faut préparer la plaque supérieure de l'axe Z qui tiendra les extrémités supérieures des tiges. Ici, on installe d'abord le micro-interrupteur pour l'axe Z, et on fixe les quatre colliers sur la plaque.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Avant de mettre la plaque supérieure, j'ai d'abord inséré un simple couvercle comme celui du bas, pour cacher les colliers, boulons et micro-interrupteur. Puis on insère et serre la plaque supérieure sur les tiges avec les colliers.

Ensuite, il faut insérer la vis de guidage en place.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Celle que j'avais était un peu plus longue, donc je l'ai coupée à 38 cm avec une scie à métaux. Ensuite, on fixe le quatrième moteur pas-à-pas en place. Il faut un coupleur d'arbre 5 mm vers 8 mm pour connecter le moteur à la vis de guidage.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Finalement, on fait passer les fils par le couvercle et on le fixe à la plaque supérieure avec deux boulons.

Ok, maintenant on fait un peu de gestion de câbles. J'ai utilisé des gaines pour regrouper les fils et nettoyer. J'ai aussi utilisé des colliers de serrage.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Avant de mettre les fils dans les gaines, c'est une bonne idée de les marquer pour ne rien brancher de travers.

Il reste à faire l'effecteur final du robot. On peut en fait faire et attacher n'importe quel type d'effecteur. J'ai choisi une pince simple entraînée par un servomoteur MG996R. La pince est basée sur deux tiges de 6 mm sur lesquelles les deux côtés coulissent.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Les deux côtés coulissants sont connectés au servo avec un bras de servo, des liens imprimés en 3D et boulons/écrous M3. J'ai utilisé des boulons/écrous M3 pour tout l'assemblage de la pince. Vous trouverez la liste complète des boulons/écrous sur l'article du site. L'espace pour serrer est assez étroit, il faut de la patience pour assembler certaines pièces.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Ce qui est bien avec ce design, c'est qu'on peut facilement changer les mors de la pince. Ils peuvent être plus larges, plus étroits ou avoir une forme spécifique. On fixe la pince au bras avec des boulons/écrous M4.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Finalement, on connecte le servomoteur aux fils installés précédemment.

Et voilà, notre bras robot SCARA est complètement assemblé. Il reste à connecter les composants électroniques.

Schéma de câblage du robot SCARA

Nous utiliserons une carte Arduino UNO avec un shield CNC et quatre drivers pas-à-pas A4988.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Bien que ce soit un robot et que ça semble plus compliqué, c'est toute l'électronique nécessaire. Notons qu'au lieu de l'Arduino UNO, on pourrait aussi utiliser un Arduino MEGA avec une carte RAMPS de contrôle d'imprimante 3D.

Néanmoins, j'ai imprimé en 3D un boîtier pour l'Arduino UNO qui se fixe facilement sur la base du robot. J'utiliserai une résolution de quart de pas pour piloter les pas-à-pas, donc j'ai mis des jumpers sur les broches appropriées. Maintenant, on connecte les moteurs pas-à-pas et les micro-interrupteurs au shield CNC.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Voici le schéma de câblage de ce robot SCARA et comment tout doit être connecté.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

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

Pour alimenter le robot, il faut une alimentation 12V capable de fournir minimum 4A, mais je suggérerais 12V 6A. Bien sûr, cela dépend de comment la limitation de courant des drivers est réglée, et je suggérerais de la mettre au niveau le plus bas possible.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

À la fin, j'ai coincé tous les fils dans le boîtier, en essayant de laisser les radiateurs des drivers libres, et mis le couvercle.

Finalisation de l'assemblage

Le robot SCARA est maintenant terminé, il faut fixer la base à quelque chose. Pour cela, j'utiliserai une pièce de bois de 20 mm d'épaisseur. Sous la base du robot, on a 12 trous pour la fixer. J'ai imprimé un dessin de la base du robot et m'en suis servi pour faire les trous dans le bois.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

En dessous, je les ai fraisés car j'utiliserai des boulons à tête plate pour qu'ils soient affleurants avec la surface du bois. J'ai inséré des écrous M4 dans les fentes de la base et fixé la base en bois à la base du robot.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Idéalement, pour fixer le robot en place, on pourrait le boulonner à la table ou j'utiliserai simplement des serre-joints.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Voilà, notre robot SCARA est maintenant complètement fini. Ce qui reste dans cette vidéo, c'est de voir comment il fonctionne.

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

Comment fonctionne le robot SCARA

Il y a deux méthodes pour contrôler les robots en termes de positionnement et orientation : la cinématique directe et la cinématique inverse.

La cinématique directe sert à trouver la position et l'orientation de l'effecteur final à partir des angles d'articulation donnés.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

La cinématique inverse sert à trouver les angles d'articulation pour une position donnée de l'effecteur final. Cette méthode a plus de sens en robotique car la plupart du temps on veut que le robot positionne son outil à un endroit particulier ou à des coordonnées X, Y, Z précises.

Avec la cinématique inverse, on calcule les angles d'articulation selon les coordonnées données.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Les équations que j'utiliserai pour la cinématique directe et inverse viennent des règles et formules de trigonométrie.

Programmation du robot SCARA – Code Arduino et Processing

Au bas de l'article, vous trouverez les codes Arduino et Processing complets.

Voici à quoi ressemblent les équations dans le code, écrit dans l'environnement Processing.

// CINÉMATIQUE DIRECTE void forwardKinematics() { float theta1F = theta1 * PI / 180; // degrés en radians float theta2F = theta2 * PI / 180; xP = round(L1 * cos(theta1F) + L2 * cos(theta1F + theta2F)); yP = round(L1 * sin(theta1F) + L2 * sin(theta1F + theta2F)); }Langage : Arduino (arduino)

Avec la cinématique directe, on calcule les valeurs X et Y de l'effecteur final selon les angles d'articulation des deux bras (theta1 et theta2) et leurs longueurs L1 et L2.

Avec la cinématique inverse, on calcule les angles d'articulation (theta2 et theta1) selon la position donnée ou les coordonnées X et Y.

// CINÉMATIQUE INVERSE void inverseKinematics(float x, float y) { theta2 = acos((sq(x) + sq(y) - sq(L1) - sq(L2)) / (2 * L1 * L2)); if (x < 0 & y < 0) { theta2 = (-1) * theta2; } theta1 = atan(x / y) - atan((L2 * sin(theta2)) / (L1 + L2 * cos(theta2))); theta2 = (-1) * theta2 * 180 / PI; theta1 = theta1 * 180 / PI; // Ajustement des angles selon le quadrant de la coordonnée finale x,y if (x >= 0 & y >= 0) { // 1er quadrant theta1 = 90 - theta1; } if (x < 0 & y > 0) { // 2e quadrant theta1 = 90 - theta1; } if (x < 0 & y < 0) { // 3e quadrant theta1 = 270 - theta1; phi = 270 - theta1 - theta2; phi = (-1) * phi; } if (x > 0 & y < 0) { // 4e quadrant theta1 = -90 - theta1; } if (x < 0 & y == 0) { theta1 = 270 + theta1; } // Calculer l'angle "phi" pour que la pince soit parallèle à l'axe X phi = 90 + theta1 + theta2; phi = (-1) * phi; // Ajustement selon le quadrant if (x < 0 & y < 0) { // 3e quadrant phi = 270 - theta1 - theta2; } if (abs(phi) > 165) { phi = 180 + phi; } theta1=round(theta1); theta2=round(theta2); phi=round(phi); cp5.getController("j1Slider").setValue(theta1); cp5.getController("j2Slider").setValue(theta2); cp5.getController("j3Slider").setValue(phi); cp5.getController("zSlider").setValue(zP); }Langage : Arduino (arduino)

Selon le quadrant où la position est définie, on fait des ajustements aux angles d'articulation avec ces instructions « if ». Pour cette configuration, on calcule la cinématique inverse avec seulement deux liaisons. Le troisième angle, que j'appelle « phi », sert à définir l'orientation de la pince.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

L'interface graphique est faite avec la bibliothèque controlP5 pour l'IDE Processing. Avec cette bibliothèque, on crée facilement boutons, curseurs, champs texte, etc.

Par exemple, on utilise les curseurs à gauche pour contrôler les angles d'articulation, et les champs texte pour entrer la position où on veut que le robot aille. À chaque action, on envoie des données à l'Arduino via le port série.

if (gripperValuePrevious != gripperValue) { if (activeIK == false) { // Vérifier si mode cinématique inverse actif, exécuter cinématique directe seulement si inverse est désactivé gripperAdd = round(cp5.getController("gripperValue").getValue()); gripperValue=gripperAdd+50; updateData(); println(data); myPort.write(data); } }Langage : Arduino (arduino)

Ces données incluent les angles d'articulation, la valeur de la pince, vitesse, accélération, et indicateurs pour savoir si on a cliqué sur sauvegarder ou exécuter.

public void updateData() { data = str(saveStatus) +","+str(runStatus) +","+str(round(cp5.getController("j1Slider").getValue())) +","+str(round(cp5.getController("j2Slider").getValue())) +","+str(round(cp5.getController("j3Slider").getValue())) +","+str(round(cp5.getController("zSlider").getValue())) +","+str(gripperValue) +","+str(speedSlider) +","+str(accelerationSlider); }Langage : Arduino (arduino)

Toutes ces données arrivent comme une longue chaîne (String) à l'Arduino. Ici, il faut d'abord extraire les données de cette chaîne et les mettre dans des variables séparées.

if (Serial.available()) { content = Serial.readString(); // Lire les données entrantes de Processing // Extraire les données de la chaîne et mettre dans variables entières séparées (tableau data[]) for (int i = 0; i < 10; i++) { int index = content.indexOf(","); // localiser la première "," data[i] = atol(content.substring(0, index).c_str()); // Extraire le nombre du début à la "," content = content.substring(index + 1); // Enlever le nombre de la chaîne } /* data[0] - statut bouton SAUVEGARDER data[1] - statut bouton EXÉCUTER data[2] - Angle articulation 1 data[3] - Angle articulation 2 data[4] - Angle articulation 3 data[5] - Position Z data[6] - Valeur pince data[7] - Valeur vitesse data[8] - Valeur accélération */Langage : Arduino (arduino)

Maintenant avec ces variables, on peut agir avec le robot. Par exemple, si on appuie sur SAUVEGARDER, on stocke les valeurs d'angles actuelles dans un tableau séparé.

// Si bouton SAUVEGARDER pressé, stocker les données dans les tableaux appropriés if (data[0] == 1) { theta1Array[positionsCounter] = data[2] * theta1AngleToSteps; // stocker en pas = angles * variable angleToSteps theta2Array[positionsCounter] = data[3] * theta2AngleToSteps; phiArray[positionsCounter] = data[4] * phiAngleToSteps; zArray[positionsCounter] = data[5] * zDistanceToSteps; gripperArray[positionsCounter] = data[6]; positionsCounter++; }Langage : Arduino (arduino)

Si on clique sur EXÉCUTER, on exécute les pas stockés, etc.

Pour contrôler les moteurs pas-à-pas, j'ai utilisé la bibliothèque AccelStepper. Bien que ce soit une excellente bibliothèque pour contrôler plusieurs pas-à-pas en même temps, elle a des limites pour un robot comme celui-ci. Avec plusieurs moteurs, la bibliothèque ne peut pas implémenter l'accélération et la décélération, importantes pour un fonctionnement fluide.

stepper1.moveTo(stepper1Position); stepper2.moveTo(stepper2Position); stepper3.moveTo(stepper3Position); stepper4.moveTo(stepper4Position); while (stepper1.currentPosition() != stepper1Position || stepper2.currentPosition() != stepper2Position || stepper3.currentPosition() != stepper3Position || stepper4.currentPosition() != stepper4Position) { stepper1.run(); stepper2.run(); stepper3.run(); stepper4.run(); }Langage : Arduino (arduino)

J'ai quand même réussi à implémenter accélération et décélération, mais elles ne sont pas aussi fluides que je le voulais.

Voici les codes Arduino et Processing complets pour ce projet de robot SCARA Arduino :

Conclusion

Finalement, une fois le code téléversé sur l'Arduino, on lance le programme Processing, on connecte l'alimentation et le robot SCARA commence à bouger vers sa position home.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

À partir de là, on peut faire ce qu'on veut. On peut jouer manuellement ou le mettre en automatique. Bien sûr, on peut attacher n'importe quel effecteur final et faire des trucs cool. Par exemple, on peut même attacher une tête d'impression 3D et faire du robot une imprimante 3D, ou une tête laser pour en faire une découpeuse laser. Je prévois d'essayer ces idées, alors abonnez-vous pour ne pas les rater.

Avant de finir, quelques notes sur ce projet. J'ai trouvé le robot moins rigide que prévu.

Construire un robot SCARA DIY avec Arduino – Guide étape par étape

Le problème est que presque tout le robot SCARA, l'axe Z et les bras sont supportés seulement par la première articulation. Tout le poids et les forces d'inertie générées en bougeant créent une contrainte importante sur la base où est la première articulation, et comme c'est du plastique, ça plie un peu. Les courroies ne sont pas sans jeu non plus, ce qui réduit aussi la rigidité. Cependant, je pense que le projet global est assez bon pour apprendre comment fonctionnent les robots SCARA et vous donner le courage d'en construire un vous-même.

N'hésitez pas à poser vos questions dans les commentaires et consultez ma collection de projets Arduino.

Processus de fabrication

  1. Construire des capteurs d'objets personnalisés pour LEGO Mindstorms EV3 : Yeux DIY basés sur la lumière
  2. Construire un robot piloté par Internet avec streaming vidéo Arduino & Raspberry Pi
  3. Livre blanc : Débloquez votre potentiel d'automatisation — 7 étapes éprouvées vers projets robotiques à faible risque et haut rendement
  4. Construire Sauron : Robot semi-humanoïde – Guide complet Arduino Mega 2560
  5. Moniteur d'énergie Arduino & Data Logger fiable – Guide complet (Dr. Wattson + carte SD)
  6. Construire une télécommande IR universelle avec Arduino : Guide étape par étape
  7. Choisir le robot SCARA idéal : guide complet pour les fabricants
  8. LittleArm 2C : Bras Robot 3D Imprimé Arduino pour Éducation STEM
  9. 7 étapes pour construire une feuille de route d'automatisation réussie