Académique Documents
Professionnel Documents
Culture Documents
1 Prsentation
Le robot WIFIBOT est un robot de surveillance, muni dune camra IP et de 4 roues motrices.
Il est pilotable travers le rseau (priv ou Internet).
Dans ce TP, on sintresse en particulier au contrle de la vitesse du robot. Le robot dispose de 4 moteurs, un pour
chaque roue. Chaque moteur dispose dun codeur incrmental.
Le robot dispose de 2 cartes de commande des moteurs. Chaque carte commande 2 moteurs.
Moteur
Codeur
Rducteur
2 Etude du codeur
Rappel :
Le rducteur a un rapport de 50 :1 lorsque laxe en sortie du rducteur fait 1 tour, laxe moteur en fait 50
Le codeur dlivre 120 impulsions, sur une voie, lorsque le moteur fait 1 tour.
2.1 Dterminer la vitesse de rotation du moteur lorsquon relve une frquence de 10kHz sur une voie du codeur.
2.2 Dterminer la vitesse de rotation en sortie du rducteur, dans ces mmes conditions.
Rappels :
La bibliothque TimerOne permet de gnrer des interruptions des intervalles de temps rguliers. La
fonction Timer1.initialize(temps) dfinit la priodicit des interruptions, le temps est en s. La fonction
Timer1.attachInterrupt(procdure) dfinit la procdure appeler au moment de linterruption.
La fonction attachInterrupt(p1,p2,p3) accepte 3 paramtres :
p1 dfinit le numro de linterruption (0 est li la patte 2 de la carte ARDUINO)
p2 dfinit le nom de la fonction a appel lors de linterruption
p3 dfinit le front qui provoque linterruption (RISING, FALING, LOW, CHANGE)
Le programme complet implanter dans la carte ARDUINO est donn (codeur.ino) en annexe.
Ouvrir le programme avec le logiciel arduino.
3.1 A la lecture du programme, dterminer le temps entre 2 interruptions provoques par le Timer 1
3.2 A la lecture du programme, dterminer la fonction appele lors dune interruption provoque par le Timer1
3.3 A la lecture du programme, dterminer la fonction appele lors dun front montant (RISING) sur linterruption 0
(patte 2).
La variable nombre_imp contient le nombre dimpulsions du codeur pendant le temps entre 2 interruptions du
Timer1.
Les caractristiques du motorducteur donnent une vitesse de rotation maximale de 175 rpm (rotations par minute)
en sortie du rducteur.
3.4 Dterminer dans ces conditions o la vitesse est maximale :
La vitesse de rotation en sortie du rducteur en tr/s
La vitesse de rotation du moteur en tr/s
La frquence des impulsions sur une voie du codeur
La valeur de la variable nombre_imp
3.5 La taille de la variable nombre_imp, dclare en unsigned char (variable sur 8 bits, de 0 255) est elle
suffisante ?
Le dialogue entre Labview et la carte ADUINO seffectue via une liaison srie (supporte par lUSB).
2 types de commande sont envoys la carte :
Commande du moteur (sens et vitesse)
Demande du nombre dimpulsions comptes (pendant le temps de mesure)
5.1 Proposer une solution pour afficher directement la vitesse de rotation du moteur (en tr/s), ainsi que la vitesse
en sortie rducteur (en tr/s).
5.2 Vrifier si le rsultat obtenu est conforme (compter le nombre de tour de laxe rducteur pendant un certains
temps).
SENS 2
Le vi sous Labview doit tre modifi de la manire suivante : la partie ajouter est encadre en pointills