Sujet : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour à tous,

l'an dernier j'ai cherché à contrôler deux moteurs dans les deux sens sans électronique. Du coup on utilisait deux interrupteurs trois positions pour commander la marche avant , la marche arrière et le fait de tourner (en n'activant qu'un moteur sur les deux).

Je suis professeur de physique, j'ai quelques notions de programmations mais cela ne va pas très loin. Cette année j'ai pour projet d'intégrer l'électronique dans la conception du robot.

En gros je souhaite pouvoir commander les deux moteurs du robot via une arduino uno et un shield moteur. Les moteurs cc sont alimentés en 12v. J'utiliserai avec les jeunes le logiciel arduino scratch pour que cela soit plus simple à comprendre pour eux.

En gros je voudrais qu'en activant
une pin 1 de la carte arduino , les deux moteurs tournent en avant
une pin 2 de la carte arduino , les deux moteurs tournent en arrière
une pin 3 de la carte arduino, un seul des deux moteurs
une pin 4 de la carte arduino, l'autre moteur

Cela parait tout bête mais j'ai beau cherché disons que je ne trouve pas une solution toute faîte, pourtant je suppose que ceci est la base d'une programmation robotique. J'ai vu des programmes pour commander un moteur. Mais pas plus loin.

Pourriez vous m'aider en me guidant dans mes recherches ?


Manu

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour,

Il faut vérifier en premier le courant max des moteurs ( 2A max)
Mais sinon pas de souci pour l'applicatif, le shields dispose d'un double pont en H permettant de piloter deux moteurs CC

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour et merci pour la réponse rapide.

Oui j'avais vu que cela était possible avec ce fameux pont en H. J'ai aussi repéré cette limite de deux ampères mais nos motoréducteurs montent à pas plus de 1 ampère.

Ma question se situe plus au niveau de la programmation... mon point faible quoi. Il y aurait il un endroit avec un tuto pour commander deux moteurs ?

Manu

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Tiens, tu as l'exemple avec un moteur, en rjouter un second ne sera pas bien dur :
http://arduino.cc/en/Tutorial/DueMotorShieldDC
Voir le code en bas.

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour,

si je pige bien, voulant commander le robot avec des interrupteurs ou un joystick , il faut que je remplace les low et high du code par des variables qui seront définis par rapport à l'état des broches d'entrées sur lesquelles seront connectées mes interrupteurs ?
Enfin pour alimenter mes moteurs, j'ai un transformateur 220v 12v. Puis je le brancher sur la carte  ? 

Deux petites question supplémentaires, le shield moteur qui est montré sur ce tutorial est il suffisant pour gérer plusieurs moteurs tournant sous 1A ?

Puis je remettre cette carte avec joystick par dessus le shield moteur ? http://boutique.semageek.com/fr/127-joy … d-kit.html [lien modéré]

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Je viens de faire pas mal de recherche sur les shields moteurs et les les shields avec joystick mais je me demande si on peut les superposer sans que cela pose de problèmes. Est ce qu'il ne faut pas faire attention à ce que les pattes reliées au joystick coincident avec celle du shield moteur ?

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Alors, pour ton transfo, il faut voir combien d'amperes il peu tenir. Ce doit être écrit dessus. Par contre, si tu le branche sur l'arduino, il sera convertit en 5v par l'arduino. Il faudra peut être lui bricoler une double sortie pour garder du 12v pour tes moteurs.
Ensuite, le motor shield rev 3 peut supporter 4A Max si ton alim peut les fournir. Donc 4 moteurs d'1A Max tournants en même temps. J'espère donc que ton alim supporte au moins 4,5A en sortie, pour alimenter aussi la carte arduino. Si c'est en dessous, la carte risque de reboot à chaque démarrage des moteurs.
Pour le shield joystick, oui, il faut vérifier qu'il n'y ai pas de pin déjà utilisé par le shield moteur.

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour,

mon alimentation peut tenir 12.5 Ampères donc je pense qu'il ne devrait pas y avoir de soucis à ce propos.

Par contre je n'ai encore jamais dédoublé une alimentation pour en faire une de 5v et une autre de 12v....
N'est il pas possible d'alimenter la carte avec une pile par exemple et l'alimentation des moteurs avec mon transfo ?

Pour le shield joystick, et si des pins sont déjà utilisées ? On procède comment ? Je n'ai pas encore reçu les deux shields.

Merci de votre aide.

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Pour dédoubler une alim c'est assez simple, tu démonte (ou coupe, à condition d'avoir une embase de remplacement) l'embase mâle de ton alim (celle qui se branche dans l'arduino), puis tu soude un fil rouge au fil rouge de l'alim et un noir au fil noir de l'alim. Comme ça ton alim envoie du courant vers l'embase que tu branchera dans l'arduino, et de l'embase ressortent deux fils qui te donneront du 12v.

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Je n'avais pas compris l'histoire des 5v. En gros je peux alimenter ma carte en 12V , il est spécifié que c'est entre 7 et 12v qu'on ne devrait pas rencontrer de problème. Tu me parlais des 5 V de la carte au cas ou j'alimenterais mes moteurs directement via la carte non ? Sinon je peux alimenter ma carte et mes moteurs par une simple dérivation en partant de mon transfo ?
J'ai bien compris ?

11

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

C'est bien ça !

Re : Contrôle d'un robot avec deux moteurs cc avec arduino

Bonjour,

bon ça avance dans le bon sens si je commence à comprendre.
Encore quelques petites questions.

J'utilise donc ce shield moteur : AdaFruit Motor Shield [lien modéré]
Je crois que j'ai pigé le truc avec le cavalier.  Si j'ai bien compris, si je veux alimenter mon arduino et mon shield avec la même alimentation, i lfaut que je place un cavalier sur le shield.

Mais sur l'arduino uno, il me semble qu'il y a 3 cavaliers en tout. A quoi servent ils ?
Me conseilles tu d'alimenter via le jack de larduino ou sur pwr_EXT du shield? Si j'ai pigé encore une fois, il y a une diode de protection sur le jack mais pas sur le pwr_ext.

Je testerai le petit programme dans la journée je pense pour faire tourner un moteur dans les deux sens.
Ensuite ce sera de la programmation en fonction des pins d'entrées.

Merci de ton aide.