Bras Robot Educatif

De VoWiki
Aller à la navigation Aller à la recherche
BRE fusionCapture v1CompleteGarde.jpg
Conception bras robot SERVO13KG

AccueilNos Projets

Nom de code VOR-015 6DOF Educationnal Robotic Arm
Bras Robotique Éducatif à 6 Degrés De Liberté


Association VoRoBoTics

Date : 09/05/2017

Auteur : J.SORANZO

Relecteur :

Thème: robotique, bras, modélisation3D, ARDUINO, SERVO

Projet : VOR015 - Bras Robotique Educatif - servo 20Kg

Problématique

C’est en voyant fonctionner le bras fabriqué par Gilles (cf. projet sur le wiki plus bas dans webographie) à partir d’un projet Thingivers lors d’une de nos démonstrations à la ludothèque de Marine que ça ma donné envie d’en faire un.


BRE IMG 1045 preview featured.JPG BRE Brasgillesbras.JPG

J trouvais juste que le sien à base de petits servo moteur dit 9g me parassait vraiment trop faible. Incapable de soulever la moindre charge. J'ai voulu savoir ce que cela pourrait donner avec des servo moteur un poil plus costauds sans poiur autant taper dans les Dynamixel à 500€ pièces

BRE servo20kg.JPGMini cahier des charges

Design sous fusion 360

Utilisation de servos moyenne gamme pour le modélisme disponibles chez Banggood

Réutilisation de la même électronique que sur le projet à Gilles pour pouvoir réutiliser son code.


Caractéristiques des servomoteur

Etude des caractéristiques des servomoteurs

Brand:JX
Item:PDI-6221MG 20KG Large Torque Digital Standard Servo
Dead band: 2μs
Working frequence: 1520μs / 330hz – faire des essais à différentes fréquences
Operating Speed (4.8V): 0.18 sec/60°
Operating Speed (6V): 0.16 sec/60°
Stall Torque (4.8V): 17.25 kg.cm (239.55oz/in)
Stall Torque (6V):  20.32 kg-cm (281.89 oz/in) on pourrait monter à 6V pour avoir plus de couple
Dimensions: 40.5X20.2X38mm /1.59 X0.80X49 in
Weight:  62 g (2.18oz)
Connector Wire Length: JR  265 mm (10.43in)
Bearing: 2BB
Usage:For RC Models 

Vitesse

60° pour 170ms @5V

1° pour 2.83ms

Carte adafruit init 60Hz soit 16667us pour 4096 q= 16667/4096 = 4,07us

On veut de 1000 à 2000us ou (700 à 2300us) donc les valeur possible ADF vont théoriquement de 245 à 491. Dans le code du calibrateur on a mis 100 à 500 soit 407us à 2035us

Le dernier relevé effectué avec ce type de servo et le calibrateur est 120 à 570 u_ADF pour 359*0.5°= 179.5° en un temps de 720ms (240ms/60° - 1°/4ms). Si on considère 120u_adf comme 0° on a (570-120)u_adf pour 180° soit 1u_adf = 180/450°

A titre de comparaison les SG90 (du bras de Gilles):

Item Name: TowerPro SG90 Mini Analog ServoOperating Speed (4.8V no load): 0.12sec/60 degreesStall torque: 1.2kg / 42.3oz(4.8V);1.6 kg / 56.4oz (6.0V)operating voltage: 3.0-7.2VTemperature range: -30℃~60℃Dead band width: 7usItem size: 3.2 x 3 x 1.2cmItem weight: about 9gConnector wire length: 24.5cm


Design mécanique

Le design mécanique a été réalisé sous Fusion360. Sauf la pince : empruntée à BCN3D et ce robot :


Les servomoteurs utilisés ne possèdent qu'un seul axe de sortie donc il faut en créer un deuxième artificiellement.

L'idée de base est de créer une sorte de U comme le montre les vues ci-dessous d'une des articulation :


Illustration 1: Vue 3D d'une articulation
Illustration 2: Autre vue 3d d'une articulation

