- Bahan yang Diperlukan
- Konsep Pengikut Talian
- Penjelasan Litar
- Bekerja Line Follower Robot menggunakan MSP430
- Rajah Litar
- Penjelasan Pengaturcaraan
Robot pengikut garis adalah salah satu projek robotik yang popular di kalangan pelajar dan pemula kerana kesederhanaannya. Ia mengikuti garis, sama ada hitam atau putih, bergantung pada bagaimana anda memprogram mikrokontroler anda. Di sini kita membuat robot pengikut garis menggunakan peluncur MSP430 dari Texas Instruments, yang mengikuti garis hitam. Sekiranya anda baru menggunakan launchpad MSP430, baca Tutorial Mendapatkan MSP430 kami.
Bahan yang Diperlukan
- MSP430G2 LaunchPad dari Texas Instruments
- Modul pemandu motor L298D
- Menyambung wayar
- Modul sensor IR
- Chasis, roda, roller coaster
- Energia IDE
- Bekalan kuasa (3.3v) dan 5v-12v
Konsep Pengikut Talian
Konsep pengikut garis berkaitan dengan cahaya. Kami telah menggunakan tingkah laku cahaya di permukaan hitam dan putih. Apabila cahaya jatuh di permukaan putih, cahaya hampir akan memantul dan sekiranya permukaan hitam cahaya diserap oleh permukaan hitam. Perilaku cahaya yang dijelaskan ini digunakan dalam robot pengikut baris ini.
Dalam robot pengikut garis berdasarkan MSP430 ini kami telah menggunakan Pemancar IR dan penerima IR yang juga disebut dioda foto. Mereka digunakan untuk mengirim dan menerima cahaya. IR menghantar lampu inframerah. Apabila sinar inframerah jatuh di permukaan putih, ia dipantulkan ke belakang dan ditangkap oleh fotodioda yang menghasilkan beberapa perubahan voltan. Apabila cahaya IR jatuh pada permukaan hitam, cahaya diserap oleh permukaan hitam dan tidak ada sinar yang dipantulkan kembali, sehingga dioda foto tidak menerima cahaya atau sinar. Untuk mengetahui lebih lanjut mengenai sensor IR, ikuti pautan.
Di sini dalam robot pengikut garis berdasarkan MSP430 ini ketika sensor merasakan permukaan putih maka MSP mendapat 1 sebagai input dan ketika merasakan garis hitam MSP mendapat 0 sebagai input.
Penjelasan Litar
Kita boleh membahagikan robot pengikut keseluruhan ke dalam pelbagai bahagian seperti bahagian sensor, bahagian kawalan dan bahagian pemandu.
Bahagian Sensor: Bahagian ini mengandungi dioda IR, potensiometer, Perbandingan (Op-Amp) dan LED. Potensiometer digunakan untuk menetapkan voltan rujukan pada terminal satu pembanding dan sensor IR merasakan garis dan memberikan perubahan voltan pada terminal kedua pembanding. Kemudian pembanding membandingkan kedua voltan dan menghasilkan isyarat digital pada output. Di litar ini kami menggunakan dua pembanding untuk dua sensor. LM358 digunakan sebagai pembanding. LM358 telah membina dua Op-amp bunyi rendah.
Bahagian Kawalan: MSP430 Launchpad digunakan untuk mengawal keseluruhan proses robot pengikut baris. Keluaran pembanding disambungkan ke pin digital P1_3 dan P1_4 dari MPS430 Launchpad. MSP430 Launchpad membaca isyarat ini dan menghantar arahan ke litar pemacu untuk memacu pengikut baris.
Bahagian pemandu: Bahagian pemandu terdiri daripada pemandu motor dan dua motor DC. Pemacu motor digunakan untuk memandu motor kerana MSP430 Launchpad tidak membekalkan voltan dan arus yang mencukupi kepada motor. Oleh itu, kami menambah litar pemandu motor untuk mendapatkan voltan dan arus yang mencukupi untuk motor. Di sini kami telah menggunakan pemandu L298d untuk memandu DC Motors. Launcher MSP430 menghantar arahan kepada pemandu motor ini dan kemudiannya menggerakkan motor.
Kami telah membangunkan Line Follower Robots menggunakan Micrcontroller yang berbeza:
- Line Follower Robot menggunakan 8051 Microcontroller
- Line Follower Robot menggunakan Arduino
- Line Follower Robot menggunakan Raspberry Pi
- Line Follower Robot menggunakan PIC Microcontroller
Bekerja Line Follower Robot menggunakan MSP430
Kerja pengikut line sangat menarik. Robot pengikut baris mengesan garis hitam dengan menggunakan sensor dan kemudian menghantar isyarat ke MSP430 Launchpad. Kemudian MSP430 Launchpad menggerakkan motor mengikut output sensor.
Di sini dalam projek ini kita menggunakan dua modul sensor IR iaitu sensor kiri dan sensor kanan. Apabila kedua-dua sensor kiri dan kanan merasakan putih maka robot bergerak ke hadapan.
Sekiranya sensor kiri datang pada garis hitam maka robot membelok ke kiri.
Sekiranya sensor kanan merasakan garis hitam maka robot berpusing ke sebelah kanan sehingga kedua-dua sensor itu muncul di permukaan putih. Apabila permukaan putih muncul robot mula bergerak ke hadapan lagi.
Sekiranya kedua-dua sensor berada pada garis hitam, robot akan berhenti.
Rajah Litar
Litar untuk Robot Pengikut Line MSP430 ini sangat mudah. Output pembanding disambungkan secara langsung ke nombor pin digital MSP430 Launchpad p1_3 dan P1_4. Dan pin input pemandu motor IN1, IN2, IN3 dan IN4 disambungkan pada pin digital MSP430 Launchpad P1_5, P2_0, P2_1, P2_2 masing-masing. Satu motor disambungkan pada pin output pemandu motor OUT1 dan OUT2, dan motor lain disambungkan pada OUT3 dan OUT4. Di sini kami telah menggunakan bekalan 3.3v untuk kuasa keseluruhan litar kecuali modul Pemandu Motor. Kami telah membekalkan modul pemacu 8v ke Motor. Pengguna boleh menggunakan 5v-12v.
Anda juga boleh membina modul IR anda sendiri, seperti yang saya buat di Perf Board. Berikut adalah litar untuk Modul IR:
Penjelasan Pengaturcaraan
Program dan Video yang lengkap boleh didapati di akhir Artikel ini.
Dalam program, pertama sekali, kita menentukan pin input dan output untuk sensor dan motor. Kemudian tentukan beberapa makro untuk arah pengikut baris dan kemudian tulis arahan untuk memilih output sensor
Catatan: Sensor mungkin aktif rendah atau aktif tinggi, jadi periksa terlebih dahulu apakah output sensor kemudian pilih arahan dengan memberi komen atau membebaskan aktifLowMode . Untuk TINGGI aktif, komenmakro aktifLowMode .
#define l_sensor P1_3 #define r_sensor P1_4 int int = {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 = {maju, kiri, kanan, berhenti}; #else int res = {berhenti, kanan, kiri, hadapan}; #endif
Setelah itu, dalam fungsi setup , kami memberikan arahan pada sensor dan pin motor. Dan kemudian dalam fungsi gelung , kami memeriksa input dan menghantar output ke modul pemandu motor untuk menjalankan motor.
batal persediaan () { untuk (int i = 0; i <4; i ++) pinMode (pin, OUTPUT); pinMode (l_sensor, INPUT); pinMode (r_sensor, INPUT); } gelung void () {int sense = (digitalRead (l_sensor) << 1) - digitalRead (r_sensor); untuk (int i = 0; i <4; i ++) digitalWrite (pin, (res >> i) & 0x01); }
Terdapat empat syarat dalam pengikut baris ini yang kita baca dengan menggunakan MSP430 Launchpad. Kami telah menggunakan dua sensor iaitu sensor kiri dan sensor kanan.
Syarat: Keluaran TINGGI aktif
Masukan |
Pengeluaran |
Pergerakan Robot |
||||
Sensor Kiri |
Sensor Kanan |
Motor Kiri |
Motor Kanan |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Berhenti |
0 |
1 |
1 |
0 |
0 |
0 |
Belok kanan |
1 |
0 |
0 |
0 |
1 |
0 |
Belok kiri |
1 |
1 |
1 |
0 |
1 |
0 |
Ke hadapan |
Program ditulis mengikut keadaan jadual di atas. Lihat Kod dan Video Demonstrasi yang lengkap di bawah.