• Tidak ada hasil yang ditemukan

PENGENDALI PUTARAN ARAH RUMAH PADA PEMODELAN RUMAH PINTAR

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENGENDALI PUTARAN ARAH RUMAH PADA PEMODELAN RUMAH PINTAR"

Copied!
123
0
0

Teks penuh

(1)

i

PENGENDALI PUTARAN ARAH RUMAH PADA PEMODELAN RUMAH PINTAR

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro

Disusun oleh:

GALUH YUDHA PURNAMA NIM: 025114064

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2007

(2)

ii

HOUSE ROTATION CONTROLLER ON SMART HOUSE MODELLING

Submitted as Partial Fulfillment Of The Requirement for Sarjana Teknik Degree In Electrical Engineering

By:

GALUH YUDHA PURNAMA NIM: 025114064

ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF ENGINEERING

SANATA DHARMA UNIVERSITY YOGYAKARTA

2007

(3)

iii

(4)

iv

(5)

v

“The secret of being success is to know something that

somebody else don’t”

“If A + B + C = SUCCESS, then A is hard work, B is pray, and C

is imagination”

Kupersembahkan karya tulis ini kepada:

Tuhan di Surga yang tak pernah berhenti menyayangiku Ibuku yang selalu penuh dengan sabar

Ayahku yang selalu sudi untuk membantuku

Dan adik-adikku

(6)

vi

(7)

vii

Puji Tuhan karena telah memberikan bimbingan dan kasih-Nya kepada penulis untuk menyelesaikan skripsi yang berjudul “Pengendali Putaran Arah Rumah Pada Pemodelan Rumah Pintar”.

Penulis menyadari bahwa skripsi ini tidak mungkin dapat selesai dengan baik tanpa bantuan dari berbagai pihak. Oleh karena itu penulis mengucapkan terimakasih kepada:

1. Bapak A. Bayu Primawan, S.T.,M.Eng. selaku Kaprodi Teknik Elektro.

2. Bapak Ir. Tjendro dan Martanto, S.T., M.T. yang telah dengan sabar membimbing dan menyemangati serta memberikan ilmunya kepada penulis, sehingga penulis dapat menyelesaikan sekripsi ini dengan baik.

3. Pak Djoko Untoro, S.si, M.T selaku pembimbing akademik

4. Segenap dosen dan karyawan Teknik atas bimbingan, ilmu dan pelayanan yang diberikan selama ini.

5. Laboran TE (mas mardi, mas Sur, Mas Broto serta mas Yusuf) yang benar- benar sangat membantu penulis.

6. Ibuku, yang dengan doa, kasih , dan kesabarannya telah memberikan bantuan moril yang sangat besar

7. Ayahku, yang mau memberiku bantuan baik materiil maupun spiritual.

8. Adik-adikku (Ayu dan Rio), “Kalianlah alasan utama kenapa aku melakukan

ini semua”.

(8)

viii

10. Teman-teman satu tim (Eva, Butet, Nendy, Andry), atas kerjasamanya dan kegembiraan yang kita lalui bersama.

11. Anak-anak “Taboo House” (Ari, Gogo, Willy, KS) dan Widi. “It’s such a great and fun adventures that we have the whole years, hope it will never end”.

12. Teman-teman TE ‘02 dan ‘03 atas segala pengalaman hidup bersama selama ini.

13. Adi Slash, Bawono, Berlin, Alex, Heri , atas kebersamaannya selama ini.

14. Teman-teman yang sama-sama menggunakan Ruang TA, atas pinjaman alat dan kebersamaannya.

15. Siska, Vembri, dan anak-anak JKMK yang lain, atas kebersamaan dan kegembiraan yang kalian bagi.

Semoga Tuhan melimpahkan rahmat-Nya kepada kita semua dan semoga tulisan ini dapat berguna dan bermanfaat bagi semua, Amin.

Yogyakarta, 24 Pebruari 2007 Penulis,

Galuh Yudha Purnama

(9)

ix

HALAMAN JUDUL ... i

HALAMAN JUDUL (INGGRIS) ... ii

HALAMAN PERSETUJUAN... iii

HALAMAN PENGESAHAN... iv

HALAMAN PERSEMBAHAN... v

PERNYATAAN KEASLIAN KARYA ... vi

KATA PENGANTAR ... vii

DAFTAR ISI ... ix

DAFTAR GAMBAR ... xii

DAFTAR TABEL ... xiii

DAFTAR LAMPIRAN ... xiv

INTISARI ... xv

ABSTRACT... xvi

BAB I. PENDAHULUAN ... 1

I.1 Judul... 1

I.2 Latar Belakang ... 1

I.3 Perumusan Masalah ... 2

I.4 Batasan Masalah ... 3

1.5 Tujuan Penelitian ... 3

I.6 Manfaat Penelitian ... 4

I.7 Metodologi Penelitian ... 4

(10)

x

2.1 Mikrokontroler AT89S51... 6

2.1.1 Organisasi memori ... 8

2.1.2 Register ... 8

2.1.3 Struktur Interupsi ... 11

2.1.4 Port I/O Serial ... 14

2.1.5 Pengaturan Baud Rate ... 13

2.2 Motor DC ... 16

2.3 Driver Motor DC ... 17

2.4 Sensor Posisi………... 18

2.5 Antarmuka (Interface) PC……… 19

BAB III. PERANCANGAN ... 21

3.1 Diagram Kotak Pengendali Putaran Arah Rumah Pada Pemodelan Rumah Pintar ... 21

3.2 Antarmuka RS232... 23

3.3 Perancangan Pengendalian Driver Motor DC ... 24

3.4 Perancangan Sensor Posisi ... 25

3.5 Perancangan Mikrokontroler ... 26

3.5.1 Rangkaian Osilator ... 26

3.5.2 Rangkaian Reset ... 27

3.2 Perancangan Perangkat Lunak... 28

3.6.1 Rutin Utama Perangkat Lunak pada Mikrokontroler ... 28

(11)

xi

4.1 Pengukuran pada Sensor Posisi Reed Switch ... 34

4.2 Pengukuran pada Driver Motor DC... 36

4.3 Pengamatan terhadap Cara Kerja Alat ... 37

BAB V. KESIMPULAN DAN SARAN ... 40

V.1 Kesimpulan ... 40

V.2 Saran... 40

DAFTAR PUSTAKA... 41

(12)

xii

Gambar 2.2 Alokasi Bit Register PSW... 8

Gambar 2.3 Register Interrupt Enable ATMEL AT 89S51... 11

Gambar 2.4 Lambang Motor DC pada rangkaian ... 17

Gambar 2.5 Diagram Blok dari IC L293D... 17

Gambar 2.6 Bentuk Sebuah Reed Switch... 19

Gambar 2.7 Informasi Pin MAX 232 ... 20

Gambar 3.1 Diagram Kotak Pengendali Putaran Arah Rumah Pada Pemodelan Rumah Pintar ... 21

Gambar 3.2 Gambar Pemodelan Rumah dan Koneksinya ke PC ... 22

Gambar 3.3 Koneksi MAX232, mikrokontroler, dan PC... 23

Gambar 3.4 Koneksi Mikrokontroler, L293D, dan Motor DC ... 25

Gambar 3.5.Rangkaian Reed Swich ... 25

Gambar 3.6 Rangkaian Osilator ... 26

Gambar 3.7 Rangkaian Reset... 27

Gambar 3.8 Diagram Alir Utama Perangkat Lunak Pada Mikrokontroler.. 28

Gambar 3.9 Diagram alir Penggerak Motor DC dari penyimpanan di Register

SBUF sampai ke pengambilan data ke Akumulator ... 33

(13)

xiii

Tabel 2.1 a Nama-Nama Bit Kontrol dari Register PCON... 9

Tabel 2.1 b Nama-Nama Bit Kontrol dari Register PCON ... 10

Tabel 2.2 Register IE ... 12

Tabel 2.3 Prioritas Interupsi... 13

Tabel 2.4 Mode Serial dan Baud Rate ... 15

Tabel 2.5 Logika Aplikasi L293D... 18

Tabel 3.1 Arah Mata Angin dan Nilai Heksadesimalnya ... 32

Tabel 3.2 Arah mata angin, Nilai Biner, dan Nilai Heksadesimalnya ... 32

Tabel 4.1 Tabel Pengamatan Pada Sensor Posisi... 35

Tabel 4.2 Tabel Pengamatan Pada Driver Motor DC ... 36

Tabel 4.3 Perintah Dari PC dan Hasil Putaran... 37

(14)

xiv

B. Rangkaian Lengkap Sistem Pengendali Putaran Rumah ... L2

C. Listing Program ... L3

D. Data Sheet ... L4

(15)

xv

mendapat suatu suasana baru dalam rumah cukup dibutuhkan. Terutama arah rumah yang dapat berubah-ubah sesuai keinginan penghuni. Sistem kendali yang memungkinkan penghuni untuk mengubah arah dari rumah sesuai keinginannya.

Dalam penelitian ini digunakan rumah model. Penelitian ini bertujuan untuk mengaplikasikan mikrokontroler AT89S51 sebagai pengendali utama putaran motor DC pada pemodelan rumah pintar.

Sistem ini terdiri dari pengendali utama yaitu personal computer(pc) yang berfungsi untuk memberikan masukan/perintah dari penghuninya, pengendali sekunder yaitu mikrokontroler AT89S51 yang berfungsi mengolah masukan dari pengendali utama dan umpan balik dari reed switch yang bertindak sebagai sensor posisi. Setelah mendapat masukan baik dari pengendali utama maupun dari sensor posisi, maka pengendali sekunder akan memberikan perintah pada driver motor dc untuk menjalankan motor dc kearah yang diminta. Driver motor dc yang digunakan adalah L293D.

Hasil yang didapat adalah, bahwa rumah model dapat berputar ke delapan arah mata angin. Dan berat maksimal yang dapat diangkut oleh rumah model adalah 3 Kg.

Kata kunci: Pengendalian posisi, aplikasi mikrokontroler, model rumah pintar

(16)

xvi

the place we lived is needed. Particularly in our own house. In future, the function of a house will not only as a shelter. Many facilities that can embedded in that house. Using the newest technological system improvement, we can embedded a facility that we want. A house that has some automatic systems embedded inside known as smart house. One of the examples of it automatic system embedded is the facility that the direction of the house can be arranged to 8 positions represented by 4 cardinal points and 4 intermediate directions on a compass.

This semi-automatic system consists of the main/master controller, the personal computer (PC). The function of PC is to provide the main inputs from the user through the GUI (Graphical User Interface). The secondary controller, microcontroller, is to process the inputs from the master controller (PC) and detect the reed switches as the position sensors. After the inputs from PC and the position sensors was given, then this secondary controller will give the DC motor’s driver instruction to generate the DC motor toward the direction the user want.

And the result is, that the house (model) can rotated to the 8 direction. And the maximum weight that the house can rotate is 3 Kg.

Key Words: position control, microcontroller application, smart house model

(17)

PENDAHULUAN

1.1 Judul

Pengendali Putaran Arah Rumah pada Pemodelan Rumah Pintar

1.2 Latar Belakang

Rumah Pintar merupakan salah satu aplikasi dari kemajuan teknologi saat ini. Pemasangan suatu atau beberapa sistem yang cukup membantu atau menunjang dari keberadaan rumah tersebut. Keinginan penghuni untuk mematikan lampu suatu ruangan tanpa harus berdiri dan menghampiri saklar lampu. Atau untuk memperoleh sinar matahari yang masuk ke dalam rumah, serta mengatur keamanan rumah hanya dengan menggunakan beberapa tombol saja.

Dapat disediakan oleh beberapa sistem yang tertanam dalam rumah.

Salah satu penerapan dari sistem tersebut adalah dapatnya suatu rumah untuk berputar sehingga rumah tersebut dapat menghadap arah yang sesuai dengan arah mata angin. Pemilik rumah yang ingin mengubah arah rumah, hanya tinggal memasukkan suatu perintah lewat suatu GUI (Graphical User Interface) dari sebuah PC yang kemudian akan diteruskan ke pengendali dan pada akhirnya kedudukannya diputar. Pengendali yang dapat digunakan adalah Mikrokontroler.

Mikrokontroler yang akan dipakai adalah mikrokontroler keluarga MCS-51 yaitu

mikrokontroler keluaran ATMEL Electronic (AT89S51 atau AT89C51 dan yang

lainnya). Sistem asli yang ditanam dalam rumah putar sesungguhnya

membutuhkan tenaga dan biaya yang cukup besar, maka dalam penelitian ini

(18)

digunakan pemodelan rumah (ukuran kecil) sehingga dapat menekan biaya yang digunakan, namun bisa menjadi suatu referensi untuk perancangan rumah pintar yang asli.

1.3 Perumusan Masalah

Rumah yang dapat berputar adalah salah satu aplikasi dari suatu rumah pintar (untuk selanjutnya rumah yang dimaksud adalah rumah model). Ada banyak cara untuk melakukan pengendalian terhadap sistem ini. Salah satunya adalah digunakannya mikrokontroler sebagai pengendali utama. Mikrokontroler yang digunakan adalah ATMEL AT89S51. Mikrokontroler jenis ini dipakai karena sudah banyak aplikasi pengendalian lain yang memakainya selain karena mudah dijumpai di pasaran.

Untuk mendapatkan posisi yang diinginkan, dibutuhkan sensor yang dapat memberikan referensi tentang posisi arah mata angin yang ada. Untuk itu digunakan sensor posisi yang dalam hal ini digunakan reed switch. Sensor ini memberikan masukan kepada mikrokontroler tentang posisi rumah sebelumnya atau posisi yang diinginkan. Dengan terlebih dahulu sensor tersebut diletakkan pada posisi-posisi yang mewakili arah mata angin dengan bantuan sebuah kompas untuk menentukan posisi default-nya.

Dengan demikian masalah yang dapat dirumuskan adalah:

1. Pendeteksian posisi rumah dilakukan oleh sensor posisi (reed

switch) yang telah diletakkan sesuai dengan arah angin (yang

sebelumnya telah diatur).

(19)

2. Motor DC akan memutar rumah ke posisi sesuai dengan yang diinginkan oleh pengguna.

3. Penggendalian utama dilakukan oleh mikrokontroler (AT89S51).

1.4 Batasan masalah

Pada penelitian tentang Pengendali Putaran Motor DC pada Pemodelan Rumah Pintar ini dibatasi pada masalah-masalah sebagai berikut.

1. Rumah hanya dapat diatur menghadap ke 8 arah saja (utara, timur laut, timur, tenggara, selatan, barat daya, barat, dan barat laut).

2. Sebagai penggerak rumah model, digunakan motor DC dengan gearhead.

3. Sensor posisi yang digunakan adalah reed switch.

4. Arah mata angin didapat dengan terlebih dahulu diatur menggunakan suatu kompas magnet dengan default posisi awal menghadap utara.

5. Ukuran rumah model yang digunakan adalah 40 × 40 × 30 cm.

1.5 Tujuan Penelitian

Tujuan dari penelitian ini adalah:

1. Mengaplikasikan AT89S51 sebagai pengendali utama putaran motor DC pada pemodelan rumah pintar.

2. Menerapkan penggunaan sensor posisi pada pengendalian putaran

motor DC pada pemodelan rumah pintar.

(20)

1.6 Manfaat Penelitian

Manfaat yang diharapkan dapat diambil dari penelitian Pengendali Putaran Arah Rumah pada Pemodelan Rumah Pintar ini adalah:

1. Tersedianya referensi bagi perancangan rumah pintar yang sesungguhnya.

2. Tersedianya sebuah pemodelan rumah pintar yang dapat berputar sesuai arah mata angin.

1.7 Metodologi Penelitian

Untuk merencanakan dan membuat peralatan dari penelitian ini, diperlukan langkah-langkah sebagai berikut:

1. Mencari dan mempelajari literatur tentang permasalahan yang ada, cara kerja dan sekaligus cara-cara merencanakan dalam membuat peralatan tersebut.

2. Perancangan peralatan menggunakan teori yang ada untuk mendapatkan karakteristik yang sesuai dengan spesifikasi yang ditentukan.

3. Pembuatan peralatan untuk setiap bagian sistem sesuai dengan fungsi masing-masing dan diuji kesesuaiannya dengan kehendak.

Bagian tersebut selanjutnya disusun sebagai kesatuan yang utuh.

4. Pengamatan sistem dilakukan pada titik-titik uji yang penting

1.8 Sistematika Penulisan

Pembahasan secara keseluruhan dari penelitian ini akan dibagi

menjadi empat bab, yaitu:

(21)

BAB I Pendahuluan

Berisi latar belakang yang mendasari topik dari penelitian ini, perumusan masalah yang ada, batasan masalah, maanfaat dan tujuan, metodologi penelitian, serta sistematika penulisan.

BAB II Dasar Teori

Berisi tentang teori-teori yang mendasari pembuatan alat pengendali arah rumah pada pemodelan rumah pintar.

Diantaranya dasar teori mikrokontroler AT89S51, sensor posisi, motor DC, dan semua hal yang terkait dengan penelitian.

BAB III Perancangan Alat

Berisi tentang perancangan komponen-komponen yang digunakan pada pembuatan alat pengendali putaran motor DC pada pemodelan rumah pintar.

BAB IV Hasil dan Pembahasan

Berisi tentang hasil yang didapat dari penelitian dan pengamatan terhadap alat.

BAB V Kesimpulan dan Saran

Berisi kesimpulan yang dapat diambil berdasarkan hasil

yang didapat serta saran yang dapat diberikan.

(22)

DASAR TEORI

2.1 Mikrokontroler AT89S51

Mikrokontroller AT89S51 merupakan Mikrokontroller yang kompatibel dengan Mikrokontroller 8051 buatan Intel. Perintah-perintah yang digunakan pada Mikrokontroller AT89S51 dapat digunakan pula pada Mikrokontroller 8051

[1] . Blok diagram dari ATMEL AT89S51 dapat dilihat pada gambar 2.1 sebagai berikut.

Gambar 2.1 Blok Diagram ATMEL AT89S51

(23)

2.1.1 Organisasi Memori

Untuk pengalamatan memori, dapat dibedakan menjadi dua yaitu untuk program memori dan untuk data memori [1] . Masing-masing program memori dan data memori dapat mengalamati sampai 64 Kb, dengan masing-masing byte lebar datanya 8 bit.

Program memori hanya dapat dibaca, tidak dapat ditulis. Di sini tersimpan program yang akan dijalankan oleh mikrokontroler dan data- data konstanta. Sinyal pembacaan EPROM eksternal adalah dari pin- PSEN. Ada dua tipe organisasi memori dari program memori. Yang pertama adalah pengaksesan program memori sebagian berasal dari internal EPROM yang menempati alamat terendah dan alamat berikutnya dari EPROM eksternal. Sedang yang kedua adalah pengaksesan program memori yang semuanya dari eksternal EPROM.

Data memori menempati alamat yang terpisah dari program memori. Data memori merupakan tempat penyimpanan data variable, operasi stack dan sebagainya. Data memori dapat dibaca dan ditulis.

Sinyal pembacaan untuk eksternal RAM berasal dari pin RD dan untuk penulisan berasal dari pin WR. Alamat 00H-FFH merupakan alamat dari internal RAM yang dapat dialamati dalam dua mode. Pada alamat 00H- 7FH dapat dialamati dalam mode direct maupun indirect addressing.

Alamat 80H-FFH hanya dapat dialamati dalam mode direct addressing.

Di luar alamat tersebut merupakan alamat eksternal RAM.

(24)

2.1.2 Register

Mikrokontroler ini memiliki sejumlah register yang memiliki fungsi khusus (special function register – SFR) dan register umum (general purpose register) [1] . General purpose register yang dapat diakses adalah 8 byte per bank yaitu register R0-R7, dengan jumlah bank sebanyak 4. Untuk register-register pada SFR yang dapat dialamati per bit diantaranya adalah:

1. Register ACC(accumulator)

Register ini memiliki alamat 0E0h, dapat dialamati per bit (bit addressable). Biasanya ditulis dengan kode A.

2. Register B

Register ini memiliki alamat 0F0h, bit addressable. Biasa ditulis dengan kode B. digunakan pada proses perkalian dan pembagian, dan dapat dipakai pada instruksi lain sebagai register umum.

3. Register PSW (Program Status Register)

Register ini memiliki alamat 0D0h, bit addressable. Biasa ditulis dengan kode PSW.

Gambar 2.2 Alokasi Bit Register PSW

(25)

4. Stack Pointer (SP)

Register yang memiliki alamat 081h ini nilainya ditambah satu (increaament) sebelum data disimpan dengan perintah PUSH ataupun CALL. Stack Pointer memiliki nilai 07h setelah proses RESET dan POWER ON, dengan demikian stack akan berawal dari alamat 080h. namun posisi stack bisa saja dari RAM internal.

5. Data Pointer (DPTR)

Register ini adalah register 16 bit yang terdiri dari dua register 8 bit yaitu DPL (address:082h) dan DPH (address: 083h). DPTR digunakan untuk menunjuk address memory16 bit yang akan diakses misalnya oleh instruksi MOVX A,@DPTR.

6. Register Timer

Yaitu register-register 16 bit yang merupakan isi dari timer/counter 0, 1, dan 2. Timer/counter 1 memiliki register TH1 pada 8DH dan TL1 pada 8BH, timer/counter 0 registernya TL0 pada 8CH dan TH0 pada 84H.

7. Register PCON (Power Control)

Register ini memiliki alamat 087h, dengan bit-bit control sebagai berikut:

Tabel 2.1a Nama-Nama Bit Kontrol dari Register PCON

Simbol Posisi Nama

SMOD PCON.7 Double baud rate rate bit

GF1 PCON.3 General purpose flag 1

(26)

Tabel 2.1b Nama-Nama Bit Kontrol dari Register PCON (lanjutan)

Simbol Posisi Nama

GF2 PCON.2 General purpose flag 2

PD PCON.1 Power Down mode

IDL PCON.0 Idle mode

8. Register Interupsi

Mikrokontroller ini memiliki 5 buah interupsi dengan dua level prioritas interupsi, interupsi secara otomatis akan dimatikan bila sistem di-reset. Register yang behubungan dengan interupsi adalah Interrupt Enable Register (IE) pada alamat A8H dan Interupsi Priority Register (IP) pada alamat B8H.

9. Register TCON (Timer /Counter Control)

Register yang memiliki address 088h berfungsi untuk mengontrol fungsi timer 1 dan timer 0 , mengatur respon mikrokontroler ini terhadap level tegangan pada input external interrupt, serta memberikan tanda flag jika telah ada sinyal interrupt external.

10. Register TMOD (Timer/ Counter mode)

Register yang memiliki address 089h berfungsi untuk mengontrol mode Timer 1 dan timer 0.

11. Register SCON (Serial Port Control)

Register ini memiliki address 098h berfungsi untuk mengontrol

fungsi Serial Port.

(27)

2.1.3 Struktur Interupsi

Mikrokontroller ini menyediakan 5 sumber interupsi, yaitu : 2 interupsi eksternal, 2 interupsi pewaktu dan sebuah interupsi serial [1] . Setiap sumber interupsi dapat dimatikan dan dihidupkan secara individual dengan cara meresetkan bit-bit IE dalam SFR. Pada bit IE ini terkandung juga sebuah bit aktivasi interupsi secara global. Gambar 2.3 menunjukkkan IE pada Mikrokontroller ATMEL AT89S51.

Gambar 2.3 Register Interrupt Enable ATMEL AT 89S51 Fungsi-fungsi pin IE dapat dilihat pada tabel 2.3. Pin IE7 digunakan sebagai kontrol utama bagi interupsi-interupsi yang lain. Bila pin ini bernilai 1 maka semua pin interupsi akan dapat digunakan (enable), sedangkan bila bernilai 0 maka semua pin interupsi akan tidak dapat digunakan (Disable).

Pin IE6 dan IE5 digunakan sebagai cadangan pada Mikrokontroler ini. IE4 dipergunakan sebagai bit aktivasi interupsi port serial, sehingga bila diinginkan interupsi menggunakan port serial pin IE4 ini harus diberi nilai tinggi atau 1.

Pin IE3 dan IE1 digunakan untuk timer 0 dan timer 1, bila timer

digunakan dan telah mencapai nilai yang diharapkan maka interupsi ini

akan bernilai tinggi atau 1.

(28)

Pin IE2 dan IE0 dipergunakan sebagai masukan interupsi yang berasal dari luar, sebagai contoh pin ini dihubungkan dengan saklar external.

Tabel 2.2 Register IE

Simbol Posisi Fungsi

EA IE.7 Untuk mematikan dan menghidupkan seluruh interupsi secara serentak.

- IE.6 Cadangan

- IE.5 Cadangan

ES IE.4 Bit aktivasi interupsi Port Serial ET1 IE.3 Bit aktivasi interupsi timer 1 overflow EX1 IE.2 Bit aktivasi interupsi external 1 ET0 IE.1 Bit aktivasi interupsi timer 0 overflow EX0 IE.0 Bit aktivasi interupsi external 0

Sebuah interupsi yang berprioritas rendah dapat diinterupsi oleh

yang berprioritas lebih tinggi, sedangkan interupsi dengan prioritas tinggi

tidak dapat diinterupsi oleh prioritas yang lebih rendah. Bila kedua

