Robot 4 axes

(Difficulté : **** difficile)

Vidéo Youtube du robot en test sur 2 axes (1)

Vidéo Youtube du robot en test sur 4 axes (2)

Vidéo Youtube du robot avec le boîtier de commande (3)

Vidéo Youtube du robot 4 axes et broche (4)

Vidéo Youtube du robot : fraisage d'un morceau de bois (5)


Vidéo Youtube du robot : mesures de répétabilité (6) :

Ce projet consiste à réaliser un robot 4 axes pour le perçage, fraisage, gravure, laser, plasma, impression 3D...

Il y a 2 grandes familles de robot ou CNC : les linéaires et les rotatifs. (Il y a aussi des robots mixtes).

Les robots linéaires sont plus faciles à réaliser (et à programmer) mais l'objet à usiner est à l'intérieur du robot : le robot est encombrant et/ou l'objet est petit.

Les robots rotatifs où l'objet est extérieur au robot : on peut donc fabriquer des "grands" objets avec un "petit" robot.

Nous souhaitons fabriquer un robot rotatif, 4 axes, économique, "simple" à réaliser sans avoir recours à du fraisage, tournage etc... (Mais une imprimante 3D est quasi indispensable)

Dans un robot, la difficulté, c'est d'avoir à la fois de la précision, de la puissance et de la vitesse (C'est d'ailleurs, ce qui fait le coût des gros robots industriels).

Dans un robot rotatif, le moindre jeu est amplifié quand le robot se déploie et le petit jeu de l'engrenage à peine perceptible sur le premier axe du robot peut se traduire par plus d'un mm de jeu au niveau de l'outil

Le jeu peut être angulaire ou axial...

Nous cherchons donc une solution simple et économique pour avoir un mouvement angulaire précis, jeux minimum, répétitif, sans "backslash", et suffisamment puissant. (Et suffisamment rapide)

Pour ça, il faut abandonner les engrenages. (Et, évidemment, les servos RC). Il existe des solutions sans jeu comme les "Harmonic drive" mais c'est cher.

Il faut, en plus, que ce soit réalisable en atelier avec une perceuse à colonne, un étau et c'est à peu près tout.

Les quatre axes sont à peu près identiques.

Le premier axe est vertical : rotation du robot dans un plan horizontal sur un angle d'environ 240° (peut-être un peu moins).

Le 2e axe est horizontal : rotation du robot dans un plan vertical, angle environ 240° (peut-être un peu moins).

Le 3e axe est // au 2e à une distance de 250 mm.

Le 4e axe est // au 3e à une distance de 250 mm et supporte l'outil.

Par la suite, on pourrait rajouter un 5e axe horizontal qui porterait l'outil.


1ère partie : conception mécanique


Nota : moteur ou moto-réducteur ?

Moteur pas à pas :

Précision : la plus petite poulie fait un diamètre de 12 environ, ce qui fait, avec la couronne de 95, une démultiplication de 8 environ. Le pas angulaire du moteur est de 1.8° soit 0.0314 rad. Le pas angulaire de la couronne est donc de 0.0039 rad. entièrement déployé, le bras du robot fait 2 fois 150 soit 300. Un pas fait donc 0.0039x300 = 1.2 mm.

C'est trop grand : pas assez de précision, il faudrait des micropas, et encore...


Moto-réducteur :

https://www.ebay.fr/itm/1-27-Moteur-Pas-a-Pas-Nema-17-Reducteur-Planetaire-Integre-1-8-Degres-3-9V/293622452249?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20160908105057%26meid%3D7bd99869f5074f3e97f087d4e3da59b8%26pid%3D100675%26rk%3D3%26rkt%3D15%26mehot%3Dnone%26sd%3D164315639045%26itm%3D293622452249%26pmt%3D1%26noa%3D1%26pg%3D2380057&_trksid=p2380057.c100675.m4236&_trkparms=pageci%3A03b2aaf9-fa5b-11ea-86c7-56439af03f6b%7Cparentrq%3Aa5b50c221740ace085d67e28fff97bf0%7Ciid%3A1

(Axe de 8)

Précision : on peut installer une poulie plus grande de 30 dents soit un diamètre de 20 environ, ce qui fait, avec la couronne de 95, une démultiplication de 5 environ. Le pas angulaire du moteur est de 1.8° soit 0.0314 rad. Le pas angulaire du moto-réducteur (1/27) fait 0.0011rad. Le pas angulaire de la couronne est donc de 0.00022 rad. entièrement déployé, le bras du robot fait 2 fois 250 soit 500. Un pas fait donc 0.00022x500 = 0.11 mm.

