Software 8051 Editor, Assembler, Simulator Software Downloader Perangkat Keras

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