How to Create a Line-Following Robot Using Infrared Sensors
Table of Contents
Construire un robot de suivi de ligne est un projet classique mais très instructif pour quiconque plonge dans la robotique, les systèmes embarqués et le contrôle par capteur. En combinant un simple microcontrôleur, des capteurs infrarouges et un pilote moteur, vous pouvez créer une machine qui suit de façon autonome une ligne sombre ou lumineuse sur un fond contrasté. Ce guide s'étend sur tous les aspects de la construction, de la physique des capteurs IR à l'accord et au dépannage avancés. Que vous soyez étudiant, amateur ou éducateur, les étapes ci-dessous vous aideront à construire un suiveur de ligne fiable qui peut servir de base à des robots autonomes plus complexes.
Comprendre les capteurs infrarouges pour la détection de ligne
Les capteurs infrarouges (IR) sont les yeux de votre robot. Ils fonctionnent en émettant une lumière infrarouge à partir d'une LED et en mesurant la quantité réfléchie à un photodétecteur. Lorsque le robot voyage sur une surface, la réflectivité change : une surface blanche ou lumineuse réfléchit davantage la lumière infrarouge, tandis qu'une surface noire ou sombre l'absorbe. Le capteur émet une tension analogique ou un signal numérique HAUT/LOW en fonction du seuil fixé sur le module.
La plupart des capteurs IR de qualité hobby utilisent une puce de comparaison (comme le LM393) pour convertir la lecture analogique en un signal numérique propre. La sensibilité est réglable par un petit potentiomètre sur le module. Pour la ligne suivante, vous utilisez généralement deux ou plusieurs capteurs placés côte à côte à l'avant du robot. Lorsque le robot est centré sur la ligne, les deux capteurs voient la ligne (ou les deux voient le fond). Lorsqu'elle dérive à gauche, le capteur gauche perd la ligne alors que le capteur droit la voit encore, et vice versa.
Sélection des modules de capteur de droite
Les choix communs comprennent le TCRT5000 et le KY‐033. Groupe de travail des transports par chemin de fer module est largement disponible, bon marché, et fonctionne bien sur la plupart des surfaces avec un contraste suffisant. KY‐033 La carte a la même puce mais une disposition différente de la broche. Vérifiez toujours la compatibilité avec votre microcontrôleur de niveau logique (3,3 V ou 5 V). Pour un Arduino Uno (5 V), tout module tolérant 5 volts fonctionnera. Si vous utilisez une carte 3.3 V comme un ESP32, choisissez des modules qui peuvent fonctionner à cette tension ou ajoutez un changement de niveau.
Pour un robot plus robuste, envisagez d'utiliser trois ou même quatre capteurs. Un tableau à trois capteurs vous donne une condition -lost-- qui peut déclencher une routine de recherche, tandis que quatre capteurs permettent des corrections de type PID. Cependant, une configuration à deux capteurs est parfaitement adéquate pour apprendre les fondamentaux.
Matériel et outils
Vous trouverez ci-dessous une liste complète du matériel dont vous aurez besoin. La plupart des articles sont disponibles auprès de détaillants en ligne ou de magasins de fabrication locaux.
- Microcontrôleur: Arduino Uno, Nano, ou compatible (par exemple, Elegoo, SparkFun RedBoard).
- Modules de capteurs IR: Deux modules TCRT5000 ou KY-033 (réglables).
- Module conducteur: L298N ou L293D à base de pont H. Le L298N est très commun et peut conduire deux moteurs à courant continu indépendamment.
- Moteurs à courant continu avec roues: Deux moteurs orientés 3-6 V, de préférence avec encodeurs (optionnel pour le contrôle de la vitesse).
- Châssis: Kit châssis robot (acrylique ou métallique, avec trous de montage pour moteurs et roues).
- Alimentation électrique: Batterie (6 V / 4×AA ou 7.4 V Li‐Po). L'Arduino peut être alimenté par son pin VIN ou USB, mais les moteurs de la même source peuvent causer du bruit. Une batterie séparée pour les moteurs est recommandée pour les débutants.
- Fils de pain et de saut: Une petite table à pain sans soudure simplifie le prototypage; utiliser des fils mâles à femelles et mâles à mâles.
- Multimètre: Pour vérifier les tensions et la continuité.
- Outils: Découpeuses, tournevis, pistolet à colle chaude (pour sécuriser les capteurs).
- Matériaux de voie: Bandes électriques noires sur panneau d'affichage blanc, ou une piste imprimée sur papier mat.
Construire le robot : Assemblage mécanique
Châssis et montage de moteurs
Commencez par fixer les deux moteurs DC au châssis selon les instructions du kit. La plupart des kits fournissent des supports ou une plaque vissée. Assurez-vous que les roues tournent librement et sont alignées parallèlement les unes aux autres. Fixez une roulette ou un roulement à billes à l'avant ou à l'arrière pour maintenir la stabilité du robot. Les capteurs IR seront montés à l'avant, de sorte que la roulette doit être placée en face du côté du capteur pour éviter toute interférence.
Montage des capteurs IR
Placez les deux modules de capteur IR à l'avant du châssis, espacés d'environ 3 à 5 cm. L'espacement exact dépend de la largeur de la ligne que vous comptez suivre (généralement 15 à 20 mm). Une bonne règle est de positionner les capteurs de sorte que lorsque le robot est centré, le capteur gauche est juste à l'intérieur du bord gauche de la ligne et le capteur droit est juste à l'intérieur du bord droit. Utilisez de la colle chaude ou du ruban de mousse double face pour les fixer. Les modules doivent être orientés directement vers le bas, à environ 1 à 2 cm au-dessus du sol.
Trop haut et la réflexion affaiblit; trop bas et le robot peut tomber dans les obstacles.
Câblage des composants
Maintenant pour les connexions électriques. Utilisez une table à pain pour distribuer la puissance et les signaux à moins que vous ne soyez soudés directement. La carte de câblage suivante suppose un pilote moteur Arduino Uno et un L298N. Vérifiez double-vérifiez votre module de capteur : la plupart ont VCC, GND et OUT (numérique).
- Puissance: Connectez le bloc de batterie au pilote moteur +12 V (ou entrée de puissance) et au pilote GND à la batterie négative. Si vos batteries sont 6 V (4×AA), la sortie 5 V du pilote peut alimenter l'Arduino et les capteurs via sa broche 5 V. Sinon, l'Arduino est séparé de l'USB ou d'une seconde batterie.
- Conducteur de moteur- Oui.
- Connectez les deux moteurs au conducteur Exc1/OUT2 et OUT3/OUT4.
- Connectez les broches ENA et ENB (faciles) au pilote des broches numériques 5 et 6 d'Arduino (capables au PWM).
- Connectez IN1, IN2, IN3, IN4 aux broches numériques Arduino 7, 8, 9, 10.
- Connectez la sortie 5 V du pilote à la broche 5 V de l'Arduino (si vous utilisez la même batterie) ou laissez déconnecté si vous alimentez Arduino séparément.
- Capteurs IR- Oui.
- Capteur gauche VCC → Arduino 5 V, GND → GND, OUT → Pin numérique Arduino 2.
- Capteur droit VCC → 5 V, GND → GND, OUT → Pin numérique Arduino 3.
- Base commune: Connectez tous les GND ensemble (Arduino, conducteur, capteurs, batterie).
Après le câblage, vérifier les connexions avant de démarrer. Utilisez un multimètre pour vérifier que le rail 5 V est en effet 5 V et qu'il n'y a pas de short.
Programmation de la logique
Le programme lit en continu les deux sorties du capteur et décide des actions du moteur. Ci-dessous, un croquis Arduino complet qui implémente un contrôleur de base de bang-bang. Le robot tournera à gauche ou à droite selon le capteur qui voit la ligne, et il s'arrêtera si aucun des capteurs ne détecte la ligne (état perdu).
Note sur la logique du capteur: Le code ci-dessus suppose que les modules de capteur sortent LOW lorsqu'ils détectent la ligne (ligne noire sur fond blanc). De nombreux modules ont une LED à indicateur actif-faible. Si vos capteurs sortent HAUT lors de la détection, inversez les conditions (changez à dans les états de si-if, ou ajustez le potentiomètre du module).
Étalonnage des capteurs
Avant de lancer le code, placez le robot sur la ligne et ajustez chaque potentiomètre de capteur afin qu'il soit LOW sur la ligne et HAUT sur l'arrière-plan. Utilisez le moniteur série Arduino pour lire les valeurs de la broche :
Les capteurs doivent être suffisamment sensibles pour détecter la ligne à une distance de 10 à 15 mm.
Essais et dépannage
Placez le robot sur une section droite de la piste et allumez-le. Si le robot ne bouge pas comme prévu, vérifiez ce qui suit :
- Puissance: Les moteurs reçoivent-ils suffisamment de tension ? Le L298N a besoin d'au moins 7 V pour un bon fonctionnement, mais beaucoup de travaux jusqu'à 6 V avec un couple réduit. Si le robot se déplace lentement ou pas du tout, essayez une batterie plus fraîche ou augmentez le cycle de travail du PWM.
- Alignement du capteur: Les deux capteurs sont-ils équidistants de la ligne lorsque le robot est centré ? Ajuster la position de montage.
- Raccordement des moteurs: Vérifiez que les moteurs gauche et droit sont correctement câblés. Si le robot tourne en place quand il doit aller de l'avant, échangez les fils moteurs sur un canal.
- Inversion logiqueSi le robot tourne mal (par exemple, il dirige à droite quand le capteur gauche voit la ligne), échangez les broches de direction du moteur dans le code ou échangez les connexions du capteur.
Pour les problèmes persistants, créez un simple croquis de test qui déplace chaque moteur indépendamment pour confirmer l'intégrité matérielle. Vérifiez également que les modules de capteur ne sont pas montés à un angle qui crée un angle mort.
Tuning et améliorations de performance
Réglage de la vitesse et du rayon de virage
Le contrôleur bang‐bang fonctionne bien à des vitesses lentes (valeurs PWM autour de 150–200). À des vitesses plus élevées, le robot peut dépasser la ligne. Vous pouvez mettre en œuvre un contrôle proportionnel en lisant la sortie analogique des capteurs (si disponible) et en ajustant la vitesse du moteur en conséquence.
Ajout d'un troisième ou quatrième capteur
Avec trois capteurs, vous pouvez détecter lorsque le robot est complètement hors de la ligne et mettre en œuvre un motif --search--par exemple, en tournant en place jusqu'à ce que tout capteur reprend la ligne. Quatre capteurs permettent la direction différentielle qui imite un vrai bot de compétition de suivi de ligne. Bibliothèque des abonnés de ligne ROBOTIS, fournir des algorithmes avancés.
Utilisation d'un module LCD ou Bluetooth
Pour déboger et régler, connectez un écran LCD I2C (16×2) pour afficher les valeurs du capteur et l'état du courant. Sinon, utilisez un module Bluetooth HC‐05 pour envoyer la télémétrie à une application smartphone.
Gestion de l'énergie
Si votre robot fonctionne sur des batteries, envisager d'ajouter un régulateur de tension pour fournir une stabilité 5 V pour l'Arduino et les capteurs. Une batterie Li‐Po de 7,4 V séparée pour les moteurs et une UBEC de 5 V pour la carte logique peuvent améliorer considérablement les performances.
Élargir le projet : au-delà du suiveur de ligne de base
Une fois que votre robot suit de façon fiable une ligne noire simple, vous pouvez l'étendre de plusieurs façons :
- Éviter les obstacles: Ajoutez un capteur à ultrasons (HC‐SR04) et programmez le robot pour arrêter ou contourner les objets qui apparaissent sur la ligne.
- Raccordement des lignes et intersections: Utilisez plus de capteurs pour détecter les jonctions T et les virages à angle droit. Cela permet au robot de naviguer dans un labyrinthe.
- Contrôle sans fil: Intégrer un module Wi-Fi (ESP8266/ESP32) pour recevoir des commandes d'un ordinateur ou d'un téléphone, utiles pour la téléprésence ou la coordination multirobot.
- Enregistrement des données: Utilisez un module carte SD pour enregistrer les données de log des capteurs pour l'analyse des performances du robot.
Pour obtenir de l'inspiration et du soutien communautaire, consultez les ressources suivantes :
- Tutoriels officiels Arduino – surtout les exemples --Enterprise Analogique et --Enterprise Motor Knob.
- Comment Mécatronics Tutoriel L298N – câblage détaillé et contrôle PWM.
- TCRT5000 Fiche technique – les spécifications techniques du capteur réfléchissant.
Conclusion
Bâtir un robot de suivi avec des capteurs infrarouges est un mélange parfait de montage matériel et de logique logicielle. Il enseigne la mise en œuvre pratique des retours de capteurs, le contrôle moteur et les algorithmes de prise de décision. En suivant ce guide, vous aurez construit un robot entièrement fonctionnel qui peut naviguer de manière autonome. Plus important encore, vous aurez acquis les compétences nécessaires pour résoudre, itérer et améliorer le design. Que vous souhaitiez participer à une compétition robotique, enseigner une classe STEM ou simplement satisfaire votre curiosité, ce projet fournit une base solide pour des systèmes robotiques plus ambitieux.