prioritas muncul pada saat yang bersamaan maka interupsi dengan

prioritas yang tertinggi yang akan dieksekusi terlebih dahulu. Namun jika

muncul dua interupsi yang mempunyai prioritas yang sama maka CPU

akan melakukan metode pengecekan secara kontinyu untuk menentukan

interupsi mana yang akan dilayani pertama kali. Prioritas interupsi dapat

dilihat pada tabel 2.8.

(29)

Tabel 2.3 Prioritas Interupsi Simbol Posisi Fungsi

- 1P.7 Cadangan

- IP.6 Cadangan

- IP.5 Cadangan

PS IP.4 Bit prioritas untuk Interupsi Port Serial PT1 IP.3 Bit prioritas untuk Interupsi timer 1 PX1 IP.2 Bit prioritas untuk Interupsi external 1 PT0 IP.1 Bit prioritas untuk Interupsi timer 0 PX0 IP.0 Bit prioritas untuk Interupsi external 0

2.1.4 Port I/O Serial

Port I/O serial yang dimiliki mikrokontroler ini memiliki karakteristik full duplex (dapat menerima sekaligus mengirimkan data secara simultan), dan receive-buffered (dapat memulai penerimaan data yang kedua sebelum data pertama dibaca dari register pembacaan [1] . Pengiriman dan pengiriman data pada port serial melalui SBUF.

Port serial dapat bekerja pada 4 mode. Yaitu, 1. Mode 0

Pada mode ini data serial diterima dan dikirim lewat pin RXD,

seangkan pin TXD berfungsi untuk mengirimkan shift clock. Data

yang diterima dan dikirimkan adalah selebar 8 bit dengan bit

terendah dikirimkan /diterima pertama kali. Kecepatan pengiriman

(baud rate) adalah tetap. Sebesar 1/12 frekuensi osilator.

(30)

2. Mode1

Pada mode ini data 8 bit dikirim/diterima dengan 2 bit tambahan, dengan urutan start bit (logika0), 8 bit data (dengan bit terendah di depan), dan 1 stop bit (logika 1). Pada saat penerimaan, stop bit masuk pada bit RB8 pada register SCON. Baud rate pada mode ini adalah variable.

3. Mode 2

Pada mode ini data 8 bit dikirim/diterima dengan 3 bit tambahan dengan urutan start bit (logika 0), 8 bit data, 1 bit tambahan yang dapat diprogram, dan 1 stop bit (logika1). Pada saat pengiriman. Bit yang dapat diprogram adalah bit yang terdapat pada bit TB8 pada register SCON. Pada saat penerimaan, bit yang dapat diprogram masuk pada bit RB8 pada register SCON. Baud rate pada mode ini adalah 1/32 atau 1/64 frekuensi osilator.

4. Mode 3

Pada mode ini data 8 bit dikirim/diterima dengan 3 bit tambahan dengan urutan start bit (logika 0), 8 bit data (dengan bit terendah di depan), 1 bit tambahan yang dapat diprogram, dan 1 stop bit (logika 1). Mode ini persis sama dengan mode 2 kecuali baud rate- nya yang variable.

2.1.5 Pengaturan Baud Rate

Baud rate adalah kecepatan transmisi data serial [1] . Berupa

banyaknya transisi logika pada saluran data serial setiap detik. Semakin

(31)

besar nilai baud rate, maka semakin cepat proses pengiriman/penerimaan data serial.

Pada mode 0, baud rate adalah tetap sebesar 1/12 frekuensi osilator.

Bit SMOD pada register PCON menentukan baud rate pada mode 2.

untuk SMOD=1 baud rate adalah 1/32 frekuensi osilator, dan jika SMOD=0 maka baud rate adalah 1/64 frekuensi osilator. Baud rate untuk mode1 dan 3 ditentukan oleh kecepatan overflow pada Timer 1.

Baud rate untuk mode 1 dan 3 ditentukan oleh persamaan:

32

* _

1 _ 1

overflow Timer

rate

Baud = (3.1)

Konfigurasi timer 1 yang diperlukan untuk menjalani fungsi diatas adalah:

1) Timer dijalankan pada operasi “timer” atau “counter”, dengan mode 1, 2, atau 3

2) Timer 1 interrupt dibuat tidak bekerja (Disable)

Tabel 2.4 Mode Serial dan Baud Rate

Mode Baud rate

0 1/12 fosc

SMOD = 0 SMOD =1

1

