P1.0 P1.1
P1.2 P1.3
P1.4 P1.5
P1.6 P1.7
RST P3.0RX0
P3.1TX0 P3.2INT0
P3.3INT1 P3.4T0
P3.5T1 P3.6WR
P3.7RD XTAL2
XTAL1 GND
P2.7A16 P2.6A14
P2.5A13 P2.4A12
P2.3A11 P2.2A10
P2.1A9 P2.0A8
PSEN ALEPROG
EAVPP P0.7AD7
P0.6AD6 P0.5AD5
P0.4AD4 P0.3AD3
P0.2AD2 P0.1AD1
P0.0AD0 VCC
AT89S51
40 39
38 37
36 35
34 33
32 31
30 29
28 27
26 25
24 23
22 21
20 19
18 17
16 15
14 13
12 11
10 9
8 7
6 5
4 3
2 1
2 1
Xtal 12 MHz
10kohm 10uF
4.7kohm 5V
VCC
33pF 33pF
agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP
TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan LM7805CT tidak akan panas ketika
rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda. Tegangan ini digunakan untuk mensupplay tegangan ke yang
butuh tegangan 12 volt.
4.2 Pengujian Rangkaian minimum AT89S51
Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 4.2 berikut ini :
Gambar 4.2 Rangkaian minimum AT89S51
Universitas Sumatera Utara
Pengujian rangkaian mikrokontroler dilakukan dengan menghubungkan rangkaian ini dengan sebuah transistor A733 yang dihubungkan dengan sebuah LED
indikator, dimana transistor disini berfungsi sebagai saklar untuk mengendalikan hidupmati LED. Dengan demikian LED akan menyala jika transistor aktip dan
sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan adalah PNP A733, dimana transistor ini akan aktip saturasi jika pada basis diberi
tegangan 0 volt logika low dan transistor ini akan tidak aktip jika pada basis diberi tegangan 5 volt logika high. Basis transistor ini dihubungkan ke pin IO
mikrokontroler yaitu pada kaki 28 P2.7. Langkah selanjutnya adalah mengisikan program sederhana ke mikrokontroler AT89S51. Programnya adalah sebagai berikut :
Loop: Cpl P2.7
Acall tunda sjmp loop
tunda: mov r7,255
tnd: mov r6,255
djnz r6, djnz r7,tnd
ret
Program di atas akan mengubah logika yang ada pada P2.7 selama selang waktu tunda. Jika logika pada P2.7 high maka akan diubah menjadi low, demikian jiga
sebaliknya jika logika pada P2.7 low maka akan diubah ke high, demikian seterusnya.
Logika low akan mengaktipkan transistor sehingga LED akan menyala dan logika high akan menonaktipkan transistor, sehingga LED padam. Dengan demikian
program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip
Universitas Sumatera Utara
terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik.
4.3 Pengujian Rangkaian Driver Motor Stepper
Setelah mendapatkan data startbit, maka mikrokontroler akan mengambil 3 data setelah data startbit tersebut, yang merupakan data dari nilai yang dikirimkan oleh
pemancar.
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 :
Gambar Rangkaian Driver Motor Stepper
Gambar 4.3 Rangkaian Motor Stepper
Universitas Sumatera Utara
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, maka transistor akan aktip. 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
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 tesebut.
Jika kemudian P0.0 di beri logika low 0, yang berarti transistor tidak aktip 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. Maka motor akan beralih
kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper
akan berputar sesuai dengan arah logika high 1 yang diberikan pada inputnya.
Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high 1 pada input driver motor stepper harus diberikan secara
bergantian dengan arah yang berlawanan dengan sebelumnya.
Universitas Sumatera Utara
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
Program diawali dengan memberikan nilai 11h pada pada accumulator a, kemudian program akan memasuki rutin buka pintu. 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 ini,
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 maka tunda, maka perputaran motor akan semakin lambat. Perintah berikutnya adalah
Rl a, perintah
ini akan memutar nilai yang ada pada accumulator a, seperti tampak pada table di bawah ini,
a 1
1 Rl
Nilai pada accumulator a yang awalnya 11h, setelah mendapat perintah Rl a,
maka nilai pada accumulator a akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor buka pintu dalam keadaan high 1 atau low 0. Jika
Universitas Sumatera Utara
high 1. Nilai yang ada pada accumulator a, akan kembali diisikan ke port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan
logika high sedangkan yang lainnya mendapatkan logika low.
Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan
P0.3 akan mendapatkan nilai high 1 secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu.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 , maka pada perintah
searah jarum jam digunakan perintah rotate right Rr. Perputaran perintah Rr diperlihatkan pada table berikut,
a
1 1
R r Untuk lebih jelasnya dapat dilihat pada tabel data motor stepper dibawah ini:
Tabel 4.1 Data Motor Stepper Untuk membuka dan Menutup
DATA MOTOR
Buka rr
Tutup rl
P0.7 P0.6
P0.5 P0.4
P0.3 P0.2
P0.1 P0.0
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
Universitas Sumatera Utara
4.4 Pengujian Rangkaian Penerima Infra Merah