(Loading...)

lundi 18 juillet 2016

Serv-Arm


Ce qui était il y a encore peu du domaine des élites, est aujourd'hui à la porté de tout amateur, tant en terme de technicité que de budget.
Un bras manipulateur motorisé contrôlé par µcontroleur.
Le modèle présenté intègre la faculté d'apprentissage d'une séquence de mouvement et de la répéter à l'infini.  Le projet est relativement simple de conception et réalisation, et permet une initiation à la robotique. Simple, peu couteux, mais spectaculaire.







Ce projet reprend le code Arduino projet de Pinaut lui-même inspiré du code assembleur pour PIC de StoerPeak.

3 blocs fondamentaux composent la trame du code:
- La lecture de valeur analogique issue de résistance ajustable.
- Le stockage de ces valeurs sous forme de tableau.
- La conversion de ces valeurs stockées, en impulsions de contrôles pour servomoteur.



Le design actuel du bras motorisé et de sa réplique de commande ont fait l'objet de nombres de prototypes avant d'aboutir à la présente version.
Le mécanisme du bras de commande en particulier l'axe reliant les résistances ajustables est assez fin mais reste relativement solide à moins de forcer comme une brute - Ne pas laisser entre les mains d'un enfant (!!) -







Voilà pourquoi je déconseille de coller les axes de rotation aux bras, il suffit simplement de les insérer en force afin de pouvoir les remplacer aisément, permettant en cas de rupture, un remplacement aisé. Concernant les axes de résistances ajustables, ils sont imprimés par moitiés afin d'avoir les empilements de couches de plastique dans le sens de la longueur de l'axe, le rendant moins fragile bien que d'un diamètre très fin.



L'assemblage ne devrait pas poser de soucis particulier.
Les disques de fixation de l'axe moteur des servos seront collés aux pièces imprimées puis ensuite fixés aux servos à l'aide des petites vis livrées avec.









 La réalisation de ce bras motorisé necessite:

1 - Arduino - ici un modèle Pro mini -
4 - Servomoteur "9G"
4 - Résistance variable  25K type ACP Verticale
2 - Résistance 10K
1 - Bouton poussoir NO
1 - bouton switch
20 - Éléments imprimés
11 - Vis / écrous M3x12




 

Le contrôle du grip - main - reste très simple mais efficace.
j'avais prévu un passage pour le fil, mais au final j'ai opté pour une liaison aérienne directe sans passer le fil par le trou, cela contraignait trop le moteur.









 

La partie de commande électronique est pour le moment encore en volant, sur une LabDec, d'où le chaos de fils.












Le schéma de câblage d'une extrême simplicité, ne nécessite que très peu de composant.
A noter toutefois que les bouton-poussoirs sont pour l'un, un bouton poussoir fugitif, type NO pour le mode Apprentissage / Lecture.
L'autre, un bouton de type bascule, pour le mode Pause.












Le fonctionnement du robot est simple,



Mode apprentissage:
une simple pression du bouton poussoir mémorisera chacune des positions du bras,


Mode lecture:
Une double pression sur le bouton poussoir rejoue la séquence complète.

Pause:
Le bouton switch quant à lui, permet de mettre le robot en pause.
La séquence est effacée lors d'un reset ou une mise hors-tension de l'Arduino.

Par défaut dans le code 100 points de validations peuvent être mémorisée sur un Arduino pro mini,
au-delà la mémoire est insuffisante, il faudra alors passer à une version supérieure d'Arduino.
Cependant pour ce genre d'application 100 positions seront amplement suffisantes.









Code source Arduino.



Licence Creative Commons