Table des matières:

Contrôle du bras du robot avec TLV493D, joystick et Arduino : 3 étapes
Contrôle du bras du robot avec TLV493D, joystick et Arduino : 3 étapes

Vidéo: Contrôle du bras du robot avec TLV493D, joystick et Arduino : 3 étapes

Vidéo: Contrôle du bras du robot avec TLV493D, joystick et Arduino : 3 étapes
Vidéo: Contrôler un bras robotique avec Arduino et Smartphone 2024, Novembre
Anonim
Contrôle du bras robotique avec TLV493D, joystick et Arduino
Contrôle du bras robotique avec TLV493D, joystick et Arduino
Contrôle du bras du robot avec TLV493D, joystick et Arduino
Contrôle du bras du robot avec TLV493D, joystick et Arduino
Contrôle du bras du robot avec TLV493D, joystick et Arduino
Contrôle du bras du robot avec TLV493D, joystick et Arduino

Un contrôleur alternatif pour votre robot avec un capteur TLV493D, un capteur magnétique à 3 degrés de liberté (x, y, z) avec ceux-ci vous pourrez contrôler vos nouveaux projets avec communication I2C sur vos microcontrôleurs et carte électronique que Bast Pro Mini M0 avec un Microcontrôleur SAMD21 sur Arduino IDE.

L'objectif est d'avoir un joystick alternatif pour contrôler vos projets, dans ce cas, un bras robotisé à 3 degrés de liberté. J'ai utilisé un MeArm Robot Arm, c'est un projet open source et vous pouvez le rendre facile et vous pouvez le trouver ici. Peut créer votre propre bras de contrôleur ou une autre application avec ces connaissances que je suis heureux de partager avec vous.

Tous les composants électroniques ont des liens à acquérir sur le magasin, des fichiers vers une imprimante 3D et du code pour Arduino IDE.

Le TLV493D peut être un joystick Le capteur magnétique 3D TLV493D-A1B6 offre une détection tridimensionnelle précise avec une consommation d'énergie extrêmement faible dans un petit boîtier à 6 broches. Grâce à sa détection de champ magnétique dans les directions x, y et z, le capteur mesure de manière fiable les mouvements tridimensionnels, linéaires et de rotation.

Les applications incluent les joysticks, les éléments de contrôle (électroménagers, boutons multifonctions) ou les compteurs électriques (anti-falsification) et toute autre application nécessitant des mesures angulaires précises ou de faibles consommations d'énergie. Le capteur de température intégré peut en outre être utilisé pour des contrôles de plausibilité. Les principales caractéristiques sont la détection magnétique 3D avec une très faible consommation d'énergie pendant les opérations.

Le capteur a une sortie numérique via une interface I2C standard à 2 fils jusqu'à 1 Mbit/s et une résolution de données de 12 bits pour chaque direction de mesure (mesure de champ linéaire Bx, By et Bz jusqu'à +-130 mT). TLV493D-A1B6 3DMagnetic est un hors-bord autonome.

Vous pouvez le connecter facilement à n'importe quel microcontrôleur de votre choix compatible Arduino IDE et doté d'un niveau logique de 3,3 V. Dans ce projet, nous utilisons le breakout Electronic Cats et une carte de développement que j'expliquerai plus tard.

electroniccats.com/store/tlv493d-croquette…

L'avantage d'utiliser un capteur TLV493D est que seuls deux câbles avec I2C sont utilisés pour recevoir les informations, c'est donc une très bonne option lorsque nous avons très peu de broches disponibles sur la carte, également grâce aux avantages de I2C nous pouvons connecter plus capteurs. Vous pouvez trouver le référentiel de ce projet ici. Pour ce projet, nous utiliserons un joystick que vous pourrez imprimer sur une imprimante 3D ou le faire imprimer dans votre magasin d'impression 3D le plus proche.

Les fichiers. STL sont annexés à la fin du projet. Son montage est très simple, vous pouvez le voir en vidéo

Construisez votre propre robot Dans ce cas, je construis le robot Mearm v1 que vous pouvez retrouver ce projet sur la page de l'auteur ici

C'est un robot facile à fabriquer et à contrôler car il possède des servomoteurs à 5 volts. Vous pouvez construire ou utiliser n'importe quel robot de votre choix, ce projet se concentrera sur le contrôle avec le capteur TLV493D.

Fournitures:

  • x1 Bast Pro Mini M0 Acheter
  • x1 Croquette TLV493D Acheter
  • x1 Kit MeArm v1
  • Câbles x20 Dupont
  • x1 Protoboard
  • x2 Bouton poussoir
  • x1 Aimant 5 mm de diamètre x 1 mm d'épaisseur

Étape 1: connexion du capteur avec Bast Pro Mini M0

Connexion du capteur avec Bast Pro Mini M0
Connexion du capteur avec Bast Pro Mini M0

Pour contrôler le bras du robot, une carte de développement Electronic Cats est utilisée, un Bast Pro Mini M0 avec un microcontrôleur SAMD21E ARM Cortex-M0.

Cette puce fonctionne à 48 MHz, avec une mémoire de programmation de 256 Ko, 32 Ko de SRAM et fonctionne à une tension de 1,6 V à 3,6 V. Grâce à ses spécifications, nous pouvons l'utiliser pour une faible consommation avec de bonnes performances et également le programmer avec CircuitPython ou un autre langage qui autorise les microcontrôleurs.

electroniccats.com/store/bast-pro-mini-m0/

