Robot suiveur de ligne

Robot suiveur de ligne

Dans le cadre de la compétition ENSA robot, j’ai présenté un robot suiveur De ligne capable de suivre une bande noire d’une largeur définie tracée sur un fond blanc, en totale autonomie, tout en gérant sa vitesse et sa direction.







Analyse fonctionnelle

Analyse du besoin

Analyse fonc

Analyse générale

Analyse general

Analyse détaillée

Analyse Detaillé

F.A.S.T

FAST

Étude Électronique

Le Microcontrôleur 16F84A

Ce modèle de PIC (Programmable Interface Controler) est un circuit de petite taille, fabriqué par la Société américaine Arizona MICROCHIP Technology.

En le regardant pour la première fois, il fait davantage penser à un banal circuit intégré logique TTL ou MOS, plutôt qu’à un microcontrôleur. Son boîtier est un DIL (Dual In Line) de 2×9 pattes.

En dépit de sa petite taille, il est caractérisé par une architecture interne qui lui confère souplesse et vitesse incomparables.

Ses principales caractéristiques sont :

– 13 lignes d’entrées/sorties, réparties en un port de 5 lignes (Port A) et un port de 8 lignes (Port B).

– alimentation sous 5 Volts.

– architecture interne révolutionnaire lui conférant une extraordinaire rapidité.

– une mémoire de programme pouvant contenir 1.019 instructions de 14 bits chacune (allant de l’adresse 005 à l’adresse 3FF).

– une mémoire RAM utilisateur de 68 emplacements à 8 bits (de l’adresse 0C à l’adresse 4F).

– une mémoire RAM de 2×12 emplacements réservée aux registres spéciaux.

– une mémoire EEPROM de 64 emplacements.

– une horloge interne, avec pré diviseur et chien de garde.

– possibilité d’être programmé in-circuit, c’est à dire sans qu’il soit nécessaire de le retirer du support de l’application.

– vecteur de Reset situé à l’adresse 000.

– un vecteur d’interruption, situé à l’adresse 004.

– bus d’adresses de 13 lignes.

– présence d’un code de protection permettant d’en empêcher la duplication.

– facilité de programmation.

-simplicité.

-faible prix.

Brochage du PIC 16F84A

Brochage de PIC

Les Entrées/Sorties

A part les cinq pins réservées au cortège des invariants devant nécessairement figurer dans tout montage, les treize autres pins du 16F84 servent d’entrées/sorties.

Elles sont regroupées en deux ports : Port A et Port B.

Le Port A possède 5 lignes, nommées:

RA0……….pin 17

RA1……….pin 18

RA2……….pin 1

RA3……….pin 2

RA4……….pin 3 (RA4/T0CKI)

(NB : RA = Register A)

Le Port B possède 8 lignes, nommées:

RB0……….pin 6 (RB0/INT)

RB1……….pin 7

RB2……….pin 8

RB3……….pin 9

RB4……….pin 10

RB5……….pin 11

RB6……….pin 12

RB7……….pin 13

(NB : RB = Register B)

A remarquer que RB0 (pin 6) et RA4 (pin 3), outre qu’à pouvoir servir d’entrées/sorties, selon la façon dont on les programme peuvent respectivement servir l’une comme entrée d’interruption et l’autre comme entrée d’horloge externe pour le pilotage du timer (TMR0).

 Les capteurs Infrarouges

Principe de fonctionnement du capteur infrarouge

Les capteurs utilisés seront à la fois émetteurs et récepteurs de rayons infrarouges. De manière simplifiée, ils transforment l’intensité des ondes infrarouges reçues en une tension proportionnelle à celle-ci. Cette émission de rayons infrarouges est invisible à l’œil humain car la longueur d’ondes λ, qui différencie les multiples radiations, est inférieure a 800 nanomètres (nm) or, le spectre visible par l’Homme est l’intervalle : 400 nm < λ < 800 nm.

Ce type de capteurs détecte soit :

– une couleur claire : l’extérieur de la ligne (la couleur du contreplaque), dans ce cas les infrarouges émis seront presque en intégralité réfléchis donc la tension en sortie du capteur sera élevée.

– une couleur foncée : la ligne a détecter, dans ce cas les infrarouges émis ne seront pas réfléchis ou presque donc la tension en sortie sera faible.

Non présence de ligne

 

Non présence de ligne

Capteur au-dessus de l’aggloméré :

Le support, de part de sa couleur claire, renvoie une grande partie des rayons émis. Le phototransistor est sature. Vce est élevé.

Présence de ligne

Presence de ligne

Capteur au-dessus de la ligne

Le support de part, de sa couleur foncée, ne renvoie pas pratiquement d’infrarouge. Le phototransistor tend à être bloque. Vce est faible.

La variation de cette tension Vce, comparée ensuite grâce à un amplificateur opérationnel, puis analysée par un microcontrôleur permettra au robot de connaitre sa position par rapport à la ligne suivie, donc par rapport au trajet prédéterminé qu’il doit suivre.

l

Choix du langage de programmation

Afin de faire le travail de la manière la plus simple et la plus pratique on a fait des recherches sur différents langages de programmation possibles et parmi les langages qu’on a pu trouver :

Langage de programmation C : un langage simple, trop pratique et avec lequel on a eu l’habitude de programmer d’avance.

Visual basic : simple et facile pour interfacer l’application mais un pic spécialisé avec est plus chère ainsi que l’environnement du développement payant avec.

Urbi : langage prometteur mais peu de documentation la dessus.

Langage assembleur : langage un peu compliqué à manier. Mais plus approprié au type de pic utilisé.

De ce qui précède on a constaté que le mieux pour le projet et de programmer avec l’assembleur ou bien le langage C.

Trouvez-vous le Codage en langage C ici : Robot suiveur de ligne