Le suiveur de ligne est un robot autonome qui suit soit la ligne noire en blanc soit la ligne blanche dans la zone noire. Le robot doit être capable de détecter une ligne particulière et de continuer à la suivre.

Dans des situations spéciales telles que le croisement, où le robot peut avoir plus d’un chemin à suivre, le chemin prédéfini doit être suivi par le robot.

Dans la section suivante, nous discuterons robot suiveur de ligne suivant la ligne noire dans la zone blanche et tournez à droite à l’arrivée d’un virage en croix ou en Y.

Mais avec des modifications moins appropriées, les utilisateurs peuvent également créer un robot pour d’autres options.

Vidéo

· TABLEAU DE BLOC

Voyons voir comment fonctionne le robot de suivi de ligne. Consultez d’abord les schémas fonctionnels.

Robot de suivi de ligne

· EXPLICATION DU DIAGRAMME DE BLOC

Une série de capteurs sont utilisés pour détecter la ligne. Sur la base de l’état des capteurs, en particulier, le circuit ou le contrôleur détermine la position de la ligne et également le sens de mouvement requis pour suivre la ligne. Le circuit de commande de moteur est utilisé pour allumer / éteindre les moteurs GAUCHE / DROITE sur le robot pour fournir le mouvement souhaité.

· CAPTEURS

Des capteurs sont nécessaires pour détecter la position de la ligne à suivre par rapport à la position du robot. Les capteurs les plus couramment utilisés pour le robot de suivi de ligne sont les CAPTEURS PHOTO. Ils sont basés sur l’observation de base que «la surface blanche réfléchit la lumière et la surface noire l’absorbe».

Le circuit du capteur contient un ensemble émetteur, détecteur et comparateur.

· PHOTOS CAPTEURS

La lumière IR ou VISIBLE est émise par l’émetteur (la lumière IR est la plus préférée pour éviter les interférences de la lumière visible, qui est généralement autour du robot. Cependant, la lumière IR est également présente dans l’atmosphère, mais son intensité est bien inférieure à la lumière visible, afin que les lumières IR puissent fournir une sortie très fiable.Pour une meilleure précision des capteurs, ils doivent être correctement recouverts pour s’isoler de l’environnement.)

Cette lumière émise frappe la surface et est réfléchie. Si la surface est blanche, plus d’intensité lumineuse est réfléchie, et pour une surface noire, beaucoup moins d’intensité lumineuse est réfléchie.

Le photodétecteur est utilisé pour détecter l’intensité de la lumière réfléchie. La tension analogique correspondante est induite en fonction de l’intensité de la lumière réfléchie. Cette tension est comparée à la tension de référence fixe dans le circuit comparateur, et elle est donc convertie en logique 0 ou logique 1, qui peut être utilisée par l’unité de contrôle.

Le circuit de comparaison peut être conçu de deux manières.

Sag-1

Zone noire = 1

Zone blanche = 0

Sag-2

Zone noire = 0

Zone blanche = 1

Dans la section suivante, le cas 1 est utilisé.

Le circuit de test du capteur est comme indiqué sur la fig.

· CIRCUIT ÉMETTEUR

CIRCUIT ÉMETTEUR.jpg

· SORTIE PIN OP-AMP

OP-AMP-PIN-OUT.jpg

· DESCRIPTION DU PIN

Vcc est une alimentation 5V.

Input + est une borne d’entrée non inverseuse sur un ampli-op = V (+).

Les entrées inversent les bornes d’entrée à un ampli-op = V (-).

La sortie est logique1 ou logique 0 selon les deux bornes d’entrée.

La sortie est logique 1 si V (+)> V (-)

Logique 0 si V (+)

· CIRCUIT DE DÉTECTEUR

A = point central du circuit diviseur de tension (toujours 2,5 V)

B = borne non inverseuse sur OP-AMP

C = borne d’inversion sur OP-AMP

D = borne de sortie sur OP-AMP

· TRAVAIL DU CIRCUIT DE DÉTECTEUR

· Lorsque la lumière tombe sur le détecteur D2, une chute de tension d’env. 0,7 V au-dessus de D2 et donc 2,5 V (tension à A) – 0,9*V (diminution sur D2) = 1,6*V (tension à C)

· Lorsque la lumière ne tombe pas sur le détecteur D2, aucun courant ne le traverse et donc tension à C = Tension à A = 2,5 V

*Ces valeurs changent avec le changement d’atmosphère, les conditions d’éclairage, etc. Nous devons changer la résistance variable pour obtenir le rendement souhaité.

Examinons maintenant les différentes conditions énoncées dans le tableau ci-dessous.

Tension à A

Tension à B

Tension à C

Tension à D

production

2,5 V

Moins de 2*V

Si la lumière tombe, (zone blanche) 1,6*V

0V

