- Concepten van lijnvolger
- Circuit uitleg
- Werking van Line Follower Robot met Arduino
- Schakelschema
- Programma-uitleg
- Vereiste componenten
Lijnvolger Robot is een heel eenvoudige robot die een lijn volgt, ofwel een zwarte lijn of een witte lijn. Dit type robots is heel eenvoudig te bouwen en is vaak de eerste keuze voor beginners die aan de slag gaan met robotica. In principe zijn er twee soorten lijnvolgerrobots: de ene is een zwarte lijnvolger die de zwarte lijn volgt en de tweede is een witte lijnvolger die de witte lijn volgt. Lijnvolger voelt de lijn daadwerkelijk aan en volgt deze. Hoewel het idee eenvoudig klinkt, met een beetje meer ontwikkeling, worden soortgelijke robots praktisch gebruikt in veel toepassingen, zoals robots voor fabrieksmanagement of magazijnrobots.
Concepten van lijnvolger
Het concept van werking van lijnvolger is gerelateerd aan licht. We gebruiken hier het gedrag van licht op de zwart-witte vlakken. Wanneer licht op een wit oppervlak valt, wordt het bijna volledig gereflecteerd en in het geval van een zwart oppervlak wordt het licht volledig geabsorbeerd. Dit gedrag van licht wordt gebruikt bij het bouwen van een lijnvolgerrobot.
In deze op Arduino gebaseerde lijnvolgerrobot hebben we IR-zenders en IR-ontvangers gebruikt, ook wel fotodiodes genoemd. Ze worden gebruikt voor het verzenden en ontvangen van licht. IR zendt infraroodlichten uit. Wanneer infraroodstralen op het witte oppervlak vallen, worden deze teruggekaatst en opgevangen door fotodiodes die spanningsveranderingen genereren. Wanneer IR-licht op een zwart oppervlak valt, wordt licht geabsorbeerd door het zwarte oppervlak en worden er geen stralen teruggekaatst, dus de fotodiode ontvangt geen licht of stralen. Hier in deze Arduino-lijnvolgerrobot, wanneer de sensor een wit oppervlak detecteert, krijgt Arduino 1 als invoer en wanneer de zwarte lijn wordt gedetecteerd, krijgt Arduino 0 als invoer.
Omdat de Line Follower-robot een interessant beginnersproject is, hebben we hem ook gebouwd met andere ontwikkelborden dan Arduino, je kunt ze ook bekijken via de onderstaande link als je geïnteresseerd bent
- Lijnvolgerrobot met 8051 Microcontroller
- Lijnvolgerrobot met Raspberry Pi
- Texas MSP430 Launchpad gebaseerde lijnvolger
- Eenvoudige lijnvolger met behulp van PIC Microcontroller
- Lijnvolger met ATmega16 AVR Microcontroller
Circuit uitleg
De hele Arduino line follower-robot kan worden onderverdeeld in 3 secties: sensorsectie, een besturingssectie en driversectie.
Sensor sectie:
Deze sectie bevat IR-diodes, potentiometer, comparator (Op-Amp) en LED's. De potentiometer wordt gebruikt voor het instellen van de referentiespanning op de ene aansluiting van de comparator en IR-sensoren worden gebruikt om de lijn te detecteren en een verandering in de spanning te leveren op de tweede aansluiting van de comparator. Vervolgens vergelijkt de comparator beide spanningen en genereert een digitaal signaal aan de uitgang. Hier in dit lijnvolgercircuit hebben we twee comparatoren voor twee sensoren gebruikt. LM 358 wordt gebruikt als vergelijker. De LM358 heeft twee ingebouwde Op-amps met weinig ruis.
Controle sectie:
Arduino Pro Mini wordt gebruikt om het hele proces van de lijnvolgerrobot te besturen. De uitgangen van comparatoren zijn verbonden met digitale pinnummers 2 en 3 van Arduino. Arduino leest deze signalen en stuurt commando's naar het stuurcircuit naar de aandrijflijnvolger.
Driver sectie:
Het aandrijfgedeelte bestaat uit een motoraandrijving en twee DC-motoren. De motor driver wordt gebruikt voor het aandrijven van motoren omdat Arduino niet genoeg spanning en stroom levert aan de motor. Dus voegen we een motorstuurcircuit toe om voldoende spanning en stroom voor de motor te krijgen. Arduino stuurt opdrachten naar deze motordriver en drijft vervolgens motoren aan.
Werking van Line Follower Robot met Arduino
Het bouwen van een Line Follower-robot met Arduino is interessant. De lijnvolgerrobot detecteert een zwarte lijn met behulp van een sensor en stuurt vervolgens het signaal naar Arduino. Vervolgens drijft Arduino de motor aan volgens de output van de sensoren.
Hier in dit project gebruiken we twee IR-sensormodules, namelijk de linker sensor en de rechter sensor. Wanneer zowel de linker- als de rechtersensor wit detecteert, gaat de robot vooruit.
Komt de linkersensor op een zwarte lijn dan draait de robot naar links.
Als de rechtersensor een zwarte lijn detecteert, draait de robot naar rechts totdat beide sensoren bij het witte oppervlak komen. Als het witte oppervlak komt, begint de robot weer vooruit te gaan.
Als beide sensoren op de zwarte lijn komen, stopt de robot.
Schakelschema
Het volledige schakelschema voor de arduino line follower-robot wordt weergegeven in de bovenstaande afbeelding. Zoals je kunt zien is de output van comparators direct verbonden met Arduino digitale pin nummer 2 en 3. En de input van de motor driver pin 2, 7, 10 en 15 is verbonden met Arduino's digitale pin nummer 4, 5, 6 en 7 respectievelijk. En een motor is aangesloten op de uitgangspen van motoraandrijvingen 3 en 6 en een andere motor is aangesloten op pen 11 en 14.
Programma-uitleg
In het programma hebben we allereerst de invoer- en uitvoerpin gedefinieerd, en vervolgens in de lus controleren we de invoer en sturen we uitvoer volgens de invoer naar de uitvoerpin voor de aandrijfmotor. Voor het controleren van de invoerpin hebben we "if" -instructies gebruikt. De complete line follower robotcode vind je onderaan deze pagina.
Er zijn vier voorwaarden in deze regel na robot die we lezen met behulp van Arduino. We hebben twee sensoren gebruikt namelijk de linker sensor en de rechter sensor.
Invoer |
Uitvoer |
Beweging Van Robot |
||||
Linker sensor |
Rechter sensor |
Linkermotor |
Rechter motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Hou op |
0 |
1 |
1 |
0 |
0 |
0 |
Rechts afslaan |
1 |
0 |
0 |
0 |
1 |
0 |
Sla linksaf |
1 |
1 |
1 |
0 |
1 |
0 |
Vooruit |
We schrijven de arduino line follower-code volgens de voorwaarden in de bovenstaande tabel.
Vereiste componenten
Arduino
In ons project hebben we een microcontroller gebruikt om het hele proces van het systeem dat ARDUINO is, te besturen. Arduino is een open-source hardware en erg handig voor projectontwikkelingen. Er zijn veel soorten arduino zoals Arduino UNO, arduino mega, arduino pro mini, Lilypad etc. op de markt verkrijgbaar. Hier hebben we arduino pro mini in dit project gebruikt, aangezien arduino pro mini klein is en dus breadboard-compatibel. Om de arduino-code van de line-follower-robot te branden, hebben we een FTDI-brander gebruikt.
L293D-motorstuurprogramma
L293D is een motor-driver-IC met twee kanalen voor het aandrijven van twee motoren. De L293D heeft twee ingebouwde transistor Darlington-paren voor stroomversterking en een aparte voedingspin voor externe voeding van motoren.
IR-module:
IR-module is een sensorcircuit dat bestaat uit IR LED / fotodiode-paar, potentiometer, LM358, weerstanden en LED. IR-sensor zendt infrarood licht uit en fotodiode ontvangt het infrarood licht.
Stroomvoorziening
Ik heb een spanningsregelaar toegevoegd om 5 volt te krijgen voor Arduino, comparator en motorstuurprogramma. En een 9 volt batterij wordt gebruikt om het circuit van stroom te voorzien.