Cara Kerja Alat
Cara kerja
sistem robot line tracking secara umum ialah dimulai dari pembacaan lintasan
atau garis dari sensor photodiode beserta LED dimana intensitas pantulan sinar
LED akan berbeda jika terkena bidang pantul yang gelap dengan bidang pantul
yang lebih terang, dari perbedaan inilah dimanfaatkan sebagai pendeteksi
lintasan atau garis dan selanjutnya diteruskan pada rangkaian untai pengkondisi
sinyal (komparator). Rangkaian komparator (IC LM324) berfungsi untuk
membandingkan nilai yang dibaca sensor photodioda dengan nilai referensi
komparator sehingga perbedaan terlihat sangat kontras saat sensor photodioda
mendeteksi objek pantul gelap maupun terang. Hasil keluaran komparator kemudian
diteruskan dan diproses oleh rangkaian pengendali utama yakni IC mikrokontroller
AT89S51. Didalam minsys jika input yang didapat dari pin input 1 adalah 0 dan
input 2 adalah 1 maka minsys akan mengeluarkan output untuk ic driver yang
bernilai f4h (11110100) sehingga IC LM293D akan mengerakan motor kiri secara
ccw dan motor kanan akan diam, kondisi ini akan membuat arah gerak robot berbelok
ke kanan. Kemuduian jika input 1 bernilai 1 dan input 2 bernilai 0 maka minsys
akan mengeluarkan output melalui port 2 yang bernilai f1h (11110001) sehingga
IC L293D akan menggerakkan motor kanan secara cw dan motor kiri diam, kondisi
ini akan membuat arah robot berbelok ke kiri.
Aktivator
Sumber tegangan DC dapat berupa baterai
atau adaptor.
Line Tracking Robot ini menggunakan sumber tegangan DC berupa baterai 9 Volt. Tegangan DC 9 Volt tersebut
digunakan untuk mengaktifkan minsys dan rangkaian sensor yang terdapat pada
Line Tracking Robot. Saat sumber tegangan diaktifkan, maka proses berikutnya
adalah ke bagian input.
Input
Pada alat line
tracking robot yang berfungsi sebagai inputan adalah sensor. Sensor yang digunakan sebagai inputan
pada alat line tracking robot adalah infra merah dan photo dioda. Inframerah
berfungsi sebagai pemancar cahaya dan photo dioda berfungsi sebagai penerima
pantulan sinar dari infra merah.
Infra merah berfungsi
memberikan pantulan cahaya ke photo dioda. Jika permukaan yang dikenai cahaya
infra merah berwarna gelap, maka cahaya yang dipantulkan akan sedikit atau
tidak ada sama sekali, sedangkan jika permukaannya putih maka pantulan cahaya
yang dihasilkan oleh inframerah lebih banyak.
Photo dioda pada line tracking robot ini
berperan sebagai penerima cahaya yang dipantulkan oleh inframerah. Dengan
kondisi jika photo dioda menerima cahaya yang dipantulkan oleh inframerah, maka
base pada photo dioda (berupa cahaya) akan aktif dan terjadi saturasi (kondisi
dimana arus akan mengalir) ke arah ground. Sedangkan, jika cahaya pantul
sedikit atau tidak ada, maka akan terjadi cut off (kondisi dimana arus tidak
dialirkan).
Proses
Pada blok proses line
tracking robot menggunakan 3 buah IC sebagai alat pemrosesan dari inputan. 3
buah IC tersebut adalah IC komparator (IC LM324), Mikrokontroler (IC AT89S51),
dan Driver Motor (IC LM293).
Blok Komparator
IC komparator
atau IC LM324 ini memiliki 4 komparator dengan 4 output. Sedangkan untuk
mengaktifkan Line Tracking Robot ini hanya membutuhkan 2 komparator dan 2
output. Adapun pin yang digunakan adalah pin 2 dan 3 yang menghasilkan output
pada pin 1 sebagai komparator 1, dan pin 5 dan 6 yang menghasilkan output pada
pin 7 sebagai komparator 2.
Sesuai dengan
namanya, IC ini bertugas membandingkan 2 tegangan input yang masuk dan
menghasilkan 1 tegangan output.
|
Va
Gambar 3.3 Konsep kerja komparator
|
Jika photo dioda
tidak menerima cahaya, maka output yang dihasilkan oleh komparator bernilai 0,
dan jika menerima cahaya maka output komparator bernilai 1.
Trimpot yang
terhubung dengan LM324 berfungsi sebagai pengatur besarnya inputan pada kaki
non inverting.
Output dari IC
komparator LM324 akan diproses di dalam IC mikrokontroler AT89S51, IC AT89S51
merupakan IC yang dapat diprogram dengan menggunakan bahasa assembler.
3.1.3.2. Blok Mikrokontroller
Pemrosesan input
pada IC AT89S51 yaitu ketika kedua output dari IC LM324 masuk melalui port 1.0
dan 1.1. Port - port ini hanya akan aktif apabila diberi masukan rendah (aktif
low). Aktif atau tidaknya port 1.0 dan 1.1 in akan berpengaruh pada output
mikrokontroler pada port 2.0 sampai 2.3. Port - port output ini dihubungkan
dengan pin 2, 7, 10, dan 15 pada IC L293D. Di bawah ini adalah ketentuan
pemasangan pin-nya:
·
Port 2.0 dengan pin 15
·
Port 2.1 dengan pin 10
·
Port 2.2 dengan pin 2
·
Port 2.3 dengan pin 7
Pada alat line tracking
robot yang berfungsi sebagai penggerak motor DC adalah IC L293D. IC ini
berfungsi untuk menggerakkan motor DC dengan mengalirkan arus dengan tegangan
9V ke kedua motor DC.
3.1.3.3 Blok Driver Motor
Dari IC
mikrokontroler masuk ke pin input L293D yaitu 2, 7, 10, dan 15. Input ini akan
diteruskan ke pin output L293D yaitu 3, 6, 11, dan 14 dengan nilai yang sama
dengan input. Adapun input berasal dari pin :
·
Pin 2 input untuk motor
1
·
Pin 7 input untuk motor
1
·
Pin 10 input untuk
motor 2
·
Pin 15 input untuk
motor 2
Output L293D
dihubungkan dengan motor DC dengan ketentuan pemasangannya sebagai berikut:
·
Pin 14 dengan kutub negatif (-) motor 1
·
Pin 11 dengan kutub positif (+) motor 1
·
Pin 3 dengan kutub negatif (-) motor 2
·
Pin 6 dengan kutub negatif (+) motor 2
Analisa Rangkaian Secara Detail
Pada alat line tracking
ini analisa rangkaian secara detail dimulai dari aktivator menerima daya untuk
mengaktifkan semua komponen, lalu
sensor
menerima inputan. Kemudian inputan masuk ke IC komparator dan diproses lalu
dikirimkan kembali ke IC AT89S51,
setelah itu dikirimkan ke IC L293D Untuk mengeluarkan output berupa putaran pada motor
DC. Selanjutnya akan dipaparkan lebih jelas.
Pada alat line tracking
robot menggunakan aktivator berupa baterai 9V atau Adaptor. Aktivator ini berfungsi untuk
mengaktifkan semua rangkaian yang terdapat
dalam line tracking robot.
Setelah daya dari
aktivator mengaktifkan seluruh rangkaian maka selanjutnya masuk ke tahap
inputan. Inputan yang digunakan pada line tracking robot berupa pantulan cahaya
dari infra merah
yang ditangkap oleh photo dioda. Pada line tracking robot menggunakan 2 buah
infra merah dan 2 buah sensor
photo dioda.
Jika photo dioda menerima
pantulan cahaya dari infra merah
atau di beri alas putih pada sensor tersebut maka akan memberi
logika low. Apabila photo dioda tidak menerima pantulan dari infra merah atau di beri alas
hitam pada sensor tersebut maka akan memberi logika high.
Setelah menerima inputan
dari sensor maka masuk pada
tahap pemrosesan inputan. Inputan yang telah diterima masukke IC LM324 atau
sering disebut IC komparator. Inputan yang berasal dari sensor masuk pada kaki 2 dan kaki 6 IC
LM324 yang berfungsi sebagai kaki inverting. Sedangkan sebagai tegangan
pembanding berasal dari trimpot yang masukke kaki 3 dan 5 IC LM324 yang
berfungsi sebagai kaki non inverting. Setelah itu tegangan akan dibandingkan
dan menghasilkan output pada kaki 1 sebagi inputan 1 dan 7 sebagai inputan 2
untuk IC AT89S51.
Setelah itu kedua
inputan tersebut akan masukke IC AT89S51 yang berfungsi sebagai
mikrokontroller. Pada IC ini inputan 1 masuk pada port 1.0 dan inputan 2 masuk
pada port 1.1. Pada IC ini inputan akan di proses sesuai dengan program yang
telah dibuat. Setelah itu output dari IC AT89S51 ini akan dikeluarkan pada port
2.0, port 2.1, port 2.2, dan port 2.3
sesuai dengan program.
Setelah itu output pada port – port tersebut akan diteruskan sebagai inputan
untuk IC L293D sebagai IC penggerak motor.
Pada IC L293D output
dari IC AT89S51dimasuk sebagai inputan dengan ketentuan sebagai berikut :
· Output
Port 2.0 IC AT89S51 => Input kaki 2 IC L293D
· Output
Port 2.1 IC AT89S51 => Input kaki 7 IC L293D
· Output
Port 2.2 IC AT89S51 => Input kaki 10 IC L293D
· Output
Port 2.0 IC AT89S51 => Input kaki 15 IC L293D
Setelah itu input – input tersebut
diproses pada IC L293D.Pada IC ini input pada kaki 2 dan 7 menghasilkan output
pada kaki 3 dan 6 sedangkan input dari kaki 10 dan 15 menghasilkan output pada
kaki 11 dan 14. Output pada kaki 3 dan 6 untuk menggerakkan motor DC kanan dan
kaki 11 dan 14 untuk menggerakkan motor DC kiri.
Output yang dihasilkan
pada motor DC adalah putaran cw (Clock Wise) dan ccw (Counter Clock Wise).
Dengan ketentuan sebagai berikut :
Tabel 3.1 Output logika pada Motor DC
No
|
Input Kaki:
|
Ouput Kaki:
|
Gerakan Line tracking
|
Kondisi Alas Sensor
|
|||||||
2
|
7
|
10
|
15
|
3
|
6
|
11
|
14
|
Kiri
|
Kanan
|
||
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
Diam
|
Putih
|
Putih
|
2
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
Belok kanan
|
Hitam
|
Putih
|
3
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
Belok Kiri
|
Putih
|
Hitam
|
4
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
Maju
|
Hitam
|
Hitam
|
Keterangan :
1 = Input / Output High
0 = Input / Output Low
Flowchart
Berikut ini adalah
flowchart berdasarkan program Line Tracking Robot :
Gambar 3.7
Flowchart Line Tracking Robot
Keterangan :
·
SKI : Sensor Kiri
·
SKA : Sensor Kanan
·
MGBKA
: Motor GearBox Kanan
·
MGBKI
: Motor GearBox Kiri
Pada gambar 3.7 di atas merupakan gambar
flowchart dari line tracking robot. Diawali dengan Mulaikemudian masuk ke decision apakah power pada rangkaian sudah
di hubungkan apabila tidak maka masukke terminate selesai. Apabila aktif masuk ke inisialisasi port – port yang
digunakan.
Setelah inisialisasi port – port
yang digunakan selasaiselanjutnya masuk ke decision apakah kedua sensor aktif.
Apabila kedua sensor aktif berarti port 1 menerima inputan berupa FF selanjutnyaIC
AT89S51 mengirim output ke IC L293D melalui port 2 dengan perintah F0. Perintah
tersebut membuat motor gearbox diam, kemudian kembali lagi ke decision power
on. Apabila kedua sensor tidak aktif maka masuk ke decision apakah sensor kanan
aktif.
Apabila sensor kanan aktif berarti
port 1 menerima inputan berupa FD selanjutnya IC AT89S51 mengirim output ke IC
L293D melalui port 2 dengan perintah F4. Maka output pada motor gearbox kanan
diam dan motor gearbox kiri berputar dengan arah ccw (counter clock wise) yang
membuat robot belok ke arah kanan kemudian kembali lagi ke decision power on.
Apabila sensor kanan tidak aktif maka masuk ke decision apakah sensor kiri
aktif.
Apabila sensor kanan aktifberarti
port 1 menerima inputan berupa FE selanjutnya IC AT89S51 mengirim output ke IC
L293D melalui port 2 dengan perintah F1. maka output pada motor gearbox kiri
diam dan motor gearbox kanan berputar dengan arah cw (counter clock wise) yang
membuat robot belok ke arah kanan kemudian kembali lagi ke decision power on.
Apabila sensor kanan tidak aktifberarti
port 1 menerima inputan berupa FC selanjutnya IC AT89S51 mengirim output ke IC
L293D melalui port 2 dengan perintah F5. maka masuk ke output motor gearbox
kanan berputar cw (clock wise) dan motor gearbox kiri berputar ccw (counter
clock wise) yang mengakibatkan robot bergerak maju. Setelah itu kembali lagi ke
decision power on.
Analisa Software
Pada bagian analisa
software ini menjelaskan tentang bagaimana cara kerja rangkaian sesuai dengan
program yang telah dimasukkan pada IC AT89S51.
Sebuah pemrograman
dibutuhkan agar Line Tracking Robot dapat bergerak sesuai yang diinginkan,
dimana pemrograman tersebut harus di download ke dalam IC
AT89S51.
Program ini
dibentuk melalui software MIDE 51 dengan ketentuan bahwa Line Tracking Robot
bergerak berdasarkan garis putih.
Untuk memudahkan pembuatan
program tersebut, sebelumnya buat flowchart program terlebih dahulu. Dari
flowchart program yang sudah dibuat, kita dapat mengembangkannya dengan mudah
menjadi sebuah pemrograman yang tepat.
Pembuatan flowchart program Line Tracking Robot ini
harus memperhatikan syarat-syarat pergerakan motor berdasarkan jalur yang
dilalui oleh kedua sensor. Syarat-syarat
tersebut adalah sebagai berikut:
NO
|
Sensor Kiri
|
Sensor Kanan
|
Roda Kiri
|
Roda Kanan
|
1
|
Alas
Putih
|
Alas
Putih
|
Diam
|
Diam
|
2
|
Alas
Hitam
|
Alas Putih
|
Berputar CCW
|
Diam
|
3
|
Alas
Putih
|
Alas Hitam
|
Diam
|
Berputar CCW
|
4
|
Alas
Hitam
|
Hitam
|
Berputar CCW
|
Berputar CW
|
Tabel 3.2 Syarat-syarat
pergerakan motor
Berikut listing program Line Tracking Robot beserta
analisanya :
Tabel 3.3 Listing Program Line Tracking Robot
Program
|
Analisa
|
$mod51
|
Untuk inisialisasi awal program
|
org 00h
|
Untuk pengalamatan awal program
|
mov p0,#0ffh
|
memindahkan nilai 0ffh ke port 0
|
mov p1,#0fch
|
memindahkan nilai 0fch ke port 1
|
mov p2,#0f0h
|
memindahkan nilai 0f0h ke port 2
|
;
|
|
diam :
|
|
mov p2,#0f0h
|
memindahkan nilai 0f0h ke p2
|
jnb p1.0, maju
|
lompat ke label maju ketika p1.0 bernilai 0
|
jnb p1.1, maju
|
lompat ke label maju ketika p1.1 bernilai 0
|
sjmp diam
|
lompat ke diam
|
maju :
|
|
jb p1.0, kanan
|
lompat ke kanan ketika p1.0 nernilai 1
|
jb p1.1, kiri
|
lompat ke kiri ketika p1.1 nernilai 1
|
mov p2,#0f5h
|
memasukkan nilai 0f5h ke port 2
|
sjmp maju
|
lompat ke maju
|
kanan :
|
|
jb p1.1, diam
|
lompat ke diam ketika p1.1 bernilai 1
|
jnb p1.0, maju
|
lompat ke maju ketika p1.0 bernilai 0
|
mov p2,#0f4h
|
memasukkan nilai 0f4h
|
sjmp kanan
|
lompat ke kanan ketika p1.0 nernilai 1
|
kiri :
|
|
jb p1.0, diam
|
lompat ke diam ketika p1.0 bernilai 1
|
jnb p1.1, maju
|
lompat ke maju ketika p1.1 bernilai 0
|
mov p2,#0f1h
|
memasukkan nilai 0f1h ke port 2
|
sjmp kiri
|
lompat ke kiri ketika p1.1 nernilai 1
|
end
|
|
Berdasarkan tabel
program di atas pada bagian awal $mod 51
hingga mov p2, #0f0h berfungsi untuk mengaktifkan
seluruh port pada minsys sesuai dengan perintah yang diberikan.
Pada label diam
berfungsi untuk membuat kedua motor gearbox diam dengan memasukkan perintah mov p2, #0f0h ke port 2. Perintah jnb p1.0, maju dan jnb p1.1,
maju berfungsi untuk melakukan lompatan ke label maju jika terjadi
perubahan inputan pada port 1.0 dan port 1.1.
Setelah itu sjmp diam berfungsi untuk
melakukan short jump ke label diam ketika proses diam telah selesai dilakukan.
Pada label maju
berfungsi untuk membuat robot bergerak maju dengan perintah mov p2, #0f4h ke
port 2. Sebelumnya terdapat perintah jb p1.0, kanan yaitu lompat
ke label kanan jika p1.0 bernilai 1. Dan jb 1.1, kiri yaitu lompat ke
label kiri apabila port 1.1 bernilai 1. Selanjutnya terdapat perintah sjmp
maju, yaitu lompat kembali ke label maju ketika proses pada label maju
telah selesai.
Pada label
kanan berfungsi untuk membuat robot bergerak belok ke kanan dengan perintah mov
p2, #0f5h ke port 2. Sebelumnya terdapat perintah jb p1.1, diam yaitu lompat ke label diam jika p1.1 bernilai
1. Dan jnb 1.0, maju yaitu lompat ke label maju apabila port 1.0
bernilai 0. Selanjutnya terdapat perintah sjmp kanan, yaitu lompat
kembali ke label kanan ketika proses pada label maju telah selesai.
Pada label maju
berfungsi untuk membuat robot bergerak belok ke kiri dengan perintah mov p2,
#0f1h ke port 2. Sebelumnya terdapat perintah jb p1.0, maju yaitu lompat ke label maju jika p1.0 bernilai
1. Dan jnb p1.1, diam yaitu lompat ke label diam apabila port 1.1
bernilai 0. Selanjutnya terdapat perintah sjmp kiri, yaitu lompat
kembali ke label kiri ketika proses pada label maju telah selesai. Selanjutnya
terdapat perintah end untuk mengakhiri program.