Loupiot : Différence entre versions

De Wiki A4.fr
(Capteur Ultrason)
Ligne 120 : Ligne 120 :
 
<br>
 
<br>
 
Afin de récupérer l'information sur le statut du capteur de ligne, une commande de condition doit être utilisée dans le programme. Si la broche correspondant au capteur est activée, c'est qu'il y a effectivement une ligne noire sous ce capteur. Si la broche n'est pas activée, il n'y a rien en dessous (surface blanche) ! Ci-dessous le code Blockly à utiliser pour interroger les broches du Picaxe 20M2.  
 
Afin de récupérer l'information sur le statut du capteur de ligne, une commande de condition doit être utilisée dans le programme. Si la broche correspondant au capteur est activée, c'est qu'il y a effectivement une ligne noire sous ce capteur. Si la broche n'est pas activée, il n'y a rien en dessous (surface blanche) ! Ci-dessous le code Blockly à utiliser pour interroger les broches du Picaxe 20M2.  
[[File:CodeExBroche.jpg|thumb|none|x350px|'''Exemple: On interroge le capteur 3 et on effectue une action selon le resultat. ''']]<br><br>
+
[[File:CodeExBroche.jpg|thumb|none|x350px|'''Exemple: On interroge le capteur 3 et on effectue une action selon le résultat. ''']]<br><br>
 
<div><ul>  
 
<div><ul>  
 
<li style="display: inline-block;">[[File:ligneOFF.jpg|thumb|none|x350px|'''Le robot n'est pas encore sur la ligne= les LED ne sont pas allumées= le récepteur reçoit.''']]</li>
 
<li style="display: inline-block;">[[File:ligneOFF.jpg|thumb|none|x350px|'''Le robot n'est pas encore sur la ligne= les LED ne sont pas allumées= le récepteur reçoit.''']]</li>
Ligne 127 : Ligne 127 :
  
 
== '''Capteur Ultrason''' ==
 
== '''Capteur Ultrason''' ==
L'option détection Ultrason est composée du module capteur Ultrason ainsi qu'un réhausseur de tension (step up voltage). Afin d'utiliser le module Ultrason, il est nécéssaire d'implanter le réhausseur de tension sur la carte. Une barrete de 3 points femelle est prévue à cet effet. Il suffit de planter le composant à 3 broches mâles à cet emplacement (voir schéma ci-desous) :
+
L'option détection Ultrason est composée du module capteur Ultrason ainsi qu'un réhausseur de tension (step up voltage). Afin d'utiliser le module Ultrason, il est nécessaire d'implanter le réhausseur de tension sur la carte. Une barrette de 3 points femelle est prévue à cet effet. Il suffit de planter le composant à 3 broches mâles à cet emplacement (voir schéma ci-dessous) :
[[File:Loupiot stepup monté.JPG|none|250px|Branchement Picaxe 20M2]]
+
 
[[File:Loupiot_stepup.JPG|none|250px|Branchement Picaxe 20M2]]
+
[[File:Loupiot-step-up02.jpg|none|250px|Branchement Picaxe 20M2]]<br>
 +
 
 
[[File:ultraSonConne.jpg|thumb|none|500px|Ultrasons]]
 
[[File:ultraSonConne.jpg|thumb|none|500px|Ultrasons]]
  

Version du 17 mars 2017 à 09:25

Introduction

Robot Loupiot Prototype avec option ultrasons

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 robot idéal pour s'inscrire en classe. Basé sur un microcontrôleur PICAXE 20M2, il peut être programmé à partir de Picaxe Editor 6 sur Blockly (téléchargeable ici) rapidement et de manière intuitive à l'aide de la programmation par bloc.