Environ 1/10 mm : c'est suffisamment petit

Vitesse : on doit pouvoir faire tourner (avec accélération progressive) le moteur autour de 5t/s. Le moto réducteur peut donc tourner à 0.19t/s. la couronne peut donc tourner à 0.038t/s soit 0.244rad/s.

Avec le bras déployé à moitié à 250 mm, pour parcourir 100 mm, il faut donc environ 0.1s ce qui est correct.

Jeu angulaire : sur le moto réducteur, nous avons mesuré un jeu angulaire de 0.007 rad (Ce qui est insuffisant pour la précision du robot). Mais avec la couronne, on démultiplie de 5 soit un jeu de 0.0014. Bras déployé à 500 mm (Le maximum) cela fera un jeu de 0.6 ce qui est correct mais limite. (C'est pour cette raison que nous avons limité les entraxes des axes à 250 (ce qui fait quand même 500 vers l'avant et 500 vers l'arrière). Pour de la précision, il faut donc déployer le bras du robot le moins possible.

Conception :

Un profilé alu de 85x45 e2 (menuiserie alu) découpé reçoit un moto réducteur pas à pas de 42x42 (fixé par 4 vis M4F90x10). Une poulie crantée entraîne une courroie crantée qui entraîne une couronne en ABS imprimé en 3D de 95 de diamètre et 15 de hauteur. Les deux extrémités de la courroie passent par un trou de 6 dans la couronne. Les deux extrémités sont reliées ensemble et reliées à un ressort qui les tire vers l'axe de la couronne pour supprimer le jeu. Le ressort est maintenu par 1 vis écrou M3x20. La couronne est centrée sur un tube acier D30 et appuyée sur un roulement large mais fin 30x42x7 qui est appuyé sur le profilé alu (côté extérieur) (percé à D38) et centré par 3 vis à M3x120° sur le profilé alu. Le même roulement est centré de la même manière sur la face opposée du profilé. Un tube PVC D40 (plomberie), h 41 est inséré à l'intérieur du profilé alu pour éviter la déformation et l'écrasement du profilé.

Le tube acier D30 traverse le profilé alu (D38) et traverse également le 2e profilé alu (percé à D30) à entraîner qui est plaqué sur la couronne. 3 vis écrous M4x15 l'entraînent en rotation. Le 2e profilé alu reçoit aussi Un tube PVC D40 (plomberie), h 41 inséré à l'intérieur du profilé alu pour éviter sa déformation et son écrasement.

2 bouchons ABS imprimés en 3D ferment le tube de 30 et sont traversés par 6 ou 3 tiges filetées M3x120 avec 12 ou 6 écrous M4 qui bloquent le tout. Le trou restant permet le passage des câbles des moteurs et de la broche.

L'ensemble constitue un système rigide sans jeu, avec un minimum de déformation et assez facile à réaliser avec des moyens limités. Il faut juste une fraise à étage pour percer correctement les grands trous dans les profilés (D22, D30, D38) : https://www.ebay.fr/itm/3-12-4-12-4-20-4-32-5-35-4-42mm-HSS-CO-M35-Fraise-Foret-Forage-%C3%A0-%C3%89tage-Drill-Bit/283816787878?ssPageName=STRK%3AMEBIDX%3AIT&var=585243783853&_trksid=p2060353.m2749.l2649

Une excroissance (imprimée avec la couronne), sur le bord de la couronne permet d'actionner un switch (fixé par 2 boulons M3x20) qui permet au système de faire son 0.

Nomenclature (par axe) :

Vue d'un axe en coupe : la courroie et la poulie de sont pas encore crantées, il manque le ressort

Le profilé du haut est découpé pour laisser passer la poulie

Ce système, assez simple à réaliser, permet un angle d'environ 240°, très peu de jeu, relativement rapide, puissant et pas trop lourd.



Améliorations possibles :

Même conception pour les 4 axes :

La couronne du premier axe est fixée au 2e axe par un morceau de profilé intermédiaire.

La couronne du 2e axe est fixée au 3e axe avec un profilé plus long (entraxe 250).

La couronne du 3e axe est fixée au 4e axe avec le même profilé (entraxe 250).

Le 4e axe entraîne un morceau de profilé pour fixer un moteur de la broche par exemple

Les câbles passent à l'intérieur des axes, un câble par moteur avec un connecteur au bout de chaque câble


Vue des 4 axes coupés :

La même vue non coupée :

Vue de l'autre côté :

2ème partie : réalisation mécanique des 4 axes

Vue des pièces imprimées en 3D :

Une bonne partie des morceaux réalisés, prêt à être assemblés :

La base horizontale avec 4 tiges filetées M8 sur laquelle est monté un profilé et un 2e profilé pour le 2e axe

Les 4 moteurs pas à pas et réducteurs (et leurs câbles et connecteurs).

Un moteur est équipé d'une poulie

Les couronnes imprimées en 3D

Le tube PVC à découper

Le tube acier D30 à découper

Les 2 bras en alu percés et peints

Les bouchons imprimés en 3D et peints

(Une fraise à étage est vraiment indispensable pour percer proprement les 17 trous ronds de gros diamètres)

Le robot en cours de montage.

L'axe 1 (vertical) est assemblé :

Le robot est fixé par 4 tiges filetées M8 provisoirement sur une plaque blanche pour les essais.

Le robot en cours de montage avec les roulements à billes et les axes en acier : de gauche à droite :

La couronne est installée.

Vue de l'ensemble : les moteurs ont été rapprochés de l'axe vertical (il reste les trous des anciens emplacements), les courroies sont renforcées.

Il manque les microswitchs et leurs butées, les câbles et la broche.

L'ensemble marche bien. L'idéal serait d'augmenter encore la rigidité au niveau de l'axe vertical : des roulements et un axe encore plus gros.

Une fois les microswitchs et leurs butées et les câbles installés, Nous allons pouvoir faire des essais électriques un peu plus sérieux

Nous avons installé un système provisoire de contrepoids qui diminue (d'un facteur 3 environ) la tension de la courroie de l'axe 2 mais en augmentant la masse, l'inertie et l'encombrement (et en diminuant certains débattements).

Vue du côté opposé avec le contrepoids provisoire, il faudrait remplacer l'acier par du plomb pour gagner en encombrement :

Vue du robot complet avec les 4 câbles moteur reliés aux moteurs et aux switchs et le câble 2 fils de broche

Câble 6 fils :

Noir : + boucle 1

Vert : - boucle 1

Rouge : + boucle 2

Bleu : - boucle 2

Jaune : commun switch

Blanc : contact switch


Le contrepoids a été remplacé par un ressort beaucoup plus léger, moins encombrant, moins d'inertie et plus efficace

Vue de l'autre côté :

La partie électromécanique du robot est à peu près terminée...

Les premiers essais sont concluants : après avoir réglé et testé les switches, le déplacement avec une petite carte de commande de moteur pas à pas, en testant les 4 axes un par un, tout se passe bien. Il faut surveiller les collisions. Reste à voir les vitesses maxi que l'on pourra obtenir en gérant les accélérations et décélérations. Et la résolution, en utilisant des micropas.


3ème partie : électronique

Tests préliminaires (avec l'ancienne électronique) :

Le robot fonctionne très bien, l'amplitude maxi (bras déployé) était de l'ordre de 60 mm, la vitesse maxi entre 10 et 20 mm/s.

Le moteur du robot "chante" comme l'imprimante (peut-être un peu moins fort).

Le mouvement du robot est très lisse et très répétitif : il arrive toujours au même endroit et semble précis. Il faudra faire des mesures géométriques.

Vidéo Youtube du robot en test sur 2 axes (1)

Vidéo Youtube du robot en test sur 4 axes (2)


Nous avons ensuite logé l'alimentation, la carte contrôleur, les cartes moteur, l'alimentation broche et un bouton d'arrêt d'urgence dans un petit boîtier 1/2 rack :


En cas de gros souci, on appuie sur le bouton d'arrêt d'urgence qui coupe l'alimentation de la machine et sert aussi de mise en marche :

La broche CNC et son support ont été installés sur le robot ainsi que son alimentation et le potentiomètre de réglage sur le coffret (avec l'ancienne électronique)

Le poids supplémentaire du moteur nous a conduit a renforcé le système de ressort de compensation des masses :

4ème partie : fabrication de la raquette de commande


Nous avons fabriqué un boîtier portable (100x50), munie d'une roue codeuse à impulsions Ø60. La raquette est reliée par un câble souple au rack de commande pour piloter manuellement et finement chacun des 4 axes.

La raquette est munie de :

- Un bouton poussoir rouge arrêt d'urgence avec une Led rouge

- Un commutateur rotatif 4 positions pour choisir l'axe à commander

- Un commutateur rotatif à 4 positions pour choisir la vitesse : 0.1, 1, 10 ,100

- Une Led rouge sous tension

- Une roue codeuse Ø60 100 impulsions/tour pour des déplacements précis

L'intérieur de la raquette (avant câblage) (avec l'arrêt d'urgence provisoire) :

L'intérieur de la raquette câblée (avec l'arrêt d'urgence provisoire) :

Une Led rouge (peu visible) comme voyant et pour indiquer le 0 de la roue codeuse

Connecteur DB15 femelle : nous avons besoin de :

Masse, alim, AB roue, 4 pour le commutateur d'axe, 3 ou 4 pour le commutateur vitesse, 2 arrêt urgence soit 13 contacts mini.

Nous avons choisi un DB15 à 2 rangées : on trouve des cordons imprimante DB15 mâle-DB15 femelle connectés broche à broche.

Les câbles vidéo DB15 3 rangés (mâle - mâle) n'ont que 12 fils ce qui est insuffisant.

Brochage :

1 (noir) Masse

2 (rouge) Alim 5V (71 mA)

3 (vert) A roue codeuse

4 (bleu) B roue codeuse

5 (marron) X

6 (gris-orange) Y

7 (gris-noir) Z

8 (blanc) axe 4

9 (jaune-violet) 0.1

10 (gris-bleu) 1

11 gris-violet) 10

12 (jaune) 100 en principe NC

13 NC

14 (blanc) arrêt d'urgence

15 (blanc-orange) arrêt urgence

L'extérieur du boîtier (100x50) de la raquette (avec l'arrêt d'urgence définitif) :

- Les boutons ont été imprimés en 3D

- La led rouge n'est pas visible

5ème partie : carte contrôleur, TB6600 et Mach3


Pour la commande du robot, nous avons utilisé un kit contrôleur CNC fourni avec le très populaire logiciel de CNC Mach 3.

Mach3 est un logiciel CNC très complet mais il faut du temps pour le maîtriser. Il permet, manuellement ou avec un fichier GCODE, de piloter une CNC XYZ....

Mach 3 permet de commander (ici via un cordon USB imprimante fourni) le robot.

Nous avons commandé un kit CNC aliexpress environ 50 € :

Le kit comprend la carte contrôleur (85x80X~10, entraxe M3 (71x69.4), reliée au PC, les 4 TB6600 (81x50x29) connectés au moteur pas à pas, le cordon USB (imprimante) et les pilotes et logiciels dont Mach3.

La carte contrôleur a quatre connecteurs :

Ce kit est compatible Windows USB et contient dans un microCD : le logiciel de CFAO Mach3 et les fichiers de config.


Vue avant du rack de commande sans le dessus :

A gauche, la raquette de commande (non connectée).

La face avant du rack : de gauche à droite : le voyant de marche, l'interrupteur de broche (Manuel, arrêt, automatique), le connecteur USB,

Le potentiomètre de vitesse de broche, le connecteur de la raquette et l'arrêt d'urgence.

A l'intérieur : de gauche à droite, l'embase secteur, l'alimentation moteur, on voit à peine un bornier de la carte contrôleur, l'alimentation de broche

A l'arrière, les 4 TB6600 reliés aux moteurs des 4 axes.

Vue arrière du rack de commande sans dessus ni capot arrière :

Les 4 TB6600 reliés provisoirement directement aux moteurs.

Les 0 du moteur ne sont pas encore reliés. La broche est provisoirement directement reliée sur l'alimentation

Vue arrière du rack de commande avec le capot arrière (et la raquette) :

Un profilé en aluminium sert de capot arrière. 4 embases femelle DB9 sont reliées aux 4 sorties des TB6600. (4 fils du moteur + 2 fils pour le switch du 0)

Une embase femelle DB9 montée verticalement à côté de l'embase secteur permet l'alimentation de la broche moteur.

Ainsi, on peut déconnecter entièrement la CNC de son boîtier de commande.

Cela permettra aussi d'utiliser ce même boîtier pour piloter une CNC XYZ cartésienne future...

Le rack et la raquette :

Recette :

Nota : l'onglet Toolpath de Mach3 permet de suivre la trajectoire de l'outil

Nota : Tous les réglages sont sauvegardés dans le fichier Mach3Mill.XML. Il est recommandé d'en faire une sauvegarde.


A refaire à chaque mise sous tension :

Liste de sites web avec des infos pour Mach3 :

Mach3fr fraisage manuel de l'utilisateur



Tout ça marche bien, les mouvements sont relativement rapides et précis. Il faut optimiser tous les réglages de Mach3 (Il y en a pas mal...)


Vidéo Youtube du robot 4 axes et broche (4)

4ème partie : logiciel PC

Nous utilisons la version gratuite (réservée aux amateurs) de Fusion 360, le logiciel de CFAO d'Autodesk pour la conception 3D.

Attention :  la version gratuite est limitée : certaines opérations : Orientation d'outil, Enrouler le parcours d'outil... les vitesses élevées... sont réservées à la version payante.

Fusion 360 permet la conception d'objet en 3 dimensions. (Extrusion, Révolution, Soustraction...) et permet la fabrication de ces objets : par exemple, en fraisage, on définit le bloc dans lequel on veut découper notre pièce, l'axe de l'outil...

On peut découper en 2D (contour d'une tôle ou d'une planche). On peut sélectionner un outil (métrique ou pouce) : diamètre...

On définit la hauteur du bas du modèle.

On définit la profondeur des passes.


Exemple de conception :

Le code machine est généré !


Nous rappelons que le code machine est du G-code et qu'il peut être facilement consulté ou modifié avec un éditeur de texte comme Notepad.

Rappels sur le Gcode (Mach3) :


Attention : Le code machine a été généré pour une machine Artsoft MachMill3.

Il reste à créer ou adapter un fichier de configuration de post-processeur spécifiquement pour notre machine à quatre axes rotatifs...

C'est un fichier javascript avec une extension CPS

On peut charger des fichiers de configuration de post-processeurs de CNC existant à https://cam.autodesk.com/hsmposts.

Voir aussi https://robodk.com/doc/en/Post-Processors.html#PostProcessor


5ème partie : les essais


Le premier essai : usinage avec une fraise de Ø3 d'un petit morceau de bois :

.

Vidéo Youtube du robot : fraisage d'un morceau de bois (5) :

Vidéo Youtube du robot : mesures de répétabilité (6) :

Le robot déplace ses 4 axes pour revenir au point de départ pour appuyer sur un comparateur 6 fois de suite :

Résultats mesurés sur le comparateur : 0.19, 0.13, 0.14, 0.14, 0.15, 0.13

soit un écart : +0.03, -0.03, -0.02, -0.02, -0.01, -0.03. Dans ces conditions : erreur maxi : 0.03 mm.

Nota : Le ressort de compensation de poids de l'axe Y a été amélioré : plus gros et plus puissant.

.

Problème avec Mach3 et les switches "home" : lorsque Mach3 atteint le switch, il repart un bref instant en arrière pour retourner sur le switch en vitesse lente.

Avec nos TB6600 réglé à 16 micropas (pour plus de précision) Mach3, après avoir atteint le switch, ne recule pas assez longtemps et la procédure "home" s'arrête là.

A priori, on ne peut pas régler cette tempo dans Mach3. (Si quelqu'un connaît une solution...)

Il y a pourtant beaucoup de réglages dans Mach3...

Deux solutions : modifier les switches.

Ou diminuer les micropas sur les TB6600, nous les avons réglés à 4 au lieu de 16 : on gagne en vitesse, on perd en précision mais l'initialisation fonctionne.

(Du coup nous avons diminué, dans la config Mach3, les accélérations et vitesses maxi moteur pour ne pas perdre de pas et être compatible avec l'inertie de notre robot.

Sur Mach3, clic sur Ref All Home :

L'axe Z tourne jusqu'à sa butée puis revient légèrement, retourne à la butée en vitesse lente et revient légèrement et met le Y machine à 0.

(Ce sont donc les coordonnées machine qui sont à 0)

Puis idem pour l'axe Y, puis l'axe X, puis l'axe 4.

On peut ensuite déplacer les X, Y, Z, A du robot pour régler le 0 utilisateur.

Et enfin lancer le Gcode d'usinage.


That's All, folks !

Écrivez-nous : 


Créé le 26/09/2020

A jour le 20/03/2023