Table des matières:
- Étape 1: connexion du capteur avec Bast Pro Mini M0
- Étape 2: Codage de l'IDE Arduino vers Bast Pro Mini M0
- Étape 3: Pièces 3D
Vidéo: Contrôle du bras du robot avec TLV493D, joystick et Arduino : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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
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é:
Contrôle gestuel simple - Contrôlez vos jouets RC avec le mouvement de votre bras : 4 étapes (avec photos)
Contrôle gestuel simple - Contrôlez vos jouets télécommandés avec le mouvement de votre bras : Bienvenue dans mon « ible » #45. Il y a quelque temps, j'ai créé une version RC entièrement fonctionnelle de BB8 à l'aide de pièces Lego Star Wars… https://www.instructables.com/id/Whats-Inside-My-R… Quand j'ai vu à quel point c'était cool le Force Band made by Sphero, je me suis dit : "Ok, je c
Bras robotique contrôlé par Arduino avec 6 degrés de liberté : 5 étapes (avec photos)
Bras robotique contrôlé par Arduino avec 6 degrés de liberté : je suis membre d'un groupe de robotique et chaque année, notre groupe participe à une Mini-Maker Faire annuelle. Début 2014, j'ai décidé de construire un nouveau projet pour l'événement de chaque année. A l'époque, j'avais environ un mois avant l'événement pour mettre quelque chose ensemble
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 3: BRAS DE ROBOT) - BASÉ SUR LE MICRO: BITN: 8 étapes
COMMENT ASSEMBLER UN BRAS DE ROBOT EN BOIS IMPRESSIONNANT (PARTIE 3 : BRAS DE ROBOT) -- BASÉ SUR LE MICRO : BITN : Le prochain processus d'installation est basé sur l'achèvement du mode d'évitement d'obstacle. Le processus d'installation de la section précédente est le même que le processus d'installation en mode suivi de ligne. Jetons ensuite un coup d'œil à la forme finale de A
Bras robotique contrôlé par Nunchuk (avec Arduino): 14 étapes (avec photos)
Bras robotique contrôlé par Nunchuk (avec Arduino) : les bras robotiques sont géniaux ! Les usines du monde entier en ont, où elles peignent, soudent et transportent des objets avec précision. Ils peuvent également être trouvés dans l'exploration spatiale, les véhicules télécommandés sous-marins et même dans les applications médicales ! Et maintenant, vous pouvez
Comment construire un robot à chenilles à bras de préhension contrôlé via Nrf24l01 Arduino: 3 étapes (avec photos)
Comment construire un robot à chenilles à bras de préhension contrôlé via Nrf24l01 Arduino expliquera comment construire un bras de préhension à trois degrés de liberté installé sur une roue à chenilles entraînée par un module L298N à double moteur à l'aide de MEG