Dimensions : Ø 7,5 cm x h. 3,8 cm.
Alimentation : 4,5 V (baisse en fonction de l'usure des batteries).
Grande autonomie (plus de 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 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.).

  • LED : 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 sont de bases utilisées comme clignotant mais peuvent être programmées différemment. La troisième LED programmable (rouge) sert de témoin en cas de batterie faible.
    Pour les LED non programmables, une sert de témoin On/Off et les autres d'indication de l'état du pont en H (LED bleues) et du capteur suivi de ligne (LED oranges).
LedProgArr.jpg

En Option:

  • Capteur Ultrasons: Mesure des distances de 3 à 255 cm en mesurant le temps entre l'émission et la réception d'un ultrason.

  • Module Groove Bluetooth: 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 de proximité (Infrarouge): Détecte les obstacles à moins de 5 cm (capteur tout ou rien).

Le robot Loupiot avec toutes ses options (de gauche à droite : ultrasons, infrarouge, Bluetooth Groove)

Récapitulatif du branchement du Picaxe 20M2


Branchement Picaxe 20M2

Contrôler les moteurs du robot Loupiot

Fonctionnement

Le circuit de commande des moteurs (pont en H) possède deux côtés : un droit et un gauche, contrôlant chacun un seul moteur grâce à 3 broches (broches du Picaxe):

  • Deux broches digitales (étant à l'état haut ou bas) pour contrôler le sens du moteur. C'est une commande désactiver / activer la sortie qu'il faut appliquer aux sorties 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.
PinExMot.png
  • Une broche analogique (pouvant prendre une valeur PWM de 0 à 1024) pour contrôler la vitesse. C'est 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 celle du moteur gauche à partir de B.1.
    Ci-dessous un exemple du bloc Blockly à utiliser.
CommandePwmEx.png
  • Tableau récapitulatif du contrôle par le Picaxe du pont en H:
Contrôle du pont en H
Moteur Gauche Moteur Droit
Broches Utilisées B.2 B.3 B.1 C.1 C.2 C.3
Marche Avant activé désactivé Vitesse
PWM
activé désactivé Vitesse
PWM
Marche Arrière désactivé activé désactivé activé
Arrêt Moteur activé activé activé activé


Premiers exemples d'utilisation

Directement branchées sur les broches de contrôle du moteur, des LED témoins servent d'aide pour mieux visualiser l'état des moteurs.
Ci-dessous, plusieurs exemples permettent de voir ces LED témoins. Le premier exemple arrête les deux moteurs car les sorties sont toutes activées (toutes les LEDs bleues activées).
Dans le deuxième exemple, seules les deux LED à l'avant sont activées, ce qui veut dire que B.3 et C.2 sont à l'état bas et B.2 et C.1 sont à l'état haut. Si on regarde le tableau récapitulatif ci-dessus, on voit que cette configuration fait tourner les deux moteurs vers l'avant et 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 certain ordre ne suffit pas à 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.

  • Exemple: Toutes les broches activées = STOP
  • Exemple: avancer
  • Exemple: reculer

Effectuer une rotation

Il n'y a pas de roues directrices sur le robot Loupiot, afin d’effectuer une rotation, l'utilisation du circuit de commande des moteurs est indispensable. Il existe différentes manières de faire tourner le robot :

  • La première solution est d'inverser le sens d'un des moteurs. Cette technique est la plus efficace, car le robot tourne sur son axe.Voir figure 1 ci-dessous.
  • Inversement du sens de rotation d'un moteur (figure1)
  • Exemple de code associé
  • Il est possible de créer une différence de vitesse entre les deux moteurs afin de provoquer une rotation. Cette technique est moins efficace que la première mais le robot continue d'avancer pendant la rotation. Voir figure 2 ci-dessous.
  • Différence de vitesse moteur (figure2)
  • Exemple de code associé
    • La troisième consiste a arrêter un seul des moteurs
  • Blocage d'un des moteurs (figure3)
  • Exemple de code associé

Suivi de ligne


Le suivi 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 est réfléchie par un objet puis captée par le récepteur. Si aucune présence d'objet n'est détectée, le récepteur ne capte alors pas l'onde infrarouge.
Dans le cas du suivi de ligne, c'est la surface blanche qui réfléchie la lumière et quand il y a une surface noire suffisamment opaque et large, cette lumière est absorbée par la surface.
Afin de constater la bonne réception du rayon infrarouge, des LED témoins sont placées au dessus des capteurs. Elles s'allument quand le rayon n'est pas reçu.
A l'aide de ces trois capteurs, le robot peut connaître sa position sur une ligne et la suivre.
La sensibilité de tous 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 enclenché dans la fente prévue ! Pour le régler, placez-le sur la surface où il va se déplacer. Tournez le potentiomètre jusqu'à ce que toutes les leds s'allument puis continuez de tourner doucement pour toutes les éteindre. Quand elles le sont, tournez encore un petit peu par sécurité et c'est fait!

  • Les trois capteurs infrarouges et les broches associées
  • Réglage du potentiomètre
  • Les trois leds témoins

Exemple de fonctionnement


Afin de récupérer l'information sur le statut du capteur de ligne, une commande de condition doit être utilisée dans le programme. Si la broche correspondant au capteur est activée, c'est qu'il y a effectivement une ligne noire sous ce capteur. Si la broche n'est pas activée, il n'y a rien en dessous (surface blanche) ! Ci-dessous le code Blockly à utiliser pour interroger les broches du Picaxe 20M2.

Exemple: On interroge le capteur 3 et on effectue une action selon le résultat.


  • Le robot n'est pas encore sur la ligne= les LED ne sont pas allumées= le récepteur reçoit.
  • Le robot est sur la ligne noire= les LED sont allumées= le récepteur ne reçoit plus rien.

Capteur Ultrason

L'option détection Ultrason est composée du module capteur Ultrason ainsi qu'un réhausseur de tension (step up voltage). Afin d'utiliser le module Ultrason, il est nécessaire d'implanter le réhausseur de tension sur la carte. Une barrette de 3 points femelle est prévue à cet effet. Il suffit de planter le composant à 3 broches mâles à cet emplacement (voir schéma ci-dessous) :

Branchement Picaxe 20M2

Ultrasons

Coder avec le robot Loupiot


Si vous avez bien compris comment fonctionne les différents capteurs et actionneurs du robot, vous pouvez voir ici des exemples de codes Blockly fonctionnels de plusieurs niveaux:

Ressources diverses

Schéma du circuit robot Loupiot

Schéma du circuit robot Loupiot (cliquer deux fois pour agrandir l'image)

Fichiers 3D

Télécharger les fichiers SolidWorks et les STL pour les coques et le capot de la batterie du LouPiot