Ici – vidéo assemblage


Le bras est alors constitué des articulations suivante: la plateform (rotation dans le plan horizontale) puis l'épaule, le coude, le poignet, la rotation du poignet et la pince. Total : 6 degrés de liberté.


Le problème de la masse intrinsèque des éléments constitutifs du bras lui-même viennent en déduction de la charge utile. Le bras mesure environ 30cm. A cette distance 0.339g pèsent pour le premier servomoteur (celui de l'épaule) l'équivalent de 10kg. Il faut donc, rien que pour mouvoir la pince en bout de bras, un couple de 10kg/cm. A ce calcul, il faut ajouter les autres éléments du bras mais qui sont moins éloignés de l'axe de

Illustration 3: Les articulations du bras

rotation de l'épaule.

Pour information : pesée : poignet + rotationPoignet + pince = 339g (3servo à 60g)

Une base = 18g

Un U = 12g

Un vis ecrou 3x8 = 1.1g (sur la pince il y en déjà 9)

noix alu = 2g


[[Image:]]

Ce petit calcul est important, on le verra par la suite...

Analyse de code

Répertoire de travail : 0021-brasROBOT\04-realisation\brasServo20kg\arduinoTestServo60kg

Dans le prog de Gilles, on « parle » aux servo en ° d'angle grâce à un map dans la fonction rotationServo()

longueurImpulsion = map(i, 0, 180, SERVOMIN, SERVOMAX );

Avec SERVOMIN = 100 et max 600.

De plus dans cette fonction, on fait du 1°/15ms max soit en gros à Vmax/5 pour les JX6221

60°/0.9s ou les 180 en quasi 3s

Dans ma version du jour (10/5/2017) on est à 1°/20ms


Quelques recodages

Illustration 4: Electronique de commande du bras

Pour mettre au point la mécanique, j'ai du faire un peu de code.

Notamment, je n'ai pas mis en oeuvre le Bluetooth tout de suite.

J'ai ajouté un Joystick avec bouton de clic. Le bouton permet de passer d'un servo au suivant pour le commander. Bon c'est bien mais au bout d'un moment on se sait plus quel moteur on commande (sauf de le faire bouger un peu, mais dans les phases délicates ça peu devenir gênant). J'ai décidé d'ajouter une LED par moteur en profitant des sorties disponibles (10) sur la carte PCA9685 afin d'indiquer lequel était actif. Un membre du fablab, Pedro, m'a suggéré de mettre un bouton par servo. J'ai donc ajouté un petit clavier 4x4.

Mappage du clavier dans le code ARDUINO :

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'-','0','+','D'}

En plus sur le clavier, outre le fait qu’on peut sélectionner les 6 servo individuellement, on peut choisir 4 vitesse 3, 10, 20 et 50 (respectivement 1°/3ms, 1°/10ms, 1°/20 et 1°/50ms) grâce aux 4 touches de droite (A, B, C, D). 50(D) est la vitesse la plus lente et 3(A) est la plus rapide.La touche '0' permet de revenir en position initiale et + et – permettent d’augmenter ou de réduire la vitesse par pas de 1 rien sur les touches 7,8,9


Les essais

Le clavier c’est très pratique surtout de pouvoir choisir la vitesse et le servo piloté. Cela donne une bonne configuration.

Pb le servo 2 de l’épaule est, malgré une alimentation en 6V, un peu faible. Mesuré le bras fait 30 cm de long. A cette distance le servo peut soulever 20kg/30 soit 667g en théorie. Lorsqu’on laisse le servo en charge bras tendu.Il fini par lâcher (sécurité thermique interne?). Courant 1.5A

Peut-être est-il possible de remplacer par un 60kg.


BRE servo60kg.JPG BRE servo32kg.JPG
60kg servo

36.41€

32 kg servo

HV = high voltage

Coreless motor = brush less ? Non il exist en BSL mais à 45€

38,78€ BG

