Aller au contenu


Photo
- - - - -

Question - tank a base d'arduino et communication RF


7 réponses à ce sujet

#1 Bastian

Bastian

    Nouveau membre

  • Membres
  • 4 messages

Posté 14 janvier 2016 - 01:35

Bonjour à,

 

Je voudrais m'initier à la robotic et je veux créer un robot de type tank radiocommandé (par RF).

 

Pour cela je dispose de:
- 2 moteurs

- 2 chenilles (1 pour chaque moteur)

- 2 arduino MEGA (oui c'est gros mais j'ai que ca pour le moment - au future je prendrai des mini)

- un tas de composant (résistance, condensateur, LED, câbles, breadboard etc..)

 

Ce que je n'ai pas:

- module de communication

- le code du contrôleur de robot (que je fera une fois les montages réalisés)

 

Cependant quelques questions me restent sans réponses, ça concerne le module RF et la direction, je vois beaucoup de tuto/guide qui utiliset des voitures RC pas cher, retirent les émetteur/récepteur et les utilisent, je n'aime pas trop ce concept et je voudrais vous posez ces questions:

 

(svp: j'aimerai des questions de personnes qui connaissent bien le sujet, pas de réponse vague)

 

Expectations:

La distance de portée n’excède pas 50metres, ça ne doit pas trop consommer, et dois contrôleur 2 moteurs + 3 servos moteurs

 

- Quel type de composant dois-je choisir?

un émetteur et un transmetteur sont suffisant? Ou dois-je utiliser un transceiver (genre ça)?

- Comment être sur que les composant RF puissent gérer les 5 moteurs?

- Vaut-il mieux acheter ces composant - ou est il possible de les faire soit mème sans trop de galère (avec modulation et encode/décodage) ?

- d'autre question viendrons après celle ci :P

 

Pour la direction j’ai plusieurs choix:

a - 2 joystick (1dimension - avant/arrière), un pour chaque moteurs, galère pour le diriger car il faut la même vitesse pour les deux moteurs pour avancer

b - 1 adder/subtractor: system bi-diferenciel mécanique a deux moteur, 1 gère la marche avant et arrière tandis que l autre la direction ( pas facile à trouver et bien cher)

c - Faire un code contrôleur de moteur qui régule le voltage passer à un des moteur lorsque je veux tourner

 

Qu'en pensez vous? Avez vous d'autre alternative 'réalisable' ? Est-ce que le c est possible?

 

Merci à ceux qui voudrons bien me lire et me répondre :)



#2 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 14 janvier 2016 - 04:21

Hello,

 

Pour la communication, les deux points importants sont la portée et le débit. A partir de là tu peux déterminer le type de connexion.

Dans ton cas ce sera quelques bytes de commandes, le débit n'est donc pas crucial. Tu peux donc utiliser un simple couple émetteur/récepteur en 433 [MHz] comme on en voit dans beaucoup de télécommandes. Il existe un tas de tutos à leur sujet. Si tu veux une communication bidirectionnelle tu peux alors travailler avec deux couples émetteur/récepteur ou alors utiliser des transmetteurs. Les transmetteurs sont une solution plus propre, évitant que le doublon de communicateurs se perturbent mutuellement...

Les nRF24L01 sont également très connus sur la toile et tu devrais trouver facilement de quoi les utiliser.

 

Concernant la gestion des moteurs, ce n'est pas l'élément RF qui s'en charge, pas comme en modélisme où les choses sont dans un même boitier (à part les ESC, mais bon, là n'est pas le sujet principal..). Tu auras besoin d'une carte de commande sur ton robot qui interprète les instructions reçues par la télécommande. C'est cette carte qui va alors générer les signaux de commandes pour les drivers de puissance des moteurs.

 

Pour tes questions sur la direction:

  • (a) solution parfaitement applicable. La gestion de la vitesse des moteurs peut se faire avec un asservissement de la vitesse. Ainsi les moteurs seront synchronisés logiciellement/numériquement.
  • (b) si tu as envie de t'amuser en mécanique c'est envisageable je pense, mais la mécanique n'est pas mon domaine direct.. Pour plus d'infos sur cette solutions, attends le passage de quelqu'un qui s'y connait.
  • (c) ce code contrôleur tu devras le faire de toute façon, sauf si tu fais un robot entièrement analogique mais ça n'a pas l'air d'être ton but..