Si vous souhaitez en savoir plus sur cette carte, je vous laisse le lien de son référentiel.

github.com/ElectronicCats/Bast-Pro-Mini-M0…

Afin de contrôler le mouvement des servomoteurs, le capteur magnétique TLV493D est utilisé qui enverra le signal pour positionner le servomoteur aux degrés correspondants.

Avec un seul capteur, nous pouvons déplacer deux servomoteurs, dans cet exemple, nous n'utiliserons qu'un seul capteur et un bouton poussoir pour contrôler la pince.

Une autre proposition que vous pouvez faire est d'ajouter un autre capteur TLV493D et de déplacer le troisième servomoteur et la pince. Si vous le faites, laissez votre expérience dans les commentaires et je vous invite à partager le projet.

L'image montre le circuit armé sur un protoboard.

  • Le premier servomoteur est pour la pince et se connecte à la broche 2
  • Le deuxième servomoteur est pour la base du robot et se connecte à la broche 3
  • Le troisième servomoteur est pour l'épaule du robot et se connecte à la broche 4
  • Le quatrième servomoteur est pour le coude du robot et se connecte à la broche 5
  • Le premier bouton-poussoir sert à arrêter tout mouvement du robot et se connecte à la broche 8 en pull-down avec une résistance de 2,2Kohms.
  • Le deuxième bouton-poussoir est destiné au mouvement d'ouverture et de fermeture de la pince et est connecté à la broche 9 en pull-down avec une résistance de 2,2Kohms.

Dans l'image du circuit, le capteur TLV493D n'apparaît pas car il n'a pas été ajouté au frittage mais un connecteur à 4 broches a été ajouté pour simuler ses connecteurs VCC, GND, SCL, SDA. Dans l'image, ils sont placés dans le même ordre.

  • La première broche se connecte à 3,3 volts sur la carte
  • La deuxième broche se connecte à GND
  • La troisième broche SCL se connecte à la broche A5 sur la carte
  • La quatrième broche SDA se connecte à la broche A4 de la carte

Grâce à l'avantage de la puce SAMD21, nous pouvons utiliser n'importe laquelle de ses broches numériques comme sorties PWM, qui nous serviront à envoyer la largeur d'impulsion correcte pour déplacer le servomoteur.

Une autre information importante à prendre en compte est l'alimentation externe des servomoteurs, dans le circuit, vous pouvez voir un connecteur enfichable qui se connecte à une source de 5 volts à 2 A, pour éviter de surcharger la carte et de l'endommager.

N'oubliez pas non plus de joindre le signal commun GND de la carte et de la source externe, sinon, vous auriez des problèmes pour contrôler les servomoteurs puisqu'ils n'auraient pas la même référence.

Étape 2: Codage de l'IDE Arduino vers Bast Pro Mini M0

Codage de l'IDE Arduino vers Bast Pro Mini M0
Codage de l'IDE Arduino vers Bast Pro Mini M0
Codage de l'IDE Arduino vers Bast Pro Mini M0
Codage de l'IDE Arduino vers Bast Pro Mini M0
Codage de l'IDE Arduino vers Bast Pro Mini M0
Codage de l'IDE Arduino vers Bast Pro Mini M0

La première chose sera d'installer la carte Bast Pro Mini M0 dans l'IDE Arduino, les étapes se trouvent dans le référentiel Electronic Cats et elles sont importantes pour son fonctionnement.

github.com/ElectronicCats/Arduino_Boards_I…

Lorsque vous avez prêt l'IDE Arduino, il est nécessaire d'installer la bibliothèque officielle du capteur TLV493D, accédez à https://github.com/Infineon/TLV493D-A1B6-3DMagnet… et accédez à Releases.

Dans la première partie du code, les librairies utilisées sont déclarées, dans ce cas, Servo.h pour les servomoteurs et TLV493D.h pour le capteur.

Lors de l'utilisation de la bibliothèque Servo.h, il est important de déclarer le nombre de servomoteurs, bien que le robot en ait 4 à l'heure actuelle, seuls 3 sont utilisés.

Les broches sont déclarées pour les boutons poussoirs qui arrêteront tout mouvement du robot et l'ouverture et la fermeture de la pince. Des variables globales sont déclarées qui serviront à connaître l'état du préhenseur et s'il y a mouvement.

Dans la deuxième partie du code, nous afficherons dans le moniteur série la valeur du degré dans lequel se trouvent les moteurs. Un autre point important est d'établir la limite des degrés dans vos servomoteurs, pour cela, on utilise la fonction map() qui convertit la valeur des mouvements du capteur TLV493D dans la plage de 0 à 180 degrés du servomoteur.

Pour la dernière partie du code, les conditions sont établies pour activer le mouvement des servomoteurs avec le bouton poussoir et pour savoir dans quel état se trouve la pince pour son prochain mouvement lorsque le deuxième bouton poussoir est enfoncé. Comme vous pouvez le voir dans les images précédentes, le code n'est pas difficile à implémenter et à comprendre, à la fin du projet, vous pouvez trouver le code.

Vous apprenez à utiliser Circuit Python ?

Si vous souhaitez apprendre à utiliser cet IDE, vous pouvez trouver la carte Bast Pro Mini M0 dans le lien suivant pour télécharger le bootloader et commencer à le programmer avec Python.

Étape 3: Pièces 3D

Si vous êtes intéressé par la réalisation du projet, vous pouvez télécharger les pièces au format.stl et les imprimer. Vous trouverez les fichiers pour la base et le bâton rotatif.

Conseillé: