Abstrak
Seiring dengan perkembangan jaman, aktifitas manusia semakin meningkat sehingga menyebabkan manusia sering meninggalkan rumah. Dengan kesibukan dalam beraktifitas tersebut sering kali pulang larut malam atau ada juga saat harus keluar kota dalam beberapa hari. Rumah yang selalu gelap atau selalu terang dapat mengundang pemikiran kriminal pihak – pihak tertentu, dengan kesimpulan tidak ada orang di dalam rumah.
Di jaman perkembangan tehnologi seperti sekarang ini, dimungkinkan sekali untuk membuat suatu alat yang dapat digunakan untuk mengendalikan peralatan elektronik, baik yang terdapat dirumah, perkantoran, ruko, mal maupun apartemen dengan sebuah komputer sebagai pusat kendali.
BAB I PENDAHULUAN
1.1. Latar Belakang
Manusia selalu ingin hidup lebih mudah, karena itu manusia selalu mencari cara unuk mewujudkannya. Dahulu ditemukan sepeda untuk mempermudah dalam bidang tranportasi dan banyak penemuan – penemuan lainnya semua itu bertujuan agar kehidupan manusia menjadi lebih mudah dan lebih baik.
Seiring dengan perkembangan jaman, aktifitas manusia semakin meningkat sehingga menyebabkan manusia sering meninggalkan rumah. Dengan kesibukan dalam beraktifitas tersebut sering kali pulang larut malam atau ada juga saat harus keluar kota dalam beberapa hari. Rumah yang selalu gelap atau selalu terang dapat mengundang pemikiran kriminal pihak – pihak tertentu, dengan kesimpulan tidak ada orang di dalam rumah.
1.2 Permasalahan
Permasalahan timbul dan harus
diselesaikan baik dari sisi interfacing serial port juga dari sisi mikrokontroler. Permasalahan-permasalahan tersebut secara umum adaah sebagai berikut:
1. Bagaimana interfacing komputer terutama serial port.
2. Bagaimana pemprograman serial port menggunakan visual basic. 3. Bagaimana interfacing
mikrokontroller AT89s51.
4. Bagaimana pemprograman mikrokontroller AT89s51.
5. Bagaimana komunikasi antara komputer dan mikrokontroler. 6. Bagaimana mengatifkan peralatan
elektronic bersumber listrik AC. 7. Bagaimana penanganan motor
stepper.
1.3. Manfaat Dan Tujuan
Manfaat dan tujuan dari pelaksanaan Tugas Akhir ini antara lain, yaitu:
1. Untuk memenuhi tugas akhir. 2. Untuk memperdalam pengetahuan
tentang interfacing serial port. 3. Dapat mengendalikan peralatan
elektronik dengan sebuah komputer sebagai pusat kendali.
4. Semoga dapat bermanfaat bagi penulis, pembaca dan mahasiswa universitas NAROTAMA jurusan Sistem Komputer.
1.4 Batasan Masalah
Adapun batasan masalah dalam Tugas Akhir ini :
Mengendalikan lampu maksimal 8 buah dan jendela hanya 1 buah jendela. Kekuatan mengendalikan setiap satu
peralatan kurang lebih 500 watt.
1.5 Metode Penulisan
Proses penyusunan Laporan Proyek Madya ini melalui beberapa tahapan, tahapan – tahapan tersebut meliputi :
1. Survey dan observasi 2. Analisa data
3. Perancangan perangkat
4. Pembuatan perangkat keras dan perangkat lunak.
5. Ujicoba 6. Dokumentasi
1.6 Sistematika Penulisan
Penulisan laporan Proyek Madya ini disusun dalam suatu sistematika sebagai berikut :
BAB I PENDAHULUAN BAB II LANDASAN TEORI BAB III METODE PENELITIAN BAB IV PEMBAHASAN OBYEK BAB V PENUTUP
BAB II LANDASAN TEORI 2.1 Mikrokontroller AT89S51
Mikrokontroller merupakan pengkombinasian antara CPU (Central Processing Unit) dengan memori dan I/O (Input/Output) dalam satu chip, yang sering disebut sebagai single chip microcomputer (SCM). Berbeda dengan mikroprosesor yang membutuhkan ROM (Read Only Memory), RAM (Random Access Memoy), dan I/O sebagai sarana pendukung operasinya.
Mikrokontroler AT89S51 termasuk salah satu jenis mikrokontroler dari keluarga MCS51 yang dikemas dalam standart DIL ( Dual In Line ) 40 pin. Mikrokontroler ini diproduksi oleh ATMEL dengan karakteristik yang benar-benar kompatibel dengan mikrokontroler produksi Intel. Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 sebagai berikut:
1. Sebuah CPU 8 bit.
2. Oscilator dan clock circuit internal. 3. Internal ROM jenis EEPROM
dengan kapasitas 4 Kbyte. 4. Internal RAM 128 byte.
5. 4 x 8 bit programable I/O (port0 - port 3).
6. 2 buah timer/counter (T0 & T1). 7. Komunikasi data serial Full Duplex
( SBUF ).
8. Lima buah jalur interupsi (2 interupsi external dan 3 interupsi internal ).
2.1.1 Konfigurasi Pin-Pin mikrokontroler AT89S51
Konfigurasi mikrokontroler AT89S51 digolongkan menjadi pin sumber tegangan, pin osilator, pin kontrol, pin I/O, dan pin untuk proses interupsi luar. AT89S51 memiliki 4 group I/O, yang masing-masing group terdiri dari 8 pin, yaitu port 0, port 1, port 2, dan port 3. Berikut konfigurasi pin AT89S51 :
Gambar 2.1 Konfigurasi Pin AT89S51
2.1.2 SFR (Special Function Register) Special Function Registers ( SFR ) adalah register – register yang mempunyai fungsi khusus, sebagai contoh P0, P1, P2, dan P3 digunakan sebagai register untuk menampung data input output. Selain itu ada juga SFR yang digunakan untuk mengatur dan memantau kondisi UART, yaitu register
SCON. Register yang digunakan untuk mengatur kerja timer adalah Register TCON dan beberapa register khusus lainnya. 2.2 Port Serial ( RS232 )
Dikenal 2 macam cara pengiriman (tranmisi) data secara serial. Kedua cara tersebut dibedakan oleh sinyal detak yang dipakai untuk mendorong data serial, kalau sinyal detak dikirim bersama – sama dengan data serial, cara tersebut dikatakan sebagai tranmisi data serial secara sinkron. Sedangkan dalam transmisi data secara asinkron, detak tidak dikirim bersama data serial, rangkaian penerima data harus membangkitkan sendiri detak pendorong data serial. Transmisi data serial secara asinkron inilah yang biasa disebut UART.
2.3 Relay
Relay adalah switch yang dioperasikan secara elektrik. Relay memiliki koil yang apabila daliri arus listrik menciptakan medan magnet yang akan menarik tuas didalamnya sehingga melakukan switch.
2.4 Motor Stepper
Pada Motor DC biasa, akan berputar dan berputar terus selama power supply ada. Tidak ada rangkaian cerdas tertentu yang diperlukan untuk mengendalikan motor tersebut, kecuali hanya memperlambat putaran atau membalik putaran, dengan menerapkan polaritas balik. Motor stepper adalah sangat berbeda. Jika anda memberikan power pada motor ini, maka
motor ini akan berada dalam keadaan diam, agar motor dapat berputar, anda harus merubah sinyal yang masuk ke motor. 2.5 Visual Basic
Visual basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer. Visual basic bekerja dalam ruang lingkup Microsoft Wndows. Microsoft Visual Basic dapat memanfaatkan seluruh kemudahan dan kecanggihan yang dimiliki oleh sistem operasi windows. Secara umum kemampuan visual basic adalah menyediakan komponen – komponen yang memungkinkan dalam membuat program aplikasi yang sesuai dengan tampilan dan cara kerja windows.
2.5.1 Pemprograman Serial Port Dengan Visual Basic
Visual basic sudah memiliki fasilitas untuk pemprograman serial port. Komponen yang mengontrol serial port dalam visual basic adalah Microsoft Comm Contrl 6.0, konfigurasi yang perlu diberikan antara lain:
MSComm1.CommPort = 1 MSComm1.Settings= "9600,N,8,1" MSComm1.Handshaking = 0
Untuk mengaktifkan atau membuka dan menonaktifkan serial port gunakan instruksi dibawah ini:
MSComm1.PortOpen = True MSComm1.PortOpen = False Untuk output gunakan seperti dibawah ini:
MSComm1.Output = "data"
Sedangkan input serial port merupakan suatu event yang penanganannya disediakan prosedur tertentu oleh VB, prosedur tersebut
adalah:
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
Dim Data As Variant Data = MSComm1.Input End If
End Sub
BAB III
METODE PENELITIAN
Metode penelitian yang digunakan dalam perancangan perangkat keras dan perangkat lunak adalah studi kepustakaan dan melakukan percobaan perangkat lunak dan perangkat keras. Dalam pembuatan perangkat keras dan perangkat lunak dilakukan berdasarkan data-data dari literatur masing-masing komponen.
3.1 Downloader dan Minimum Sistem Mikrokontroller AT89S51
AT89S51 adalah keluarga MCS51 yang memiliki fitur In System Programmable yang artinya sudah memiliki sistem pemprogram didalamnya. Dengan adanya fitur ini maka prosedur flashing (memasukkan program kedalam chip) jadi lebih mudah. Adapun gambar rangkaian flasher atau downloader seperti dibawah ini.
Sedang perangkat lunak yang digunakan dalam proses flashing ini adalah ISP Flash Progammer V3.0 yang dibangun oleh Muhammad Asim Khan dari India. Adapun minimum sistem yang harus ada dalam pengoperasian atau running mikrokontroler AT89S51 adalah sebagai berikut:
Gambar3.3 minimum sistem AT89S51
3.2 RS232 Level Konverter
Bentuk sinyal RS232 yaitu logika 0 direpresentasikan antara +3 sampai +25 volt, logika 1 direpresentasikan antara 3 sampai -25 volt dan voltase antara -3 sampai +3 tidak terdefenisi. Sedangkan IC (Integrated Circuit) TTL dan CMOS memiliki konfigurasi sendiri yaitu logika 0 direpresentasikan dengan 0 volt, logika 1 direpresentasikan dengan +5 volt.
Hampir semua perangkat digital menggunakan level logika TTL atau CMOS yaitu 0 volt untuk logika 0 dan +5 volt untuk logika 1. Karena itu langkah pertama untuk menghubungkan sebuah perangkat digital ke serial port adalah mengubah level logika RS232 menjadi level logika TTL atau CMOS. Hal ini dapat dilakukan dengan
menggunakan RS232 level konverter.
Gambar 3.4 Rangkaian Umum MAX232
3.3 Pemprograman Serial Port Menggunakan Visual Basic
Visual basic sudah memiliki fasilitas untuk pemprograman serial port. Komponen yang mengontrol serial port dalam visual basic adalah Microsoft Comm Control
Untuk percobaan dilakukan komunikasi secara loopback yaitu menyambungkan pin transmit dengan pin receive sehingga kita menerima data yang kita kirim sendiri. Untuk melakukannya gunakan konektor DB9 dan sambungkan pin 2 ke pin 3 seperti gambar berikut.
Gambar 3.5 DB9 Loopback
3.4 Motor Stepper
Motor stepper biasanya memiliki 5 atau 6 kabel, motor stepper dengan 6 kabel memiliki 2 common dan yang 5 kabel memiliki 1 common. Motor stepper biasanya memerlukan tegangan 12 volt dan arus yang
cukup besar sekitar 200mA. Tegangan dan arus output mikrokontroller tidak dapat digunakan untuk menggerakkan motor stepper karena terlalu kecil. Karena itu digunakan penguat arus dan tegangan.
Gambar 3.7 Skematik mikrokontroller dan motor stepper
3.5 Relay
Koil pada relay membutuhkan arus yang relatif besar, biasanya sekitar 30 mA untuk ralay 12V, tapi bisa sampai 100mA untuk relay – relay tertentu. Kebanyakan IC tidak dapat memenuhi kebutuhan arus relay tersebut, maka biasanya digunakan transistor untuk menguatkan arus IC yang kecil untuk memenuhi kebutuhn arus relay yang besar.
Gambar 3.8 Skematik relay
BAB IV
TESTING DAN IMPLEMENTASI
Implementasi sistem dipisahkan anatara perangkat keras dan perangkat lunak. Pembuatan perangkat keras dibagi
menjadi beberapa modul penyusun sistem, di antaranya : pembuatan kabel serial port, modul serial port level konverter, modul minimum sistem mikrokontroler, modul relay agar mikrokontroler dapat mengendalikan listrik AC dan modul motor stepper. Modul – modul tersebut tergabung dalam sistem dengan diagram blok sebagai berikut :
Gambar 4.1 Diagram blok sistem
4.1 Modul Mikrokontroler
Modul mikrokontroler ini menggunakan 2 mode yaitu mode downloader / flasher dan mode running. Karena menggunakan mikrokontroler 89S51 yang sudah mendukung In System Programable maka dimungkinkan untuk menggabungkan mode flash dn mode run.
Flashing dilakukan melalui pin MISO, MOSI, SCK dan reset pada mikrokontroler yang dihubungkan pada paralel port komputer. Karena proses flashing sifatnya hanya sementara, maka dipasang konektor agar setelah diflash kabel flash dapat dilepas.
Mikrokontroler PC serial port Modul relay Perangkat dengan listrik AC Driver motor Motor stepper Level konverter
Sebagai penguji apakah modul mikrokontroler ini berfungsi atau tidak, maka digunakan 4 buah led yang anodanya dihubungkan ke 5 VDC dan katodanya dipasang pada P1.0, P1.1, P1.2 dan P1.3 pada mikrokontroler. Adapun part list modul mikrokontroler ini adalah sebagai berikut : Partlist kabel flash :
Jumlah Part
1 Konetor male DB25 1 m Kabel rangkap 5 1 Konektor 6 pin
Gambar 4.2 Kabel flash Partlist minimum sistem dan flasher : Jumlah Part 1 IC 89S51 1 X-Tal osilator 11,0592 MHz 2 Kapasitor 33pF 1 Kapasitor 10µF 1 Resistor 10kΩ 4 Resistor 560Ω 4 Led 1 Header 6 pin
1 Switch push button untuk reset 1 Switch untuk mode
Gambar 4.4 Minimum sistem dan flasher
Untuk menguji apakah minimum sistem yang dibuat dapat bekerja, maka diflashkan program sederhana yang akan membuat 4 led yang dipasang menyala bergantian. Led akan menyala jika pada pin mikrokontroler yang bersangkutan diberi logika ‘0’. Adapun programnya sebagai berikut : mulai: mov p1, 00001110b call delay mov p1, 00001101b call delay mov p1, 00001011b call delay mov p1, 00000111b call delay jmp mulai delay: mov r0,05h delay1: mov r1,0ffh delay2: mov r2,0ffh djnz r2,$ djnz r1,delay2 djnz r0,delay1 ret
4.2 Modul Serial Port dan Level Konverter
Modul serial port berupa sebuah konektor serial port DB9 dan 3 kabel yang nantinya dihubungkan pada modul serial port level konverter. Tiga kabel tersebut masing – masing adalah jalur Rx, jalur Tx dan ground. Jalur Rx adalah adalah jalur untuk menerima data, jalur Tx adalah jalur untuk mengirim data dan ground sebagai referensi tengangan jalur Rx dan Tx.
Modul level konverter adalah modul yang akan menyamakan level tegangan serial port pada komputer dengan level tegangan serial port pada mikrokontroler. Adapun part list untuk kedua modul ini adalah sebagai berikut:
Jumlah Part
1 Konetor female DB9 1 m Kabel rangkap 3
1 IC MAX232
4 Kapasitor (C) 10µF
Gambar 4.5 Konektor serial port DB9 dan level konverter
Untuk menguji apakah modul level konverter ini dapat bekerja, maka modul ini dihubungkan dengan modul mikrokontroler. Pada komputer digunakan program VB yang ditulis pada BAB III. Akan dibuat program sederhana dimana mikrokontroler akan menerima satu karakter dan mengirimkan kembali karakter yang sama sebanyak 3 kali. Karena setting serial port pada program komputer menggunakan baudrate 9600 bps, maka mikrokontroler juga harus diset agar menggunakan baudrate 9600 bps juga. Adapun perhitungan baudrate pada mikrokontroler adalah sebagai berikut: SMOD = 0
Baudrate= 2SMOD x frekuensi osilator 32 12 x (256-TH1) 9600 = 20 x 11,0592 x 106 32 12 x (256 – TH1) 256 – TH1= 1 x 11,0592 x 106 32 12 x 9600 256 – TH1= 3 TH1 = 256 – 3 = 253 atau FDH
Setelah ditentukan nilai timer1, maka kita dapat membuat program selengkapnya baudload equ 0fdh ljmp start serial_init: mov scon,#01010000b mov tmod,#00100000b mov th1,#baudload mov tcon,#01000000b ret kirim: clr ti mov sbuf,a jnb ti,$ ret terima: clr ri jnb ri,$ mov a,sbuf ret start: lcall serial_init lcall terima lcall kirim lcall kirim lcall kirim sjmp start end
Jika pada komputer terlihat bahwa karakter yang dikirim dikembalikan lagi sebanyak 3 kali, maka modul level konverter dan komunikasi antara komputer dan mikrokontroler berhasil dilakukan.
4.3 Modul Relay
Relay membutuhkan arus yang cukup besar untuk mengaktifkan koilnya. Tegangan dan arus output mikrokontroller tidak mencukupi untuk mengaktifkan relay karena itu digunakan penguat arus dan tegangan. Karena menggunakan banyak relay, maka digunakan IC ULN2803 yang
merupakan transistor array.
IC ULN 2803 adalah IC dengan pin berjumlah 18, merupakan 8 transistor yang semua emiternya di disatukan, input IC ULN 2803 merupakan basis dari masing – masing transistor dan outputnya merupakan kolektor dari masing – masing transistor. Karena outputnya adalah kaki kolektor dari sebuah transistor maka output IC ini lebih baik digunakan sebagai penyerap arus (sink). Sehingga skematik rangkaian modul relay adalah sebagai berikut :
Gambar Modul relay
Adapun partlist modul relay sebagai berikut: Jumlah Part
1 IC 2803
1 Relay 12 Volt 1 Resistor 2k2 Ω
1 Led sebagai indikator relay
Untuk menguji apakah modul relay ini bekerja, digunakan sistem yang sudah ada yaitu modul – modul sebelumnya. Pada komputer digunakan program VB yang ditulis pada BAB III. Dibuat program pada mikrokontroler yang akan mengaktifkan relay yang terhubung pada port 0.0 (P0.0) mikrokontroler jika data yang dikirim oleh
komputer adalah karakter ‘A’ dan relay akan mati jika data yang dikirim karakter ‘a’. Program tersebut sebagai berikut:
baudload equ 0fdh ljmp start serial_init: mov scon,#01010000b mov tmod,#00100000b mov th1,#baudload mov tcon,#01000000b ret kirim: clr ti mov sbuf,a jnb ti,$ ret terima: clr ri jnb ri,$ mov a,sbuf ret cek_data: data_a: cjne a,#'a',data_abesar clr p0.0 jmp selesai data_abesar:
cjne a,#'A', selesai setb p0.0 selesai: call kirim ret start: lcall serial_init mov p0,#00h trap: lcall terima lcall cek_data jmp trap end
Jika led menyala dan terdengar bunyi klik pada relay berarti modul relay bekerja dengan baik. Sebagai tambahan, pada komputer terlihat bahwa mikrokontroler mengirim kembali karakter yang diterimanya sebagai balasan.
BAB V PENUTUP 5.1 Kesimpulan
Untuk menghubungkan komputer dengan peralatan elektronik dibutuhkan software dan hardware, software yang digunakan adalah Visual Basic dan hardware yang digunakan adalah mikrokontroller AT89S51 yang berkomunikasi melalui serial port / com port.
Sebelum dapat digunakan mikrokontroler harus diflash dengan program asembli yang sesuai dengan kebutuhan kita. Dalam hal ini program yang disikan adalah konfigurasi serial port dan tugas – tugas yang harus dikerjakan setelah menerima data dari komputer.
Untuk dapat mengendalikan peralatan elektronik, mikrokontroler memerlukan hardware tambahan yaitu relay. Relay merupakan switch yang dioperasikan secara elektrik. Dengan relay ini perangkat bertenaga listrik DC bisa mengaktifkan perangkat bertenaga listrik AC (listrik PLN).
Software yang dibangun menggunkan Visual Basic akan mengirimkan karakter tertentu kepada mikrokontroler melalui serial port. Mikrokontroler akan melakukan tugas sesuai dengan karakter yang dikirim kepadanya.
5.2 Saran
Tugas akhir ini masih sederhana dan tidak menutup kemungkinan untuk dikembangkan lebih luas lagi. Salah satunya yaitu tugas akhir ini sifatnya masih offline
dan menggunakan penjadwalan, akan lebih berguna apabila pengontrolan dapat dilakukan secara online misalnya melalui internet atau dapat juga melalui telpon atau sms.
Daftar Pustaka
Agfianto Eko Putra, 2003, “Belajar Mikrokontroler At89c51/52/53 (Teori Dan Aplikasi)”, Gava Media
Suhata, ST, 2005, “VB Sebagai Pusat Kendali Peralatan Elektronik”, Elex Media Komputindo
Krisna D Octavhiani, 2003, “Cepat Mahir Visual Basic 6.0”, www.ilmukomputer.com
“Interfacing The Serial / RS-232 Port”, www.beyondlogic.org/serial/serial.htm
John Hewes, "Electronics Club, Kelsey Park School", www.kpsec.freeuk.com