- Mga Materyal na Kinakailangan
- Mga Konsepto ng Sumusunod sa Linya
- Paliwanag sa Circuit
- Paggawa ng Line Follower Robot gamit ang MSP430
- Diagram ng Circuit
- Paliwanag sa Programming
Ang linya ng tagasunod na robot ay isa sa mga tanyag na proyekto ng robot sa mga mag-aaral at nagsisimula dahil sa pagiging simple nito. Sumusunod ito sa isang linya, alinman sa itim o puti, depende sa kung paano mo mai-program ang iyong microcontroller. Gumagawa kami dito ng isang tagasunod na robot na gumagamit ng MSP430 launchpad mula sa Texas Instruments, na sumusunod sa itim na linya. Kung bago ka sa paglulunsad ng MSP430, mangyaring basahin ang aming Pagkatitig sa MSP430 Tutorial.
Mga Materyal na Kinakailangan
- MSP430G2 LaunchPad mula sa Texas Instruments
- Ang module ng driver ng L298D motor
- Mga kumokonekta na mga wire
- Mga module ng IR sensor
- Chasis, gulong, roller coaster
- Energia IDE
- Supply ng kuryente (3.3v) at 5v-12v
Mga Konsepto ng Sumusunod sa Linya
Ang konsepto ng tagasunod sa linya ay nauugnay sa ilaw. Ginamit namin ang pag-uugali ng ilaw sa itim at puting ibabaw. Kapag bumagsak ang ilaw sa isang puting ibabaw ay halos buong sumasalamin ito at sa kaso ng itim na ibabaw na ilaw ay hinihigop ng itim na ibabaw. Ipinaliwanag ang pag-uugali ng ilaw na ginagamit sa robot na tagasunod sa linya na ito.
Sa robot na tagasunod sa linya ng MSP430 na ito na ginamit namin ang IR Transmitter at IR receivers na tinatawag ding mga photo diode. Ginagamit ang mga ito para sa pagpapadala at pagtanggap ng ilaw. Naghahatid ang IR ng mga infrared na ilaw. Kapag ang infrared ray ay bumagsak sa puting ibabaw, makikita ito pabalik at nahuli ng mga photodiode na bumubuo ng ilang mga pagbabago sa boltahe. Kapag bumagsak ang ilaw ng IR sa isang itim na ibabaw, ang ilaw ay hinihigop ng itim na ibabaw at walang mga sinag na makikita, kaya't ang diode ng larawan ay hindi nakakatanggap ng anumang ilaw o sinag. Upang Matuto nang higit pa tungkol sa mga IR sensor, sundin ang link.
Dito sa robot na tagasunod sa linya ng MSP430 na batay sa sensor ng puting ibabaw pagkatapos ang MSP ay nakakakuha ng 1 bilang pag-input at kapag nadarama ang itim na linya na MSP ay nakakakuha ng 0 bilang input.
Paliwanag sa Circuit
Maaari naming hatiin ang buong robot ng tagasunod sa linya sa iba't ibang mga seksyon tulad ng seksyon ng sensor, seksyon ng kontrol at seksyon ng driver.
Seksyon ng sensor: Ang seksyon na ito ay naglalaman ng mga IR diode, potentiometer, Comparator (Op-Amp) at LED's. Ginagamit ang potensyomiter para sa pagtatakda ng boltahe ng sanggunian sa isang terminal ng kumpare at maunawaan ng mga IR sensor ang linya at magbigay ng pagbabago sa boltahe sa ikalawang terminal ng kumpare. Pagkatapos ihambing ng kumpare ang parehong mga voltages at bumubuo ng isang digital signal sa output. Dito sa circuit na ito ginamit namin ang dalawang kumpare para sa dalawang sensor. Ang LM358 ay ginagamit bilang kumpare. Ang LM358 ay nakabuo ng dalawang mababang ingay na Op-amp.
Seksyon ng Pagkontrol: Ang MSP430 Launchpad ay ginagamit para sa pagkontrol sa buong proseso ng linya ng tagasunod na robot. Ang mga output ng kumpara ay konektado sa digital pin P1_3 at P1_4 ng MPS430 Launchpad. Binabasa ng MSP430 Launchpad ang mga signal na ito at nagpapadala ng mga utos sa driver circuit upang magmaneho ng tagasunod sa linya.
Seksyon ng driver: Ang seksyon ng driver ay binubuo ng driver ng motor at dalawang DC motor. Ang driver ng motor ay ginagamit para sa pagmamaneho ng mga motor dahil ang MSP430 Launchpad ay hindi nagbibigay ng sapat na boltahe at kasalukuyang sa motor. Kaya nagdagdag kami ng isang circuit ng driver ng motor upang makakuha ng sapat na boltahe at kasalukuyang para sa motor. Dito ginamit namin ang driver ng L298d para sa pagmamaneho ng DC Motors. Nagpadala ang MSP430 Launchpad ng mga utos sa driver ng motor na ito at pagkatapos ay nagdadala ito ng mga motor.
Bumuo kami ng Mga Robot ng Pagsusunod sa Linya na gumagamit ng iba't ibang Micrcontroller:
- Line Follower Robot na gumagamit ng 8051 Microcontroller
- Line Follower Robot gamit ang Arduino
- Line Follower Robot gamit ang Raspberry Pi
- Line Follower Robot gamit ang PIC Microcontroller
Paggawa ng Line Follower Robot gamit ang MSP430
Ang pagtatrabaho ng tagasunod sa linya ay napaka-interesante. Ang robot ng tagasunod sa linya ay nakadarama ng itim na linya sa pamamagitan ng paggamit ng sensor at pagkatapos ay nagpapadala ng signal sa MSP430 Launchpad. Pagkatapos ang MSP430 Launchpad ay nagtutulak ng motor alinsunod sa output ng mga sensor.
Dito sa proyektong ito gumagamit kami ng dalawang mga module ng IR sensor katulad ng kaliwang sensor at kanang sensor. Kapag ang parehong kaliwa at kanang sensor ay nakakaramdam ng puti pagkatapos ng robot ay sumulong.
Kung ang kaliwang sensor ay dumating sa itim na linya pagkatapos ng robot lumiko sa kaliwang bahagi.
Kung ang tamang sensor ay nakadarama ng itim na linya pagkatapos ang robot ay lumiko sa kanang bahagi hanggang sa ang parehong sensor ay dumating sa puting ibabaw. Kapag ang puting ibabaw ay nagsimula ang robot na sumulong muli.
Kung ang parehong mga sensor ay dumating sa itim na linya, humihinto ang robot.
Diagram ng Circuit
Ang circuit para sa MSP430 Line Follower Robot na ito ay napaka-simple. Ang output ng mga kumpara ay direktang konektado sa digital pin number ng MSP430 Launchpad na p1_3 at P1_4. At ang input pin ng driver ng motor na IN1, IN2, IN3 at IN4 ay konektado sa digital pin ng MSP430 Launchpad na P1_5, P2_0, P2_1, P2_2 ayon sa pagkakabanggit. Ang isang motor ay konektado sa output pin ng driver ng motor na OUT1 at OUT2, at isa pang motor ang nakakonekta sa OUT3 at OUT4. Dito ay ginamit namin ang supply ng 3.3v para sa lakas ng buong circuit maliban sa module ng Motor Driver. Nagbigay kami ng 8v sa module ng driver ng Motor. Ang gumagamit ay maaaring gumamit ng 5v-12v.
Maaari ka ring bumuo ng iyong sariling module ng IR, tulad ng itinayo ko sa Perf Board. Nasa ibaba ang circuit para sa IR Module:
Paliwanag sa Programming
Ang Kumpletong Program at Video ay matatagpuan sa pagtatapos ng Artikulo na ito.
Sa isang programa, una sa lahat, tinutukoy namin ang input at output pin para sa sensor at motor. Pagkatapos tukuyin ang ilang mga macros para sa direksyon ng tagasunod sa linya at pagkatapos ay magsulat ng isang direktiba upang piliin ang output ng sensor
Tandaan: Ang sensor ay maaaring maging aktibo mababa o aktibo ng mataas kaya suriin muna kung ano ang output ng sensor at pagkatapos ay piliin ang direktiba sa pamamagitan ng pagbibigay ng puna o pag- aaliw ng aktibongLowMode . Para sa aktibong TAAS , magkomento sa aktibongLowMode macro.
#define l_sensor P1_3 #define r_sensor P1_4 int pins = {P1_5, P2_0, P2_1, P2_2}; #define forward 0x05 #define left 0x06 #define right 0x09 #define stop 0x00 // # define activeLowMode #ifdef activeLowMode int res = {pasulong, pakaliwa, kanan, itigil}; #else int res = {huminto, pakanan, pakaliwa, pasulong}; #tapusin kung
Pagkatapos nito, sa pag- andar ng pag- setup , nagbibigay kami ng direksyon sa sensor at motor pin. At pagkatapos ay sa pag- andar ng loop , suriin namin ang mga input at ipadala ang output sa module ng driver ng motor upang patakbuhin ang mga motor.
walang bisa ang setup () { para sa (int i = 0; i <4; i ++) pinMode (pin, OUTPUT); pinMode (l_sensor, INPUT); pinMode (r_sensor, INPUT); } void loop () {int sense = (digitalRead (l_sensor) << 1) - digitalRead (r_sensor); para sa (int i = 0; i <4; i ++) digitalWrite (pin, (res >> i) & 0x01); }
Mayroong apat na kundisyon sa tagasunod sa linya na nabasa namin sa pamamagitan ng paggamit ng MSP430 Launchpad. Gumamit kami ng dalawang sensor katulad ng kaliwang sensor at kanang sensor.
Mga Kundisyon: Aktibong MATAAS na output
Input |
Paglabas |
Kilusan Ng Robot |
||||
Kaliwa Sensor |
Tamang Sensor |
Kaliwang Motor |
Tamang Motor |
|||
LS |
Ang RS |
LM1 |
LM2 |
P1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Tigilan mo na |
0 |
1 |
1 |
0 |
0 |
0 |
Lumiko pakanan |
1 |
0 |
0 |
0 |
1 |
0 |
Lumiko pakaliwa |
1 |
1 |
1 |
0 |
1 |
0 |
Pasulong |
Ang programa ay nakasulat alinsunod sa mga kondisyon sa talahanayan sa itaas. Suriin ang kumpletong Code at Video ng Pagpapakita sa ibaba.