0

Boussole CMP03

_BOUSSOLE_CMP03

La boussole est un élément très important pour le robot. C’est elle qui va guider le châssis et lui donner la direction globale à atteindre. Les télémètres indiqueront les obstacles à éviter, et le robot risque de devoir faire des détours. La boussole lui redira alors la bonne direction à prendre dès l’obstacle franchit.

Il y a deux méthodes pour obtenir la position :

- A travers un signal PWM directement sur l’une des pins du capteur - En faisant une requête i2c.

La seconde possibilité à été retenue afin de permettre à n’importe quelle carte d’avoir accès à ces informations. Elle est plus longue à mettre en place mais nous permettra un plus large choix de possibilités.

C’est pourquoi, dans un premier temps, nous utilisons la PWM pour orienter le Robot. Il suffit de connecter la broche sur un port analogique du microcontrôleur et l’on obtient une tension fonction de la position.

Voici le schéma de la boussole que nous utilisons. Il faut noter que certaines broches sont à configurer en fonction des besoins. Par exemple la broche 7 doit être reliée à la masse car nous sommes en France et fonctionnons en 50Hz.

La broche 6 permet de calibrer notre module. Il est aussi possible de le faire via l’I2C en jouant avec le registre 15. Cependant, nous n’avons pas besoin de calibrer notre capteur car nous fonctionnons en positionnement relatif et non pas absolu. De plus, au démarrage, le robot n’as aucune idée de l’orientation du Nord magnétique. Mais la possibilité reste présente pour d’autres applications éventuelles…

0

Les télémètres Infra-Rouge

capteur-distance-gp2y0a02yk-ir-sharp

Les télémètres infra-rouge vont vous donner un signal électrique proportionnel à la distance mesurée. Par exemple 1,2 V pour 6cm et 4,5V pour 27cm. Nous pouvons classer en deux catégories les télémètres infra-rouge:

-    Ceux de proximités qui vont donner une mesure de 4cm à 30 cm

-    Ceux de distance moyenne qui vont mesurer de 20 – 30 cm à 3 – 6 m
Pour avoir une distance exacte, le mieux est de se rapporter à la documentation technique du composant en allant voir le graphique de rapport voltage/dictance. Ensuite de faire ces propres mesures pour être sûre des valeures

Les télémètres infra-rouges sont les principaux capteurs de nos robots en raison de leur performance, de leur précision et de leur coup faible comparé à l’ultra_son. Cependant, il ne faut pas oublier de prendre en compte le fait de l’infra-rouge reste influençable par la lumière et la couleur des objets. Il faut donc bien prendre en compte ces données lors de la programmation des composants.

Sur le schéma ci-dessus, nous pouvons remarquer que la référence du voltage se règle en fonction de VCFG0 et VCFG0. Si vous souhaitez que la référence soit celle de base du microcontroleur, il faut mettre les deux paramètres à 0. Ainsi, ils seront communté sur VDD et VCC. Pour le réglage des autres paramètres, il suffit de suivre les directives fournies sur la figure suivante en réglant les temporisations en fonction du microcontroleur utilisé.

Attention, il faut bien noter que les configuration des registres sont propres à chaque microcontroleurs. Si pour ce type de PIC il faut régler les trois registres (ADCON0, ADCON1, et ADCON2) pour les 16f877, il n’y a que les deux premiers registres… Il faut donc bien se référer à sa documentation.

Voici un extrait du code qui permet de faire l’acquisition de la valeur analogique d’un télémètre GP2D12 du fabriquant SHARP

// mode analogiques pour le port A (AN0 – AN6)
ADCON1 = 0b00000111;

// definition des entrée sortie
TRISA=0xFF;

float telemetre;

ADCON2 = 0xFF; // configuration des temporisations, a retoucher pour faire un code plus propre …
telemetre = 0; // initialisation de la valeur retournée

if(c==3)ADCON0=0b00001101; //va chercher la valeur de mon télémètre An3

ADIF = 0;
ADIE = 1;
GIE = 1;

CONFIG_waitMs(10);

if(c==3)ADCON0=0b00001111; //va chercher la valeur de mon télémètre AN3

CONFIG_waitMs(10);
ADIF = 0;

telemetre = ADRESL;
telemetre += (ADRESH << 8);
telemetre = telemetre*5/1024;

0

Les Switchs à lamelle

fin_de_course-3pts

Les switchs sont des interrupteurs comme leur nom l’indique qui nous servent beaucoup en robotique pour faire des capteurs de derniers secours. Nous les avons principalement utilisés pour faire des pare-chocs lors des coupes de robotique.

Leur emploie reste très simple étant donné que ce ne sont qe des interrupteurs. Cependant, il faut penser à mettre un condensateur pour éviter les « doubles touches » et bien penser à mettre aussi des resistances de pull down. Une resistance de pull down permet de faire un appel de courant dans votre circuit électrique (en général autour d’1K). Si vous l’oubliez, le courant ne passera pas (ou s’il passe il sera faible) et votre signal ne sera pas propre. Une fois ces précotions bien respectées vous pouvez connecter la sortie sur votre microcontrôleur.

Histoire de bien protéger votre cicuit, vous pouvez rajouter une diode de protection pour éviter un retour de courant.

(nous vous mettrons un schéma électrique récapitulant le tout prochainement)