Description:Brand: JX ServoItem: PDI-HV2060MGDead band: 4μs    1520μs / 330hz  Max PW:650-2350us ,180° compatible (don't exceed max PW)Standard PW: 850-2150usMotor: High quality core motorOperating Voltage: DC 6.0V-7.4VOperating Temperature Range: -20 — + 60°COperating Speed: (6.0V) 0.15 sec/60°Operating Speed: (7.4V) 0.13 sec/60°Stall Torque: (6.0V)  48kg.cmStall Torque: (7.4V)  62kg.cmDimensions: 65.8X30X57.4mmWeight: 200gBearing: 2BBConnector Wire Length: JR 265mm Description:Brand: JX ServoItem: PDI-HV7232MGDead band: 1μs    1520μs / 330hz  Max PW:500-2500us  Angle: 180° compatibleMotor: Coreless motorOperating Voltage: DC 4.8V-8.4VOperating Speed: (6.0V) 0.12 sec/60°Operating Speed: (8.4V) 0.09 sec/60°Stall Torque: (6.0V)  26.2 kg.cm (363.83oz/in)Stall Torque: (8.4V)  31.5kg-cm 437.43 oz/in)Dimensions: 40.5X20.5X36mm /1.59 X0.80X1.43 inWeight: 72gBearing: 2BBConnector Wire Length: JR 265mm


it is said : When 2.5A last 15s,will be cut off to protect servo.

A titre de comparaison les NEMA23 du bras BCN sont à 28kg/cm, il y en a 2 et coute 50€ pièce. En comparaison PDI-6221MG 20KG : 40.5X20.2X38mm
NEMA17 (avec Mechaduino): 311g

NEMA17 court: 219g

NEMA14


La pince pause également problème : quand elle sert fort un objet, le courant peu facilement dépasser 3A. Elle fini par se mettre en sécurité elle aussi et le courant chute brusquement. Il est alors impossible de commander la pince même après plusieurs minutes d'attente. Il faut sortir de cette situation à la main. Il serait bien de mettre une mesure du courant sur ce servo et de limiter à 800mA par exemple.

La plate-forme est aussi un peu faible, 3 points d'appuis c'est trop peu, il faudrait augmenter le nombre de roulement.

Illustration 5: Roulements à billes de la plate-forme

Essai du 22/05

après démontage et remontage de 2 servo/6, il semble que ma référence max est changé. Les SERVOMAX à 627 ne permettent plus d'atteindre 180° ! Phénomène inexpliqué !

Etrange, en même temps le mode de travail est différent. PC déporté et passage par le répertoire réseau. Donc impossible de garantir le code qui était présent dans l'ARDUINO.

Redesign plateform pour servo 60kG

Le diamètre de la plateforme est : 105mm x 60mm de hauteur. Hauteur réduite à 50mm le 08/7


Roulement à bille selont Rollumix: 2 rangée de billes. L'une horizontale pour supporter le poids du bras et l'autre oblique pour centrer.

<vidéo >


Illustration 6: Les 2 anneaux de billes de la nouvelle plate-forme
Illustration 7: Anneaux +Plaque de dessus
Illustration 8: La même avec l'écrou inférieur
Illustration 9: Détail du montage

Sur la vu ci-dessus en coupe, les bagues ocre jaune formes les chemins de billes. Un chemin horizontal et un incliné

L'idée est d'avoir une bague centrale extérieur dans laquelle on met 2 anneaux de bille : une horizontale dessus et une en dessous oblique. On fait une gorge pour celle du haut.

Ensuite on coiffe par dessus avec une bague fileté qui passe verticalement à l'inérieur (chemin pour les bille lisse)

A la bague supérieure on vis la bague inférieure (qui comporte un chemin pour les billes obliques) on bloque avec des vis pointeau la bague inférieure.

J'ai 20 billes de 7,9mm de diamètre disponibles.

21/10/17 où en est-on: 2 pièces du nouveau roulement imprimées

Essais bague cannelée v5 encore trop juste. Retouché en v6 et imprimée et KO. V7 exportée.

V7 : ko. V8 : jeu 0,8 + dépouille de 1° KO

v10: nouveau design : épaisseur 5mm, diamètre intérieur nettement plus petit. Jeu 0,9. Cette fois-ci le jeu est peut être trop important OK

v11: même que v10 avec un jeu de 0,8mm => exporté à imprimer le 24/10 OK

Retouche bague oblique pour qu'elle s'imprime sans support

Décision couper en 3 la bague extérieur et procéder par collage pour éviter les supports.

Bride support Servo60kG à couper en deux pour la rendre imprimable. Autre solution trouvée. Pièce dessinnée.

Bague bille oblique trop juste au niveau des billes et du centre (v24).

Mise au point de la bague billes Hrz d'abord. Diam des billes 8mm jeu : 0,3*2 OK

réimprimer la bague Inférieure. OK

20/11/17: le nouveau roulement à 2 rangées de billes est fonctionnel. Le support du servo60kg aussi. Il ne manque plus que le pied redessiné pour accueillir le nouveau roulement. Malheureusement l'imprimante 3D est tombée en panne...

03/12/2017 : robot entièrement remonté et fonctionnel.

Reste à faire pour une version ultérieure :

  1. Piloter le Output Enable de la carte Adafruit
  2. Séparer les alimentations
    • Pince (max 6V/ I 2A)
    • 60kg (max 7.4V)
    • et les autres servomoteurReste
  1. mesure de courant (surtout la pince),
  2. Illustration 10: BRE en cours de remontage
    donner du grippe à la pince

Pakage design

Il s'agit d'un projet dans le projet. La problèmatique posée par ce type de bras robotisé, et celui-ci n'y échape, est le transport. Au départ, le robot était visser sur une simple plaque de bois.

J'ai donc designer une sorte de malette de transport sur la bas des Bobies (voir projet correspondant ce sur même wiki.)


Cette pseudo malette comporte : un fond (sur lequel est fixé le BRE), 2 grands cotés, un couvercle avec poignée de transport et un système de verouillage/charnière.


Fichier:BobiesBrasRobot4.JPG Fichier:BobiesBrasRobot2.JPG BREphotoPackagePlie1.jpg

Package design: nomenclature

BREpackEclate.jpg

Designation Qté Commentaire Repère
Plaque Base 1 MDF 10mm 1
Plaque de fond 1 MDF 10mm 2
Plaque supérieure 1 MDF 10mm 3
Plaque poignée 1 MDF 10mm 4
Charnière dessus 2 Imprimée 5
Charnière inférieur 1 Imprimée 6
Charnière inf. courte 1 Imprimée 7
Verrou: cale 2 Imprimée 8
Verrou: plot 2 Imprimée 9
Verrou base 2 Imprimée 10
Allonge verrou 2 Imprimée 11
Allonge charnière 2 Imprimée 12
Demi poignée 2 Imprimée 13
axepoignée 2 Imprimée 14
Renfort poignée 3 Tige filtée M6x70mm + 2x28mm M3 15
Agraffes 4 Imprimée 16
visserie Magasin de bricolage 17
Charnière métal 3 Magasin de bricolage 18
Targette 1 Imprimée 19

Package design : pièces en mdf 10mm découpée

BREpakPlaqueBasDessin2D.JPG BREpakPlaqueSupérieureDessin2D.JPG
Plaque de base
Plaque supérieure
BREpakPlaqueFondDessin2D.JPG BREpakPlaquePoigneeDessin2D.JPG
Plaque de fond
Plaque poignée

Package design: pièce imprimées en 3D

Pièce Repèretopo Vue 3D
Charnière dessus 5 BRE charniereDessuVue3D.JPG
Charnière inférieur 6 BRE charnierInferieurVue3D.JPG
Charnière inf. courte 7 BRE charnierInfCourteVue3D.JPG
Verrou: cale 8 BRE verrouCalleVue3D.JPG
Verrou: plot 9 BRE verrouPlotVue3D.JPG
Verrou base 10 BRE verrouBaseVue3D.JPG
Allonge verrou 11 BRE VerrouAllongeVue3D.JPG
Allonge charnière 12 BRE charniereAllongeVue3D.JPG
Demi poignée 13 BRE poigneeDemiVue3D.JPG
Axepoignée 14 BRE poigneeAxeVue3D.JPG
Targette 19 BRE targetteVue3D.JPG

Package design: assemblage

Voir la vidéo : packagingBras60kg v26_180402_1559.avi

Conclusion et évolutions

La bague dentée qui transmet le mouvement de rotation à la plateforme a trop de jeu. Pour le reste, je trouve le résultat assez sympa avec le servo 60kg.

Lors des premier essais de notre nouvelle découpeuse laser, j'ai pu découper 3 jeu de pignon dentés avec des jeux différents, 0.1, 0.2 et 0.3mm. C'est le 0.2mm qui donne les meilleurs résultats mais le jeu intrinsec du servomoteur reste trop important.

Petite galerie d'images

BRE GA01 20170424 232229 reduced.jpg BRE GA02 20170426 225033.jpg BRE GA03 20170507 204738.jpg
BRE GA04 20170507 233107.jpg BRE GA08 20180207 193206.jpg BRE GA10 P 20170507 222007 vHDR Auto.jpg
BRE GA07 20180207 192914.jpg BRE GA06 20171115 230217.jpg BRE GA05 20170508 220124.jpg
BRE GA09 P 20170426 190732 vHDR Auto.jpg BRE GA11 P 20170507 222023 vHDR Auto.jpg BRE GA12 SAM 2162.JPG
BRE GA13 SAM 2164.JPG BRE USERVO vue3D 01.JPG

Pilotage en 330Hz

Il ne suffit pas de changer la fréquence, les largeurs d'impulsion changent :

60Hz : période : 16667us soit un quantum à 4,07us

SERVOMIN 123 <=> 500us

SERVOMAX 627 <=> 2551us

Nouvelle valeur : 687 soit environ 2800us !

Au 24/03/2018 : essais à faire...

Appro

Servo JX PDI-6221MG 20KG moteurs vendu par 4 site Banggood.

Carte 16 PWM I2C imitation Adafruit en moins cher et oui les temps sont durs ! 4.34€ au lieu de 14 à 18€.

Servo 60Kg chez Banggood

Servo JX Servo PDI-HV7232MG 30KG

Bague servo Banggood

Liste des fichiers sources disponible

F360

pdf des pièces

stl

sources libre office article

pdf articles


Licence

Ce document est mis à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International.

CC88x31.jpgPaternité 'by' :L'œuvre peut être librement utilisée, à la condition de l'attribuer à l'auteur en citant son nom.


Note aux auteurs de documents du VoLAB, Vous avez la possibilité de changer de licence. Mais ce serait bien de rester libre et ouvert. Encore une fois ceci est une recommandation et pas une obligation.

webographie

http://fr.wikipedia.org/wiki/Licence_Creative_Commons


Projet de bras robotique de Gilles :

http://www.vorobotics.com/wiki/index.php?title=Bras_manipulateur


Tous les sevo torturés pour cette expérience ont été honnêtement acquis sur le site :

https://www.banggood.com


BCN3D MOVEO – A fully Open Source 3D printed robot arm

Rédaction en langue française

Partant du constat de terrain qu'une énorme masse d'information concernant les sujets qui nous intéressent comme entre autres l'impression 3D n'étaient disponibles que dans la langue de Shakespeare et que de nombreuses personnes dans notre entourage ne maîtrisaient pas la dite langue et soucieux de diffuser encore plus l'information, nous avons pris le parti, au VoLAB, de rédiger nos documents de préférence en langue française.

VoLAB

Un mot sur le VoLAB. VoLAB est un fablab implanté à environ 30km au nord-ouest de Paris dans la commune de Vauréal dans l'agglomération de Cergy Pontoise. Il est animé par l'association VoRoBoTics.

Site internet www.vorobotics.com