Dans ton robot tu auras plusieurs niveaux:

  • Télécommande (lit les valeurs des potentiomètres, boutons, etc.. pour les envoyer au robot)
  • Communication (divisée en deux, côté contrôleur et côté robot)
  • Cerveau du robot (analyse des données reçues par la télécommande, génération des signaux de commandes,...)
  • Etage de puissance (convertit les signaux de commande en signaux de puissance utilisables par ta motorisation)
  • Et bien sûr, tes batteries

La télécommande et le robot posséderont tous deux une de tes cartes MEGA et des composants nécessaires (boutons, LED, pont-H, ...)

 

Je pense que j'ai tout dit, n'hésite pas à poser des questions

 

~Taupiot_Jr



#3 Bastian

Bastian

    Nouveau membre

  • Membres
  • 4 messages

Posté 14 janvier 2016 - 05:13

Merci pour ces éclaircissement Taupiot_Jr !

 

Cela répond à pas mal des mes interrogations, mais pas toutes ! :)

 

Pour la communication, j'ai cru comprendre, lors de mes lectures, que les émetteurs pouvaient envoyé qu'un certain nombre de signaux. Est-ce bien le cas ? Avec un simple couple émetteur/récepteur serais-je limité (j'imagine que cela dépend du-quel - disons les moins cher/basic)?

Serais-tu me conseiller un couple qui code/décode les signaux (est ce vraiment nécessaire d’ailleurs d'encoder les signaux? c'est pour éviter les perturbation j'imagine?) - le plus simple possible mème si la portée est de 2metre max (c'est pour des essais) ?

 

Pour la motorisation, je voudrais utiliser un MEGA pour contrôler les moteurs avec un L293D. Est ce que la MEGA pourra gérer les deux types de contrôles: transmission et moteurs?



#4 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 14 janvier 2016 - 07:27

Hello,

 

Que veux-tu dire par "un certain nombre de signaux"? Je pense que tu parles la capacité du buffer, par exemple le nRF24L01 peut (selon mes souvenirs..) envoyer 32 bytes à la fois. Ce qui signifie que si ton message est plus long, il faut l'envoyer en plusieurs fois (partie 1, puis partie 2, ...)

 

Comme tu dis, la limite c'est le matériel choisi, donc c'est à voir dans les spécifications (datasheet) du composant choisi.

L'encodage est vraiment nécessaire, étant dans un mode de transmission sans contact, il n'y a pas de référence commune au couple émetteur/récepteur. Sans cet encodage particulier (par exemple le code Manchester) comment différencier un '1' d'un '0'?

 

Donc pour des essais simples à toi de voir, ou tu investis tout de suite dans quelque chose de réutilisable dans ton projet (mais ça nécessite de connaître tes besoins...) ou tu achètes un kit simple de 433 [MHz] et en fonction de cela tu sauras ce que tu as besoin pour ton projet.

Oui la MEGA est tout à fait capable de gérer ces deux choses et bien plus encore.

 

~Taupiot_Jr



#5 Bastian

Bastian

    Nouveau membre

  • Membres
  • 4 messages

Posté 14 janvier 2016 - 08:49

De ce que j'avais comprit, par signaux je pensai aux commandes: avance, recule, gauche, droite etc. Mais je réalise maintenant que ça envoie des bits. Du coup a moi de m'arranger pour ´mapper' des commandes par type de données/bits reçut

#6 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 15 janvier 2016 - 06:26

Hello,

 

Oui en effet, c'est uniquement des bits qui sont envoyés. C'est là qu'intervient le microcontrôleur pour interpréter les signaux et les convertir pour l'étage de puissance, ou pour en faire ce dont tu as besoin (allumer une LED, mesurer une distance, ...).

 

~Taupiot_Jr



#7 Bastian

Bastian

    Nouveau membre

  • Membres
  • 4 messages

Posté 15 janvier 2016 - 03:25

Merci beaucoup pour ton aide!

Voilà j'ai commandé les modules rf !

Je partagerai mon avancée j'aurai sûrement d'autres questions haha :)
Je suis tout excité

#8 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 16 janvier 2016 - 10:09

De rien, c'est le but de ce forum ;)

Tu verras tu devrais bien t'amuser avec!

 

~Taupiot_Jr





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users