BIOLOID commandé par Arduino : Différence entre versions

De Wiki de Projets IMA
(Définition du sujet)
(Définition du sujet)
Ligne 56 : Ligne 56 :
 
=== Définition du sujet ===
 
=== Définition du sujet ===
  
[[Fichier:arduino_uno_ax12.jpg‎|200px|left]]
+
[[Fichier:arduino_uno_ax12.jpg‎|200px|center]]
  
 
Pour répondre à la problématique énoncé dans le cahier des charges, nous devrons définir une méthode de programmation intuitive pour commander les servos-moteurs en temps réel. Pour cela, nous programmerons directement l'arduino qui contrôlera les servos-moteurs.  
 
Pour répondre à la problématique énoncé dans le cahier des charges, nous devrons définir une méthode de programmation intuitive pour commander les servos-moteurs en temps réel. Pour cela, nous programmerons directement l'arduino qui contrôlera les servos-moteurs.  

Version du 30 janvier 2016 à 14:59

Cahier des charges

Encadrant

Blaise Conrard

Pour le projet, nous avons directement pris rendez-vous avec Blaise Conrard afin de discuter de nos idées.

Présentation du projet

Les kits Bioloid sont des kits robotiques programmables qui se basent sur les servomoteurs intelligents Dynamixel. Ces servomoteurs Dynamixel sont reconnus comme les servomoteurs les plus performants pour la robotique personnelle et éducative. Nous avons eu l'opportunité en IMA3 de développer des programmes sur ces robots via le logiciel RoboPlus et son interface type grafcet.

Pour ce projet nous avons l'opportunité d'aller plus loin en programmant directement avec une carte Arduino. Nous avons décidé de développer une application qui permettrait à notre robot de dessiner l'heure sur une ardoise magnétique puis de l'effacer toutes les 60 seconde. Ainsi, l'heure sera toujours écrite en temps réel.

Pour cela, nous avons eu comme idée de construire deux bras robotiques afin d'écrire et d'effacer l'heure. Ces bras seront dirigés par les servos-moteurs AX12 directement programmés par l'Arduino. Afin d'une plus grande fluidité, l'heure sera manuscrite en caractère types 7-segments.

Matériel nécessaire

Matériel A commander Commentaires
Carte Arduino 0
Servos-moteurs AX12 0
Non inverting buffer 74HC126 2 Fournisseur : http://www.mouser.fr/ProductDetail/NXP-Semiconductors/74HC126D653/?qs=sGAEpiMZZMuiiWkaIwCK2RTxPVPWGz6WVfjhJh2Mav0%3d
Résistance 50 Ohms 0
Résistance 10kOhms 0
Ardoise magnétique 1 Ardoise nécessaire pour l'application finale
Transfo 220V / 9V 0 Alim Arduino

Avancement du projet

Définition du sujet

Arduino uno ax12.jpg

Pour répondre à la problématique énoncé dans le cahier des charges, nous devrons définir une méthode de programmation intuitive pour commander les servos-moteurs en temps réel. Pour cela, nous programmerons directement l'arduino qui contrôlera les servos-moteurs.

Les différentes étapes du projet seront :

1) Adapter électriquement l'arduino aux servos-moteurs (alimentation,commande...)
2) Construire une bibliothèque qui définit les adresses du servos-moteurs
3) Créer des fonctions pour commander les moteurs de façon logique
4) Incorporer une gestion du temps
5) Réfléchir à l'application finale (fonctions, contraintes ...)
6) Coder cette application

Partie électronique

Pour ce projet, nous devons remplacer le CM5 par une carte arduino, ceci afin d'avoir des possibilités de programmation étendue.

Avant de passer à la partie programmation, il est nécessaire d'étudier les caractéristiques électroniques du CM5.


Texte alternatif


Après avoir étudié ces caractéristiques nous avons remarqué que l'on pourrait directement passer par les ports RX et TX de l'arduino pour le contrôle des servos-moteurs, il suffirait juste d'ajouter un composant 74HC126D pour les contrôles alternatifs de TX et RX.

Enfin, pour ce qui concerne l'alimentation, nous avons remarqué en lisant les caractéristiques de l'AX12 qu'il était nécessaire d'avoir environ 9V pour une alimentation correcte. Nous avons donc conclu qu'il serait nécessaire d'utiliser un transformateur 9V pour alimenter l'arduino, celui-ci pourra ainsi délivrer 9V par l'intermédiaire du pin VIN.