Programmation Robot ARDUINO Piloter deux moteurs à Courant

Transcription

Programmation Robot ARDUINO Piloter deux moteurs à Courant
Programmation Robot ARDUINO
Piloter deux moteurs à Courant Continu avec le Shield
moteur Adafruit
1- Brancher les moteurs sur le Shield Moteur (carte de pilotage des moteurs) :
▪ Moteur 1 sur M1 et Moteur 2 sur M2
▪ Connecter l’alimentation en énergie sur +M et DND
Moteur 3
Moteur 1
Moteur 4
Moteur 2
+
-
Energie
6 à 12 Volts
Moteur 1
GAUCHE
Avant
Moteur 1
GAUCHE
2- Vérifier la présence de la Librairie Adafruit – Installer la Librairie Adafruit – démarrer
Ardublock
Le Shield Moteur Adafruit se programme très simplement car les « blocks » existent déjà
dans la bibliothèque Ardublock.
Si vous utilisez pour la première fois le Shield Moteur Adafruit, il faut vérifier si la
bibliothèque de ce composant est installée dans le logiciel Arduino – Si elle n’est pas
présente il faudra l’installer : c’est très simple il suffit de suivre la procédure ci-dessous :
2-1 : vérifier la présence de la bibliothèque Adafruit Motor Shield dans l’IDE Arduino
(logiciel Arduino)
-
démarrer le logiciel Arduino
cliquez dans la barre de Menu sur : Croquis / Inclure une bibliothèque
Rechercher la présence de la bibliothèque qui s ‘appelle « AFMotor.h » ou
« Adafruit Motor Shield Library »
-
si vous avez la librairie parfait, vous pouvez démarrer Ardublock en cliquant
dans la barre de menu sur « Outils » puis « Ardublock ».
RAPPELS : pour ceux qui n’auraient pas encore installé le Plugin Ardublock dans le
Logiciel Arduino : voici la procédure :
- télécharger le dossier zip sur mon site Web : ArduBlockTool.zip
(Accueil / Arduino / Découvrir Arduino / TELECHARGEMENTS)
- décompresser le fichier zip
- copier et coller ce dossier à l’emplacement suivant sur le disque dur de votre
ordinateur : « C:\Program Files\Arduino\tools »
- Fermer et Re-démarrer le logiciel Arduino
- Cliquez sur « Outils » puis « Ardublock »
3- Programmer les moteurs avec Ardublock
Cliquez sur le volet « Adafruit Motorshield »
Moteur 1
Moteur 2
Vous pouvez ensuite créer un petit programme (voir ci-dessous ) pour faire tourner les roues 1 et 2
en marche avant (Ce programme permettra de faire avancer le Robot tout droit en marche Avant).
- Le canal Moteur correspond au numéro du Moteur (1 ou 2 )
- la vitesse du moteur est réglable de 0 à 255 (0= mini et 255= Maxi)
Transférer ensuite le programme vers la carte Arduino en cliquant sur « Téléverser vers
l’Arduino »
Le programme est maintenant transféré et sauvegardé dans la carte Arduino -
Débranchez le câble USB de la carte Arduino / alimentez votre robot en énergie
Observez le bon fonctionnement de votre Robot qui doit avancer bien droit…
Certains Problèmes peuvent apparaître – Pas de panique nous allons les régler… :
- Une roue (ou les deux) tourne(nt) à l’envers : il suffit d’inverser le branchement des
deux fils du moteur concerné sur le shield moteur Adafruit (voir page 1).
- Le robot n’avance pas vraiment droit (il tourne légèrement vers la droite ou la
gauche) : c’est qu’il y a une roue qui tourne plus vite que l’autre, pour régler ce petit
problème il faudra diminuer la vitesse d’un moteur sur le programme – Ne pas oublier de
transférer ce nouveau programme dans le robot pour le tester ….il faut souvent faire
plusieurs modifications avant d’obtenir une marche avant correcte (bien rectiligne).
- Le robot avance trop vite : il est plus judicieux d’avoir un robot qui n’avance pas trop vite
donc si besoin diminuer la vitesse des deux roues (plus la tension de la batterie est élevée
plus le robot sera rapide…)
Très important pour la suite : la vitesse de chaque moteur ainsi réglée au paragraphe
précédent est à noter soigneusement quelque part car il faudra toujours programmer le
Robot avec ces valeurs de vitesse pour les roues ce qui permettra d’avoir un robot qui
avance bien droit et qui effectue des virages précis.
Avant d’aller plus loin dans l programmation u Robot, il est maintenant temps d’utiliser la
fonction « Sous-programme » afin de créer les sous-programmes de déplacement du
robot ce qui permettra de simplifier la programmation du Robot.
Qu’est-ce qu’un sous programme ??
Un sous-programme correspond à une série d’ordres qui seront programmés dans un
sous- programme (un branche annexe du programme principal) et qu’il suffira d’appeler
avec un code spécial….voici en image une explication plus simple :
Pour faire avancer le robot il faut utiliser deux « blocks », un pour la roue Gauche pour lui
dire de tourner en AVANT et un autre pour la roue droite pour indiquer d’aller en AVANT :
Les deux blocks ci-dessus peuvent être remplacés par un seul block « AVANCE »
indiquant le déplacement effectué par le Robot correspondant :
Ces blocks se trouvent dans le menu Jaune
« Contrôle »
Dans le block ci-dessus « Sousprogramme commands », il faut
insérer les actions que l’on veut
programmer (durées des actions
etc…)
Le block ci-dessus « Sousprogramme » doit porter le même
nom que le sous-programme associé,
par exemple « AVANCE », il suffit
d’insérer ce block dans la branche
principale du programme pour
exécuter les commandes du sous
programme du même nom
Par exemple, le programme ci dessous permet de déplacer le Robot pendant 8
secondes (8000 millisecondes) en marche AVANT puis 8 secondes en marche
ARRIERE.
Programme principal
Sous-programmes de
déplacements
Il faut respecter la casse (minuscule / MAJUSCULE) et écrire exactement le même nom sinon
le programme principal ne reconnaît pas le sous-programme appelé
Voici donc ce que cela peut donner si on créer les 4 sous-programmes de déplacements
suivants :
AVANCE
ARRIERE
GAUCHE
DROITE
STOP
Moteur 1
Moteur 2
Il est très important de sauvegarder ce fichier contenant les sous-programmes de
déplacements. Surtout si les vitesses des moteurs de roues Gauche et Droite ont été
ajustées pour corriger les éventuelles dérives du robot….
Maintenant que le Robot est assemblé, réglé et programmé, on peut commencer la
programmation pour participer aux différentes épreuves du concours de Robotique !