GyroBot mini, Un gyropode (self-balancing robot) piloté depuis une App Android. Basé sur une carte Arduino Uno R3

Le cerveau du robot est une carte Arduino Uno et un shield de ma conception, qui assure la gestion des communications avec une tablette ou un smartphone Android. La liaison entre le robot et l’application Android  est faite grâce à un module Bluetooth BLE connecté sur le port RS232 de l’Arduino. Un protocole perso de transmission de données au format binaire assure une communication en temps réel.

L’application Android permet de se connecter au robot en Bluetooth pour le piloter, régler les paramètres des contrôleurs PID et recevoir des informations de télémétrie (vitesse du robot, inclinaison etc..).

Un MPU6050 est connecté sur le bus I2C de l’Arduino. Le MPU6050 contient un gyroscope et un accéléromètre. La fusion des données issue de ses 2 capteurs permet de connaître de manière précise l’orientation de la puce dans l’espace (sur ses axes X, Y et Z), et donc l’orientation du robot par rapport au sol. Les données fournit par le MPU6050 sont traitées par la carte Arduino pour gérer l’équilibre du robot, en réalisant  un double asservissement PID en position et en vitesse angulaire.

L’ Arduino utilise le résultat fournit par les contrôleur PID  pour piloter 2 moteurs pas à pas de type Nema 14.  Chaque moteur est connecté à l’Arduino  grâce à un module de puissance A4988 qui fournit une  précision de 1/16 de pas.

L’ensemble est alimenté par une batterie LiPo de 2400mA, qui confère au robot une autonomie d’environ 1 heure.

Voici la liste des principaux composant que j’ai utilisé:

  • 1 Carte Arduino Uno
  • 1 module Bluetooth BLE
  • 1 module MPU6050
  • 2 module A4988
  • 2 moteur pas à pas de type Nema 14
  • 1 batterie LiPo 2400mA