32 ) 1 256 (

12 × − TH ×

fosc

16 ) 1 256 (

12 × − TH ×

fosc

2 1/64 fosc 1/32 fosc

3 12 × ( 256 − TH 1 ) × 32 fosc

16 ) 1 256 (

12 × − TH ×

fosc

(32)

2.2 Motor DC

Motor DC merupakan salah satu mesin yang dapat merubah energi listrik menjadi energi mekanik/gerak. Salah satu jenis motor DC adalah motor DC magnet permanen [8] . Motor DC magnet permanen pada dasarnya tersusun dari dua bagian pokok, yaitu :

1. Rotor

Kumparan rotor/komutator merupakan bagian motor yang bergerak yang tersusun dari kumparan-kumparan yang diletakkan pada poros motor. Jika dialiri arus listrik, kumparan rotor akan menghasilkan flux magnet.

2. Stator

Stator merupakan bagian motor yang diam, bagian ini terdiri dari magnet permanen yang mempunyai dua kutub. Pada bagian ini akan dihasilkan garis gaya magnet yang bergerak dari kutub utara ke kutub selatan magnet.

Motor DC magnet permanen merupakan motor dengan daya yang kecil yang mempunyai penggunaan yang luas, antara lain sebagai servo motor pada sistem kendali. Karena motor ini menggunakan magnet permanen untuk menghasilkan medan magnet pada statornya, maka kuat medan magnet stator tetap dan dengan terbatasnya medan magnet stator maka pada gilirannya akan membatasi torsi yang dihasilkan.

Salah satu jenis motor DC yang lain adalah motor DC dengan

menggunakan gearhead. Disini kecepatan putar dari suatu motor DC dapat

dikurangi/diperkecil. Besar pengurangan putar dari motor tersebut tergantung

(33)

besar dan banyaknya gear-gear yang dipakai. Sebagai contoh pada penelitian ini digunakan motor DC dengan gearhead yang pada akhirnya menghasilkan perbandingan putar antara motor DC utama (tanpa gearhead) dan dengan gearhead adalah 1:30. Jadi 30 kali putaran motor DC utama akan sama dengan 1 kali putaran motor dengan gearhead. Seri dari motor DC yang dipakai adalah GH35GM.

M

-

+ MG1

MOTOR DC

1 2

Gambar 2.4 Lambang Motor DC pada rangkaian

2.3 Driver Motor DC

Untuk dapat memutar suatu motor DC maka diperlukan suatu driver, untuk itu digunakan IC L293D untuk mendrive motor DC (dengan gearhead) tersebut. L293D didesaian untuk dapat beroperasi dengan arus hingga 600mA dan tegangan dari 4.5 V hingga 36 V [6] . Komponen ini dapat menggerakkan relay, solenoid, motor dc, motor stepper bipolar. Semua input beroperasi pada logika TTL.

Gambar 2.5 Diagram blok dari IC L293D

(34)

Sebuah IC L293D dapat mendrive 2 buah motor DC. IC ini mempunyai 4 input (in1, in2, in3, in 4), 4 output (out1, out2, out3, out4), dan 2 enable (en1, en2). Input dan enable tersebut bekerja sesuai dengan tabel berikut:

Tabel 2.5 Logika Aplikasi L293D En1 In1 In2 Out1 Out2 Motor DC

H H H L L Diam

H H L H L Putar kiri

H L H L H Putar kanan

H L L L L Diam

L H H L L Diam

2.4 Sensor Posisi

Sensor posisi adalah suatu sensor yang digunakan untuk mendeteksi

letak/posisi suatu benda pada saat itu. Banyak komponen yang dapat digunakan

sebagai sensor posisi. Salah satunya adalah reed switch . Reed switch atau sering

disebut relai buluh terdiri dari dua buah plat kontak yang tertutup kedap udara

(hermetis) pada tabung gelas yang diisi dengan gas pelindung. Pada saat magnet

permanen didekatkan pada tabung, maka ujung-ujung tab kontak akan saling

menarik satu sama lain dan akan terjadi kontak. Karena magnet permanen

digerakan lebih jauh, ujung-ujung tab kontak dihilangkan kemagnetannya dan

kembali pada posisi aslinya. Pada sistem kerjanya menyerupai saklar yang

diaktifkan oleh magnet. Saklar Reed switch dilindungi tabung agar bebas dari

(35)

kelembaban. Oleh karena itu kontak saklar dibuat tertutup agar kontak tidak terpengaruh oleh debu, air, asap atau uap sehingga dapat dipakai lebih lama.

Pengaktif Reed switch yang paling umum adalah menggunakan magnet permanen, namun dapat digunakan magnet induksi.

Bentuk Sebuah Reeds Switch dapat dilihat pada gambar 2.6

Gambar 2.6 Bentuk Sebuah Reed Switch

2.5 Antarmuka (Interface) PC

Pada penelitian ini, untuk antarmuka antara pengendali (mikrokontroler) dan PC digunakan serial port atau communication port (COM). Komunikasi serial merupakan komunikasi asinkron, yaitu bahwa antara penerima dan pengirim data, tidak ada sikronisasi berupa clock. Sehingga mengharuskan ada penyesuaian kecepatan transfer data [1] . Kecepatan data tersebut disebut sebagai baud rate. Terminal serial port pada PC berupa konektor DB-9 male.

Hampir semua alat digital yang digunakan memerlukan salah satu dari

level logika TTL atau CMOS. Untuk itu diperlukan suatu RS-232 level converter

yang berguna mengubah level RS-232 ke bentuk tegangan 0 V dan 5 V. salah

satu bentuk lain dari RS-232 level converter adalah MAX-232. IC ini mempunyai

4 buah inverter, yaitu 2 inverter untuk mengubah level logika TTL/CMOS ke

level logika RS-232 dan dua inverter untuk mengubah level logika RS-232 ke

level logika TTL/CMOS.

(36)

Gambar 2.7 Informasi pin MAX 232

(37)

PERANCANGAN ALAT

3.1 Diagram Kotak Pengendali Putaran Arah Rumah pada Pemodelan Rumah Pintar

Diagram kotak dari Pengendali Putaran Arah Rumah pada Pemodelan Rumah Pintar dapat ditunjukkan pada gambar dibawah ini:

Gambar 3.1 Diagram Kotak Pengendali Putaran Arah Rumah Pada Pemodelan Rumah Pintar PC dalam hal ini berlaku sebagai master control yang berfungsi untuk memberikan input dari GUI (Graphical User Interface), user memberikan perintah untuk kemudian diteruskan kepada mikrokontroler untuk kemudian proses pengendalian dilakukan. Sebaliknya, user juga akan menerima tampilan berhasil atau gagalnya suatu perintah dari PC.

Seperti dijelaskan pada dasar teori bahwa antarmuka berfungsi sebagai

perantara/penghubung antara PC dan mikrokontroler. Dalam hal ini juga untuk

(38)

mengubah level logika antara kedua blok tersebut (PC dan mikrokontroler) dalam komunikasi serial.

Gambar 3.2 Gambar Pemodelan Rumah dan Koneksinya ke PC

Sensor posisi disini akan memberikan referensi kepada mikrokontroler tentang arah rumah pada saat ini. Sehingga mikrokontroler dapat menentukan kearah mana dan pada posisi mana motor harus berputar untuk mendapatkan posisi yang diinginkan. Setelah berputar, sensor ini juga akan memberikan informasi kepada mikrokontroler apakah posisi yang diinginkan tercapai. Gambar pemodelan rumah pintar dan koneksinya dapat dilihat pada gambar 3.2.

Setelah mendapatkan perintah, mikrokontroler akan mengendalikan ke arah mana semestinya motor DC berputar melalui driver motor DC, dalam hal ini driver yang digunakan adalah L293D. Motor DC secara tidak langsung akan memberikan umpan balik kepada sensor. Motor DC akan berputar dan menyebabkan sensor posisi mendeteksi perputaran dari motor DC yang kemudian akan memberi referensi kepada mikrokontroler.

Posisi rumah pada awal pengendalian sudah terlebih dahulu diatur

menghadap arah utara sebagai posisi default-nya. Pengaturan ini dilakukan

(39)

dengan menggunakan kompas analog. Kompas ini juga digunakan untuk mendapatkan arah mata angin yang presisi untuk arah rumah yang lain. Untuk program, pengaturan posisi default dilakukan oleh PC.

3.2 Antarmuka RS232

Untuk berhubungan dengan serial port pada PC, tegangan pada mikrokontroler harus diubah dahulu dari standar TTL ke standar RS232.

Sebaliknya, serial port pada PC juga harus mengubah level tegangannya dari standar 232 ke standar TTL.

Untuk itu digunakan IC MAX232 yang memiliki 2 buah pengubah tegangan dari standar TTL ke standar RS232 dan 2 buah pengubah tegangan dari standar RS232 ke standar TTL. Pada IC MAX232 ini perlu ditambahkan beberapa kapasitor untuk menunjang fungsinya sebagai pengubah level tegangan.

Koneksi dan besarnya kapasitor disesuaikan sesuai dengan datasheet.

Koneksi antara MAX232, mikrokontroler, dan PC ditunjukkan pada gambar 3.3.

+5V

+5V

Port 3.1

Port 3.0

MAX232 13

8 11 10 1 3 4 5 6 2

12 9 14 7

1516

R1IN R2IN T1IN T2IN C1+

C1- C2+

C2- V- V+

R1OUT R2OUT T1OUT T2OUT

GNDVcc

+ C1 1uF

+

C5

1uF

+ C3 1uF + C2

1uF

+ C4

1uF P1

CONNECTOR DB9 5 9 4 8 3 7 2 6

1 mikrokontroler

Gambar 3.3 Koneksi MAX232, mikrokontroler, dan PC

(40)

3.3 Perancangan Pengendalian driver motor DC

Arus yang dihasilkan oleh mikrokontroler melalui keluaran dari pin-pin port 0 sebesar maksimal 15 mA, belum mencukupi untuk menggerakkan motor DC yang membutuhkan arus rata-rata sebesar 185mA. Untuk itu diperlukan suatu komponen penggerak motor DC yang mampu memenuhi kebutuhan besar arus yang semestinya dapat menggerakkan motor DC tersebut. Untuk itu digunakan suatu driver motor DC.

Driver motor DC yang digunakan disini adalah IC L293D. IC ini mampu menggerakkan suatu motor DC dengan arus keluaran mencapai level maksimum 1,2 A. dan hanya dengan masukan arus input minimum 0,1 mA untuk masukan nilai tinggi (high). Arus ini masih dibawah nilai arus keluaran dari mikrokontroler. Semua nilai-nilai tersebut terdapat pada datasheet masing- masing komponen.

Motor DC akan berputar searah jarum jam apabila sebelumnya masukan 1 (in1) pada driver mendapat logika tinggi (H) dan masukan 2 (in2) mendapat masukan berupa logika rendah (L) dari mikrokontroler. Sedangkan untuk putaran berlawanan jarum jam, terjadi hal yang sebaliknya. In1 mendapat masukan rendah dan in2 mendapat masukan tinggi. Dari kedua kondisi tersebut, enable pada driver harus terlebih mendapat masukan tinggi dari mikrokontroler.

Koneksi antara mikrokontroler, driver motor DC, dan motor DC

ditunjukkan oleh gambar 3.4.

(41)

+5V

+9V Port 1.0

Port 1.1

Port 1.2

U8

L293D 2 7 10

9 1

14 11 6 3

15

8

4 512 1316 In1 In2 In3

En2 En1

Out4 Out3 Out2 Out1

In4

Vs

GND4 GND1 GND3 GND2Vss

M

-

+

MOTOR DC

12

ke mikrokontroler

Gambar 3.4 Koneksi Mikrokontroler, L293D, dan Motor DC

3.4 Perancangan sensor posisi

Sensor posisi di sini yang digunakan adalah reed switch. Dengan posisi awal (default) dari model rumah pintar tersebut menghadap utara. Sensor reed switch mempunyai arus maksimal sampai 1 A. Namun pada perancangan ini menggunakan arus sebesar 10mA agar arus yang mengalir tidak melebihi batas arus maksimal dan mampu mampu mengalir pada mikrokontroler.

Gambar 3.5 Rangkaian Reed Swich

Cara kerja dari rangkaian pengaman jendela adalah reed switch yang

bersifat seperti saklar saat didekatkan pada medan magnet maka reed switch

dalam kondisi ON sedangkan saat jauh dari efek medan magnet, maka reed

switch dalam kondisi OFF. Dari kondisi ini maka pada pemasangannya reed

switch diletakan sesuai dengan arah-arah rumah yang diinginkan (8 arah mata

angin), jadi reed switch yang digunakan berjumlah 8 buah. Sedangkan magnet

akan ikut berputar sesuai dengan putaran rumah. Dari kondisi tersebut, apabila

(42)

magnet yang berputar mendekati salah satu dari dari reed switch maka arus akan mengalir melalui reed switch tersebut yang kemudian akan memberikan referensi kepada mikrokontroler tentang posisi sensor reed switch yang ON.

3.5 Perancangan Mikrokontroler

Selain Perancangan koneksi-koneksi mikrokontroler dengan perangkat yang lain. Juga dijelaskan perancangan mikrokontroler tersebut sendiri.

Mikrokontroler juga membutuhkan adanya osilator dan adanya rangkaian reset yang digunakan untuk menset kembali mikrokontroler ke keadaan semula.

3.5.1 Rangkaian Osilator

Mikrokontroler mempunyai rangkaian osilator internal (on chip oscillator) yang merupakan sumber clock bagi CPU. Untuk dapat menggunakan rangkaian osilator dalam chip, ditambahkan 1 buah kristal dan 2 buah kapasitor pada pin XTAL dan pin XTAL2 (pin 18 dan 19) [1] . Rangkaian ini menggunakan kristal 12 MHz dan 2 buah kapasitor 30 pF sehingga frekuensi detak pada CPU adalah 12 MHz.

12MHz 30pF

30pF

U15

AT89S51 9 18

19 29

30 31

1 2 3 4 5 6 7 8

21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39

38 37 36 35 34 33 32

RST XTAL2

XTAL1 PSEN

ALE/PROG EA/VPP

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0

P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7

Gambar 3.6 Rangkaian Osilator

(43)

3.5.2 Rangkaian Reset

Rangkaian ini digunakan untuk mereset mikrokontroler pada saat catu daya dihidupkan. Keadaan reset pada mikrokontroler diperoleh apabila pin reset diberi logika tinggi [1] . Waktu reset tersebut dihitung dengan rumus T=RC. Waktu reset 100ms dengan C=10uF maka resistansi:

=

=

=

3 6

3 6 3

10

* 10 ) 10

* 10 /(

) 10

* 100 (

* ) 10

* 10 ( 10

* 100

R

R

Cara kerja reset ini adalah bila saklar reset ditekan maka aliran arus mengalir dari Vcc melalui resistor 1kΩ menuju kaki reset:

54 , ) 4 10

* 10 ( ) 10

* 1 (

5

* ) 10

* 10 (

3 3

3

9 =

= + V R

+5v

U15

AT89S51 9

18

19 29

30 31

1 2 3 4 5 6 7 8

21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39

38 37 36 35 34 33 32

RST XTAL2

XTAL1 PSEN

ALE/PROG EA/VPP

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0

P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7

10uF

10k 1k

SW1

1 2

Gambar 3.7 Rangkaian Reset

(44)

3.6 Perancangan Perangkat Lunak

Mikrokontroler dapat bekerja bila dimasukkan instruksi-instruksi yang diprogramkan. Program dalam perancangan ini terdiri dari bagian program utama dan program sub rutin penggerak motor DC. Program utama adalah program rutin yang mencakup seluruh kerja dari program. Mulai dari komunikasi dengan PC sampai dengan bergeraknya motor DC. Sedangkan sub rutin penggerak motor DC mencakup pengolahan data dari PC sampai pada keputusan-keputusan dari mikrokontroler yang harus diambil tentang berputarnya motor DC.

3.6.1 Rutin Utama Perangkat Lunak pada Mikrokontroler

.

Gambar 3.8 Diagram Alir Utama Perangkat Lunak Pada Mikrokontroler

(45)

Rutin utama perangkat lunak pada mikrokontroler akan menginisialisasi fasilitas-fasilitas yang akan digunakan pada mikrokontroler. Mikrokontroler akan memulai rutin untuk transfer data secara serial dari komputer ke mikrokontroler. Setelah transfer selesai, data tersebut akan diolah oleh mikrokontroler yang selanjutnya digunakan untuk menggerakkan motor DC.

Diagram alir rutin utama perangkat lunak pada mikrokontroler ditunjukkan pada gambar 3.8

3.6.2 Subrutin Penggerak Motor DC

Sub rutin penggerak ini diawali dengan inisialisasi komunikasi serial antara PC dan mikrokontroler. Pada komunikasi serial ini terlebih dahulu harus diatur dua hal terlebih dahulu. Yaitu menentukan mode serial yang akan digunakan dan menentukan baud rate. Penentuan mode serial dilakukan dengan mengisi register SCON.

Pada perancangan ini mode serial yang digunakan adalah mode 1. yaitu menggunakan 8 UART dengan baud rate yang dapat diatur.

Pada mode ini, komunikasi data dilakukan secara 8 bit data

asinkron, yang terdiri dari 10 bit. Yaitu 1 bit start, 8 bit data, dan 1 bit

stop. Baud rate pada mode ini dapat diatur dengan menggunakan timer

1. Port 3.0 pada mikrokontroler berfungsi sebagai RxD, yaitu port untuk

menerima data serial, dan port 3.1 berfungsi sebagai TxD, yaitu port

untuk mengirim data.

(46)

Untuk pengaturan baud rate port serial, yakni dengan mengubah bit SMOD yang terletak pada register PCON menjadi logika tinggi. Penghitungan baud rate dapat dihitung sebagai berikut:

32

* _

1 _ _ 1

overflow timer

rate

Baud =

Jika diinginkan baud rate 2400bps, timer1 harus diatur

agar overflow setiap

32

* 2400

1 detik. Timer overflow setiap kali TH1

mencapai nilai limpahan dengan frekuensi sebesar f osc /1,0592 atau periode sebesar 11,0592/f osc . Dari sini akan diperoleh rumus sebagai berikut:

32

* 2400

1 )

1 256 (

* 0592 .

11 − =

f osc

TH

240 244

* 32

* 0592 . 256 11

1 = − f osc

TH

Dengan frekuensi osilator sebesar 11,0592*10 3 Hz, maka TH1 adalah 244 atau 0F4H.

Selanjutnya data yang telah tersimpan di akumulator akan

diambil untuk selanjutnya diolah. Kemudian data yang telah diambil

tersebut akan dibandingkan. Disini data dari PC yang telah tersimpan di

akumulator adalah data berupa nilai heksadesimal yang mewakili arah

mata angin. Sebagai contoh arah utara terwakili oleh nilai 46H. Dan

untuk arah mata angin yang lain dapat dilihat pada tabel 3.1.

(47)

Tabel 3.1 Arah Mata Angin dan Nilai Heksadesimalnya Arah Mata

Angin

Nilai (Heksadesimal)

Utara 46H

Timur Laut 47H

Timur 48H

Tenggara 49H

Selatan 4AH

Barat Daya 4BH

Barat 4CH

Barat Laut 4DH

Selanjutnya jika sudah terdefinisi data yang masuk, akan dicek dimanakah letak/posisi dari motor DC atau arah rumah tersebut menghadap. Pengecekan dilakukan dengan melihat isi dari port 0. Port 0 merupakan port yang digunakan sebagai port masukan dari sensor posisi. Reed switch yang memberi masukan on, akan memberikan masukan berupa logika tinggi (1) kepada mikrokontroler. Sedangkan reed switch yang off akan memberi masukan berupa logika rendah (0).

Sehingga dari kedelapan arah mata angin yang ada akan memberikan input masing-masing yang membentuk data 8 bit pada port 0. Arah mata angin, nilai binernya, dan nilai heksadesimalnya dapat dilihat pada tabel 3.2.

Tabel 3.2 Arah mata angin, Nilai Biner, dan Nilai Heksadesimalnya Arah Mata Angin Biner (8 bit) Heksadesimal

Utara 00000001 01H

Timur Laut 00000010 02H

Timur 00000100 04H

Tenggara 00001000 08H

Selatan 00010000 10H

Barat Daya 00100000 20H

Barat 01000000 40H

Barat Laut 10000000 80H

(48)

Setelah didapat posisi rumah pada saat itu, kemudian motor DC akan digerakkan ke posisi yang diinginkan. Sebelum itu, diberikan terlebih dahulu perintah untuk mengaktifkan driver motor DC lewat enable-nya. Perintah tersebut dilakukan dengan memberi logika tinggi (set) pada port P1.2 yang merupakan output mikrokontroler ke driver motor DC pada pin enable. Arah putaran dari motor DC disesuaikan dengan posisi rumah sebelumnya. Apabila arah putaran yang diinginkan sesuai dengan arah jarum jam, maka port P1.0 yang harus di-set. Sedangkan arah putaran yang berlawanan dengan jarum jam, maka port P1.1 yang harus di-set.

Jika arah putaran motor DC telah terlaksana, maka langkah selanjutnya adalah mengatur agar motor berhenti pada posisi yang diinginkan. Caranya adalah dengan mengecek port masukan dari sensor (port 0), apakah port telah menunjukkan nilai yang diinginkan. Jika belum, maka motor akan tetap berputar sampai posisi yang diinginkan tercapai.

Diagram alir rutin penggerak motor DC ditunjukkan oleh

gambar 3.11. Pada diagram alir tersebut, hanya mewakili proses

pengecekan dan pemutaran motor DC ke arah utara saja. Untuk ke arah

lain, terwakili oleh percabangan ke arah titik-titik (percabangan untuk

data 47H, 48H, 49H, dan seterusnya sampai yang terakhir 4DH) dan

hanya tinggal mengganti isi data dan isi port saja.

(49)

Gambar 3.9 Diagram alir Penggerak Motor DC dari penyimpanan di Register

SBUF sampai ke pengambilan data ke Akumulator

(50)

HASIL DAN PEMBAHASAN

Sistem pengendali putaran arah rumah model ini digunakan untuk mengendalikan arah putaran pada pemodelan rumah pintar dengan menggunakan reed switch sebagai sensor posisinya serta menggunakan motor DC ber-gearhead sebagai penggerak utama rumah model tersebut. Sensor posisi akan mendeteksi posisi dari arah rumah model tersebut. Magnet yang terpasang, berputar sesuai dengan arah rumah. Magnet tersebut menghidupkan sensor tepat pada magnet/rumah model berhenti berputar. Sensor posisi tersebut sebelumnya diatur agar letaknya sesuai dengan arah mata angin.

Pengendalian sistem ini dilakukan oleh mikrokontroler AT89S51.

mikrokontroler ini mendapatkan masukan dari sensor posisi. Keluaran dari mikrokontroler ini akan memberikan masukan pada driver motor DC (L293D) yang kemudian akan men-drive motor DC untuk berputar dan menggerakan rumah model.

4.1 Pengukuran Pada Sensor Posisi Reed Switch

Tabel perbandingan hasil perancangan dan hasil pengukuran untuk

masing-masing kaki pada port 0 (8 kaki untuk 8 sensor posisi) baik saat ada

magnet maupun tidak dapat dilihat pada tabel 4.1. Pengukuran dilakukan dengan

mengukur tegangan pada kaki port 0 di mikrokontroler, baik saat sensor

mendeteksi magnet ataupun tidak (untuk masing-masing sensor).

(51)

Tabel 4.1 Tabel Pengamatan Pada Sensor Posisi

Hasil Perancangan

(Volt)

Hasil Pengukuran

(Volt)

Ada Magnet

Tanpa

Magnet Ada Magnet

Tanpa Magnet

port 0.0 5 0 4,905 0,425

port 0.1 5 0 4,824 0,431

port 0.2 5 0 4,830 0,417

port 0.3 5 0 4,890 0,418

port 0.4 5 0 4,901 0,42

port 0.5 5 0 4,901 0,404

port 0.6 5 0 4,887 0,405

port 0.7 5 0 4,895 0,402

Sensor posisi reed switch berfungsi untuk mendeteksi letak/posisi arah rumah saat itu. Posisi rumah tersebut akan terdeteksi saat magnet yang berputar sesuai arah rumah berada dekat sensor tersebut. Sensor ini terpasang dengan satu kaki terhubung vcc=+5V dan kaki satu terhubung ke port 0 pada mikrokontroler (8 buah sensor). Saat magnet tidak berada dekat dengan sensor, kaki port 0 pada mikrokontroler tidak akan mendapat masukan tegangan dari luar. Dengan tegangan sekitar 0 V, mikrokontroler menganggap besar logika yang masuk adalah 0 (low). Sedangkan saat sekitar sensor terdapat magnet, maka besar tegangan pada kaki port 0 akan sama dengan tegangan vcc, karena kaki tersebut terhubung langsung ke vcc. Mikrokontroler mendeteksi tegangan sekitar 5 V sebagai logika 1 (high).

Dari tabel perbandingan pada tabel 4.1 dapat dilihat bahwa hasil yang

didapat pada perancangan dan pengukuran telah sesuai.

(52)

4.2 Pengukuran Pada Driver Motor DC

Tabel perbandingan hasil perancangan dan hasil pengukuran pada driver motor DC dapat dilihat pada tabel 4.2

Tabel 4.2 Tabel Pengamatan Pada Driver Motor DC

Hasil

Perancangan

(Volt)

Hasil Pengukuran

(Volt)

Putar CW

putar

CCW putar CW

putar CCW AT89S51

port 1.0

/in 1 5 0 4,257 0,225

port 1.1

/in2 0 5 0,243 4,454

port 1.2

/en1 5 5 4,627 4,523

L293D out 1 - - 7,901 1,123

out 2 - - 1,103 7,867

Pada saat motor berputar searah jarum jam (Clock Wise,CW), port 1.0

pada mikrokontroler akan memberikan nilai logika 1 (tinggi) ke input 1 pada

driver motor DC dengan besar tegangan 4,257 V dan port 1.1 memberikan nilai

logika 0 (rendah) ke input 2 pada driver motor DC dengan besar tegangan 0,243

V. Sedangkan pada putaran motor DC berlawanan jarum jam (Counter Clock

Wise,CCW), terjadi hal yang sebaliknya. Tegangan 0,225 V dari port 1.0

mikrokontroler dibaca oleh input 1 driver motor DC sebagai logika 0. Tegangan

4,454 V dari port 1.1 mikrokontroler oleh input 2 pada driver motor DC dibaca

sebagai logika 1. Sebelum perputaran terjadi, mikrokontroler terlebih dahulu

memberikan masukan ke enable 1 pada driver motor DC melalui port 1.2 dengan

tegangan yang terukur adalah 4,627 V pada putaran CW dan 4, 523 V pada

putaran CCW.

(53)

Tegangan masukan ke Vs pada driver motor DC sebesar 9V dapat ter- drive, sehingga motor DC dapat berputar. Besar tegangan keluaran dari driver untuk memutar motor DC dapat dilihat pada tabel 4.2.

Dari tabel 4.2, dapat dilihat bahwa hasil logika yang didapat untuk masukan ke driver motor DC baik untuk putaran CW maupun CCW sesuai dengan hasil perancangan.

4.3 Pengamatan Pada Cara Kerja Alat

Untuk memutar /menentukan arah rumah, pengguna harus memasukkan perintah melalui graphical user interface. Dengan memilih salah satu arah rumah, secara serial Personal Computer (PC) mengirimkan data yang diartikan oleh mikrokontroler sebagai perintah untuk masuk ke dalam subrutin penggerak motor DC (label putarrumah). Pada tampilan GUI, pengguna memasukkan perintah dengan memilih salah satu arah pada option button yang tersedia. Setiap option button mewakili data yang dikirim ke mikrokontroler. Data yang dikirim berupa karakter ASCII. Sedangkan mikrokontroler akan menerima data tersebut berupa heksadesimal. Data perbandingan antara masukan dari PC dan hasil putaran dapat dilihat pada tabel 4.3.

Tabel 4.3 Perintah Dari PC dan Hasil Putaran Option Button

Yang Dipilih

Hasil Putaran

pertama utara

kedua timur laut

ketiga timur

keempat Tenggara

kelima Selatan

keenam barat daya

ketujuh Barat

kedelapan barat laut

(54)

Lalu pengecekan selanjutnya dilakukan terhadap isi data yang berupa ke arah mana rumah harus berputar. Jika data telah terdefinisi arahnya, maka mikrokontroler menghidupkan driver untuk menjalankan motor DC dengan arah putaran sesuai dengan arah terdekat yang diinginkan. Setelah arah rumah tercapai mikrokontroler mematikan driver untuk menghentikan motor DC. Proses berputarnya rumah akan terulang setiap pengguna memilih salah satu arah rumah pada pilihan pada PC.

Proses penghentian motor dilakukan dengan memberikan logika 0 pada masukan enable pada driver motor DC. Pemberian logika 0 ini, dilakukan melalui instruksi yang berada pada program mikrokontroler. Dengan kata lain bahwa penghentian motor DC dilakukan oleh mikrokontroler. Setelah itu mikrokontroler akan memberikan logika 0 juga pada masukan arah putar (in1 atau in2).

Sensor posisi reed switch terpasang mewakili kedelapan arah mata angin.

Sensor tersebut terpasang melingkar, dengan jarak tiap sensor adalah 45 0 . Untuk

pengamatan ketepatan arah rumah terhadap posisi yang semestinya, dilakukan

dengan membandingkan letak magnet terhadap letak sensor posisi reed switch

yang mewakili arah yang diinginkan. Letak sesuai dengan arah rumah (searah

dengan bagian depan dari rumah). Setelah dilakukan pengamatan dan

pengukuran, diketahui bahwa ketepatan rumah tergantung pada saat magnet

terdeteksi oleh sensor. Terdeteksinya magnet untuk tiap-tiap sensor berbeda-

beda. Bahkan untuk satu sensorpun saat terdeteksinya magnet tidak tentu untuk

setiap kali berputar. Sebagai contoh sensor posisi arah utara, pada salah satu

(55)

pengamatan motor DC berhenti dengan magnet berada tepat berada di atas sensor tersebut. Dan pada pengamatan lain, motor DC berhenti dengan magnet agak bergeser dari sensor sejauh 5 0 -10 0 (baik arah CW atau CCW). Begitu juga dengan sensor posisi yang lainnya. Untuk data-data pergeseran rumah dapat dilihat pada lampiran A. Toleransi kesalahan arah rumah terhadap arah yang seharusnya ditetapkan sebesar 22,5 0 . Jadi apabila perbedaan letak sensor posisi dan magnet tidak lebih dari 22,5 0 baik kearah negatif (belum sampai sensor) atau positif (melebihi sensor) dapat dikatakan telah mencapai arah yang diinginkan.

Untuk pengujian kenyamanan, dilakukan dengan menempatkan gelas berukuran sedang dengan berisi air hampir penuh di dalam rumah tersebut. Dan kemudian rumah diputar ke berbagai posisi. Air pada gelas saat rumah berputar tidak tumpah. Air akan tumpah apabila dengan secara tiba-tiba arah rumah berputar kearah sebaliknya. Tetapi karena satu masukan ke masukan lain dari PC ke pengendali membutuhkan waktu tertentu, hal tersebut dapat teratasi.

Rumah dapat berputar dengan beban maksimal yang telah diuji mencapai

berat 3 Kg. Dengan masukan tegangan yang di-drive ke motor DC sebesar 9 volt

mampu untuk mengatasi beban seberat itu. Bila beban mencapai berat diatas itu,

maka motor masih berputar dan rumah tidak akan berputar. Sedangkan belt akan

slip pada gear yang berfungsi untuk memutar motor karena reel belt dan gear

tidak tepat. Untuk pengujian kecepatan putar, dengan tegangan 9V yang di-drive

ke motor DC. Didapat bahwa untuk mencapai putaran sebesar 180 0

membutuhkan waktu 3,8 detik. Atau dapat dikatakan kecepatan (radian) putar

rumah tersebut adalah 47,5 0 /detik.

(56)

40

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pembuatan alat dan pengujian yang dilakukan dibandingkan dengan perancangan yang dilakukan, dapat disimpulkan sebagai berikut:

1. Dengan menggunakan tegangan Vs pada driver motor DC sebesar 9 V dapat memutar rumah model dengan beban maksimal mencapai 3 Kg.

2. Sistem ini dapat menunjukkan ke delapan arah posisi kompas dengan baik, posisi default (utara) diatur terlebih dulu, dengan mempunyai pergeseran maksimal sebesar 10 0 pada arah yang dituju.

5.2 Saran

1. Penggunaan sensor kompas digital sebagai sensor posisi akan lebih mempermudah cara kerja dari sistem ini, sehingga tidak diperlukan pengaturan default arah utara terlebih dahulu.

2. Pemilihan bahan-bahan pembuat model rumah seharusnya lebih dipikirkan secara matang. Agar didapat model rumah yang dapat berputar secara maksimal.

3. Agar rumah dapat menampung berat yang lebih besar lagi,

penggunaan gear dan belt yang tepat perlu dilakukan.

(57)

Daftar Pustaka

[1] Eko, Agfianto, 2004, Belajar Mikrokontroller AT89C51/52/55, Gava Media, Yogyakarta

[2] Rachmad Setiawan, 2006, Mikrokontroler MCS-51, Penerbit Graha Ilmu, Yogyakarta

[3] Malvino, 1984, Prinsip-Prinsip Elektronika, Edisi ketiga Penerbit Erlangga, Jakarta

[4] http://www.atmel.com : Data sheet AT89S51

[5] http://alldatasheet.com : Data sheet MAX232

[6] http://alldatasheet.com : Data sheet L293D

[7] http://alldatasheet.com : Data sheet reed switch

[8] http://en.wikipedia.org/wiki/electric_motor

(58)

Posisi akhir Posisi awal

Pergeseran (dalam derajat)

utara timur laut 5

timur 5

tenggara 10

selatan 10

barat daya 0

barat 0

barat laut 5

timur laut utara 0

timur 0

tenggara 5

selatan 7

barat daya 0

barat 0

barat laut 0

timur utara 10

timur laut 0

tenggara 0

selatan 0

barat daya 0

barat 10

barat laut 10

tenggara utara 5

timur laut 5

timur 6

selatan 0

barat daya 0

barat 0

barat laut 0

selatan utara 10

timur laut 5

timur 10

tenggara 0

barat daya 0

barat 0

barat laut 10

barat daya utara 5

timur laut 5

timur 5

tenggara 5

selatan 0

barat 5

barat laut 0

barat utara 0

timur laut 5

timur 5

tenggara 5

selatan 0

(59)

timur laut 3

timur 5

tenggara 5

selatan 0

barat daya 0

barat 10

(60)

LAMPIRAN B

RANGKAIAN LENGKAP PENGENDALI PUTARAN ARAH RUMAH PADA PEMODELAN RUMAH PINTAR

+5V

+9v +5V

+5V

+5V P1

CONNECTOR DB9 5 9 4 8 3 7 2 6 1

+ C3

1uF

+

C5

1uF

U9

AT89S51

9 18 19 29

30

31 1 2 3 4 5 6 7 8 21

22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

39 38 37 36 35 34 33 32

4020

RST XTAL2 XTAL1 PSEN

ALE/PROG EA/VPP

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8

P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD

P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7

VccGND

+ C4 1uF

30pF

+ C2

1uF 1k

10k + C1

1uF

12MHz

10uF

30pF

SW1

12

MAX232 13

8 11 10 1 3 4 5 6 2

12 9 14 7

1516

R1IN R2IN T1IN T2IN C1+

C1- C2+

C2- V- V+

R1OUT R2OUT T1OUT T2OUT

GNDVcc

U8

L293D 2 7 10

9 1

14 11 6 3

15

8

4 512 1316

In1 In2 In3

En2 En1

Out4 Out3 Out2 Out1

In4

Vs

GND4 GND1

GND3 GND2Vss

M

- +

MOTOR DC

12

reed_utara

reed_timur

reed_selatan

reed_barat reed_barat

laut reed_barat daya reed_tenggara reed_timur laut

Gambar

Gambar 2.1 Blok Diagram ATMEL AT89S51
Gambar 2.2 Alokasi Bit Register PSW
Tabel 2.1a Nama-Nama Bit Kontrol dari Register PCON
Tabel 2.1b Nama-Nama Bit Kontrol dari Register PCON (lanjutan)
+7

Referensi

Dokumen terkait

Sebaliknya, fokus penggunaan teknik perundingan dalam debat perlu juga diberi perhatian khusus kerana debat merupakan salah satu bentuk pengucapan awam yang mempunyai

Daftar analisis ragam viskositas akhir pati alami dan uji LSR efek utama pengaruh varietas ubi kayu terhadap viskositas akhir pati alami.. Daftar analisis ragam

Panjang badan, lingkar dada, tinggi pundak, dan dalam dada, merupakan ukuran tubuh yang memiliki korelasi tertinggi dengan bobot badan pada domba Garut tangkas,

Besarnya koefisien pemngembunan dipengaruhi oleh panas laten pengembunan, densitas fluida, perbedaan suhu uap dengan diding dalam, viskositas fluida, medan

Guru hendaknya memperhatikan kesiapan anak dalam pembelajaran sebelum pembelajaran dimulai dan penggunaan media pembelajaran berbasis komputer model tutorial dalam

penutup dan ditulis “ Dokumen Penawaran ”, nama paket pekerjaan, nama dan alamat peserta serta ditujukan kepada Panitia Pengadaan dengan alamat sebagaimana

Titel/Gelar : Diisi sesuai title atau gelar pimpinan perusahaan Nama : Cukup diisi nama lengkap pimpinan tanpa gelar Jabatan : Diisi sesuai jabatan pimpinan