Logique 0

2,5 V

Moins de 2*V

Si la lumière ne s’éteint pas, (zone noire)

2,5 V

Vcc = 5 V

Logique 1

2,5 V

Plus grand que 2*V

Si la lumière tombe, (zone blanche) 1,6*V

Vcc = 5 V

Logique 1

2,5 V

Plus grand que 2*V et moins de 2,5 V.

Si la lumière ne faiblit pas, (zone noire)

2,5 V

0V

Logique 0

Si la tension en C est supérieure à 2,5 V, la sortie sera toujours logique 1. Cette condition doit être évitée.

*Ces valeurs changeront avec le changement d’atmosphère, les conditions d’éclairage, etc. Nous devons ajuster la résistance variable pour obtenir le rendement souhaité.

· LDR (RÉSISTANCE DÉPENDANTE DE LA LUMIÈRE)

C’est un type spécial de résistance. Sa résistance dépend de l’intensité de la lumière qui lui tombe dessus.

Il a une large gamme de résistance en fonction de l’intensité de la lumière. Sa résistance peut aller de quelques ohms à quelques kilo-ohms voire plus.

Pour utiliser LDR, le circuit ci-dessus avec les modifications suivantes peut être utilisé.

1. Utilisez une LED visible au lieu d’un émetteur IR.

2. Remplacez le détecteur par LDR.

Contrôleur et pilote de moteur

· VÉRIFIER

C’est la partie la plus importante du robot de suivi de ligne. Il lit la sortie du capteur et est basé sur le mouvement du moteur.

Voyons comment nous déterminons le mouvement du moteur sur la base de 8 combinaisons possibles de trois capteurs.

Les capteurs fournissent la logique 1 pour la zone noire et la logique 0 pour la zone blanche. Le robot doit suivre la ligne noire sur une surface blanche.

Voici la table de vérité pour cela.

CAPTEUR GAUCHE

CAPTEUR CENTRAL

CAPTEUR DROIT

STATUT

DÉCISION

0

0

0

PAS DE LIGNE

VERS L’AVANT *

0

0

1

LIGNE CÔTÉ GAUCHE

VIRAGE À GAUCHE

0

1

0

LIGNE AU CENTRE

VERS L’AVANT

0

1

1

Peluches au centre et au milieu

TOURNEZ À GAUCHE

1

0

0

LIGNE SUR LE CÔTÉ DROIT

TOURNEZ À DROITE

1

0

1

LIGNE SUR LES DEUX CÔTÉS (Y SHAPER TURN)

VIRAGE À DROITE *

1

1

0

LIGNE AU CENTRE ET CÔTÉS DROITS (virage serré à droite)

VIRAGE À DROITE *

1

1

1

LIGNE SUR TOUTES LES PAGES (RETOUR)

VIRAGE À DROITE *

* => Dans ces situations, vous devez prendre une décision en fonction de votre candidature.

· CI CONDUCTEUR DE MOTEUR

L293 est l’un des circuits intégrés les plus utilisés pour la conduite de moteurs. Un circuit intégré peut faire fonctionner deux moteurs différents indépendamment.

Le brochage pour L293 est comme indiqué sur la fig.

MOTOR-DRIVER-IC.jpg

· DESCRIPTION DU PIN

E1 & E2 logique 1 (5V) pour activer respectivement M1 ou M2. Les deux jambes peuvent être contrôlées soit à partir du contrôleur, soit par connexion directe à une alimentation 5V.

Broche 8 – Tension requise pour entraîner les moteurs – Elle peut être de 9V ou 12V.

Alimentation Vcc- 5V

M1-B- = pour faire avancer M1

M1-A = pour conduire M1 dans le sens inverse

M2-A = pour conduire M2 dans le sens inverse

M2-B = pour faire avancer M2

Ces broches doivent être actionnées par le contrôleur.

Nous n’avons pas besoin de mouvement inverse ici. Ainsi, M1-A et M1-B sont mis à 0 logique.

Par conséquent, pour les différents mouvements du robot, voir la table de vérité suivante.

Schéma de circuit et directives pour IMP

· DIAGRAMME DU CIRCUIT DU ROBOT SUIVANT DE LIGNE

Vérifiez l’onglet Schéma de circuit

· CONNEXIONS AVEC LES FORCES DE CIRCUIT

1. Il y a trois capteurs. Ils sont connectés aux microcontrôleurs P89V51RD2BN comme

une. Capteur gauche = broche P0.2

b. Capteur intermédiaire = broche P0.1

c. Capteur droit = ​​broche P0.0

2. Le pilote de moteur IC L293 reçoit quatre entrées de P89V51RD2BN comme

une. M1-A = P2.0

b. M1-B = P2.1

c. M2-A = P2.2

ré. M2-B = P2.3

