Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh :
MOV R0,20h R0 = 20h
................ DEC R0
R0 = R0 1 .............
J. Instruksi INC Increament Instruksi ini merupakan perintah untuk menambahkan nilai register yang
dimaksud dengan 1. Contoh : MOV R0,20h
R0 = 20h ................
INC R0 R0 = R0 + 1
.............
K. Dan lain sebagainya
2.9 Software 8051 Editor, Assembler, Simulator
Instruksi-instruksi yang merupakan bahasa assembly dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Setelah program selesai
ditulis, maka kemudian di-save dan di-Assemble di-compile. Pada saat di- assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan
atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama
Universitas Sumatera Utara
subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.
Gambar 2.18 8051 Editor, Assembler, Simulator
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat
peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler
2.10 Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari
internet. Cara menggunakannya adalah dengan meng-klik Open File untuk
Universitas Sumatera Utara
mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.
Gambar 2.19 ISP- Flash Programmer 3.a
Universitas Sumatera Utara
BAB 3
PERANCANGAN ALAT DAN PERANCANGAN PROGRAM
3.1 Perangkat Keras
Pada subbab ini akan dibahas perangkat-perangkat keras yang digunakan pada rangkaian alat ini. Perangkat-perangkat keras tersebut adalah antara lain rangkaian
sensor gerak, rangkaian driver motor stepper, rangkaian PSA, dan rangkaian mikrokontroler AT89S51.
3.1.1 Diagram Blok
Secara garis besar, diagram blok dari rangkaian pintu otomatis ini ditunjukkan pada gambar 3.1. berikut ini:
Gambar 3.1 Diagram Blok Rangkaian
Universitas Sumatera Utara
Pada alat ini terdapat sebuah sensor kode batang. Sensor ini berfungsi untuk memeriksa kode batang yang ada pada kartu identitas pengguna pintu.
Sensor ini dihubungkan dengan P2.0; P2.1; P2.2; P2.3; P2.4 dari mikrokontroler AT89S51.
Untuk membatasi pergeseran pintu, digunakan dua sakelar batas. Sakelar batas ini berfungsi untuk memberikan informasi pada mikrokontroler tentang
keberadaan pintu, apakah pintu sedang tertutup atau tidak. Sakelar batas ini dihubungkan pada pin P0.6 dan P0.7 dari mikrokontroler AT89S51.
Untuk mengendalikan pergerakan motor stepper yang akan menarik pintu, digunakan sebuah rangkaian jembatan H. Rangkaian ini dihubungkan pada pin
P0.0, P0.1, P0.2, dan P0.3 dari mikrokontroler AT89S51.
3.1.2 Perancangan Sensor Kode Batang
Dalam memeriksa kode batang pada kartu identitas pengguna pintu maka digunakan sensor kode batang. Sensor ini menggunakan 5 buah fotodioda sebagai
penerima inframerah dan 5 LED inframerah sebagai pemancar inframerah.
Setiap pantulan inframerah yang diterima oleh fotodioda akan diolah dan dijadikan data digital, sehingga bila fotodioda mendapatkan pantulan dari
pemancar inframerah, maka akan mengirimkan sinyal low ke mikrokontroler AT89S51. Dengan demikian mikrokontroler dapat mendeteksi sensor yang
Universitas Sumatera Utara
mengirimkan sinyal low dan mengambil tindakan untuk mengatur putaran motor stepper untuk membuka ataupun menutup pintu.
Rangkaian pemancar inframerah tampak seperti gambar di bawah ini:
Gambar 3.2 Rangkaian Pemancar Inframerah
Pada rangkaian di atas digunakan 1 LED inframerah 5 volt. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada LED inframerah
dapat diketahui sebesar 50mA. Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran inframerah akan semakin kuat, yang
menyebabkan jarak pantulannya akan semakin jauh.
Pantulan dari sinar inframerah akan diterima oleh fotodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika
fotodioda menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan mengeluarkan logika low 0, namun jika fotodioda tidak
menerima pantulan sinar inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high 1.
5V
Universitas Sumatera Utara
Rangkaian ini menggunakan IC LM 358 sebagai penguat tegangan yang dihasilkan fotodioda. IC ini memiliki dua penguat operasional op-amp. Pada
rangkaian ini, kedua op-amp tersebut digunakan. Sehingga sinyal dari fotodioda mengalami dua kali penguatan.
Gambar 3.3 Rangkaian Sensor Kode Batang
Sesuai dengan gambar, maka besar penguatan op-amp tergantung pada besarnya tahanan variable yang digunakan. Pada prakteknya, tahanan variable
tersebut diterima pada kisaran harga 20 KOhm, sehingga besar penguatan op-amp adalah:
kali A
K K
2
10 20
Sebuah fotodioda memiliki nilai tahanan sekitar 15 s.d. 20 MOhm jika tidak terkena sinar inframerah, dan memiliki nilai tahanan sekitar 80 s.d. 300
KOhm jika terkena sinar inframerah, tergantung dari intensitas sinar inframerah yang diterimanya. Maka dengan demikian, besar tegangan yang masuk ke op-amp
dapat diketahui. Saat tidak terkena sinar inframerah :
Universitas Sumatera Utara
V V
K M
K V
o
01 ,
5 47
20 47
Saat terkena sinar inframerah :
6 ,
5 47
300 47
V K
K K
V
o
Tegangan tersebut diumpankan pada op-amp dengan faktor penguatan 2 kali, sehingga tegangan keluarannya pada saat terkena sinar inframerah sekitar
0,12 volt, sedangkan saat tidak terkena sinar inframerah sekitar 0,02 volt. Namun, tegangan ini masih diumpankan lagi pada op-amp yang kedua. Dengan faktor
penguatan yang sama, didapat tegangan keluaran saat terkena sinar inframerah sekitar 0,24 volt dan saat tidak terkena inframerah sekitar 0,04 volt. Tegangan
inilah yang selanjutnya diumpankan ke basis transistor C945.
Transistor akan aktif ketika tegangan basisnya lebih besar dari 0,7 volt. Maka, ketika basisnya mendapat tegangan sebesar 0,12 volt saat fotodioda
terkena sinar inframerah, transistor aktif. Aktifnya transistor ini akan menyebabkan mikrokontroler mendapatkan logika low dan LED indikator akan
mati. Hal sebaliknya akan berlaku ketika fotodioda tidak mendapatkan pantulan sinar inframerah.
3.1.3 Perancangan Driver Penggerak Motor Stepper Jembatan H
Universitas Sumatera Utara
Rangkaian untuk mengendalikan perputaran motor stepper pada alat ini adalah sebuah rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4
buah transistor, dimana 2 buah transistor bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan
memberikan sinyal low atau high pada rangkaian maka perputaran motor dapat diatur. Gambar rangkaiannya ditunjukkan pada gambar berikut ini:
Vcc Vcc Vcc
Vcc
Motor 330 Ohm
330 Ohm 330 Ohm
330 Ohm TIP127 TIP127
C945
TIP122 TIP122
C945 C945
C945 1 K
1 K 1 K
1 K 18 Ohm
18 Ohm 18 Ohm
18 Ohm
P0.0 P0.1
Gambar 3.4 Rangkaian Jembatan H
Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan
aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada
di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan
transistor ini aktif transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt. Aktifnya transistor PNP TIP 127 ini akan mengakibatkan
kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 5 volt dari Vcc.
Universitas Sumatera Utara
Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari
transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari
0,7 volt. Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari
ground.
Karena kolektor TIP 122 sedang dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga
mendapatkan tegangan yang sama.
Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang di sebelah kanan
tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang
berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang
menyebabkan transistor ini tidak aktif. Akibat transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emitor sehingga kolektor tidak mendapatkan
tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.
Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari
Universitas Sumatera Utara
transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan
kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground.
Karena kolektor TIP 122 yang mendapatkan tegangan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga akan
mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt polaritas negatif.
Prinsip tersebut digunakan pada saat menghidupkan motor stepper. Prinsip kerja dari motor stepper yaitu pembangkitan medan magnet untuk memperoleh
gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan kumparannya. Bila kumparan mendapatkan logika 1
maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada
rotor. Sehingga posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet berlawanan tadi. Bila langkah berikutnya lilitan yang
bersebelahan diberi tegangan, sedangkan catu tegangan lilitan sebelumnya dilepas, maka kutub magnet tetap pada rotor itu akan berpindah posisi menuju
kutub magnet lilitan yang dihasilkan. Berarti telah terjadi gerakan 1 step. Bila langkah ini diulang terus-menerus, dengan memberikan tegangan secara
bergantian ke lilitan-lilitan yang bersebelahan, maka rotor akan berputar .
Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan
Universitas Sumatera Utara
stator motor. Untuk motor DC Stepper 4 fasa pada prinsipnya ada dua macam cara, yaitu full step dan half step.
Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4.
Berikutnya dapat diberikan lagi mulai dari step 1. Untuk Half Step, setiap kutup magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan
yang sama setelah Step ke 8. Berikutnya kembali mulai step 1. Dengan memberikan logika secara bergantian dan berurutan pada pin-pin input rangkaian
jembatan H, maka pergerakan motor stepper dapat diatur. Step ke
Full Step Half Step
1 1
1 2
1 1
1 3
1 1
1 4
1 1
1 5
Berulang ke step 1 1
6 1
7 1
8 1
1 Berulang ke step 1
Tabel 3.1 Logika Perputaran Rotor
3.1.4 Rangkaian Mikrokontroler AT89S51
Universitas Sumatera Utara
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC
inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
Pin 31 External Access Enable EA diset high H. Ini dilakukan karena mikrokontroler AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19
dihubungkan ke XTAL 12 MHz dan kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler AT89S51 dalam mengeksekusi setiap
perintah dalam program. Pin 9 merupakan masukan reset aktif tinggi. Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini. Pin 32 sampai 39
adalah Port 0 yang merupakan saluran atau bus IO 8 bit open kolektor dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya
akses ke memori program eksternal.
5V VCC
10uF 5V
VCC
2 1
30pF 30pF
XTAL 12 MHz
AT89S51
P0.3 AD3 P0.0 AD0
P0.1 AD1 P0.2 AD2
Vcc P1.0
P1.1 P1.2
P1.3 P1.4
P1.5
P1.6 P1.7
P0.4 AD4 P0.5 AD5
P0.6 AD6 P0.7 AD7
RST EAVPP
P3.0 RXD P3.1 TXD
P3.2 INT0 P3.3 INT1
P3.4 T0 ALEPROG
PSEN P2.7 A15
P2.6 A14 P2.5 A13
P2.4 A12 P2.3 A11
P2.2 A10
P2.1 A9 P3.6 WR
P3.5 T1 P3.7 RD
XTAL2 XTAL1
GND P2.0 A8
1 2
3 4
5 6
7 8
40 39
38 37
36 35
34 33
9 10
11 12
13 14
15
32 31
30 29
28 27
26
16 17
18 19
20
25 24
23 22
21
4.7k 2SA733
5V VCC
LED1
Universitas Sumatera Utara
Gambar 3.5 Rangkaian Mikrokontroler AT89S51
Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan P3.7 dihubungkan dengan
transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroler AT89S51 sudah bekerja atau belum. Dengan
memberikan program sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika
LED yang terhubung ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20
merupakan ground dan dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power
supplay.
3.1.5 Rangkaian Catu Daya PSA
Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan
keluaran 12 volt digunakan untuk menghidupkan motor stepper. Rangkaian tampak seperti gambar di bawah ini.
Universitas Sumatera Utara
Vreg
LM7805CT
IN OUT
TIP32C
100ohm
100uF 330ohm
220V 50Hz 0Deg
TS_PQ4_12 2200uF
1uF 1N5392GP
1N5392GP
12 Volt 5 Volt
Gambar 3.6 Rangkaian Power Supplay PSA
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan
disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 F. Regulator tegangan 5 volt LM7805CT
digunakan 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 memberikan 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 dioda.
Universitas Sumatera Utara
3.2 Perangkat Lunak