Een edge-ontwijker-robot lijkt veel op mijn vorige project "Line Follower Robot". Deze robot op basis van een 8051 microcontroller detecteert een rand en vermijdt deze door te draaien of te stoppen. Laten we eens kijken hoe we gemakkelijk een edge-vermijden-robot kunnen ontwerpen.
Concept van Edge Avoider Robot
Concept van Edge Avoider-robot is hetzelfde als lijnvolger. Bij dit soort robots gebruiken we over het algemeen het gedrag van licht op een zwart-wit oppervlak. Wanneer licht op een wit oppervlak valt zal het bijna volledig reflecteren en in het geval van een zwart oppervlak wordt het licht geabsorbeerd door een zwart oppervlak. Dit lichtgedrag wordt zowel bij een lijnvolgerrobot als bij een randvermijdingsrobot gebruikt.
Hier hebben we IR-zender en ontvanger gebruikt, ook wel fotodiodes genoemd, worden gebruikt voor het verzenden en ontvangen van licht. IR zendt infraroodlichten uit. Wanneer infraroodstralen op een ander oppervlak vallen, behalve zwarte of veel donkere oppervlakken, worden deze teruggekaatst en opgevangen door fotodiode en genereren enkele spanningsveranderingen. Wanneer IR-licht op een zwart oppervlak valt, wordt licht geabsorbeerd door het zwarte oppervlak en worden er geen stralen teruggekaatst, waardoor de fotodiode geen licht of stralen ontvangt.
Hier in deze Edge Avoider-robot, wanneer de sensor een wit oppervlak detecteert, krijgt de microcontroller 0 als invoer en wanneer de zwarte lijn wordt waargenomen, krijgt de controller 1 als invoer.
Schakelschema en werkuitleg
We kunnen het Edge Avoider Robot-project opdelen in drie verschillende secties, namelijk de sensorsectie, de besturingssectie en de driversectie.
Sensorgedeelte: dit gedeelte bevat IR-diodes, potentiometer, comparator (op-amp) en LED's. 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 geven aan de tweede aansluiting van de comparator. Vervolgens vergelijkt de comparator beide spanningen en genereert een digitaal signaal aan de uitgang. Hier in dit circuit gebruiken we twee comparatoren voor twee sensoren. LM 358 wordt gebruikt als vergelijker. De LM358 heeft twee ingebouwde Op-amp met lage ruis.
Besturingssectie: 8051-microcontroller wordt gebruikt voor het besturen van het hele proces van de lijnvolgerrobot. De uitgangen van comparatoren zijn verbonden met pincode P0.0 en P0.1 van 8051. 8051 leest deze signalen en stuurt commando's naar het stuurcircuit om de lijnvolger aan te drijven.
Driver-sectie: Driver-sectie bestaat uit een motor-driver en twee DC-motoren. Motordriver wordt gebruikt voor het aandrijven van motoren omdat de microcontroller niet genoeg spanning en stroom levert om de motor aan te drijven. Dus we voegen een motorstuurcircuit toe om voldoende spanning en stroom voor de motor te krijgen. Microcontroller stuurt commando's naar deze motordriver en stuurt vervolgens motoren aan.
Werken
Het werken met deze edge-vermijdende robot is best interessant en hetzelfde als lijnvolger, maar het verschil in bewerkingen na het detecteren van inputs. Wanneer deze robot een wit oppervlak detecteert, gaat hij naar voren en wanneer een van de sensoren of beide sensoren geen signaal of een zwart oppervlak waarneemt, stopt hij en beweegt hij achteruit en verandert van richting en als hij weer een wit oppervlak voelt, gaat hij vooruit.
Het schakelschema wordt getoond voor deze randvermijdingsrobot. Uitgang van comparatoren is rechtstreeks verbonden met pincode P0.0 en P0.1 van microcontroller. En de input pin 2, 7, 10 en 15 van de motor driver is verbonden met respectievelijk pin nummer P2.3, P2.2, P2.1 en P2.4. En een motor is aangesloten op de uitgangspen van motoraandrijving 3 en 6 en een andere motor is aangesloten op 11 en 14.
Bij het programmeren hebben we allereerst input- en outputpinnen gedefinieerd. En vervolgens in de hoofdfunctie hebben we de ingangen gecontroleerd en de uitvoer dienovereenkomstig verzonden naar de uitgangspennen voor het aandrijven van de motor. Er zijn vier voorwaarden in deze randvermijder die we lezen met behulp van 8051-microcontroller. We hebben twee sensoren gebruikt namelijk linker sensor en rechter sensor.
Voorwaarden:
Invoer |
Uitvoer |
Beweging van de robot |
||||
Linker sensor |
Rechter sensor |
Linkermotor |
Rechter motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Vooruit |
0 |
1 |
1 |
0 |
0 |
0 |
Stop / terug / draai rechts |
1 |
0 |
0 |
0 |
1 |
0 |
Stop / terug / draai links |
1 |
1 |
0 |
0 |
0 |
0 |
STOP / terug / linksaf |
We hebben het programma geschreven volgens de bovenstaande tabelvoorwaarden.
PCB-indeling