BAB 4 PENGUJIAN RANGKAIAN DAN PROGRAM
4.1 Pengujian Rangkaian Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian kaki mikrokontroler AT89S51 telah bekerja dengan baik, sehingga dilakukan pengujiandengan menggunakan down lowder .Pengujian bagian
ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:
Loop: Setb P0.0
Acall tunda Clr P0.0
Acall tunda Sjmp Loop
Tunda: Mov r7,255
Tnd: Mov r6,255 Djnz r6,
Universitas Sumatera Utara
Djnz r7,tnd Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 selama beberapa saat kemudian mematikannya selama beberapa saat secara terus
menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika
high
yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat.
Perintah Clr P0.0 akan menjadikan P0.0 berlogika
low
yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat.
Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut : Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan
waktu = 12
1 12 MHz
= mikrodetik.
Mnemonic Siklus
Waktu Eksekusi MOV Rn,data
2 2 x 1 d = 2 d
DJNZ 2
2 x 1 d = 2 d RET
1 1 x 1 d = 1 d
Universitas Sumatera Utara
Tunda: mov r7,255
Tnd: mov r6,255 djnz r6, 255 x 2 = 510 x 255 = 130.054 d
djnz r7,loop3 djnz r2,loop8
ret Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.054 detik
atau 0,130054 detik dan dapat dibulatkan menjadi 0,13 detik. Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian
mikrokontroller dapat berjalan sesuai dengan program yang diisikan, sehingga rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.
4.2 Pengujian Rangkaian Driver Motor stepper
Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan
keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high 1 secara bergantian pada ke-4 masukannya.
Rangkaiannya seperti gambar di bawah :
Universitas Sumatera Utara
Gambar 4.1 Rangkaian Driver Motor stepper
Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51.
Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor
stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.
Jika P0.0 diberi logika high 1, yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, sehingga transistor akan aktif. Hal ini akan menyebabkan
terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke
Universitas Sumatera Utara
kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan
yang memiliki medan magnet tersebut. Jika kemudian P0.0 di beri logika low 0, yang berarti transistor tidak aktif dan
tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high 1, sehingga kumparan yang terhubung
ke P0.1 akan menghasilkan medan magnet. Sehingga motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara
bergantian pada input dari driver motor stepper, sehingga motor stepper akan berputar sesuai dengan arah logika high 1 yang diberikan pada inputnya.
Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, sehingga logika high 1 pada input driver motor stepper harus diberikan secara
bergantian dengan arah yang berlawanan dengan sebelumnya. Program yang diberikan pada driver motor stepper untuk memutar motor stepper
adalah sebagai berikut :
mov a,11h putar:
mov P0,a acall tunda
Rl a jmp putar
Universitas Sumatera Utara
Program diawali dengan memberikan nilai 11h pada pada akumulator a, kemudian program akan memasuki rutin putaran webcam. Nilai a diisikan ke port 0, sehingga
sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah,
Tabal 4.1 Kaki pengisian data pada mikrokontroler AT89S51 port 0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
P0
1 1
Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan mempengaruhi kecepatan perputaran motor. Semakin lama sehingga tunda, sehingga perputaran motor
akan semakin lambat. Perintah berikutnya adalah Rl a, perintah ini akan memutar nilai yang ada pada akumulator a, seperti tampak pada tabel di bawah ,
Tabel 4.2 Kaki pengisian data pada mikrokontroler AT89S51 nilai R1
a
1 1
Rl
a
1 1
Dst.................. Nilai pada akumulator a yang awalnya 11h, setelah mendapat perintah Rl a, sehingga
nilai pada akumulator a akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor putaran webcam dalam keadaan high 1 atau low 0. Jika high
1,
Universitas Sumatera Utara
Nilai yang ada pada akumulator a, akan kembali diisikan ke port 0, sehingga nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika
high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah Tabel 4.3 Kaki pengisian data pada mikrokontroler AT89S51 nilai Port 0 menjadi 22h
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
P0
1 1
Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas sehingga P0.0, P0.1, P0.2, dan P0.3 akan
mendapatkan nilai high 1 secara bergantian. Hal ini menyebabkan motor stepper akan berputar memputaran webcam.Hal yang sama juga berlaku ketika motor berputar kaearah
sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left Rl , sehingga pada perintah searah jarum jam
digunakan perintah rotate right Rr. Perputaran perintah Rr diperlihatkan pada table berikut,
Tabel 4.4 Kaki pengisian data pada mikrokontroler AT89S51 nilai Rr
a
1 1
R r
a
1 1
Dst...................
Universitas Sumatera Utara
4.3 Pengujian Rangkaian Sensor Gerak