- Līnijas sekotāja jēdzieni
- Ķēdes skaidrojums
- Līnijas sekotāja robota darbība, izmantojot Arduino
- Ķēdes shēma
- Programmas skaidrojums
- Nepieciešamās sastāvdaļas
Līnijas sekotājs Robots ir ļoti vienkāršs robots, kas seko līnijai, vai nu melnai, vai baltai līnijai. Šāda veida robotus ir ļoti vienkārši uzbūvēt, un tie bieži ir pirmā izvēle iesācējiem, kuri sāk darbu robotikā. Būtībā ir divu veidu līniju sekotāju roboti: viens ir melnās līnijas sekotājs, kas seko melnajai līnijai, un otrais ir baltās līnijas sekotājs, kas seko baltajai līnijai. Līnijas sekotājs faktiski sajūt līniju un seko tai. Lai arī ideja izklausās vienkārši, ar nedaudz lielāku attīstību roboti, kas līdzīgi šim, tiek praktiski izmantoti daudzās lietojumprogrammās, piemēram, rūpnīcas grīdas vadības vai noliktavas robotos.
Līnijas sekotāja jēdzieni
Līnijas sekotāja darba jēdziens ir saistīts ar gaismu. Mēs šeit izmantojam gaismas uzvedību uz melnbaltām virsmām. Kad gaisma nokrīt uz baltas virsmas, tā gandrīz pilnībā atspoguļojas, un melnas virsmas gadījumā gaisma tiek pilnībā absorbēta. Šī gaismas uzvedība tiek izmantota, veidojot līnijas sekotāja robotu.
Šajā Arduino balstītajā līnijas sekotāja robotā mēs esam izmantojuši IR raidītājus un IR uztvērējus, kurus sauc arī par fotodiodēm. Tos izmanto gaismas sūtīšanai un saņemšanai. IR pārraida infrasarkanās gaismas. Kad infrasarkanie stari nokrīt uz baltas virsmas, tie tiek atstaroti atpakaļ un noķerti ar fotodiodēm, kas rada dažas sprieguma izmaiņas. Kad infrasarkanā gaisma nokrīt uz melnas virsmas, gaisma absorbē melno virsmu, un stari netiek atstaroti atpakaļ, tādējādi fotodiods nesaņem nekādu gaismu vai starus. Šeit šajā Arduino līnijas sekotāja robotā, kad sensors uztver balto virsmu, tad Arduino iegūst 1 kā ievadi un, kad maina melno līniju, Arduino iegūst 0 kā ievadi.
Tā kā līnijas sekotāja robots ir interesants iesācēju projekts, mēs to esam izveidojuši, izmantojot arī citas izstrādes plāksnes, izņemot Arduino. Ja vēlaties, varat tos pārbaudīt, izmantojot šo saiti
- Līnijas sekotāja robots, izmantojot mikrokontrolleru 8051
- Līnijas sekotāja robots, izmantojot Raspberry Pi
- Texas MSP430 Launchpad bāzes līnijas sekotājs
- Vienkāršs līnijas sekotājs, izmantojot PIC mikrokontrolleru
- Līnijas sekotājs, izmantojot mikrokontrolleru ATmega16 AVR
Ķēdes skaidrojums
Visu Arduino līnijas sekotāju robotu var sadalīt 3 sekcijās: sensora sekcija, vadības daļa un vadītāja daļa.
Sensora sadaļa:
Šajā sadaļā ir IR diodes, potenciometrs, komparators (Op-Amp) un gaismas diodes. Potenciometru izmanto, lai iestatītu standartspriegumu salīdzinātāja vienā spailē, un infrasarkanos sensorus izmanto līnijas uztveršanai un sprieguma izmaiņu nodrošināšanai salīdzinātāja otrajā spailē. Tad salīdzinātājs salīdzina abus spriegumus un ģenerē ciparu signālu izejā. Šeit šajā līnijas sekotāju ķēdē mēs esam izmantojuši divus salīdzinātājus diviem sensoriem. LM 358 tiek izmantots kā salīdzinājums. LM358 ir iebūvēti divi zema trokšņa līmeņa Op-ampēri.
Vadības sekcija:
Arduino Pro Mini izmanto, lai kontrolētu visu līnijas sekotāja robota procesu. Salīdzinātāju izejas ir savienotas ar Arduino digitālajiem tapu numuriem 2 un 3. Arduino nolasa šos signālus un nosūta komandas piedziņas ķēdei piedziņas sekotājam.
Vadītāja sadaļa:
Vadītāja sekciju veido motora vadītājs un divi līdzstrāvas motori. Motora vadītāju izmanto motoru vadīšanai, jo Arduino nepiegādā motoram pietiekami daudz sprieguma un strāvas. Tāpēc mēs pievienojam motora vadītāja ķēdi, lai iegūtu pietiekamu spriegumu un strāvu motoram. Arduino nosūta komandas šim motora vadītājam, un pēc tam tas virza motorus.
Līnijas sekotāja robota darbība, izmantojot Arduino
Interesanti ir izveidot līnijas sekotāja robotu, izmantojot Arduino. Līnijas sekotājs robots uztver melnu līniju, izmantojot sensoru, un pēc tam nosūta signālu Arduino. Tad Arduino darbina motoru atbilstoši sensoru izejai.
Šajā projektā mēs izmantojam divus IR sensoru moduļus, proti, kreiso un labo sensoru. Kad gan kreisais, gan labais sensors uztver baltu krāsu, robots virzās uz priekšu.
Ja kreisais sensors nāk uz melnas līnijas, tad robots pagriež kreiso pusi.
Ja labais sensors uztver melno līniju, tad robots pagrieziet labo pusi, līdz abi sensori nonāk pie baltās virsmas. Kad nāk balta virsma, robots atkal sāk virzīties uz priekšu.
Ja abi sensori nonāk melnajā līnijā, robots apstājas.
Ķēdes shēma
Pilnīga shēmas diagramma par Arduino līnija sekotājs robots tiek parādīts iepriekš attēlu. Kā redzat, salīdzinājumu izeja ir tieši savienota ar Arduino digitālo tapu numuriem 2 un 3. Un motora draivera ievades tapas 2, 7, 10 un 15 ir attiecīgi savienotas ar Arduino digitālo tapu numuriem 4, 5, 6 un 7. Viens motors ir pievienots 3. un 6. motora vadītāju izejas tapai, un cits motors ir pievienots 11. un 14. tapā.
Programmas skaidrojums
Programmā, pirmkārt, mēs definējām ieejas un izejas tapu, un pēc tam ciklā mēs pārbaudām ieejas un nosūta izvadi atbilstoši ieejām braukšanas motora izejas tapai. Lai pārbaudītu ievades tapu, mēs izmantojām paziņojumus “ja”. Pilns līnijas sekotāja robota kods ir atrodams šīs lapas apakšdaļā.
Šajā rindā ir četri nosacījumi, kas seko robotam, kurus mēs izlasījām, izmantojot Arduino. Mēs izmantojām divus sensorus, proti, kreiso un labo sensoru.
Ievade |
Rezultāts |
Kustība No robota |
||||
Kreisais sensors |
Labais sensors |
Kreisais motors |
Labais motors |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Apstājies |
0 |
1 |
1 |
0 |
0 |
0 |
Nogriezieties pa labi |
1 |
0 |
0 |
0 |
1 |
0 |
Pagriezies pa kreisi |
1 |
1 |
1 |
0 |
1 |
0 |
Uz priekšu |
Arduino līnijas sekotāja kodu mēs rakstām saskaņā ar nosacījumiem, kas parādīti iepriekš tabulā.
Nepieciešamās sastāvdaļas
Arduino
Savā projektā mēs esam izmantojuši mikrokontrolleri, lai kontrolētu visu ARDUINO sistēmas procesu. Arduino ir atvērtā koda aparatūra un ļoti noderīga projektu izstrādei. Tirgū ir pieejami daudzi arduino veidi, piemēram, Arduino UNO, arduino mega, arduino pro mini, Lilypad utt. Šeit mēs esam izmantojuši arduino pro mini šajā projektā, jo arduino pro mini ir mazs un tik saderīgs ar paneļiem. Lai ierakstītu līnijas sekotāja robota arduino kodu, mēs izmantojām FTDI degli.
L293D motora draiveris
L293D ir motora vadītāja IC, kuram ir divi kanāli divu motoru vadīšanai. L293D ir divi iebūvēti tranzistora Darlington pāri strāvas pastiprināšanai un atsevišķa barošanas tapa, lai nodrošinātu ārēju barošanu motoriem.
IR modulis:
IR modulis ir sensora ķēde, kas sastāv no IR LED / fotodiode pāra, potenciometra, LM358, rezistoriem un LED. IR sensors pārraida infrasarkano gaismu, un fotodiods saņem infrasarkano gaismu.
Enerģijas padeve
Esmu pievienojis sprieguma regulatoru, lai iegūtu 5 voltus Arduino, salīdzinātājam un motora vadītājam. Ķēdes darbināšanai tiek izmantots 9 voltu akumulators.