Piloter un servomoteur Dynamixel depuis un PC via Bluetooth

Cette entrée a été publiée dans Actualité Robotique, Tutoriels, Tutoriels en robotique, et marquée avec , , le par .

Ce tutoriel vous propose d’apprendre à piloter facilement vos servomoteurs Dynamixel de Robotis à votre ordinateur grâce à une liaison Bluetooth. Cette manipulation vous permettra de réaliser vos tests facilement tout en vous épargnant les connexions filaires

Matériel requis

  • Alimentation 12V/5A.
  • Module BT-410 Dongle.
  • Module BT-410 Slave.
  • Servomoteur Dynamixel (ici un MX-28).
  • OpenCM9.04.
  • OpenCM485
  • Câble 3 (ou 4) pins pour Dynamixel.
  • Câble micro USB.

Software requis

  • Arduino.IDE.

Installation

Branchements :

Carte Open CM9.04 branchée à la carte OpenCM485 et au servomoteur
  • Brancher le BT-410 Slave à la carte OpenCM9.04 sur le port UART.
  • Connecter la carte OpenCM9.04 au PC via le câble micro USB.
Etape 2 :photo du branchement de la BT-410 Slave à la carte Open CM9.04

La carte OpenCM9.04 est allumée et le module BT-410 clignote en bleu.

Logiciel :

  • Télécharger le logiciel Arduino.IDE.
  • Lancer Arduino.IDE, aller dans Fichier, puis Préférences.
  • Dans Préférences, insérer le lien suivant dans la fenêtre URL de gestionnaire de cartes supplémentaires : https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/arduino/opencm_release/package_opencm9.04_index.json

Cliquer sur Valider.

  • Aller dans Outils, puis Type de carte et cliquer sur Gestionnaire de carte.
  • Rechercher la section OpenCM9.04 by ROBOTIS, puis cliquer sur Installer.
  • Fermer le logiciel Arduino.IDE, puis le lancer à nouveau.
  • Aller dans Outils, puis Type de carte. Dans la liste, sélectionner OpenCM9.04 Board.
  • Aller dans Outils, puis Port. Sélectionner le port correspondant à la carte OpenCM9.04.

Fonctionnement

Setup

  • Lancer Arduino.IDE.
  • Aller dans Fichier 🡪 Exemples 🡪 OpenCM9.04 🡪 08_DynamixelWorkbench, puis cliquer sur h_Position.
  • Une nouvelle fenêtre s’ouvre avec le setup requis pour commander le servomoteur.

Programme

  • Écrire le programme voulu.
  • Téléverser le programme dans la carte OpenCM9.04.
  • Débrancher la carte OpenCM9.04 du PC.
  • Alimenter la carte OpenCM485 EXP à l’aide de l’alimentation 12V/5A et actionner l’interrupteur.
  • Brancher le module BT-410 Dongle sur le PC. Approcher les deux modules afin de les pairer. Les modules sont synchronisés lorsque le clignotement cesse.
  • Depuis le logiciel Arduino.IDE, aller dans Outils, Port et sélectionner le port correspondant au module BT-410 Dongle.
  • Ouvrir le moniteur série afin de communiquer avec la carte OpenCM9.04. Le moniteur doit être réglé sur 57600 bauds.

Exemples de programmes

Commander le servomoteur

Permet de choisir la position du servomoteur entre la position 0 et la position 4095

  1. Entrer la ligne de code « int Position_du_servomoteur ; » en dessous de la ligne de code « DynamixelWorkbench dxl_wb; ».
  2. Dans la fonction void setup(), entrer la ligne de code « Serial2.begin(57600); ».
  3. Dans la fonction void loop(), entrer les lignes de code suivante :

Enchainement de positions

Permet de lancer une série de positions prédéfinies quand une commande spécifique est donnée (ici, la commande est « 1 »).

  1. Entrer la ligne de code « int Lancement_du_programme ; » en dessous de la ligne de code « DynamixelWorkbench dxl_wb; ».
  2. Dans la fonction void setup(), entrer la ligne de code « Serial2.begin(57600); ».
  3. Dans la fonction void loop(), entrer les lignes de code suivante :