Loupiot
Louis BERNOT Ste A4 Bureau d'etudes (discussion) 15 juillet 2016 à 11:36 (CAT)
INTRODUCTION
Robot loupiot est un petit robot dit "de table" conçu pour évoluer sur une feuille de format A4 ou A3. Sa petite taille en fait un parfait robot de classe. Basé sur un microcontrôleur PICAXE 20M2, il peut être codé à partir de Picaxe Editor 6 sur Blockly (téléchargeable ici) rapidement et de manière intuitive. Le code produit peut ensuite être transféré dans le robot en quelques secondes pour voir le résultat !
Dimensions : Ø 7,5 cm x h. 3,8 cm.
Alimentation: 4.5V (baisse en fonction de l'usure des batteries).
Très haute autonomie (1 à 3 heures selon l'utilisation et les 3 piles AAA choisies)
Les Capteurs et actionneurs du robot
De Base:
- Suivi de ligne : Composé de trois capteurs optiques sensibles aux infrarouges. Le robot peut donc détecter une bande ou une surface noire si celle-ci est assez opaque et large. Note: la sensibilité peut se régler à partir d'un potentiomètre sur le robot.(Voir son fonctionnement ici.)
- Pont en H : Il permet de gérer la vitesse et le sens de chaque moteur indépendamment (Voir son fonctionnement ici.).
- Leds : Le robot loupiot possède 3 leds programmables et 8 leds témoins.
Deux leds programmables (oranges) sont placées à l’arrière du robot à gauche et à droite. Elles servent de clignotants mais l'utilisateur peut les utiliser différemment. La troisième Led programmable (rouge) sert de témoin en cas de batterie faible.
Pour les leds non programmables, une sert de témoin On/Off et les autres d'indication de l'état du pont en H (Leds bleus) et du capteur suivi de ligne (Leds Oranges).
En Option:
- Capteur Ultrasons: Permet d'effectuer des mesures de distance en mesurant le temps entre l'émission et la réception d'un son. Note: il mesure en cône c'est à dire avec un angle d'émission. Il peut mesurer des obstacles jusqu’à 70-80 cm sans problème.
- Module groove bluetooth: Permet une communication bluetooth entre le robot et un téléphone ou une tablette android. Il est possible de créer une application soi-même sur l'environnement de développement APP Inventor qui ressemble à Blockly dans sa logique du code bloc par bloc.(Documentation technique ici)
- Capteur Infrarouge: Détecte les obstacles à moins de 5 cm devant lui.
Récapitulatif du branchement du Picaxe 20M2
CONTROLER LES MOTEURS DU ROBOT LOUPIOT
Pour commencer, je vous conseille de vous familiariser avec le principe général du pont en H qui est très bien expliqué sur ce site.
Grâce à ce composant, nous allons pouvoir faire avancer/reculer/freiner/accélérer et décélérer le robot en contrôlant chaque moteur séparément.
Fonctionnement
Le pont en H possède deux cotés: un droit et un gauche, contrôlant chacun un seul moteur grâce à 3 broches (pattes du Picaxe):
- Deux broches digitales (étant à l'état haut ou bas) pour contrôler le sens du moteur. C'est donc une commande désactiver / activer la sortie qu'il faut appliquer aux sortie du Picaxe
Pour le robot Loupiot, le sens du moteur droit est contrôlé par les broches C.2 et C.1 et le sens du moteur gauche par B.2 et B.3.
Ci-dessous un exemple du bloc Blockly à utiliser.
- Une broche analogique (pouvant prendre une valeur PWM de 0 a 1024) pour contrôler la vitesse. C'est donc une commande de PWM qu'il faut appliquer aux sorties du Picaxe
Sur le robot Loupiot, la vitesse du moteur droit se règle à partir de la broche C.3 et celui de gauche à partir de B.1.
Ci-dessous un exemple du bloc Blockly à utiliser.
- Tableau récapitulatif du contrôle par le Picaxe du pont en H:
Controle du pont en H | ||||||
---|---|---|---|---|---|---|
Moteur Droit | Moteur Gauche | |||||
Broches Utilisées | B.2 | B.3 | B.1 | C.1 | C.2 | C.3 |
marche Avant | activé | desactivé | Vitesse PWM: 0-1024 |
activé | desactivé | Vitesse PWM: 0-1024 |
marche Arrière | desactivé | activé | desactivé | activé | ||
Arrêt Moteur | activé | activé | activé | activé |
Leds témoins et premiers exemples d'utilisation
Directement branchées sur les pins de contrôle du pont en H (sauf ceux pour la vitesse) des leds témoins servent d'aide pour mieux visualiser la configuration du pont en H.
Ci-dessous deux exemple permettent de voir ces leds témoins: Le premier exemple montre toute les leds activées car il s'agit ici de stopper le robot (comme le montre le tableau ci-dessus).
Dans le deuxieme exemple seulement les deux leds de devant sont activées ce qui veut dire que B.3 et C.2 sont a l'état bas et B.2 et C.1 sont à l'état haut. Si on regarde le tableau récapitulatif ci-dessus on voit donc que cette configuration fait tourner les deux moteurs vers l'avant et donc le robot avancera.
Le dernier exemple est l'inverse du second ce qui donne un robot reculant.
Note: Activer et désactiver les broches dans un certaine ordre ne suffit pas a faire bouger le robot: il faut aussi penser à régler la vitesse de chaque moteur comme vu ci-dessus avec la commande de PWM sur C.3 et B.1.
Les différentes facon de tourner
Il n'y a pas de roues directrice sur le robot loupiot, donc pour tourner nous allons devoir utiliser le pont en H. Il faudra jouer avec les deux moteur pour créer une rotation. Pour se faire il y a plusieurs techniques possible:
- Si on ne souhaite pas toucher a la vitesse des moteurs la première solution est d'inverser le sens d'un des moteur. Cette technique est la plus efficace mais le robot n'avance plus lors de sa rotation! Voir figure 1 ci-dessous.
- Si on ne veut pas toucher au sens de rotation des moteurs on peut créer une différence de vitesse entre eux pour provoquer la rotation. Cette technique est moins efficace que la première mais le robot continu d'avancer pendant la rotation. Voir figure 2 ci-dessous.
- La dernière est un peut plus spéciale car il s'agit de stopper un des deux moteur donc on peut soit toucher à la vitesse soit aux broches de contrôle du moteur. C'est un bon compromis car le robot tourne presque aussi bien que la première méthode et il avance quand même un peu en tournant. Voir figure 3 ci-dessous. Note: on touche dans l'exemple aux broches de contrôle et non a la vitesse pour stopper le moteur!
Quoi qu'il en soit il n'y a pas vraiment de meilleur manière de tourner avec le robot. Il faudra adapter la meilleur méthode pour le besoin du programme.
SUIVIT DE LIGNE
Le suivit de ligne du robot loupiot est un ensemble de trois capteurs infrarouge.
Un capteur infrarouge possède un émetteur et un récepteur. L’émetteur envoie une lumière infrarouge qui en temps normale ricoche sur la surface sous le robot puis est reçu par le récepteur. Mais en cas de surface noir suffisamment opaque et large cette lumière est absorbée et le récepteur ne reçoit plus rien. Pour voir quand le récepteur reçoit ou non la lumière émise des leds témoins sont placé au dessus des capteurs. Elles s'allument quand ils ne l'a reçoivent plus.
Grace au trois capteurs on peut suivre une ligne en recherchant le capteur ne détectant plus la lumière émise et donc étant sur la ligne noir.
La sensibilité de tout les capteurs infrarouges peut se régler grâce à un potentiomètre. Attention: Le potentiomètre doit être réglé doucement avec un tournevis plat de 2.5 mm bien enclencher dans la fente prévus sur le potentiomètre !
Exemple de fonctionnement
Pour savoir si oui ou non une ligne se trouve en dessous d'un des capteur infrarouge il va falloir interroger la broche du Picaxe 20M2 relié a son récepteur. Si la broche est activée c'est qu'il y a effectivement une ligne noir sous ce capteur et si la broche n'est pas activé il n'y a rien en dessous du capteur! Ci-dessous le code Blockly à utiliser pour interroger les broches du Picaxe 20M2.
Le capteur Ultrason
Coder avec le robot Loupiot
Si vous avez bien compris comment fonctionne les différents capteurs et actionneur du robot vous pouvez voir ici des exemples de codes Blockly fonctionnels de plusieurs niveaux:
- Niveaux 1: La dance du robot Loupiot (récapitulatif dans actions principales: avancer, reculer...) cliquez ici