3. Le moteur du côté gauche est M1 et le moteur du côté droit est M2.

· LIGNES DIRECTRICES IMP

(1. Normalement, trois capteurs ne peuvent pas fournir une précision suffisante, car si un capteur ne détecte pas de ligne, le robot sera hors piste.

La solution la plus efficace est d’augmenter le nombre de capteurs. Ce changement peut changer le programme plus complexe.

La meilleure façon est d’utiliser plusieurs capteurs et d’utiliser le programme avec les trois capteurs ci-dessous. Voyons comment cela est possible.

Supposons que nous voulions utiliser trois capteurs (l1, l2, l3) sur le côté gauche, deux capteurs (m1, m2) au milieu et trois capteurs (r1, r2, r3) sur le côté droit.

Maintenant capteur gauche = l1 + l2 + l3

Capteur droit = ​​r1 + r2 + r3

Capteur intermédiaire = m1 + m2

+ montre booléen ou chirurgie.

Désormais, huit capteurs ne peuvent être représentés qu’à l’aide de trois capteurs et le code donné peut être utilisé. Une telle disposition améliorera la précision du robot.

(2. Supposons que la ligne noire est suivie dans la zone blanche.

Analysez la piste à suivre. S’il ne contient pas les lignes manquantes que lorsque tous les capteurs affichent une zone blanche, cela signifie que le robot a déraillé. Dans un tel mode, donnez un mouvement inverse au robot afin que le robot détecte à nouveau automatiquement la ligne de recherche. Si vous ne fournissez pas de mouvement inverse, vous pourriez être puni. En utilisant cette idée, vous pouvez l’éviter.

EXIGENCES MATÉRIELLES ET PRÉPARATION

· EXIGENCES MATÉRIELLES

Dans ce robot, très peu d’éléments matériels sont nécessaires. Vous avez besoin des éléments suivants.

1. Corps de PLY / PLAST / METAL etc.

Il est nécessaire d’y enfermer tout le robot. Vous pouvez créer un robot où les circuits sont visibles. Dans ce cas, vous n’avez besoin que d’une seule base.

Il existe de nombreux types de matériaux qui peuvent répondre aux exigences, mais le PLY en feuille mince est le meilleur choix car il est très facile de percer et de monter des joints sur des couches.

2. Tuyaux PVC / PLASTIQUE

Il est nécessaire pour un bon réglage des moteurs. Vous pouvez monter le moteur à chaque extrémité du tuyau pour éviter tout déplacement entre l’axe du moteur, ce qui améliorera les performances du robot sur la piste pendant le mouvement.

3. Pinces, vis et tournevis

La combinaison de moteurs et de tuyaux peut être montée sur le bas du robot à l’aide de pinces et de vis.

4. Percer

Il est nécessaire de percer des trous dans le bas du robot pour les vis.

· PRÉPARATION DU MATÉRIEL ÉTAPE PAR ÉTAPE

1. Préparez d’abord les GPB / PCB des capteurs, l’environnement de travail du contrôleur et de l’unité de commande de moteur et fournissez également les interconnexions entre eux.

2. Choisissez le matériau de base (nous le supposons comme un PLY) et formez-le.

3. Calculez env. l’espace nécessaire pour les circuits individuels et établir un plan de leur placement.

4. Dessinez le plan en couches. Donnez quelques marges.

5. Coupez les couches selon le plan.

6. Percez des trous dans les coins des circuits et dans leurs positions respectives sur la base.

7. Montez le circuit avec la base à l’aide de vis.

8. Votre robot est maintenant prêt.

9. Si vous le souhaitez, vous pouvez couvrir tout le robot dans un corps adapté.

dix. Isolez les capteurs de l’atmosphère afin que leurs performances ne soient pas affectées par la lumière atmosphérique, les flashs des caméras, etc. (Ceci est très important lors de l’utilisation de capteurs IR / LDR, etc.)

Code source du projet

Code source du projet

###



#include<reg51.h>

//forward=0x09;value to be put on P2 for forward motion

//left turn=0x08; value to be put on P2 for left turn

//right turn=0x01; value to be put on P2 for right turn

//P0 as input port-connected to sensors

//P2 as output port-connected to L293-motor driver IC

 

void delay(unsigned char di)                          //delay subroutine

{

      unsigned char dii;

      unsigned int d;

      for(dii=0;dii<di;dii++)

            for(d=0;d<1275;d++);

}

void main()

{

unsigned char msg[8]={0x09,0x08,0x09,0x08,0x01,0x01,0x01,0x01};

unsigned char a;

while(1)                       //repeat forever

{

a=P0 & 0x07; //read sensors and mask upper 5 bits(bit 3 to 7) of P0

P2=msg[a];      //select the desired value from array msg based on sensors //position

delay(10);        //provide delay

}

 

###

 

Schémas de circuits

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *