Arduino - Balance - Robot d'équilibrage - Comment faire ? : 6 étapes (avec photos)
Arduino - Balance - Robot d'équilibrage - Comment faire ? : 6 étapes (avec photos)
Anonim
Image
Image

Dans ce tutoriel, nous allons apprendre à créer un robot d'équilibrage (équilibrage) Arduino qui s'équilibre lui-même. Tout d'abord, vous pouvez regarder le didacticiel vidéo ci-dessus.

Étape 1: Matériel requis

Assemblage du robot
Assemblage du robot

Carte Arduino (Uno) --

MPU-6050 GY521 Acc+Gyro --

Ensemble de moteur à engrenages encodeur DC 6V 210RPM --

Pilote de moteur L298N --

Bouton de commutation --

Ensemble d'écrous de vis d'entretoise filetés hexagonaux M3 --

Feuille de plexiglas acrylique --

3.7v 18650 Li-ion rechargeable + chargeur --

Batterie 9V --

Cavaliers --

Pistolet à colle chaude --

Kit de démarrage et fournitures Arduino (en option): Fournitures pour carte Arduino et SCM # 01 --

Carte Arduino et fournitures SCM # 02 --

Kit de démarrage d'apprentissage de base Arduino # 01 --

Kit de démarrage d'apprentissage de base Arduino # 02 --

Kit de démarrage d'apprentissage de base Arduino # 03 --

Kit de démarrage Mega 2560 avec tutoriel --

Kit de module de capteur pour Arduino #01 --

Kit de module de capteur pour Arduino #02 --

Étape 2: Assemblage du robot

Assemblage du robot
Assemblage du robot
Assemblage du robot
Assemblage du robot
Assemblage du robot
Assemblage du robot
  • Percez les quatre coins de 3 feuilles acryliques. (Image 1 et 2)
  • Entre chaque feuille acrylique, il y aura environ 8 cantimètres / 3,15 pouces. (Photo 3)
  • Dimensions du robot (environ) 15 cm x 10 cm x 20 cm. (Photo 4)
  • Le moteur à courant continu et les roues seront placés au centre (ligne médiane) du robot. (Photo 5)
  • Le pilote de moteur L298N sera placé au centre du premier étage (ligne médiane) du robot. (Photo 6)
  • La carte Arduino sera placée au deuxième étage du robot.
  • Le module MPU6050 sera placé au dernier étage du robot. (Photo 7)

Étape 3: Connexions

Connexions
Connexions
Connexions
Connexions

Testez le MPU6050 et assurez-vous qu'il fonctionne ! Connectez d'abord le MPU6050 à l'Arduino et testez la connexion à l'aide des codes du didacticiel ci-dessous. Le daha doit être affiché sur le moniteur série

Tutoriel Instructables - Accéléromètre MPU6050 GY521 6 axes + gyroscope

Tutoriel YouTube - Accéléromètre 6 axes MPU6050 GY521 + Gyro

Le module L298N peut fournir le +5V requis par l'Arduino tant que sa tension d'entrée est de +7V ou plus. Cependant, j'ai choisi d'avoir une source d'alimentation séparée pour le moteur

Étape 4: Comment fonctionne l'équilibrage ?

Comment fonctionne l'équilibrage ?
Comment fonctionne l'équilibrage ?
Comment fonctionne l'équilibrage ?
Comment fonctionne l'équilibrage ?
Comment fonctionne l'équilibrage ?
Comment fonctionne l'équilibrage ?
  • Pour maintenir l'équilibre du robot, les moteurs doivent contrer la chute du robot.
  • Cette action nécessite un retour d'expérience et un élément correcteur.
  • L'élément de rétroaction est le MPU6050, qui donne à la fois l'accélération et la rotation dans les trois axes qui est utilisé par l'Arduino pour connaître l'orientation actuelle du robot.
  • L'élément de correction est la combinaison du moteur et de la roue.
  • Le robot auto-équilibré est essentiellement un pendule inversé.
  • Il peut être mieux équilibré si le centre de masse est plus élevé par rapport aux axes des roues.
  • C'est pourquoi j'ai placé la batterie sur le dessus.
  • La hauteur du robot a cependant été choisie en fonction de la disponibilité des matériaux.

Étape 5: Code source et bibliothèques

Code source et bibliothèques
Code source et bibliothèques
Code source et bibliothèques
Code source et bibliothèques

Le code développé pour le robot balance est trop compliqué. Mais il n'y a pas lieu de s'inquiéter. Nous ne modifierons que certaines données.

Nous avons besoin de quatre bibliothèques externes pour faire fonctionner le robot à équilibrage automatique

  • La bibliothèque PID facilite le calcul des valeurs P, I et D.
  • La bibliothèque LMotorController est utilisée pour piloter les deux moteurs avec le module L298N.
  • La bibliothèque I2Cdev et la bibliothèque MPU6050_6_Axis_MotionApps20 servent à lire les données du MPU6050.

Télécharger des bibliothèques

PID --

LMotorController --

I2Cdev --

MPU6050 --

Obtenez le code source -

Qu'est-ce que le PID ?

  • Dans la théorie du contrôle, le maintien d'une variable (dans ce cas, la position du robot) stable nécessite un contrôleur spécial appelé PID.
  • P pour proportionnel, I pour intégrale et D pour dérivée. Chacun de ces paramètres a des « gains » normalement appelés Kp, Ki et Kd.
  • Le PID fournit une correction entre la valeur souhaitée (ou entrée) et la valeur réelle (ou sortie). La différence entre l'entrée et la sortie est appelée « erreur ».
  • Le régulateur PID réduit l'erreur à la plus petite valeur possible en ajustant continuellement la sortie.
  • Dans notre robot à équilibrage automatique Arduino, l'entrée (qui est l'inclinaison souhaitée, en degrés) est définie par logiciel.
  • Le MPU6050 lit l'inclinaison actuelle du robot et la transmet à l'algorithme PID qui effectue des calculs pour contrôler le moteur et maintenir le robot en position verticale.

Le PID exige que les valeurs des gains Kp, Ki et Kd soient « réglées » sur des valeurs optimales

Nous ajusterons les valeurs PID manuellement à la place

  1. Rendez Kp, Ki et Kd égaux à zéro.
  2. Ajuster Kp. Trop peu de Kp fera basculer le robot (pas assez de correction). Trop de Kp fera aller et venir le robot sauvagement. Un Kp suffisamment bon fera que le robot va légèrement d'avant en arrière (ou oscille un peu).
  3. Une fois le Kp défini, ajustez Kd. Une bonne valeur Kd réduira les oscillations jusqu'à ce que le robot soit presque stable. De plus, la bonne quantité de Kd maintiendra le robot debout même s'il est poussé.
  4. Enfin, définissez le Ki. Le robot oscillera lorsqu'il sera allumé même si Kp et Kd sont réglés mais se stabilisera dans le temps. La valeur Ki correcte réduira le temps nécessaire au robot pour se stabiliser.

Suggestions pour de meilleurs résultats

Je vous recommande de créer un cadre de robot similaire en utilisant les matériaux utilisés dans ce projet pour que le code source du Balance Robot fonctionne de manière stable et efficace.

Étape 6: Pour obtenir de l'aide

Pour l'assistance
Pour l'assistance
  • Vous pouvez vous abonner à ma chaîne YouTube pour plus de tutoriels et de projets.
  • Vous pouvez également vous abonner pour obtenir de l'aide. Merci.

Visitez ma chaîne YouTube -

Conseillé: