Table des matières:

Contrôle de robot de combat Arduino pas cher : 10 étapes (avec photos)
Contrôle de robot de combat Arduino pas cher : 10 étapes (avec photos)

Vidéo: Contrôle de robot de combat Arduino pas cher : 10 étapes (avec photos)

Vidéo: Contrôle de robot de combat Arduino pas cher : 10 étapes (avec photos)
Vidéo: Review | Kit robot multifonctions pour Arduino (60€/100$) 2024, Juillet
Anonim
Contrôle de robot de combat Arduino bon marché
Contrôle de robot de combat Arduino bon marché
Contrôle de robot de combat Arduino bon marché
Contrôle de robot de combat Arduino bon marché
Contrôle de robot de combat Arduino bon marché
Contrôle de robot de combat Arduino bon marché

La résurgence de Battlebots aux États-Unis et de Robot Wars au Royaume-Uni a ravivé mon amour de la robotique de combat. J'ai donc trouvé un groupe local de constructeurs de bots et je me suis plongé dedans.

Nous nous battons à l'échelle de poids des fourmis britanniques (limite de poids de 150 grammes) et j'ai rapidement compris la manière traditionnelle de construire un équipement RC impliquant un bot: un émetteur RC coûteux, un récepteur encombrant ou coûteux et des ESC (contrôleurs de vitesse électroniques) qui sont des boîtes magiques qui peut gérer beaucoup plus de courant que nécessaire pour un bot de cette taille.

Ayant utilisé Arduino dans le passé, je voulais essayer de faire les choses différemment et me fixer comme objectif un système Arduino capable de recevoir un signal légal de combat et de contrôler deux moteurs d'entraînement pour environ 5 USD (la moitié du coût d'un ESC bon marché)

Pour aider à atteindre cet objectif, j'ai remixé cette voiture RC instructable, réduisant le poids/coût du récepteur et générant 4 signaux PWM pour exécuter une puce de pont en h bon marché

Cette instructable se concentrera sur le système de contrôle Arduino mais j'ajouterai des informations supplémentaires pour aider les nouvelles personnes à construire leur premier bot

Clause de non-responsabilité:

Même à petite échelle, la construction/le combat de robots de combat peut être dangereux, entreprenez à vos risques et périls

Étape 1: ce dont vous avez besoin

Matériaux:

Pour le système de contrôle:

  • 1x Arduino pro mini 5v (1,70 USD)
  • 1x module nRF24L01 (1,14 $)
  • 1x module régulateur 3.3v (0,32$)
  • 1x module double pont en H* (0,90 $)

Pour le reste d'un bot de base:

  • 2x micro motoréducteurs** (version bon marché, version fiable)
  • 1x 2s batterie Lithium polymère
  • 1x chargeur de balance
  • 1x sac de charge lipo
  • 1x interrupteur
  • 1x connecteur de batterie
  • fil misc (j'ai utilisé des fils de connexion Arduino que j'avais qui traînaient)
  • petites vis
  • (facultatif) époxy
  • (facultatif) Aluminium (provenant d'une canette de boisson gazeuse)
  • (facultatif) LED supplémentaires

Pour un contrôleur de base:

  • 1x Arduino pro mini 5v
  • 1x module nRF24L01
  • 1x module régulateur 3.3v
  • 1x Arduino-joystick

Outils:

  • Tournevis
  • Fer à souder
  • Pinces
  • Imprimante 3D (optionnelle, mais elle facilite la vie)

* lorsque vous regardez des modules de pont en h, recherchez un module avec les 4 entrées de signal côte à côte, cela facilitera la connexion à l'Arduino plus tard

**Découvrez la dernière étape pour obtenir des conseils sur la sélection des vitesses de moteur

Étape 2: imprimer un châssis

Imprimer un châssis
Imprimer un châssis

Avant de vous lancer sur le système de contrôle, regardez la conception du bot à construire. Il est toujours préférable de concevoir un bot à partir de l'arme. Pour un débutant, je suggère de commencer par un coin de base, ils sont conçus pour être robustes et repousser les adversaires, ce qui signifie que vous êtes moins susceptible d'être détruit lors de votre premier combat, et il est plus facile de se faire une idée de la conduite lorsque vous ne vous n'avez pas à vous soucier d'une arme active.

J'ai conçu un bot de coin: "Slightly Crude" qui a été testé au combat à la fois blindé et non blindé. C'est un bon premier bot, facile à imprimer et peut être assemblé avec 8 vis. Découvrez-le sur Thingiverse pour un design de dessus différent

Si vous ne possédez pas d'imprimante 3D, essayez une bibliothèque locale, un hackerspace ou un maker space

L'ajout d'une armure supplémentaire est facile à faire juste à la sortie de l'imprimante, poncez à la fois le coin et la canette de boisson gazeuse en aluminium avec un papier de verre, enlevez toute poussière de ponçage, appliquez de l'époxy à la fois sur le plastique et l'aluminium, maintenez avec des pinces ou des élastiques pendant 12-24 heures

Je n'ai actuellement pas de conception de roue publique car j'utilise des pneus en caoutchouc d'un kit de robotique éducatif sur des moyeux imprimés en 3D. Dans les semaines à venir, je vais concevoir un moyeu qui utilisera des joints toriques pour l'adhérence. Une fois les roues terminées je mettrai à jour cette page et la page Thingiverse

Étape 3: préparer le pont en H

Préparer le pont en H
Préparer le pont en H

Différents pilotes de moteur à pont en H sont disponibles dans différentes configurations, mais le module lié dans la liste initiale est livré avec 2 borniers en sortie. Ces borniers sont lourds et encombrants, il est donc préférable de les retirer.

La façon la plus simple de le faire est de chauffer les deux plaquettes en même temps avec un fer à souder et de retirer soigneusement les blocs avec une paire de pinces.

Avant de continuer, décidez si vous souhaitez pouvoir échanger les moteurs de votre configuration. Si tel est le cas, les câbles de démarrage Arduino peuvent être soudés dans la sortie du module, puis le câble opposé peut être soudé au moteur, ce qui les rend amovibles au besoin.

Étape 4: Câblage des modules

Câblage des modules
Câblage des modules
Câblage des modules
Câblage des modules
Câblage des modules
Câblage des modules

Le câblage des modules peut se faire de 3 manières différentes, c'est pourquoi l'étape de conception est critique. Le choix de l'arme affectera la forme du bot et le choix du câblage.

les 3 choix sont:

  1. Fils lâches (légers mais plus fragiles) (image 1)
  2. Perfboard (plus lourd que 1 mais plus robuste avec un encombrement plus important) (image 2)
  3. Carte de circuit imprimé personnalisée (plus lourde que 1 mais robuste avec un faible encombrement) conception de carte attachée (image 3)

quel que soit le choix fait, les connexions réelles sont les mêmes.

Effectuez les connexions suivantes deux fois (une fois pour le contrôleur et une fois pour le récepteur)

nRF24L01 (image de numérotation des broches 4**):

  • Broche 1 -> GND
  • Broche 2 -> broche de sortie du module 3.3v
  • Broche 3 -> Broche Arduino 9
  • Broche 4 -> Broche Arduino 10
  • Broche 5 -> Broche Arduino 13
  • Broche 6 -> Broche Arduino 11
  • Broche 7 -> Broche Arduino 12

module 3.3v:

  • Broche Vin -> Vcc*
  • Broche de sortie -> broche 2 nRF (comme ci-dessus)
  • Broche GND -> GND

Arduino:

  • Broches 9-13 -> se connecter à nRF comme ci-dessus
  • Brut -> Vcc*
  • GND -> GND

Effectuez les connexions suivantes une fois pour différencier le contrôleur et le récepteur

Pour le contrôleur:

Manette:

  • +5v -> Arduino 5v
  • vrx -> broche Arduino A2
  • vry -> broche Arduino A3
  • GND -> GND

Pour le récepteur:

module pont en h:

  • Vcc ->Vcc*
  • B-IB -> Arduino broche 2
  • B-IA -> Arduino broche 3
  • A-IB -> Arduino broche 4
  • A-IA -> Arduino broche 5
  • GND -> GND

Ceci est plus facile à faire en remplaçant les broches pour Vcc et GND par du fil, puis en retournant la carte à l'envers et en soudant les broches directement dans l'Arduino, cela simplifie la soudure et crée un support sûr pour le pilote du moteur

*pour qu'un robot de combat soit légal, un point d'isolement (interrupteur ou lien amovible) doit être ajouté entre la batterie et le circuit. Cela signifie que le positif de la batterie doit être connecté à un interrupteur, puis l'interrupteur connecté à Vcc

** image de https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo qui est une excellente ressource pour le module nRF24L01

Étape 5: Configuration du contrôleur

Configuration du contrôleur
Configuration du contrôleur

Une fois que tout est connecté, il est temps de passer du code.

En commençant par le contrôleur, certaines valeurs de potentiomètre sont nécessaires pour s'assurer que le joystick exact connecté fonctionnera avec le code de transmission.

Chargez le code "joystickTestVals2". Ce code est utilisé pour lire les valeurs du potentiomètre et les afficher en série

Avec le code en cours d'exécution et une fenêtre série ouverte, commencez par regarder la valeur "UP", poussez le joystick dans la position complètement avancée, la valeur "UP" sautera probablement entre quelques grands nombres, choisissez la plus petite des valeurs que vous voyez, soustrayez-en 10 (cela garantira que pousser le manche à fond donnera toute la puissance) et notez-le comme "Up Max" permet au joystick de revenir au centre. Choisissez maintenant la plus grande valeur que vous voyez, ajoutez-y 20 et notez-la comme "UpRestMax". Répétez le processus en poussant le stick vers le bas et en inversant l'addition/soustraction en enregistrant les valeurs comme "UpMin" et "UpRestMin"

Répétez l'ensemble du processus pour la gauche et la droite, en commençant par pousser le manche vers la droite, en enregistrant "SideMax" puis "SideRestMax" alors qu'il revient en arrière et en poussant à gauche pour enregistrer "SideMin" et "SideRestMin"

Ces valeurs sont super importantes, en particulier toutes les valeurs contenant le mot "Rest". ces valeurs créent la "zone morte" au centre du bâton de telle sorte que le bot ne bouge pas lorsque le bâton repose au centre, assurez-vous que lorsque le bâton est centré les valeurs se situent entre "restMin" et "restMax" pour les deux axes

Étape 6: Coder

Code
Code
Code
Code

Le code donné fait tout pour un bot de base avec une structure en place permettant d'envoyer également une valeur pwm d'arme.

Bibliothèques nécessaires:

  • Bibliothèque nRF24L01 d'ici: GitHub
  • Logiciel PWM d'ici: Google Code

Configurez votre contrôleur:

ouvrez le code txMix et remplacez les valeurs limites de bâton par les valeurs que vous avez notées à la dernière étape. Cela garantira que le code réagit correctement à votre joystick (Image 1)

Personnaliser le tuyau:

Pour vous assurer que vous n'interférez avec personne d'autre lors de votre événement, vous devrez changer le tuyau radio. Il s'agit en fait d'un identifiant, et le récepteur n'agira que sur les signaux du bon tuyau, alors assurez-vous de changer le tuyau dans les deux codes pour la même chose.

Dans l'image 2 chiffres hexadécimaux du tuyau ont été mis en évidence. Ce sont les deux chiffres qui doivent être modifiés pour personnaliser le tuyau. Remplacez "E1" par n'importe quelle autre valeur hexadécimale à 2 chiffres et notez-la afin que vous puissiez facilement la vérifier contre les tuyaux des adversaires lors d'un événement

Télécharger:

  • txMix au contrôleur
  • recevoir au module récepteur

Déroulement du code:

txMix:

Le code se lit dans la position du joystick comme une valeur « UP » et une valeur « latérale ». ces valeurs sont limitées en fonction de la valeur maximale fournie pour garantir que la pleine puissance sera donnée à la position maximale du manche.

Ces valeurs sont ensuite vérifiées pour s'assurer que le manche est sorti de la position neutre, s'il n'a pas envoyé des zéros.

Les valeurs sont ensuite mélangées individuellement en deux variables, une pour la vitesse du moteur à gauche et une pour la vitesse du moteur à droite. Dans ces variables, une valeur négative est utilisée pour indiquer que le moteur recule car cela simplifie le mélange.

Les valeurs de vitesse gauche et droite sont ensuite séparées en quatre valeurs pwm, une pour chacune: moteur droit en avant, moteur gauche en avant, moteur droit en arrière, moteur gauche en arrière.

Les quatre valeurs pwm sont ensuite envoyées au récepteur.

recevoir:

Reçoit simplement les signaux du contrôleur, vérifie que le signal ne contient pas de valeurs pwm pour l'avant et l'arrière sur un seul moteur puis applique le pwm.

Le récepteur met également en sécurité les moteurs hors tension lorsqu'un signal n'est pas reçu du contrôleur

Étape 7: boulonner le tout ensemble

Boulonner tout ensemble
Boulonner tout ensemble
Boulonner tout ensemble
Boulonner tout ensemble
Boulonner tout ensemble
Boulonner tout ensemble

Soudez les connecteurs aux moteurs ou soudez les moteurs directement au pont en H. (Je préfère les connecteurs pour pouvoir simplement changer les prises si j'ai mal branché les moteurs)

Soudez le fil positif du connecteur de la batterie à la broche centrale du commutateur et l'une des broches extérieures du commutateur au Vcc des modules connectés.

Soudez le fil négatif du connecteur de la batterie au GND des modules connectés.

(Facultatif) ajoutez des LED supplémentaires entre Vcc et GND. Tous les robots de combat nécessitent une lumière allumée pendant que le système est sous tension, selon les composants que ce système a des LED sur l'Arduino, le module 3.3v et le pont en h, tant qu'au moins l'un d'entre eux est visible de l'extérieur du bot cette règle est respectée. Des LED supplémentaires peuvent être utilisées pour s'assurer que cette règle est respectée et pour personnaliser l'apparence

Slightly Crude est simple à boulonner, boulonnez d'abord les supports de moteur en place, ajoutez l'électronique, puis boulonnez le couvercle en place, une petite quantité de velcro aidera à maintenir l'interrupteur sur le couvercle

Le contrôleur est à vous de concevoir et d'imprimer. Pour les tests, j'ai utilisé le contrôleur ci-joint qui a été modifié à partir du contrôleur BB8 V3 de James Bruton

Étape 8: Un mot sur les règles de combat des robots

Un mot sur les règles de combat de robots
Un mot sur les règles de combat de robots

Différents pays, états et groupes organisent des événements de combat de robots avec des règles différentes.

J'ai créé ce système et écrit ceci pour qu'il soit aussi général que possible tout en respectant les principales règles relatives aux systèmes RC (notamment, le système doit être numérique à 2,4 GHz et avoir un point d'isolement de la batterie). Pour exécuter ce système et/ou concevoir votre propre premier bot, il est préférable d'entrer en contact avec votre groupe local et d'obtenir une copie de ses règles.

Les règles que votre groupe local exécute sont absolues, ne me croyez pas sur parole dans cette instructable sur les règles de votre groupe.

Comme ce système Arduino est nouveau pour la communauté, il vous sera probablement demandé de le faire tester avant de l'utiliser lors d'un événement. J'ai testé ce système à plusieurs reprises contre des équipements RC standard et contre lui-même sans aucun problème d'interférence, il devrait donc réussir tout test. Cependant, les organisateurs de votre événement local ont le dernier mot et respectent leur décision. S'ils refusent son utilisation, demandez s'il existe un bot de prêt avec lequel vous pouvez vous battre, ou demandez des éclaircissements sur les raisons pour lesquelles il a été rejeté et essayez de résoudre le problème pour le prochain événement.

Étape 9: Informations supplémentaires sur les moteurs

Informations supplémentaires sur les moteurs
Informations supplémentaires sur les moteurs

Les micromoteurs à engrenages utilisés dans la classe des fourmis sont disponibles dans une large gamme de vitesses et sont soit marqués à l'aide de RPM ou de rapport de vitesse. Vous trouverez ci-dessous une conversion approximative.

La plupart des robots utilisent des moteurs entre 75:1 et 30:1 (à quelques exceptions près en utilisant 10:1). Les robots avec de grosses armes tournantes peuvent bénéficier de moteurs 75:1 plus lents, car la vitesse plus lente permet plus de contrôle. Les cales agiles, les élévateurs et les palmes sont meilleurs sur 30:1 entre les mains d'un pilote qualifié. Je recommande des moteurs 50:1 dans un coin pour les premiers combats juste pour s'habituer au système et à la conduite

  • 12V 2000 RPM (ou 6V 1000RPM) -> 30:1
  • 6V 300RPM -> 50:1

Étape 10: Mises à jour et améliorations

Cela fait quelques années que j'ai posté cet 'ible et j'ai beaucoup appris sur ce système, il est donc temps de les mettre à jour ici. Le plus important est le choix des composants, les composants d'origine fonctionnaient relativement bien mais tombaient parfois en panne pendant le combat. Les 2 grands auteurs sont le H-Bridge et le module nrf24l01, car j'ai choisi les pièces les moins chères que j'ai pu trouver. Ceux-ci peuvent être corrigés par:

  • Mise à niveau du pont en H 0,5 A vers un pont en H 1,5 A, comme celui-ci: Pont en H 1,5 A
  • Mise à niveau du module nrf24l01 vers une conception entièrement SMD: Open smart NRF24l01

Parallèlement aux nouvelles mises à niveau des composants, j'ai conçu de nouveaux PCB qui aident à compacter le RX et à ajouter plus de fonctionnalités au TX

J'ai aussi des changements de code à venir, alors restez à l'écoute pour ceux-ci

Conseillé: