106
PROYEK AKHIR PEMBUATAN SENSOR POSISI FARADAY UNTUK PENDETEKSI DINI GEMPA PADA GEDUNG Rachmat Winadi NRP.7104 030 050 Dosen Pembimbing : Alridjajis, Dipl.Eng NIP. 132.233.833 JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007

pendeteksi gempa

Embed Size (px)

Citation preview

Page 1: pendeteksi gempa

PROYEK AKHIR

1

PEMBUATAN SENSOR POSISI FARADAY UNTUK PENDETEKSI DINI GEMPA PADA GEDUNG

Rachmat Winadi NRP.7104 030 050

Dosen Pembimbing : Alridjajis, Dipl.Eng

NIP. 132.233.833

JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA

2007

Page 2: pendeteksi gempa

PROYEK AKHIR

PEMBUATAN SENSOR POSISI FARADAY UNTUK PENDETEKSI DINI GEMPA PADA GEDUNG

Rachmat Winadi 7104 030 050

Dosen Pembimbing : Alrijadjis, Dipl. Eng.

132 233 833

JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007

2

Page 3: pendeteksi gempa

PEMBUATAN SENSOR POSISI FARADAY UNTUK PENDETEKSI DINI GEMPA PADA GEDUNG

Oleh:

RACHMAT WINADI

7104 030 050

Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.)

Di Politeknik Elektronika Negeri Surabaya

Institut Teknologi Sepuluh Nopember Surabaya

Disetujui Oleh:

Tim Penguji Proyek Akhir Dosen Pembimbing 1. Ir. Retno Sukmaningrum, MT. 1. Alrijadjis, Dipl. Eng NIP. 132 233 199 NIP. 132 233 833 2. Firman Arifin, ST. NIP. 132 296 743 3. Ali Husein Alasiry, ST, M.Eng. NIP. 132 256 937

Mengetahui Ketua Jurusan Teknik Elektronika

Mohammad Syafrudin, ST, M.Eng

NIP. 131 884 954

3

Page 4: pendeteksi gempa

Abstrak

Hasil monitoring gempa bumi yang dilakukan oleh BMG menunjukkan bahwa aktifitas gempa bumi di Indonesia tergolong sangat aktif. Oleh sebab itu, diperlukan sebuah alat yang dapat memberikan informasi dengan cepat dan tepat. Proyek akhir ini merupakan aplikasi dari Hukum Faraday, dimana lilitan digunakan sebagai sensor pendeteksi getaran. Namun, pada proyek akhir ini digunakan metode yang berbeda dimana kumparan sekunder diganti dengan dua buah resistor yang dihubungkan secara paralel dan terletak melingkari kumparan primer. Jika sensor mendeteksi getaran pada range skala richter tertentu maka secara otomatis akan mengaktifkan sistem keamanan pada gedung. Dari hasil pengujian sistem secara keseluruhan dapat diketahui bahwa sensor yang telah dibuat mampu mendeteksi getaran maksimal 6 skala richter.

Kata kunci: gempa bumi, primer, sekunder,skala richter

4

Page 5: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

5

Page 6: pendeteksi gempa

Abstract

The result from earthquake monitoring done by BMG indicate that earthquake activity in Indonesia was very active. Because of that, an appliance which can give information swiftly and precisely needed. This final project represent application from Faraday Law, where the circumference used as a censor to detect vibration. But with different method where the secondary bobbin changed with two resistor connected parallelly and located encircle to the primary bobbin. If the censor detect vibration at any certain range of scale richter it will automatically activate security system of the building. From whole system examination result the censor which have been made are able to detect 6 scale richter maximal vibration.

Key word: earthquake, primary, secondary, richter scale

6

Page 7: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

7

Page 8: pendeteksi gempa

KATA PENGANTAR

Alhamdulillah, puji syukur kami panjatkan kehadhirat Allah SWT yang telah memberikan kekuatan kepada kami sehingga kami dapat menyelesaikan buku laporan proyek akhir kami yang berjudul:

“ PEMBUATAN SENSOR POSISI FARADAY UNTUK PENDETEKSI

DINI GEMPA PADA GEDUNG ”

Proyek akhir ini disusun untuk melengkapi persyaratan akademik dalam menyelesaikan kuliah program Diploma III di Politeknik Elektronika Negeri Surabaya. Kami menyadari bahwa buku ini masih jauh dari kesempurnaan, oleh karena itu saran dan kritik yang sifatnya membangun senantiasa kami nantikan. Harapan kami adalah semoga apa yang telah kami tulis pada buku proyek akhir ini dapat bermanfaat bagi kami dan rekan-rekan mahasiswa pada khususnya dan seluruh pembaca pada umumnya. Demikian pengantar yang dapat kami sampaikan semoga setiap apa yang kami kerjakan akan menjadi amal dan manfaat baik bagi diri kami ataupun orang lain.

Surabaya, Juli 2007

Penyusun

8

Page 9: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

9

Page 10: pendeteksi gempa

UCAPAN TERIMA KASIH

Ucapan terima kasih dan rasa syukur yang tak terhingga, kami persembahkan kepada Allah SWT semata karena atas Rahmat dan Hidayah-Nya, maka proyek akhir ini dapat kami selesaikan. Pada kesempatan ini kami juga ingin sampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dalam menyelesaikan proyek akhir ini, mulai dari persiapan hingga akhirnya dapat kami selesaikan proyek akhir ini, secara khusus kami ucapkan banyak-banyak terima kasih kepada:

1. Ibunda dan Ayahanda serta kakak-kakakku yang senantiasa mendo’akan dan memberikan dukungannya dalam menyelesaikan proyek akhir ini.

2. Bapak Dr. Ir. Titon Dutono, M.Eng, selaku Direktur Politeknik Elektronika Negeri Surabaya – ITS.

3. Bapak Mohammad Syafruddin, ST, M.Eng, selaku Kepala Jurusan Teknik Elektronika.

4. Bapak Alrijadjis, Dipl Eng, selaku dosen pembimbing yang selalu membina kami dengan kesabarannya.

5. Bapak dan Ibu dosen Politeknik Elektronika Negeri Surabaya – ITS yang telah memberikan ilmunya kepada kami.

6. Seluruh Mahasiswa jurusan Elektronika PENS-ITS angkatan 2004 terima kasih atas dukungannya.

7. Buat arek Eb-D3 spesial buat KUKUH alias “BUDI” dan Qiky F.Z alias “BAIM WONG” thanks 4 a lot lah.

8. Arek-arek Lab. Workshop atas segala bantuan dan dukungannya selama ini.

9. Dan kepada semua yang tak dapat disebutkan satu-persatu.

Semoga segala bantuan yang telah diberikan diterima oleh Allah SWT. Menyadari atas keterbatasan dan kemampuan yamg kami miliki, maka dalam penulisan buku Proyek Akhir ini masih banyak terdapat kekurangan dan kami menghargai apabila ada kritik maupun saran yang bersifat membangun untuk perbaikan buku Proyek Akhir ini. Terakhir, kami minta maaf atas segala kesalahan kami baik yang disengaja maupun yang tidak. Semoga Allah SWT membalas segala amal kebaikan anda semua. Amin.

10

Page 11: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

11

Page 12: pendeteksi gempa

DAFTAR ISI

HALAMAN JUDUL.................................................................... i HALAMAN PENGESAHAN .....................................................iii ABSTRAK....................................................................................v KATA PENGANTAR .................................................................vii UCAPAN TERIMA KASIH....................................................... ix DAFTAR ISI ................................................................................xi DAFTAR GAMBAR ...................................................................xv DAFTAR TABEL........................................................................xvii BAB I PENDAHULUAN 1.1 Latar Belakang .......................................................................1 1.2 Tujuan.....................................................................................1 1.3 Permasalahan..........................................................................1 1.4 Batasan Masalah.....................................................................2 1.5 Metodologi .............................................................................2 1.6 Sistematika Pembahasan ........................................................3 BAB II TEORI PENUNJANG 2.1 Sensor Getaran .......................................................................5 2.2 Operasional Amplifier ............................................................7 2.2.1 Rangkaian Penguat Membalik.......................................8 2.2.2 Rangkaian Penguat Tak membalik ................................9 2.2.3 Rangkaian Pengikut Tegangan ......................................10 2.3 Mikrokontroller ......................................................................10 2.3.1 Gambaran Umum ..........................................................10 2.3.2 Perlengkapan Dasar Mikrokontroler..............................11 2.3.2.1 CPU ...................................................................11 2.3.2.2 Alamat ...............................................................11 2.3.2.3 Data....................................................................11 2.3.2.4 Pengendali .........................................................11 2.3.2.5 Memori ..............................................................11 2.3.2.6 RAM..................................................................12 2.3.2.7 ROM..................................................................12 2.3.2.8 Input / Output.....................................................12 2.3.3 Mikrokontroler AVR ATmega 16 ................................12 2.3.4 Konfigurasi Pin AVR ATmega 16 ...............................14 2.3.5 Struktur Memori ...........................................................16 2.3.6 Interupt .........................................................................20

12

Page 13: pendeteksi gempa

2.3.7 Port sebagai input/output digital.......................................20 2.3.8 Port sebagai Analag Digital Converter (ADC).................21 2.3.9 Timer ................................................................................26 2.3.10 Serial pada ATmega16 ...................................................34 2.4 Bahasa C ....................................................................................39 2.4.1 Sejarah dan Standar C ......................................................39 2.4.2 Tipe Data..........................................................................39 2.4.3 Pengenalan Fungsi-Fungsi Dasar .....................................41 2.4.4 Pengenalan Praprosesor #include .....................................41 2.4.5 Operator Relasi.................................................................42 2.4.6 Operator Logika ...............................................................42 2.4.7 Pernyataan Bahasa C........................................................42 2.4.7.1 Pernyataan if...............................................................42 2.4.7.2 Pernyataan if-else .......................................................43 2.4.7.3 Pernyataan Switch ......................................................44 2.4.7.3.1 Pernyataan switch Tunggal......................................44 2.4.8 Perulangan FOR ...............................................................45 2.4.9 Perulangan While dan Do While......................................45 2.4.10 Lompatan........................................................................45 2.5 Skala Richter ..............................................................................46

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS DAN LUNAK 3.1 Perancangan dan Pembuatan Perangkat Keras...........................49 3.1.1 Sistem Kerja ......................................................................49 3.1.2 Perancangan Sensor Getaran .............................................50 3.1.3 Perancangan Rangkaian Operasional Amplifier................52 3.1.3.1 Penguat Non-Inverting ...............................................52 3.1.3.2 Rangkaian Penyearah .................................................53 3.1.3.3 Rangkaian Pengubah AC ke DC ................................54 3.1.3.4 Rangkaian Differensial...............................................54 3.1.4 Rangkaian Mikrokontroler AVR ATMega16....................55 3.1.4.1 Port Paralel .................................................................56 3.1.4.3 Diagram Blok dan Konfigurasi Pin ADC...................57 3.1.4.4 Perancangan Rangkaian untuk simulasi .....................59 3.2 Perancangan dan Pembuatan Perangkat Lunak..........................60

3.2.1. CodeVision AVR .............................................................60

13

Page 14: pendeteksi gempa

BAB IV PENGUJIAN DAN ANALISA 4.1 Pengujian Perangkat Keras.....................................................65 4.1.1 Pengujian Sensor Getaran..............................................65 4.1.2 Pengujian Operasional Amplifier ..................................67 4.1.2.1 Pengujian Penguat Non-Inverting............................67 4.1.2.2 Pengujian Rangkaian Rectifier dan Pengubah AC ke DC..........................................69 4.1.2.3 Pengujian Rangkaian differensial ............................71 4.2. Pengujian Sistem Keseluruhan ...............................................72 BAB V PENUTUP 5.1 Kesimpulan.............................................................................77 5.2 Saran.......................................................................................77 DAFTAR PUSTAKA LAMPIRAN 1 : LISTING PROGRAM AVR LAMPIRAN 2 : PENGUJIAN FREKUENSI LAMPIRAN 3 : FOTO ALAT RIWAYAT HIDUP PENULIS

14

Page 15: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

15

Page 16: pendeteksi gempa

DAFTAR GAMBAR

Gambar 2.1 Medan magnet menghasilkan arus konstan pada rangkaian......................................................... 5 Gambar 2.2 Dua buah Voltmeter yang identik mengukur tegangan yang berbeda pada titik A dan B .............. 5 Gambar 2.3 Rangkaian percobaan sensor.................................... 7 Gambar 2.4 Rangkaian Penguat Inverting................................... 8 Gambar 2.5 Rangkaian Penguat Non-Inverting........................... 9 Gambar 2.6 Rangkaian Buffer..................................................... 10 Gambar 2.7 Blok Diagram Arsitektur Atmega16........................ 14 Gambar 2.8 Pin-pin Atmega16 Kemasan 40 pin ......................... 15 Gambar 2.9 Peta Memori Flash .................................................. 17 Gambar 2.10 Peta Memori SRAM ................................................ 18 Gambar 2.11 Register alamat EEPROM Bit 15…8 ...................... 18 Gambar 2.12 Register data EEPROM Bit Bit 7…0....................... 19 Gambar 2.13 Register kontrol EEPROM Bit Bit 7…0.................. 19 Gambar 2.14 Timing diagram untuk Mode single-conversion...... 22 Gambar 2.15 Register ADMUX.................................................... 22 Gambar 2.16 Register ADCSRA................................................... 23 Gambar 2.17 Register ADCLAR = 0 ............................................ 24 Gambar 2.18 Register ADCLAR = 1 ............................................ 24 Gambar 2.19 Register SFIOR........................................................ 25 Gambar 2.20 Blok diagram timer/counter ..................................... 26 Gambar 2.21 Timing diagram timer/counter, Tanpa prescaling...................................................... 27 Gambar 2.22 Timing diagram timer/counter, Dengan prescaling ................................................... 28 Gambar 2.23 Timing diagram timer/counter, menyeting OCFO, dengan pescaler (fclk_I/O/8)....................... 28 Gambar 2.24 Timing diagram timer/counter, menyetingOCFO, pengosongan data timer sesuai dengan datapembanding, dengan pescaler (fclk_I/O/8) ................................... 29 Gambar 2.25 Regiter timer counter 8 bit ....................................... 29 Gambar 2.26 Register timer TCNT0 ............................................. 32 Gambar 2.27 Register timer OCR0 ............................................... 33 Gambar 2.28 Register timer TIFR................................................. 33 Gambar 2.29 Block diagram clock generasi logic......................... 35 Gambar 2.30 Operasi synchronous Clock ..................................... 38

16

Page 17: pendeteksi gempa

Gambar 2.31 Diagram alir if ...........................................................43 Gambar 2.32 Diagram alir if-else....................................................44 Gambar 2.33 Perhitungan Skala Richter .........................................46 Gambar 3.1 Diagram Blok Rangkaian ..........................................49 Gambar 3.2 Desain konstruksi sensor ...........................................51 Gambar 3.3 Flowchart sistem........................................................52 Gambar 3.4 Rangkaian penguat non-inverting..............................53 Gambar 3.5 Rangkaian Penyearah ................................................53 Gambar 3.6 Rangkaian pengubah ac-ke-dc...................................54 Gambar 3.7 Rangkaian differensial...............................................54 Gambar 3.8 Rangkaian mikrokontroler Atmega16 .......................55 Gambar 3.9 Rangkaian Downloader .............................................57 Gambar 3.10 Blok Diagram ADC Mikrokontroler ATmega16.......58 Gambar 3.11 Rangkaian simulasi pada gedung ..............................59 Gambar 3.12 Tampilan CodeVisionAVR .......................................60 Gambar 3.13 Tampilan new file......................................................61 Gambar 3.14 Tampilan option di Wizard AVR ..............................61 Gambar 3.15 Tampilan option IC port ............................................62 Gambar 3.16 Tampilan Port C AVR...............................................62 Gambar 3.17 Tampilan Save general project ..................................63 Gambar 4.1 Rangkaian pengujian sensor getaran .........................65 Gambar 4.2 Rangkaian pengujian penguat non-inverting .............67 Gambar 4.3 Bentuk sinyal output penguat ....................................69 Gambar 4.4 Rangkaian pengujian rectifier dan pengubah ac ke dc .....................................................70 Gambar 4.5 Rangkaian pengujian differensial ..............................71 Gambar 4.6 Perhitungan Skala Richter .........................................73 Gambar 4.8 Data yang terbaca ADC.............................................74 ..

17

Page 18: pendeteksi gempa

DAFTAR TABEL

Tabel 2.1 Interrupt vektor....................................................... 20 Tabel 2.2 Konfigurasi pin port ............................................... 21 Tabel 2.3 Bit pemilih tegangan ref ......................................... 23 Tabel 2.4 Pemilihan scaning ADC ......................................... 25 Tabel 2.5 Deskripsi Bit Mode Pembangkit Bentuk Gelombang .............................................................. 30 Tabel 2.6 Mode Output Pembanding, tanpa PWM................. 30 Tabel 2.7 Mode Output Pembanding, Mode fast PWM ......... 31 Tabel 2.8 Mode Output Pembanding, Mode phase correct PWM ....................................... 31 Tabel 2.9 Deskripsi bit clock select........................................ 32 Tabel 2.10 Persamaan untuk menyeting perhitungan register boud rate .................................................... 36 Tabel 2.11 Tipe-tipe data dasar ................................................ 40 Tabel 2.12 Operator Relasi....................................................... 42 Tabel 2.13 Operator Logika ..................................................... 42 Tabel 2.14 Skala Richter .......................................................... 47 Tabel 4.1 Hasil pengujian sensor............................................ 66 Tabel 4.2 Hasil pengukuran rangkaian penguat...................... 68 Tabel 4.3 Hasil Pengukuran Rangkaian Pengubah AC ke DC................................................ 70 Tabel 4.4 Hasil Pengukuran Rangkaian Differensial.............. 72 Tabel 4.5 Hasil Pengujian Sistem Secara Keseluruhan .......... 74 .

18

Page 19: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

19

Page 20: pendeteksi gempa

BAB I PENDAHULUAN

1.1. LATAR BELAKANG Dengan berkembangnya teknologi serta tingkat mobilitas manusia yang semakin meningkat maka manusia dituntut untuk segera mengetahui sesuatu yang terjadi secara cepat. Selama ini masyarakat mengetahui Hukum Faraday hanya sebatas prinsip “perubahan fluks magnetik menyebabkan perubahan ggl induksi pada ujung kumparan”. Padahal dari prinsip ini, kita bisa mengembangkan ke berbagai macam aplikasi yang sangat berguna dalam kehidupan sehari-hari kita. Misalnya digunakan untuk pendeteksi gempa bumi secara real time sekaligus mengontrol aksi pada sebuah gedung dengan cara mengolah sinyal analog yang dihasilkan. Pada proyek akhir ini kami mencoba membuat sebuah sensor yang dapat mendeteksi getaran dengan menggunakan prinsip Hukum Faraday. Sensor ini terdiri dari sebuah kumparan dengan intinya yang dapat bergerak. Dari pergerakan kumparan dan inti ini menyebabkan perubahan ggl induksi yang dihasilkan. Perubahan ggl induksi ini menghasilkan suatu bentuk sinyal tertentu. Sinyal analog ini kemudian diubah ke data digital melalui rangkaian ADC (Analog Digital Converter) dan kemudian digunakan untuk mengontrol suatu aksi pada simulasi gedung. 1.2. TUJUAN Adapun tujuan dari proyek akhir ini adalah:

1. Sebagai penelitian untuk mengetahui hubungan antara getaran mekanis (pegas) yang merubah posisi solenoid terhadap perubahan ggl induksi.

2. Membuat simulasi untuk mengontrol sistem pada gedung berdasarkan perubahan ggl induksi.

1.3. PERMASALAHAN Masalah yang ditangani dari proyek akhir ini adalah mempelajari hubungan atau pengaruh getaran yang merubah posisi solenoid terhadap sinyal ggl induksi yang dihasilkan dan melakukan aksi pada sebuah gedung.

20

Page 21: pendeteksi gempa

1.4. BATASAN MASALAH Dalam proyek akhir ini masalah akan dibatasi pada:

1. Ukuran solenoid (diameter email, panjang email, diameter inti ferit dan panjang inti ferit) tidak ditentukan atau diabaikan.

2. Konstanta pegas diabaikan, hanya dipakai pegas yang memiliki kelenturan yang sebanding dengan berat dari soleniod.

3. Sensor yang digunakan hanya satu dan perubahan posisi solenoid hanya berada pada posisi vertikal (naik-turun).

4. Kebebasan getaran tidak dapat melebihi jarak lintasan. 5. Besar tegangan yang terdeteksi tidak ditampilkan. 6. Software yang dibuat digunakan untuk mengontrol aksi pada

simulasi gedung berdasarkan tegangan dari sensor. 1.5. METODOLOGI Metodologi dalam pembuatan proyek akhir ini adalah sebagai berikut:

1. Study Literatur Mempelajari tentang Hukum Faraday, pengubah data analog ke digital, mikrokontroler Atmega16, dan komunikasi serial.

2. Perancangan dan Pembuatan Perangkat Keras dan Lunak Untuk perangkat keras mendesain bentuk konstruksi dari sensor dan menentukan nilai-nilainya agar didapatkan sensor yang memiliki sensitifitas yang tinggi, membuat sebuah simulasi aksi pada gedung, membuat rangkaian driver (penguat), minimum sistem mikrokontroler dan komunikasi serial menggunakan RS-232. Untuk perangkat lunak adalah membuat inisialisasi terhadap jalur RS-232 dan inisialisasi terhadap banyaknya bit per karakter, stop bit, parity, baud rate. Mengecek status dari port serial dan mengambil data dari hardware melalui jalur komunikasi serial RS-232.

3. Pengujian dan Analisa Perangkat Keras dan Lunak Untuk perangkat keras melakukan pengujian dan pengambilan data terhadap rangkaian sensor, penguat, ADC dan komunikasi serial serta melakukan analisa praktis terhadap hasil yang diperoleh.

4. Penulisan Laporan Penulisan laporan dilakukan sesuai data yang diperoleh dari proyek akhir.

21

Page 22: pendeteksi gempa

1.6. SISTEMATIKA PEMBAHASAN Sistematika pembahasan proyek akhir ini disusun dengan kerangka pembahasan sebagai berikut:

• BAB I : PENDAHULUAN Bab ini berisi tentang uraian latar belakang, tujuan, permasalahan, batasan masalah, metodologi dan sistematika pembahasan.

• BAB II : TEORI PENUNJANG

Bab ini berisi tentang teori-teori penunjang dalam proses perancangan dan pembuatan perangkat keras dan lunak dari proyek akhir yang secara garis besar menguraikan tentang sensor, operasional amplifier, pengubah data analog ke digital dan interfacing RS-232 .

• BAB III : PERANCANGAN DAN PEMBUATAN

PERANGKAT KERAS DAN LUNAK Bab ini berisi tentang penjelasan mengenai perancangan serta realisasi studi yang meliputi pembuatan sensor, operasional amplifier, komunikasi serial dan program untuk mengontrol aksi pada simulasi gedung.

• BAB IV : PENGUJIAN DAN ANALISA

Bab ini berisi tentang pengujian dan analisa praktis terhadap hasil pengamatan secara keseluruhan dari sistem yang telah dibuat.

• BAB V : PENUTUP

Bab ini berisi tentang kesimpulan dari pembahasan sebelumnya serta saran-saran guna pengembangan dan penyempurnaan proyek akhir lebih lanjut.

22

Page 23: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

23

Page 24: pendeteksi gempa

BAB II TEORI PENUNJANG

2.1. SENSOR GETARAN Gambar 2.1 menunjukkan dua buah resistor R1 (1kΩ) dan R2 (3kΩ) yang terhubung secara parallel. Menurut Hukum Faraday, perubahan medan magnet H meningkat secara linier terhadap waktu, menghasilkan arus konstan sebesar 1mA di dalam rangkaian. Apa tegangan yang melewati titik A-B? Berdasarkan Hukum Ohm, tegangan yang melewati dua resistor seharusnya berbeda, tapi bagaimana bisa berbeda jika kedua resistor tersebut terhubung pada titik yang sama A dan B?

Gambar 2.1 Medan magnet menghasilkan arus konstan pada

rangkaian1

Tegangan yang terukur tergantung pada posisi kawat yang menghubungkannya ke voltmeter. Jika dua voltmeter yang identik dihubungkan melewati titik A-B seperti pada gambar 2.2, simulasi tegangan yang terukur akan bernilai -1V dan +3V.

1 www.ligo.caltech.edu

24

Page 25: pendeteksi gempa

Gambar 2.2 Dua buah voltmeter yang identik mengukur tegangan yang berbeda pada titik A dan B2

Tegangan digambarkan sebagai integral garis dari medan listrik dari titik A ke B sepanjang alur C (Persamaan 2.1). Medan listrik induksi dalam contoh ini tidak konservatif karena integral rangkaian tertutup dari medan listrik tidak bernilai 0 (nol) (persamaan 2.2). Jadi, tegangan di persamaan 1 tergantung dari arah aliran ( dalam contoh ini ). Integrasi medan listrik dari titik A ke B sepanjang alur C1 (gambar 2.2) mempunyai nilai yang berbeda dengan integrasi sepanjang alur C2. Kemudian, tegangan yang terukur tergantung dari voltmeter berada pada alur mana. Cara lain untuk memahami kejadian ini adalah dengan mempertimbangkan arus di dalam rangkaian, dimana arus 1mA melewati kedua transistor.

VAB = −∫c E · dl ...............(2.1)

∫ E · dl = − dt

d∫ B · da ...............(2.2)

Untuk mengamati penomena ini, dibuat percobaan seperti gambar 2.3. Medan magnet dihasilkan oleh inti ferit induktor (solenoid) yang digerakkan oleh gelombang sinus. Ukuran solenoid, amplitudo dan frekuensi gelombang sinus dan nilai resistor tidak ditentukan, tapi resultan dari tegangan induktansi harus cukup besar untuk pengukuran. Dengan menggunakan oscilloscope dual channel, pengukuran tegangan secara bersama-sama dengan probe pertama pada R1 dan probe kedua pada R2. Diharapkan untuk penunjukkan nilai, amplitudo gelombang sinus induksi pada R2 adalah tiga kali lebih besar daripada R1 dan mempunyai polaritas yang berbeda. Gambar 2.3 menunjukkan rangkaian detektor yang membandingkan amplitudo gelombang sinus dari sensor dengan tegangan referensi yang dihasilkan dari perbandingan antara R3 dan R4 dengan tegangan supply (Vcc). Saat komparator mengukur R1, amplitudo gelombang sinus terlalu kecil untuk mengaktifkan komparator sehingga outputnya bernilai 0 (nol) atau berlogic rendah. Saat komparator mengukur R3, amplitudonya cukup besar untuk

2 www.ligo.caltech.edu

25

Page 26: pendeteksi gempa

membangkitkan osilasi pada output komparator. Sinyal ini menghasilkan logic high pada output komparator.

Gambar 2.3 Rangkaian percobaan3

2.2. OPERATIONAL AMPLIFIER Penguat operasional atau Op-Amp adalah rangkaian elektronika yang dirancang dan dikemas secara khusus sehingga dengan menambahkan komponen luar sedikit saja dapat dipakai untuk berbagai keperluan. Hingga kini Op-Amp yang dirakit dari kompoenen-komponen diskrit dan dikemas dalam rangkaian tersegel masih dirasakan begitu mahal oleh insinyur dan teknisi yang pernah menggunakannya. Namun, kini dengan teknologi rangkaian terpadu (IC) yamg telah ditingkatkan, Op-Amp dalam bentuk kemasan IC menjadi jauh lebih murah dan amat luas pemakaiannya. Pada mulanya Op-Amp digunakan untuk rangkaian perhitungan analog rangkaian pengaturan dan rangkaian instrumentasi. Fungsi utamanya adalah untuk melakukan operasi matematika linier (tegangan dan arus), integrasi dan penguatan. Kini Op-Amp dapat dijumpai dimana saja, dalam berbagai bidang : reproduksi suara, sistem komunikasi, sistem pengolahan digital, elektronik komersial, dan aneka macam perangkat hobby. Dalam konfigurasinya kita akan menemukan Op-Amp dengan masukan dan keluaran tunggal, masukan dan keluaran differensial atau masukan differensial dan keluaran tunggal. Konfigurasi terakhir ini

3 www.ligo.caltech.edu

26

Page 27: pendeteksi gempa

banyak digunakan dalam industri elektronika. Konfigurasi ini juga akan dipakai sebagai kerangka landasan dari buku ini. Setiap orang yang terlibat dalam elektronika mau tak mau harus memahami kegunaan Op-Amp, mengetahui karakteristiknya, mampu mengenali konfigurasi dasar rangkaian Op-Amp dan mampu bekerja sama dengannya. 2.2.1. Rangkaian Penguat Membalik ( Inverting Amplifier ) Sebuah penguat menerima arus atau tegangan kecil pada input dan menjadikan arus atau tegangan lebih besar pada outputnya. Penguat Op-Amp memiliki penguatan yang relatif linier outputnya dikendalikan sebagai fungsi input.

Gambar 2.4 Rangkaian Penguat Inverting4

Penyusunan loop seperti gambar 2.4 disebut umpan balik negatif (degenaratif). Tegangan dengan fasa yang berlawanan pada output dibalikkan kembali pada masukan membalik sehingga cenderung melawan tegangan input aslinya sehingga output merupakan tegangan membalik tegangan input, dimana:

VinRi

RfVout •−= ⎟

⎠⎞

⎜⎝⎛ ................(2.3)

Ri

RfAv −= ................(2.4)

Tanda minus diabaikan dalam hitungan dan hanya menunjukkan bahwa output berlawanan fasa terhadap input. Impedansi input 4 Robert F. Coughlin, Frederick F. Driscoll, “Operational Amplifiers and Linier

Integrated Circuits”, Penerbit Erlangga, Jakarta, 1994.

27

Page 28: pendeteksi gempa

rangkaian sama dengan Ri, sedangkan lebar pita (bandwidth) dibagi satu ditambah penguatan loop tertutup. 2.2.2. Rangkaian Penguat Tak Membalik (Non Inverting Amplifier) Sebuah penguat impedansi tinggi tak membalik ditunjukkan pada gambar 2.5. Impedansi input rangkaian ini sangat besar dimana sama dengan impedansi antara input-input differensialnya dikalikan penguatan loop (penguatan loop terbuka dibagi penguatan loop tertutup). Tegangan pada output tidak dibalik polaritasnya (sama) terhadap tegangan input.

Gambar 2.5 Rangkaian Penguat Non Inverting5

Rangkaian Op-Amp ini akan memberikan penguatan loop tertutup sebesar Rf/Ri ditambah satu, sehingga tegangan pada output adalah:

VinRi

RfVout •+= ⎟

⎠⎞

⎜⎝⎛

1 ...................(2.5)

1+=Ri

RfAv ...................(2.6)

Lebar pita 3 dB loop tertutup diberikan oleh frekuensi penguatan satu Op-Amp dibagi penguatan loop terttutup.

5 Robert F. Coughlin, Frederick F. Driscoll, “Operational Amplifiers and Linier

Integrated Circuits”, Penerbit Erlangga, Jakarta, 1994.

28

Page 29: pendeteksi gempa

Satu hal yang penting untuk diperhatikan perbedaannya dengan penguat membalik adalah output akan menjadi saturasi bila input dibiarkan mengambang. 2.2.3. Rangkaian Pengikut Tegangan (Buffer) Pengikut tegangan didefinisikan sebagai rangkaian dengan penguatan satu atau kurang dengan output mengikuti input, diantara input dan output terhadap isolasi impedansi. Op-Amp yang berguna sebagai pengikut tegangan digambarkan sebagai berikut:

Gambar 2.6 Rangkaian Buffer6

Rangkaian ini memiliki impedansi input yang sangat tinggi serta impedansi output yang sangat rendah. Keuntungan ini menjadikannya amat ideal untuk meyangga atau mengisolasi rangkaian. 2.3 MIKROKONTROLER 2.3.1 Gambaran Umum

Sering kita mendengar istilah mikrokomputer, mikroprosesor, dan mikrokontroler. Mikroprosesor adalah bagian CPU (central processing unit) dari sebuah komputer, tanpa memori, I/O, dan periferal yang dibutuhkan oleh suatu sistem lengkap. Supaya dapat bekerja, mikroprosesor memerlukan perangkat pendukung seperti RAM, ROM dan I/O.

Bila sebuah miroprosesor dikombinasi dengan I/O dan memori (RAM/ROM) akan dihasilkan sebuah mikrokomputer. Sebagai terobosan mikrokomputer ini dapat juga dibuat dalam bentuk single chip yaitu Single Chip Microcomputer (SCM) yang selanjutnya disebut sebagai mikrokontroler.

6 Robert F. Coughlin, Frederick F. Driscoll, “Operational Amplifiers and Linier

Integrated Circuits”, Penerbit Erlangga, Jakarta, 1994.

29

Page 30: pendeteksi gempa

Perbedaan yang menonjol antara mikrokomputer dengan mikrokontroler (SCM) adalah pada penggunaan perangkat I/O dan media penyimpan program. Bila mikrokomputer menggunakan disket atau harddrive lainnya maka mikrokontroler menggunakan EPROM sebagai penyimpan programnya. Sedangkan keuntungan mikrokontroler dibandingkan dengan mikroprosesor adalah pada mikrokontroler sudah terdapat RAM dan peralatan I/O pendukung sehingga tidak perlu menambahkannya.

2.3.2 Perlengkapan Dasar Mikrokontroler 2.3.2.1 CPU

Unit pengolah pusat (CPU) terdiri atas dua bagian yaitu unit pengendali (CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah untuk mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika dan perhitungan bertugas untuk menangani operasi perhitungan maupun bolean dalam program.

2.3.2.2 Alamat

Pada mikroprosesor/mikrokontroler, apabila suatu alat dihubungkan dengan mikrokontroler maka harus ditetapkan terlebih dahulu alamat (address) dari alat tersebut. Untuk menghindari terjadinya dua alat bekerja secara bersamaan yang mungkin akan meyebabkan kerusakan.

2.3.2.3 Data

Mikrokontroler ATmega16 mempunyai lebar bus data 8 bit. Merupakan mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan.

2.3.2.4 Pengendali

Selain bus alamat dan bus data mikroprosesor/mikrokontroler dilengkapi juga dengan bus pengendali (control bus), yang fungsinya untuk menyerempakkan operasi mikroprosesor/mikrokontroler dengan operasi rangkaian luar.

2.3.2.5 Memori

Mikroprosesor/mikrokontroler memerlukan memori untuk menyimpan program/data. Ada beberapa tingkatan memori,

30

Page 31: pendeteksi gempa

diantaranya register internal, memori utama, dan memori massal. Sesuai dengan urutan tersebut waktu aksesnya dari yang lebih cepat ke yang lebih lambat.

2.3.2.6 RAM RAM (Random Acces Memory) adalah memori yang dapat

dibaca atau ditulisi. Data dalam RAM akan terhapus bila catu daya dihilangkan. Oleh karena itu program mikrokontroller tidak disimpan dalam RAM. Ada dua teknologi yang dipakai untuk membuat RAM, yaitu RAM static dan RAM dynamic.

2.3.2.7 ROM

ROM (Read Only Memory) merupakan memori yang hanya dapat dibaca. Data dalam ROM tidak akan terhapus meskipun catu daya dimatikan. Oleh karena itu ROM dapat digunakan untuk menyimpan program. Ada beberapa jenis ROM antara lain ROM murni, PROM, EPROM, EAPROM. ROM adalah memori yang sudah diprogram oleh pabrik, PROM dapat diprogram oleh pemakai sekali saja. Sedangkan EPROM merupakan PROM yang dapat diprogram ulang.

2.3.2.8 Input / Output I/O dibutuhkan untuk melakukan hubungan dengan piranti di

luar sistem. I/O dapat menerima data dari alat lain dan dapat pula mengirim data ke alat lain. Ada dua perantara I/O yang dipakai, yaitu piranti untuk hubungan serial (UART) dan piranti untuk hubungan paralel (PIO).

2.3.3 Mikrokontroler AVR ATmega 16

AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer) yang ditingkatkan. Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-

31

Page 32: pendeteksi gempa

chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. ATmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Untuk lebih jelas tentang arsitektur dari ATmega16 ditunjukan pada gambar 2.3.3.1 ATmega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses.

Beberapa keistimewaan dari AVR ATmega16 antara lain:

1. Advanced RISC Architecture 130 Powerful Instructions – Most Single Clock Cycle Execution

32 x 8 General Purpose Fully Static Operation Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier

2. Nonvolatile Program and Data Memories 8K Bytes of In-System Self-Programmable Flash Optional Boot Code Section with Independent Lock Bits 512 Bytes EEPROM 512 Bytes Internal SRAM Programming Lock for Software Security

3. Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode

Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes

One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode

Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC Byte-oriented Two-wire Serial Interface Programmable Serial USART

4. Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby

32

Page 33: pendeteksi gempa

5. I/O and Package 32 Programmable I/O Lines 40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF

6. Operating Voltages 2.7 - 5.5V for ATmega16L 4.5 - 5.5V for Atmega16

Gambar 2.7 Blok Diagram Arsitektur ATmega161

2.3.4 Konfigurasi Pin AVR ATmega 16

Pin-pin pada ATmega16 dengan kemasan 40-pin DIP (dual inline package) ditunjukkan oleh gambar 2.3.4.1 Kemasan pin tersebut terdiri dari 4 Port yaitu Port A, Port B, Port C,Port D yang masing masing Port terdiri dari 8 buah pin. Selain itu juga terdapat RESET, VCC, GND 2 buah, VCC, AVCC, XTAL1, XTAL2 dan AREF.

33

Page 34: pendeteksi gempa

Gambar 2.8 Pin-pin ATmega16 kemasan 40-pin2

Diskripsi dari pin-pin ATmega 16L adalah sebagai berikut : 1. VCC : Supply tegangan digital. 2. GND : Ground 3. Port A : Port A sebagai input analog ke A/D konverter. Port A

juga sebagai 8-bit bi-directional port I/O, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port A digunakan sebagai input dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.

4. Port B : Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.

2www.atmel.com / AT mega 16 hal 2

34

Page 35: pendeteksi gempa

5. Port C : Port C adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset.

6. Port D : Port D adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.

7. Reset : Sebuah low level pulsa yang lebih lama daripada lebar pulsa minimum pada pin ini akan menghasilkan reset meskipun clock tidak berjalan.

8. XTAL1 : Input inverting penguat Oscilator dan input intenal clock operasi rangkaian.

9. XTAL2 : Output dari inverting penguat Oscilator. 10. AVCC : Pin supply tegangan untuk PortA dan A/D converter .

Sebaiknya eksternalnya dihubungkan ke VCC meskipun ADC tidak digunakan. Jika ADCdigunakan seharusnya dihubungkan ke VCC melalui low pas filter.

11. AREF : Pin referensi analog untuk A/D konverter. 2.3.5 Struktur Memori

Untuk memaksimalkan performa dan paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Instruksi pada memori program dieksekusi dengan pipelining single level. Selagi sebuah instruksi sedang dikerjakan, instruksi berikutnya diambil dari memori program.

35

Page 36: pendeteksi gempa

1. Flash Memori ATmega16 memiliki 16K byte flash memori dengan lebar 16

atau 32 bit. Kapasitas memori itu sendiri terbagi manjadi dua bagian yaitu bagian boot program dan bagian aplikasi program.

Gambar 2.9 Peta Memori Flash 3

Flash memori memiliki kemampuan mencapai 10.000 write dan erase.

2. Memori SRAM

Penempatan memori data yang lebih rendah dari 1120 menunjukkan register, I/O memori, dan data internal SRAM. 96 alamatmemori pertama untuk file register dan memori I/O, dan 1024 alamat memori berikutnya untuk data internal SRAM. Lima mode pengalamatan yang berbeda pada data memori yaitu direct, indirect, indirect dis-placement, indirect pre-decreament dan indirect post-increament .Pada file register, mode indirect mulai dari register R26-R31. Pengalamatan mode direct mencapai keseuruhan kapasitas data. Pengalamatan mode indirect dis-placement mencapai 63 alamat memori dari register X atau Y. Ketika meggunakan mode pengalamatan indirect dengan pre-decrement dan post increment register X, Y, dan Z akan di-dicrement-kan atau di-increment-kan. Pada ATmega16 memiliki 32 register, 64 register I/O dan 1024 data internal SRAM yang dapat mengakses semua mode-mode pengalamatan.

3www.atmel.com / AT mega 16 hal 14

36

Page 37: pendeteksi gempa

Gambar 2.10 Peta Memori SRAM4

3. Memori EEPROM

Pada EEPROM ATmega16 memiliki memori sebesar 512 byte engan daya tahan 100.000 siklus write/read.

Register-register pada memori EEPROM : Bit 15…9 – Res:reserved bits Bit ini sebagai bit-bit bank pada ATmega16 dan akan selalu membaca

Gambar 2.11 Register alamat EEPROM Bit 15…85

4www.atmel.com / AT mega 16 hal 15 5www.atmel.com / AT mega 16 hal 17

37

Page 38: pendeteksi gempa

Bit 8..0 – EEAR8..0:EEPROM address Bit-bit ini sebagai alamat EEPROM.

Bit 7..0 – EEDR7..0:EEPROM data Bit-bit ini sebagai data EEPROM.

Gambar 2.12 Register data EEPROM Bit Bit 7…06

Bit 7..4 – Res:reserved bits Bit-bit ini terdapat pada register kontrol. Bit ini sebagai Enable Interupt Ready pada EEPROM.

Gambar 2.13 Register kontrol EEPROM Bit Bit 7…07

Bit 2 Bit ini sebagai Enable Interupt Master pada EEPROM.

Bit 1 Bit ini sebagai write enable pada EEPROM.

Bit 0 Bit ini sebagai read enable pada EEPROM.

6www.atmel.com / AT mega 16 hal 17 7www.atmel.com / AT mega 16 hal 17

38

Page 39: pendeteksi gempa

2.3.6 Interupt

Tabel 2.1 Interrupt vektor8

2.3.7 Port sebagai input/output digital

ATmega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin

8Ibit hal 42 39

Page 40: pendeteksi gempa

dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.

Tabel 2.2 Konfigurasi pin port9

Bit 2 – PUD : Pull-up Disable

Bila bit diset bernilai 1 maka pull-up pada port I/O akan

dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).

2.3.8 Port sebagai Analag Digital Converter (ADC)

ATmega16 mempunyai ADC (Analog to Digital Converter) internal dengan fitur sebagai berikut (untuk lebih detil dapat mengacu pada datasheet) : 10-bit Resolution 65 - 260 μs Conversion Time Up to 15 kSPS at Maximum Resolution 8 Multiplexed Single Ended Input Channels Optional Left Adjustment for ADC Result Readout 0 - VCC ADC Input Voltage Range

40

Page 41: pendeteksi gempa

Selectable 2.56V ADC Reference Voltage Free Running or Single Conversion Mode ADC Start Conversion by Auto Triggering on Interrupt

Sources 9Ibit l 49ha

Interrupt on ADC Conversion Complete Sleep Mode Noise Canceler

Dibawah ini gambar timing diagram untuk mode single convertion maksudnya hanya satu input chanel saja yang dikonversi.

Gambar 2.14 Timing diagram untuk Mode single-conversion10

Register-register yang dipakai untuk mengakses ADC adalah: 1. ADMUX – ADC Multiplexer Selection Register

Gambar 2.15 Register ADMUX11

Bit 7:6 – REFS1:0 : Bit Pemilih tegangan referensi Bit ini berfungsi untuk memilih tegangan referensi ADC untuk lebih jelasnya terdapat pada tabel dibawah ini.

41

Page 42: pendeteksi gempa

Tabel 2.3 Bit pemilih tegangan ref12

10Ibit hal 203 11Ibit hal 211

Bit 5 – ADLAR : ADC Left Adjust Result Bit 4:0 – MUX4:0 : Bit pemilih Analog Channel dan Gain

2. ADCSRA – ADC Control and Status Register

Gambar 2.16 Register ADCSRA13

Bit 7 – ADEN : ADC Enable Diisi 1 untuk mengaktifkan ADC, diisi 0 untuk mematikan ADC sekaligus memberhentikan konversi yang sedang berlangsung.

Bit 6 – ADSC : ADC Start Conversion Pada mode single-conversion, set bit ini untuk memulai tiap konversi. Pada mode free-running, set bit ini untuk konversi pertama kalinya. Bit ADSC bila dibaca akan bernilai 1 selama proses konversi, dan bernilai 0 bila konversi selesai. Mengisi bit ini dengan nilai 0 tidak akan mempunyai dampak.

Bit 5 – ADATE : ADC Auto Trigger Enable Bila bit ini diisi 1 maka auto trigger ADC akan diaktifkan. ADC akan memulai konversi pada saat tepi positif dari sumber sinyal trigger yang dipilih. Sumber sinyal trigger ditentukan dengan menseting bit ADTS pada register SFIOR.

Bit 4 – ADIF : ADC Interrupt Flag Bit ini akan bernilai 1 pada saat ADC selesai mengkonversi dan Data register telah diupdate. ADC Conversion Complete Interrupt akan dijalankan bila bit ADIE dan bit-I pada register SREG diset 1. ADIF akan di-clear secara hardware bila mengerjakan penanganan vektor interrupt yang bersesuaian.

42 12Ibit hal 211 13Ibit hal 213

Page 43: pendeteksi gempa

Alternatifnya, ADIF dapat di-clear dengan menuliskan 1. Hati-hati bila bekerja dengan Read-Modify-Write pada ADCSRA, interrupt yang tertunda dapat dinonaktifkan/batal. Hal ini juga berakibat sama bila instruksi SBI dan CBI digunakan.

Bit 3 – ADIE : ADC Interrupt Enable Mengisi bit ini dan bit-I pada register SREG menjadi 1 akan mengaktifkan ADC Conversion Complete Interrupt.

Bit 2:0 – ADPS2:0 – Bit pemilih ADC Prescaler Menentukan bilangan pembagi antara sumber clock XTAL ke clock ADC.

3. ADCL, ADCH – ADC data register Bila ADLAR = 0

Gambar 2.17 Register ADCLAR = 014

Bila ADLAR = 1

Gambar 2.18 Register ADCLAR = 115

Setelah ADC selesai melakukan konversi kedua register ini berisi hasil konversi. Bila channel differensial dipilih maka hasilnya dalam format 2’s complement. Saat ADCL dibaca, data register tidak akan meng-update data sampai ADCH dibaca. Jika hasilnya dirata kiri (left adjust) dan hanya butuh 8-bit maka cukuplah dengan membaca ADCH. Jika butuh 10-bit, baca ADCL dahulu kemudian ADCH. Register SFIOR berfungsi untuk sumber

43

Page 44: pendeteksi gempa

auto triger. Dimana kita dapat memilih beberapa mode untuk konversi.

4. SFIOR – Special Function I/O Register untuk sumber auto

trigger

14Ibit hal 214 15Ibit hal 214

Gambar 2.19 Register SFIOR16

Dengan konfigurasi seperti dibawah maka dapat memilih

mode start ADC, ADC akan konversi ketika berdasarkan mode yang dipilih.

Tabel 2.4 Pemilihan scaning ADC17

ADTS2 ADTS1 ADTS0 Trigger source 0 0 0 Free Running mode

0 0 1 Analog Comparator

0 1 0 External Interupt Request 0

0 1 1 TimerCounter0 Compare Match

1 0 0 TimerCounter0 Overflow

1 0 1 TimerCounter1 Compare Match 8

1 1 0 TimerCounter1 Overflow

1 1 1 TimerCounter1 Capture Event

Bit 7:5 – ADTS2:0 : ADC Auto Trigger Source Bila ADATE dalam register ADCSRA diset 1, maka nilai dalam bit-bit ini akan menentukan sumber mana yang akan mentrigger konversi ADC. Bila bit ADATE bernilai 0, maka bit-bit ini tidak

44

16Ibit hal 215 17Ibit hal 217

Page 45: pendeteksi gempa

akan mempunyai efek. Sebuah konversi ditrigger oleh sinyal rising-edge dari interrupt flag yang dipilih. Perlu diingat bahwa memindah sumber trigger yang di-clear ke sumber trigger lain yang di-set akan menyebabkan positive-edge pada sinyal trigger. Bila ADEN dalam register ADCSRA diset, juga akan memulai konversi. Memindah mode ke mode freerunning tidak akan menyebabkan pulsa trigger, meskipun bila flag interrupt ADC diset.

Bit 4 – RES : Reserved bit Bit cadangan, bila dibaca hasilnya nol.

2.3.9 Timer

Timer/couter adalah tujuan umum single channel, module 8 bit timer/counter. Beberapa fasilitas chanel dari timer counter antara lain: Counter channel tunggal Pengosongan data timer sesuai dengan data pembanding Bebas -glitch, tahap yang tepat Pulse Width Modulator (PWM) Pembangkit frekuensi Event counter external

Gambar 2.20 Blok diagram timer/counter18

45

Page 46: pendeteksi gempa

Gambar diagram block timer/counter 8 bit ditunjukan pada

gambar di bawah ini. Untuk penempatan pin I/O telah di jelaskan pada bagian I/O di atas. CPU dapat diakses register I/O, termasuk dalam pinpin I/O dan bit I/O. Device khusus register I/O dan lokasi bit terdaftar pada deskripsi timer/counter 8 bit pada gambar 2.3.9.1

18Ibit hal 67

1. Timing Diagram Timer/Counter

Timer/counter disain sinkron clock timer (clkT0) oleh karena itu ditunjukan sebagai sinyal enable clock pada gambar berikut. Gambar ini termasuk informasi ketika flag interrupt dalam kondisi set. Data timing digunakan sebagai dasar dari operasi timer/counter.

Gambar 2.21 Timing diagram timer/counter, tanpa

prescaling19

Sesuai dengan gambar dibawah timing diagram timer/counter

dengan prescaling maksudnya adalah counter akan menambahkan data counter (TCNTn) ketika terjadi pulsa clock telah mencapai 8 kali pulsa dan sinyal clock pembagi aktif clock dan ketika telah mencapai nilai maksimal maka nilai TCNTn akan kembali ke nol. Dan kondisi flag timer akan aktif ketika TCNTn maksimal.

46 19Ibit hal 76

Page 47: pendeteksi gempa

Gambar 2.22 Timing diagram timer/counter, dengan

prescaling20

Sama halnya timing timer diatas, timing timer/counter dengan

seting OCFO timer mode ini memasukan data ORCn sebagai data input timer. Ketika nilai ORCn sama dengan nilaiTCNTn maka pulsa flag timer akan aktif. TCNTn akan bertambah nilainya ketika pulsa clock telah mencapai 8 pulsa. Dan kondisi flag akan berbalik (komplemen) kondisi ketika nilai TCNTn kembali ke nilai 0 (overflow).

Gambar 2.23 Timing diagram timer/counter, menyeting

OCFO, dengan pescaler (fclk_I/O/8)21

Ketika nilai ORCn sama dengan nilai TCNTn maka pulsa flag timer akan aktif. TCNTn akan bertambah nilainya ketika pulsa clock telah mencapai 8 pulsa. Dan kondisi flag akan berbalik (komplemen) kondisi ketika nilai TCNTn kembalimkenilai 0 (overflow).

20Ibit hal 76 21Ibit hal 76 47

Page 48: pendeteksi gempa

Gambar 2.24 Timing diagram timer/counter, menyeting

OCFO, pengosongan data timer sesuai dengan data pembanding,dengan pescaler (fclk_I/O/8)22

2. Deskripsi Register Timer/Counter 8 bit

Gambar 2.25 Regiter timer counter 8 bit23

Bit 7 – FOCO : perbandingan kemampuan output. FOCO hanya akan aktif ketika spesifik-spesifik bit WGM00 tanpa PWM mode. Adapun untuk meyakinkan terhadap kesesuaian dengan device-device yang akan digunakan,bit ini harus diset nol ketika TCCRO ditulisi saat mengoperasikan mode PWM. Ketika menulisi logika satu ke bit FOCO, dengan segera di paksakan untuk disesuaikan pada unit pembangkit bentuk gelombang. Output OCO diubah disesuaikan pda COM01: bit 0 menentukan pengaruh daya pembanding. Sebuah FOC0 stobe tidak akan membangkitkan beberepa interrupt, juga tidak akan membersihkan timer pada mode CTC mengunakan OCR0 sebagai puncak. FOC0 selalu dibaca nol.

Bit 6,3 – WGM01:0: Waveform Generation Mode.

22Ibit hal 77 23Ibit hal 77 48

Page 49: pendeteksi gempa

Bit ini mengontrol penghitungan yang teratur pada counter, sumber untuk harga counter maksimal ( TOP )., dan tipe apa dari pembangkit bentuk gelombang yang digunakan. Mode-mode operasi didukung oleh unit timer/counter sebagai berikut : mode normal, pembersih timer pada mode penyesuaian dengan pembanding ( CTC ), dan dua tipe mode Pulse Width Modulation ( PWM ).

Tabel 2.5 Deskripsi Bit Mode Pembangkit Bentuk Gelombang24

catatan : definisi nama-nama bit CTC0 dan PWM0 sekarang tidak digunakan lagi. Gunakan WGM 01: 0 definisi. Bagaimanapun lokasi dan fungsional dan lokasi dari masing-masing bit sesuai dengan versi timer sebelumnya.

Bit 5:4– COMO1:0 Penyesuaian Pembanding Mode Output. Bit ini mengontrol pin output compare (OCO), jika satu atau kedua bit COM01:0 diset,output OC0 melebihi fungsional port normal I/O dan keduanya terhubung juga. Bagaimanapun, catatan bahwa bit Direksi Data Register (DDR) mencocokan ke pin OC0 yang mana harus diset dengan tujuan mengaktifkan.Ketika OC0 dihubungkan ke pin, fungsi dari bit COM01:0 tergantung dari pengesetan bit WGM01:0. Tabel di bawah menunjukan COM fungsionality ketika bit-bt WGM01:0 diset ke normal atau mode CTC (non PWM ).

Tabel 2.6 Mode Output Pembanding, tanpa PWM25

24Ibit hal 78 25Ibit hal 78 49

Page 50: pendeteksi gempa

Tabel di bawah menunjukan bit COM01:0 fungsionality ketika bit WGM01:0 diset ke mode fast PWM.

Tabel 2.7 Mode Output Pembanding, Mode fast PWM26

Tabel di bawah menunjukan bit COM01:0 fungsionality ketika bit WGM01:0 diset ke mode phase correct PWM.

Tabel 2.8 Mode Output Pembanding, Mode phase correct PWM27

Bit 2:0 – CS02:0 : Clock Select. Tiga bit clock select sumber clock digunakan dengan timer/counter.

50

Page 51: pendeteksi gempa

Tabel 2.9 Deskripsi bit clock select28

26Ibit hal 78 27Ibit hal 79

Jika mode pin eksternal digunakan untuk timer counter0, perpindahan dati pin T0 akan memberi clock counter dengan tetap jika pin digunakan sebagai output. Dalam hal ini software diijinkan untuk mengontrol perhitungan.

3. Register Timer/Counter TCNT0

Gambar 2.26 Register timer TCNT029

Register timer/counter memberikan akses secara langsung,

keduanya dugunakan untuk membaca dan menulis operasi, untuk penghitung unit 8-bit timer/counter. Menulis ke blok-blok register TCNT0 ( removes ) disesuaikan dengan clock timer berikutnya. Memodifikasi counter ( TCNT0 ) ketika perhitungan berjalan, memperkenalkan resiko kehilangan perbandingan antara TCNC0 dengan register OCR0.

51

Page 52: pendeteksi gempa

4. Register Timer/Counter OCR0

28Ibit hal 79 29Ibit hal 79

Gambar 2.27 Register timer OCR030

Register output pembanding berisi sebuah haraga 8 bit yang

mana secara terus-menerus dibandingkan dengan harga counter (TCNT0). Sebuah penyesuaian dapat digunakan untuk membangkitkan output intrrupt pembanding, atau untuk membangkitakan sebuah output bentuk gelombang pada pin OC0.

5. Register Timer/Counter Interrupt Mask Bit 1 – OCIE0: outpu timer counter menyesuaikan dengan kesesuaian interrupt yang aktif. Ketika bit OCIE0 ditulis satu, dan I-bit pada register status dalam kondisi set (satu), membandingkan timer/counter pada interrupt yang sesuai diaktifkan. Mencocokkan interrupt yang dijalankan kesesuaianpembanding pada timer/counter0 terjadi, ketika bit OCF0 diset pada register penanda timer/counter-TIFR.

Bit 0 – TOIE0: Timer/Counter 0 Overflow Interrupt Enable. Ketika bit TOIE0 ditulis satu, dan I-bit pada register status dalam kondisi set ( satu ), timer/counter melebihi interrupt diaktifkan. Mencocokkan interrupt dijalankan jika kelebihan pada timer/counter0 terjadi, ketika bit TOV0 diset pada register penanda timer/counter- TIFR.

5. Register Timer/Counter Register – TIFR

52

Page 53: pendeteksi gempa

Gambar 2.28 Register timer TIFR31

Bit 1 – OCF0: Output Compare Flag0. al 80 OCF0 dalam kondisi set ( satu ) kesesuaian pembanding terjadi

antara timer/counter dan data pada OCRO – Register 0 keluaran pembanding. OCF0 diclear oleh hardware ketika eksekusi pencocokan penangan vector interrupt. Dengan alternatif mengclearkan OCF0 dengan menuliskan logika satu pada flag. Ketika I-bit pada SREG, OCIE0 (Timer/Counter0 penyesuaian pembanding interrupt enable), dan OCF0 diset (satu ), timer/counter pembanding kesesuaian interrupt dijalankan.

30Ibit hal 80 31Ibit h

Bit 0 – TOV0: Timer/Counter Overflow Flag.

Bit TOV0 di ser ( satu ) ketika kelebihan terjadi pada timer/counter0. TOV0 diclearkan dengan hardware ketika penjalanan pencocokan penanganan vector interrupt. Dengan alternatif, TOV0 diclearkan dengan jalan memberikan logika satu pada flag. Ketika I-bit pada SREG, TOIE0 ( Timer/Counter0 overflow interrupt enable), dan TOV0 diset ( satu ), timer/counter overflow interrupt dijalankan. Pada tahap mode PWM yang tepat, bit ini di set ketika timer/counter merubah bagian perhitungan pada $00.

2.3.10 Serial pada ATmega16

Universal synchronous dan asynchronous pemancar dan penerima serial adalah suatu alat komunikasi serial sangat fleksibel. Jenis yang utama adalah : Operasi full duplex ( register penerima dan pengirim serial dapat berdiri sendiri )

Operasi Asychronous atau synchronous Master atau slave mendapat clock dengan operasi synchronous Pembangkit boud rate dengan resolusi tinggi Dukung frames serial dengan 5, 6, 7, 8 atau 9 Data bit dan 1 atau 2 Stop bit

Tahap odd atau even parity dan parity check didukung oleh hardware

Pendeteksian data overrun Pendeteksi framing error

53

Page 54: pendeteksi gempa

Pemfilteran gangguan ( noise ) meliputi pendeteksian bit false start dan pendeteksian low pass filter digital

Tiga interrupt terdiri dari TX complete, TX data register empty dan RX complete.

Mode komunikasi multi-processor Mode komunikasi double speed asynchronous

1. Generasi Clock

Logic generasi clock menghasilkan dasar clock untuk pengirim dan penerima.USART mendukung empat mode operasi clock : Normal Asynchronous, Double Speed Asynchronous mode Master Synchronous dan Slave Synchronous. Bit UMSEL pada USART control dan status register C (UCSRC) memilih antara operasi Asychronous dan Synchronous. Double speed (hanya pada mode Asynchronous) dikontrol oleh U2X yang mana terdapat pada register UCSRA. Ketika mengunakan mode operasi synchronous (UMSEL = 1) dan data direction register untuk pin XCk (DDR_XCK) mengendalikan apakah sumber clock tersebut adalah internal (master mode) atau eksternal ( slave mode ) pin-pin XCK hanya akan active ketika menggunakan mode Synchronous.

Gambar 2.29 Block diagram clock generasi logic32

Keterangan sinyal :

54

Page 55: pendeteksi gempa

Txclk : clock pengirim ( internal clock ) Rxclk : clock dasar penerima ( internal clock ) xcki : input dari pin XCK ( sinyal internal ). Digunakan untuk operasi slave synchronous. Xcko : clock output ke oin XCK ( sinyal internal ).

32Ibit hal 139

Digunakan untuk operasi master synchronous Fosc : frekuensi pin XTAL ( system clock )

2. Generasi Internal Clock – Pembangkit Boud rate

Generasi internal clock digunakan untuk mode-mode operasi master asynchronous dan synchronous. Register USART boud rate (UBRR) dan down-counter dikoneksikan kepada fungsinya sebagai programmable prescaler atau pembangkit boud rate. Down-counter, dijalankan pada system clock (fosc), dibebani dengan nilai UBRR setiap counter telah dihitung mundur ke nol atau ketika register UBRRL ditulisi. Clock dibangkitkan setiap counter mencapai nol. Clock ini adalah pembangkit boud rate clock output (fosc/( UBBR+1)). Pemancar membagi boud rete generator clock output dengan 2, 8, atau 16 cara tergantung pada mode. Pembnagkit output boud rate digunakan secara langsung oleh penerima suatu mesin status yang menggunakan 2, 8, atau 16 negara yang tergantung pada cara menyimpan status dari UMSEL, bit-bit U2X dan DDR_XCK. Table di bawah menunjukan penyamaan perhitungan boud rate dan nilai UBRR tiap mode operasi mengunakan sumber pembangkit clock internal.

Tabel 2.10 Operasi mode33

55

Page 56: pendeteksi gempa

Catatan : boud rate menunjukan pengiriman rate bit tiap detik (bps) BAUD : boud rate (pada bit-bit per detik,bps) fosc frekuensi

system clock osilator UBRR : terdiri dari UBRRH dan UBBRL,(0-4095)

33Ibit hal 140

3. Eksternal Clock

Eksternal clock digunakan untuk operasi mode slave synchronous. Eksternal clock masuk dari pin XCK dicontohkan oleh suatu daftar sinkronisasi register untuk memperkecil kesempatan metastabilitas. Keluaran dari sinkronisasi register kemudian harus menerobos detector tepi sebelum digunakan oleh pengirim dan penerima. Proses ini mengenalkan dua period delay clock CPU danoleh karena itu maksimal frekuensi clock XCK eksternal dibatasi oleh persamaan sebagai berikut :

Keterangan : bahwa fosc tergantung pada stabilitas system

sumber clock. Oleh karena derekomendasikan untuk menambahkan beberapa garis tepi untuk menghindari hilangnya mungkin data dalam kaitan dengan variasi frekwensi.

4. Operasi Synchronous Clock

Ketika mode sinkron digunakan (UMSEL=1), pin XCK akan digunakan sama seperti clock input (slave) atau clock output (master). Dengan ketergantungan antara tepi clock dan data sampling atau perubahan data menjadi sama. Prinsip dasarnya adalah data input (on RxD) dicontohkan pada clock XCK berlawanan tepi dari tepi data output (TxD) sehingga mengalami perubahan.

56

Page 57: pendeteksi gempa

Gambar 2.30 Operasi synchronous Clock34

UCPOL bit UCRSC memilih yang mana tepi clock XCK

digunakan untuk data sampling dan yang mana digunakan untuk perubahan data. Seperti yang ditunjukan pada gambar di atas, ketika UCPOL nol data akan diubah pada tepi kenaikan XCK dan dicontohkan pada tepi XCK saat jatuh. Jika UCPOL dalam kondisi set, data akan mengalami perubahan pada saat tepi XCK jatuh dan data akan dicontohkan pada saat tepi XCK naik.

5. Inisialisasi USART

USART harus diinisialisasi sebelum komunikasi manapun dapat berlansung. Proses inisialisasi normalnyaterdiri daripengesetan boud rate, penyetingan frame format dan pengaktifan pengirim atau penerimatergantung pada pemakaian. Untuk interrupt menjalankan operasi USART , global interrupt flag ( penanda ) sebaiknya dibersihkan ( dan interrupt global disable ) ketika inisialisasi dilakukan. Sebelum melakukan inisialisasi ulang dengan mengubah boud rate atau frame format, untuk meyakinkan bahwa tidak ada transmisi berkelanjutan sepanjang peiode register yang diubah. Flag TXC dapat digunakan untuk mengecek bahwa pemancar telah melengkapi semua pengiriman, dan flag RXC dapat digunakan untuk mengecek bahwa tidak ada data yang tidak terbaca pada buffer penerima. Tercatat bahwa flag TXC harus dibersihkan sebelum tiap transmisi ( sebelum UDR ditulisi ) jika itu semua digunakan untuk tujuan tersebut. USART sederhana inisialisasi kode contoh berikut menunjukan fungsi satu assembly dan satu C itu mempunyai kesamaan dalam kemampuan. Pada contoh tersebit mengasumsikan bahwa operasi asinkron menggunakan metode poling ( tidak ada interrupt enable ) frame

34Ibit hal 141 57

Page 58: pendeteksi gempa

format yang tetap. Boud rate diberikan sebagai fungsi parameter. Untuk kode assembly, parameter boud rate diasumsikan untuk di simpan pada register r16, r17. Ketika menulis fungsi pada register UCSRC, bit URSEL (MSB) harus diset dalam kaitan dengan pembagian penempatan I/O oleh UBRRH dan UCSRC. Lebih mengedepankan inisialisasi rutin dapat dibuat seperti itu meliputi frame format sebagai parameter, disable interrupt dan lain-lain. Bagai manapun juga banyak aplikasi menggunakan seting tetap boud dan register control, dan untuk aplikasi jenis ini dapat ditempatkan secara langsung pada keseluruhan routine, atau dikombinasikan dengan inisialisasi kode untuk modul I/O yang lain.

2.4 BAHASA C 2.4.1 Sejarah dan Standar C

Akar dari bahasa C adalah dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thomson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah Bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT dan T Bell Laboratories). Bahasa C pertama kali digunakan di komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem opersi UNIX C adalah bahasa yang standar, artinya suatu program yang ditulis dengan bahasa C tertentu akan dapat dikonversi dengan bahasa C yang lain dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Patokan dari standar UNIX ini diambil dari buku yang ditulis oleh Brian Kerningan dan Dennis Ritchie berjudul “The C Programming Language”, diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian kemudian dikenal secara umum sebagai “K dan R C”.

2.4.2 Tipe Data

Didalam bahasa pemrograman computer, data yang digunakan umumnya dibedakan menjadi data nilai numerik dan nilai karakter. Nilai numerik dapat dibedakan lagi menjadi nilai numerik integer dan nilai numerik pecahan. Nilai numeric pecahan dapat dibedakan lagi menjadi nilai numerik pecahan ketetapan tungga dan nilai numerik pecahan ketetapan ganda. Bahasa-bahasa pemrograman

58

Page 59: pendeteksi gempa

computer membedakan data ke dalam beberapa tipe dengan tujuan supaya data menjadi efisien dan efektif. C menyediakan lima macam tipe data dasar, yaitu tipe data integer (nilai numerik bulat yang dideklarasikan dengan int), floatingpoint (nilai numerik pecahan ketetapan tunggal yang dideklarasikan dengan float), double-precision (nilai numerik pecahan ketetapan ganda yang dideklarasikan dengan double).

Tabel 2.11 Tipe-tipe data dasar

Karakter (dideklarasikan dengan char), dan kosong (dideklarasikan dengan void). Int,float, double dan char dapat dikombinasikan dengan pengubah (modifier) signed, unsigned,

59

Page 60: pendeteksi gempa

long dan short. Hasil dari kombinasi tipe data ini dapat dilihat pada tabel.

2.4.3 Pengenalan Fungsi-Fungsi Dasar

Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program, sedangkan tanda di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi. Hal ini hanya merupakan kebiasaan. Tujuannya untuk memudahkan pencarian terhadap program utama bagi pemrogram. Jadi bukanlah merupakan suatu keharusan.

2.4.4 Pengenalan Praprosesor #include #include merupakan salah satu jenis pengarah praprosesor

(preprocessor directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi.Bentuk umum #include:

#include “namafile”

Bentuk pertama (#include <namafile>) mengisyaratkan bahwa

pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi.

60

Page 61: pendeteksi gempa

2.4.5 Operator Relasi Operator relasi biasa dipakai untuk membandingkan dua buah

nilai. Hasil pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada C.

Tabel 2.12 Operator Relasi

2.4.6 Operator Logika.

Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Keseluruhan operator logika ditunjukkan pada tabel 2.13.

Tabel 2.13 Operator Logika

Bentuk pemakaian operator && dan || adalah:

operand1 operator operand2 2.4.7 Pernyataan Bahasa C 2.4.7.1 Pernyataan if

Pernyataan if mempunyai bentuk umum :

61

Page 62: pendeteksi gempa

if (kondisi ) pernyataan;

Bentuk ini menyatakan : Jika kondisi yang diseleksi adalah benar (bernilai logika = 1),

maka pernyataan yang mengikutinya akan diproses. Sebaliknya, jika kondisi yang diseleksi adalah tidak benar

(bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan diproses. Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Diagram alir dapat dilihat seperti gambar 2.31.

Gambar 2.31 Diagram alir if

kondisi

pernyataan

benar

salah

2.4.7.2 Pernyataan if-else Pernyataan if-else memiliki bentuk :

if (kondisi) pernyataan-1;

else pernyataan-2;

Arti dari pernyataan if-else :

62

Page 63: pendeteksi gempa

Jika kondisi benar, maka pernyataan-1 dijalankan. Sedangkan bila kondisi bernilai salah, maka pernyataaan-2

yang dijalankan. Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong.

Gambar 2.32 Diagram alir if-else

kondisi

Pernyataan1

benar

salah

Pernyataan2

2.4.7.3 Pernyataan Switch 2.4.7.3.1 Pernyataan switch Tunggal

Bentuk sintak dari statement switch tunggal adalah sebagai berikut:

switch(kondisi)

case konstanta1: statemen-statemen; break;

casekonstanta2: statemen-statemen; break; . .

default; statemen-statemen;

63

Page 64: pendeteksi gempa

2.4.8 Perulangan FOR Pada pemrograman proses perulangan dibagi dua 2 bagian

utama yaitu : 1. Perulangan yang sudah diketahui jumlah perulangan sebelumnya

perulangan tersebut dilakukan. 2. Perulangan yang belum diketahui jumlah perulangannya sebelum

perulangan tersebut dilakukan. Dalam hal ini dibagi menjadi dua bagian yaitu : a. kondisi perulangan diperiksa diawal perulangan. b. kondisi perulangan diperiksa diakhir perulangan.

Bentuk pernyataan for:

for (ungkapan1; ungkapan2; ungkapan3) pernyataan ; ..................;

Keterangan : Ungkapan1 : Digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop.

Ungkapan2 : Dipakai untuk kondisi keluar dari loop. Ungkapan3 : Dipakai sebagai pengatur kenaikan nilai variabel pengendali loop.

2.4.9 Perulangan While dan Do While

Perulangan yang belum diketahui berapa kali akan diulangi maka dapat menggunakan while atau do while.Pada pernyatan while, pemeriksaan terhadap loop dilakukan di bagian awal (sebelum tubuh loop). Pernyataan while akan diulangi terus menerus selama kondisi bernilai benar, jika kondisinya salah maka perulangan dianggap selesai.

2.4.10 Lompatan Statemen goto dapat digunakan untuk melompati dari suatu

proses ke bagian proses yang lainnya di dalam program. Bentuk umum dari statemen goto adalah sebagai berikut:

goto label;

64

Page 65: pendeteksi gempa

2.5 Skala Richter Skala Richter yang diusulkan oleh Charles Richter didefinisikan sebagai logaritma (basis 10) dari amplitudo maksimum, yang diukur dalam satuan mikrometer, dari rekaman gempa oleh instrumen pengukur gempa (seismometer) Wood-Anderson, pada jarak 100 km dari pusat gempanya. Sebagai contoh, misalnya kita mempunyai rekaman gempa bumi (seismogram) dari seismometer yang terpasang sejauh 100 km dari pusat gempanya, amplitudo maksimumnya sebesar 1 mm, maka kekuatan gempa tersebut adalah log (10 pangkat 3 mikrometer) sama dengan 3,0 skala Richter. Untuk memudahkan orang dalam menentukan skala Richter ini, tanpa melakukan perhitungan matematis yang rumit, dibuatlah tabel sederhana seperti gambar 2.33 di bawah ini.

Gambar 2.33 Perhitungan skala richter1

Parameter yang harus diketahui adalah amplitudo maksimum yang terekam oleh seismometer (dalam milimeter) dan beda waktu tempuh antara gelombang-P dan gelombang-S (dalam detik) atau jarak antara seismometer dengan pusat gempa (dalam kilometer). Dalam gambar di atas dicontohkan sebuah seismogram mempunyai amplitudo maksimum sebesar 23 milimeter dan selisih antara gelombang P dan gelombang S adalah 24 detik maka dengan menarik garis dari titik 24 dt di sebelah

1www.wikipedia.org 65

Page 66: pendeteksi gempa

kiri ke titik 23 mm di sebelah kanan maka garis tersebut akan memotong skala 5,0. Jadi skala gempa tersebut sebesar 5,0 skala Richter. Untuk mengetahui besaran skala Richter dan akibat yang ditimbulkan dapat dilihat pada tabel 2.14 di bawah ini

Tabel 2.14 Skala Richter35

Kondisi Skala richter

Akibat

Mikro < 2.0 Getaran tidak terasa

Sangat Kecil 2.0 – 2.9 Umumnya getaran tidak terasa tapi dapat terdeteksi

Kecil 3.0 – 3.9 Sedikit terasa, jarang menyebabkan kerusakan

Ringan 4.0 – 4.9 Menggetarkan perabotan dan menyebabkan bunyi berderak

Medium 5.0 – 5.9 Menyebabkan kerusakan pada bangunan dengan konstruksi kurang baik

Kuat 6.0 – 6.9 Jangkauan kerusakan 100 mil disekitar titik gempa

Besar 7.0 – 7.9 Menyebabkan kerusakan yang serius pada kawasan yang luas

Sangat besar 8.0 – 8.9 Menyebabkan kerusakan yang serius pada beberapa kawasan sangat luas

Dahsyat > 9.0 Kerusakan total

66

Page 67: pendeteksi gempa

35www.wikipedia.org

+++++++++Halaman ini sengaja dikosongkan+++++++++

67

Page 68: pendeteksi gempa

BAB III

PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS DAN LUNAK

Perancangan sistem ini memerlukan sebuah sensor yang dapat mendeteksi getaran dengan menggunakan prinsip Hukum Faraday. Sensor ini terdiri dari sebuah kumparan dengan intinya yang dapat bergerak. Dari pergerakan kumparan dan inti ini menyebabkan perubahan ggl induksi yang dihasilkan. Perubahan ggl induksi ini menghasilkan suatu bentuk sinyal tertentu. Sinyal analog ini kemudian diubah melalui ADC (Analog to Digital Converter) untuk memberikan aksi pada gedung sesuai nilai tegangan yang di terima ADC. 3.1. PERANCANGAN PERANGKAT KERAS

Perangkat utama dari sistem ini adalah piranti sensor, modul driver sensor dan rangkaian simulasi pada gedung. Blok perangkat keras ini ditunjukkan pada gambar 3.1.

Mikrokontroler Penguat

Aksi pada gedung

ADC Sensor

Gambar 3.1 Diagram Blok Rangkaian 3.1.1. Sistem Kerja Secara umum sistem kerja dari blok diagram diatas adalah sensor akan bekerja untuk mendeteksi getaran. Output dari sensor ini berupa perubahan tegangan. Tegangan yang dihasilkan oleh sensor ini masih terlalu kecil sehingga perlu dikuatkan oleh rangkaian operasional amplifier (Op-Amp). Tegangan yang dihasilkan dari sensor berada pada range positif dan negatif. Agar dapat dibaca atau diproses oleh ADC maka sinyal sinus tersebut perlu disearahkan terlebih dahulu dan kemudian diubah ke tegangan DC. Maka dalam proses ini ditambahkan rangkaian penyearah dan pengubah AC ke DC. Tegangan yang paling

68

Page 69: pendeteksi gempa

besar berada pada tengah-tengah sensor, tegangan ini terbaca saat sensor dalam keadaan diam. Agar saat diam tegangan yang terbaca kecil maka untuk aplikasi ini ditambahkan rangkaian differensial sebelum masuk ke ADC. Penggunaan ADC sebagai konversi sinyal analog yang dihasilkan dari driver (penguat) sensor tersebut. Data yang dihasilkan berupa kode biner yang dilakukan berdasarkan perintah dari mikrokontroller yang dilakukan secara real time. Penggunaan mikrokontoller sebagai kontrol aksi pada simulasi gedung. Mikrokontroller akan membaca nilai dari ADC yang kemudian akan disimpan sementara pada mikrokontroller yang akan digunakan untuk mengaktifkan aksi-aksi pada gedung. 3.1.2. Perancangan Sensor Getaran Dalam perancangan sensor getaran ini komponen yang diperlukan adalah kawat email, inti ferit, pegas, resistor masing-masing 1K dan 3K3,rangkaian oscilator serta sebuah penyangga. Kawat email yang digunakan sebagai lilitan dipilih email yang memiliki diameter 0.4 mm. Pemilihan diameter email sebesar 0.4 mm ini karena semakin banyak lilitan email yang digunakan maka fluks magnetik yang dihasilkan akan semakin besar pula. Panjang email yang digunakan kira-kira 50 m dan jumlah lilitan sebanyak ± 900. Ferit yang digunakan adalah ferit yang secara umum dijual dipasaran dengan panjang 18 cm dan mempunyai diameter sebesar 1 cm. Untuk pegas dipilih pegas yang sangat lentur namun masih bisa menahan berat yang sangat besar. Resistor yang dipilih hanya untuk menunjukkan adanya beda potensial diantara dua kutub tersebut. Rangkaian osilator yang digunakan dipilih pada frekuensi 190 KHz. Pemilihan frekuensi ini karena menghasilkan amplitudo maksimal. Desain dari kontruksi sensor ditunjukkan pada gambar 3.2.

69

Page 70: pendeteksi gempa

Gambar 3.2 Desain konstruksi sensor Prinsip kerja dari sensor tersebut adalah saat terdapat getaran maka lilitan akan bergerak secara vertikal (naik-turun). Pergerakan lilitan tersebut disebabkan oleh pegas yang menahannya. Arus penyebab dari rangkaian osilator dihubungkan dengan lilitan. Maka dengan demikian akan timbul arus induksi atau ggl induksi yang mengalir pada loop tertutup pada rangkaian resistor tersebut. Besarnya ggl induksi pada loop tertutup resistor sebanding dengan besarnya getaran yang ditangkap oleh sensor. Output sensor yang berupa tegangan inilah yang selanjutnya diproses untuk mengontrol aksi pada simulasi gedung. Untuk flowchartnya dapat dilihat pada gambar 3.3 di bawah ini

70

Page 71: pendeteksi gempa

Y N Y N Y N

start

Baca ADC

aman

sedang

besar L off, B on, M on

L on,B on, M off

L on,B off, M off

end

Gambar 3.3 Flowchart sistem Ket L=lampu sbg simulasi saluran listrik dan gas B=buzzer sbg simulasi alarm tanda bahaya M=motor sbg simulasi pintu darurat 3.1.3. Perancangan Rangkaian Operasional Amplifier 3.1.3.1. Penguat Non-Inverting Gambar 3.3 dibawah ini merupakan rangkaian pemilih penguatan dengan menggunakan non-inverting amplifier. Harga penguatan yang dihasilkan bergantung pada harga Rf dan Rin yang keduanya merupakan resistansi input dan resistansi feedback dengan persamaan :

Av = 1 + Ri

Rf

......................(3.1)

71

Page 72: pendeteksi gempa

Av = Vin

Vout

......................(3.2)

+

-

InOut

TL 084

R1

100KR2

10K

Gambar 3.4 Rangkaian penguat non-inverting

3.1.3.2. Rangkaian Penyearah Rangkai nyearah gelombang uaran yang

nn a, tetapi tidak sebanding dengan

an penyerah yang digunakan adalah r gkaian pepenuh yang mana akan mengeluarkan suatu kel

an

sebanding dengan besar masukapolaritas masukannya. Berikut in

yi adalah gambar rangkaian penyearah

gelombang penuh dengan menggunakan diode 1N4148 dan IC TL074.

+-

-+

10 K

IN4148

Output

IN4148

IN4148

IN4148

10 K

10 K

10 K

5K6

Input

TL 074

TL 074

Gambar 3.5 Rangkaian Penyearah

72

Page 73: pendeteksi gempa

3.1.3.3. Rangkaian Pengubah AC ke DC Sebuah kapasitor bocoran rendah yang harganya besar (10 uF tantalum) ditambahkan dengan rangkaian harga mutlak dari gambar 3.5. Rangkaian yang dihasilkan adalah penguat MAV atau pengubah ac-ke-dc yang terlihat pada gambar 3.5. Kapasitor C melaksanakan perataan keluaran yang disearahkan dari opamp B. Diperlukan kira-kira 50 siklus tegangan masukan sebelum tegangan kapasitornya menurun ke pembacaan akhir. Jika bentuk-bentuk gelombang sinus diterapkan ke pengubah ac-ke-dc, keluaran akan merupakan MAV dari tiap gelombang.

Gambar 3.6 Rangkaian pengubah ac-ke-dc

3.1.3.4. Rangkaian differensial

73

Page 74: pendeteksi gempa

Gambar 3.7 Rangkaian differensial Ouput dari rangkaian pengub ac ke dc sebagai input rangkaian

negatif Op-Amp. Kemudian pada kaki positif dihubungkan pada tegangan dc sebesar tegangan maksimal yang dihasilkan oleh sensor. Diode zener 5 volt digunakan sebagai pengaman ADC agar tegangan output tidak melebihi 5 volt. 3.1.4. Rangkaian Mikrokontroler AVR ATMega16

ahdiffrensial dihubungkan pada kaki

Gambar 3.8 Rangkaian mikrokontroler Atmega16

Mikrokontroler Atmega 16 dalam proyek akhir ini digunakan untuk mengolah data dari masukan sensor dan kemudian diolah menjadi data keluaran. Atmega16 merupakan mikrokontroler keluarga AVR Atmega termasuk tipe CMOS 8 bit dengan 8 Kbytes Flash PEROM (Programmable Erasable Read Only Memory). Atmega16 mempunyai komponen memori sebagai berikut :

74

Page 75: pendeteksi gempa

1. RAM Internal, memori sebesar 512 bytes yang biasanya

digunakan untuk menyimpan program atau data yang sedang berjalan dan bersifat sementara.

2. Special Function Register (SFR) disebut juga Register fungsi khusus karena memori ini berisi register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut seperti timer, serial dan lain-lain.

3. Flash PEROM, memori yang digunakan untuk menyimpan instruksi/program dasar dari sebuah mikrokontroler.Atmega mempunyai struktur memori yang terpisah antara RAM internal dan Flash PEROM-nya, RAM internal dialamati oleh RAM Address Register sedang FLASH PEROM dialamati oleh Program Address Register. Di sini akan dibahas sedikit keterangan mengenai port-port yang

kita gunakan dalam mikrokontroler. 1. Port paralel 2. Konfigurasi pin dari mikrokontroler untuk ADC 3. Interfacing simulasi pada gedung

3.1.4.1 Port Paralel

Untuk komunikasi paralel pada Atmega 16 sebagai pengiriman atau downl tersedia di Atmega16 yaitu sck port B7, miso port B6, mosi port B5, dan port reset

oad program Menggunakan port paralel yang

port 9. Mendownload program ke Atmega16 melalui modul downloder sebagai interface dari PC ke AVR.

75

Page 76: pendeteksi gempa

Gambar 3.9 Rangkaian Downloader

3.1.4.2. Diagram Blok dan Konfigurasi Pin ADC Adapun blok diagram dari mikrokontroler Atmega1 digambarkan

pada gambar 3.8 Mikrokontroler ini memiliki 40 konfigurasi pin seperti digambarkan pada gambar

76

Page 77: pendeteksi gempa

Gambar 3.10 Blok Diagram ADC Mikrokontroler ATmega16

ADC mengkonversi input analog voltase untuk 10-bit nilai digital sampai berurutan. Nilai minimum sebagai GND dan nilai mak SB. Secara bebas dipilih, AVCC atau suatu 2.56V acuan yang internal

ltase

n ADC dapat pilih

simum sebagai voltase pada batas atas AREF memberi data 1 L

vo dihubungkan kepada AREF dengan menulis kepada REFSN dalam ADMUX Mendaftarkan data. Acuannya adalah voltase internal kemudian decoupled secara eksternal kapasitor di AREF. Analog masuk saluran dan diferensial memproses dengan menulis kepada MUX di dalam ADMUX. ADC yang manapun masuk, seperti halnya GND dan suatu range acuan voltase yang ditetapkan dapat terpilih sebagai masukan ke ADC. Suatu pemilihater sebagai masukan negatif dan positif pada amplifier keuntungannya adalah diferensial. Jika saluran diferensial terpilih, keuntungannya diferensial memperkuat range perbedaan voltase antara input terpilih nilai yang diperbesar kemudian menjadi analog masuk ke ADC.

77

Page 78: pendeteksi gempa

Pada tugas ahkir ini ADC yang digunakan hanya satu channel yaitu ADC channel 0.

angkaian untuk simulasi Simulasi yang digunakan adalah buzzer, LED dan motor. Gambar rangkaian dari simulasi dap t dilihat pada gambar 3.11.

3.1.4.3. Perancangan R

a

PC.0

Gambar 3.11 Rangkaian simulasi pada gedung

Buzer akan berbunyi apabila getaran yang ditangkap sensor bertambah i PortD.7. Kemudian LED digunakan sebagai simulasi dari saluran listrik dan gas. Jika kon

μC

cc+12 PC.6

V

besar. Buzer pada mikrokontroler dihubungkan d

disi tidak ada getaran atau mendeteksi getaran kecil maka LED tetap menyala dan apabila getaran yang ditangkap sensor sangat besar maka secara otomatis LED akan mati. Simulasi LED ini dihubungkan pada PortC 0-6. Motor digunakan untuk simulasi pintu darurat. Untuk driver motor digunakan dua buah relay. Jika getaran yang dihasilkan sensor sangat besar maka pintu secara otomatis akan membuka. Untuk

PD.7

PD.6

78

Page 79: pendeteksi gempa

menutup dapat ditekan tombol switch. Port yang digunakan untuk mengatur pintu ini adalah PortD.6

3.2. PERANCANGAN dan PEMBUATAN PERANGKAT LUNAK

Perancangan software disini adalah software untuk mengontrol

3.2.1

merupakan software C-cross compiler, ditulis menggunakan bahasa-C. Dengan

menggun

hardware.

. CodeVision AVR

CodeVisionAVRdimana program dapat

akan pemrograman bahasa-C diharapkan waktu disain (deleloping time) akan menjadi lebih singkat. Setelah program dalam bahasa-C ditulis dan dilakukan kompilasi tidak terdapat kesalahan (error) maka proses download dapat dilakukan. Mikrokontroler AVR mendukung sistem download secara ISP (In-System Programming).

Gambar 3.12 Tampilan CodeVisionAVR

Untuk memula a me u File -> New. Maka a

i bekerja dengan CodeVisionAVR pilih padkan muncul kotak dialog sebagai berikut :

n

79

Page 80: pendeteksi gempa

Gambar 3.13 Tampilan new file

Pilih Project kemudian tekan OK, maka akan muncul kotak dialog

berikut.

Gambar 3.14 Tampilan option di Wizard AVR

Pilih Yes untuk menggunakan CodeWizardAVR. CodeWizardAVR digunakan untuk membantu dalam men-generate program, terutama dalam konfigurasi chip mikrokontroler, baik itu konfigurasi Port, Timer, penggunaan fasilitas-fasilitas seperti LCD, interrupt, dan sebagainya. CodeWizardAVR ini sangat membantu programmer untuk setting chip sesuai keinginan. Berikut ini tampilan CodeWizardAVR untuk setting Chip dan Port dari mikrokontroler

80

Page 81: pendeteksi gempa

Gambar 3.15Tampilan option IC port

Gambar 3.16 Tampilan Port C AVR

81

Page 82: pendeteksi gempa

Untuk selanjutnya fasilitas-fasilitas lainnya dapat disetting sesuai kebutuhan dari pemrograman. Setelah selesai dengan CodeWizardAVR, selanjutnya pada menu File, pilih Generate, Save and Exit dan simpan pada direktori yang diinginkan.

Gambar 3.17 Tampilan Save general project

82

Page 83: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

83

Page 84: pendeteksi gempa

BAB IV PENGUJIAN DAN ANALISA

PERANGKAT KERAS DAN LUNAK Untuk mengetahui bekerja atau tidaknya perangkat yang telah dibuat harus dilakukan suatu pengujian berupa kinerja maupun dengan pengukuran terhadap perangkat juga terhadap respon yang dihasilkan. Suatu sistem dinyatakan bekerja dengan baik bila sistem itu bekerja sesuai dengan tujuan awal yang dicapai saat pertama kali dilakukan perancangan. 4.1. PENGUJIAN PERANGKAT KERAS 4.1.1. Pengujian Sensor Getaran • Tujuan

Untuk mengetahui pengaruh posisi solenoid terhadap tegangan yang dihasilkan.

• Rangkaian pengujian

Gambar 4.1 Rangkaian pengujian sensor getaran

• Peralatan yang dibutuhkan - Sensor getaran yang telah dibuat - Rangkaian Osilator - Osciloscop

84

Page 85: pendeteksi gempa

• Langkah-langkah Pengukuran 1. Menghubungkan lilitan dengan Osilator dan Resistor dengan

Osciloscop. 2. Atur Amplitudo dan Frekuensi Osilator pada nilai tertentu. 3. Ubah-ubah posisi solenoid. 4. Amati sinyal pada Osciloscop, catat nilainya dan masukkan

pada tabel. 5. Ulangi langkah dua sampai empat hingga didapatkan data

yang valid. • Hasil Pengujian

- Tabel pengujian

Tabel 4.1 Hasil pengujian sensor f = 190 KHz

Posisi Output 0 cm (paling bawah) 8,40 mVp-p

1 cm 22,7 mVp-p 2 cm 33,4 mVp-p 3 cm 44,8 mVp-p 4 cm 34,0 mVp-p 5 cm 21,3 mVp-p

6 cm (paling atas) 8,70 mVp-p

Dari hasil pengujian dapat diketahui bahwa tegangan terbesar didapatkan saat solenoid berada di posisi tengah. Hal ini disebabkan karena arus induksi yang dihasilkan oleh solenoid yang melewati resistor saat soleniod berada di tengah adalah yang terbesar. Tegangan output saat posisi solenoid berada di atas dan di bawah hampir sama dan tidak ada perbedaan beda fase. Tegangan terbesar yang dihasilkan adalah sebesar 44,8 mVp-p dan tegangan terkecil yang dihasilkan adalah sebesar 8,40 mVp-p.

Dari hasil tabel pengujian juga dapat diketahui bahwa tegangan yang dihasilkan dari perubahan posisi solenoid berubah secara tidak linier, dimana tegangan output yang dihasilkan akan semakin besar bila posisi solenoid semakin jauh dari resistor.

Resistor yang digunakan pada sensor tersebut adalah sebesar 1K dan 3K3 dengan daya resistor sebesar 2W. Pemilihan komponen tersebut dilakukan setelah melakukan pengujian terhadap beberapa resistor dengan nilai dan daya yang berbeda, dimana hasil dari pengujian tersebut dapat diketahui bahwa

85

Page 86: pendeteksi gempa

berapapun nilai dari resistor jika dayanya semakin besar maka tegangan output yang dihasilkan juga semakin besar. Untuk daya yang sama, jika nilai resistor semakin besar tegangan output yang dihasilkan juga semakin besar namun noise juga ikut besar sehingga bentuk sinyal output yang terlihat pada osiloskop sudah bercampur dengan noise (tidak murni sinus lagi). Dari pengujian tersebut digunakan frekuensi input dari rangkaian Osilator sebesar 190 KHz. Hal ini dilakukan karena saat melakukan pengujian diketahui bahwa bila frekuensi input kecil, maka tidak akan timbul medan magnet pada solenoid sehingga tidak ada arus induksi yang melewati resistor yang menyebabkan tidak ada tegangan output. Saat frekuensi terlalu besar, sinyal atau tegangan output yang dihasilkan mengalami banyak kecacatan atau noise sehingga sinyal outputnya tidak murni sinus lagi. Dari hasil pengujian tersebut juga dapat diketahui bahwa besarnya frekuensi input sama dengan frekuensi output yang dihasilkan oleh sensor. Data hasil pengujian untuk beberapa variasi frekuensi osilator tercantum pada lampiran 1.

4.1.2. Pengujian Operasional Amplifier 4.1.2.1. Pengujian Penguat Non-Inverting • Tujuan

Untuk mendapatkan penguatan beberapa kali agar saat input maksimal didapatkan output maksimal yang terukur pada skala rata-rata (tegangan yang terukur pada voltmeter) sebesar 5V DC.

• Rangkaian Pengujian

Gambar 4.2 Rangkaian pengujian penguat non-inverting

• Peralatan yang dibutuhkan

- Power supply ganda +12 V, -12 V dan GND - Sensor yang telah dibuat - Osilator

86

Page 87: pendeteksi gempa

- Osciloscop • Langkah-langkah Pengukuran

1. Menghubungkan rangkaian dengan catu daya, osilator dan osciloscop.

2. Ubah-ubah posisi sensor. 3. Amati tegangan output pada osciloscop, catat nilainya dan

masukkan pada tabel. 4. Ulangi langkah 2 dan 3 untuk beberapa data yang berbeda. 5. Hitung Vout berdasarkan teori.

VinRiRfVout •⎟

⎠⎞

⎜⎝⎛ += 1

......................(4.4) 6. Bandingkan hasil pengukuran dengan hasil teori, cari persen

error.

%100•−

=TeoriPengukuranTeoriErrorPersen ............(4.5)

• Hasil Pengujian - Tabel

Tabel 4.2 Hasil pengukuran rangkaian penguat Input Output

Pengukuran Output Teori

Error

8,4 mVp-p 3.3 Vp-p 3,23 Vp-p 2,16 % 22,7 mVp-p 8.8 Vp-p 8,73 Vp-p 0.80 % 33,4 mVp-p 12.7 Vp-p 12,85 Vp-p 1,16 % 44,8 mVp-p 17.4 Vp-p 17,24 Vp-p 0,92 % 34,0 mVp-p 13.0 Vp-p 13,09 Vp-p 0,68 % 21,3 mVp-p 8.3 Vp-p 8,20 Vp-p 1,21 % 8,70 mVp-p 3.4 Vp-p 3,34 Vp-p 1,79 %

- Gambar bentuk sinyal

87

Page 88: pendeteksi gempa

(a) (b)

(

(c) Gambar 4.3 Bentuk sinyal output penguat

a.Tengah b.Bawah c. Atas

• Analisa Dari hasil perhitungan persen error pada tabel diatas, dapat

diketahui bahwa terdapat perbedaan antara hasil pengukuran dengan hasil perhitungan. Hal ini disebabkan karena adanya ketidakpresisian komponen dan juga pengaruh noise dari luar.

Dari hasil tabel diatas dapat diketahui bahwa penguatan yang dihasilkan sebesar ± 385 kali. Sinyal input dari rangkaian diatas berasal dari sinyal output pada sensor.

Dalam hal ini kami tidak memperhitungkan besarnya penguatan, karena penguatan yang kami buat hanya digunakan untuk menguatkan sinyal output dari sensor yang masih terlalu kecil yang tujuannya adalah agar sinyal ouput dari sensor tersebut dapat diolah atau diproses pada bagian pengubah AC ke DC yang mana output dari rangkaian pengubah AC ke DC terukur dalam skala Vdc (Tegangan rata-rata).

4.1.2.2 Pengujian Rangkaian Rectifier dan Pengubah AC ke DC • Tujuan

Untuk mengubah sinyal AC dari sensor menjadi sinyal DC yang terukur pada kondisi rata-rata atau tegangan yang terukur pada voltmeter yang akan diumpankan atau digunakan sebagai masukan untuk ADC sehingga sinyal tersebut bisa diolah oleh ADC.

88

Page 89: pendeteksi gempa

• Rangkaian Pengujian

Gambar 4.4 Rangkaian pengujian rectifier dan pengubah ac ke dc • Peralatan yang dibutuhkan

- Power supply ganda +12 V, -12 V dan GND - Voltmeter digital - Osilator - Osciloscop

• Langkah-langkah Pengukuran 1. Menghubungkan rangkaian dengan catu daya, Osilator dan

osciloscop. 2. Menghubungkan rangkaian sensor dengan Osilator (output dari

sensor yang telah dikuatkan digunakan sebagai input pada rangkaian ini).

3. Ubah-ubah posisi sensor. 4. Amati tegangan output pada osciloscop, ukur tegangan output dengan voltmeter, catat nilainya dan masukkan pada tabel.

5. Ulangi langkah 3 dan 4 untuk beberapa data yang berbeda.

• Hasil Pengujian Tabel 4.3 Hasil Pengukuran Rangkaian Pengubah AC ke DC

Input Output (DC) 3.3 Vp-p 1,25 Vdc 8.8 Vp-p 3.42 Vdc

12.7 Vp-p 4,46 Vdc 17.4 Vp-p 6,42 Vdc 13.0 Vp-p 4,67 Vdc

89

Page 90: pendeteksi gempa

8.3 Vp-p 2,95 Vdc 3.4 Vp-p 1,53 Vdc

• Analisa

Dari hasil pengukuran dapat diketahui bahwa tegangan output yang terukur pada skala V-dc berubah sebanding dengan perubahan tegangan input yang terukur pada skala Vp-p. Input rangkaian diatas adalah sinyal output dari penguat yang masih berupa sinyal AC. Output dari rangkaian ini sudah berupa sinyal DC. Untuk membalik nilai tegangan terhadap posisi sensor maka sebelum masuk ke ADC ditambahkan rangkaian differensial.

4.1.3. Pengujian Rangkaian Differensial • Tujuan

Untuk membalik nilai tegangan terhadap posisi selenoid. • Rangkaian Pengujian

Gambar 4.5 Rangkaian pengujian differensial

• Peralatan yang dibutuhkan

- Power supply ganda +12 V, -12 V dan GND - Voltmeter digital - Osilator - Osciloscop

• Langkah-langkah Pengukuran 1. Menghubungkan rangkaian dengan catu daya, Osilator dan

90

Page 91: pendeteksi gempa

osciloscop. 2. Menghubungkan rangkaian sensor dengan Osilator (output dari

sensor yang telah disearahkan digunakan sebagai input pada rangkaian ini).

3. Ubah-ubah posisi sensor. 4. Amati tegangan output pada osciloscop, ukur tegangan output dengan voltmeter, catat nilainya dan masukkan pada tabel. 5. Ulangi langkah 3 dan 4 untuk beberapa data yang berbeda. • Hasil Pengujian

Tabel 4.4 Hasil Pengukuran Rangkaian Differensial Input Output (DC)

1,25 Vdc 4,86 Vdc 3.42 Vdc 3.42 Vdc 4,46 Vdc 1,25 Vdc 6,42 Vdc 0,76 Vdc 4,67 Vdc 1,47 Vdc 2,95 Vdc 3,75 Vdc 1,53 Vdc 4,58 Vdc

• Analisa

Dari hasil pengukuran dapat diketahui bahwa tegangan output yang terukur berbanding terbalik terhadap tegangan input. Input rangkaian diatas adalah sinyal output dari penyearah. Output dari rangkaian ini sebelum dimasukkan ADC ditambahkan diode zener 5 V agar output dari rangkaian tidak lebih dari 5 volt.

4.2 Pengujian sistem keseluruhan

Pada pengujian ini kita dapat diketahui besar gempa yang terjadi dengan melihat jarak simpangan dari selenoid sensor. Berdasarkan perhitungan dengan metode tabel seperti yang dijelaskan pada teori skala richter maka sensor ini hanya mampu mendeteksi gempa sebesar 6 skala richter. Nilai ini diperoleh dari simpangan maksimum sebesar 7 cm (70 milimeter ) dan lama waktu pendeteksi getaran adalah 5 detik maka dengan menarik garis dari titik 5 detik di sebelah kiri ke titik 7 cm di sebelah kanan maka garis tersebut akan memotong skala 6,0. Jadi skala gempa tersebut sebesar 6,0 skala Richter. Untuk lebih jelasnya dapat dilihat pada gambar 4.6 di bawah ini

91

Page 92: pendeteksi gempa

Gambar 4.6 Perhitungan Skala Richter

Data ADC yang terbaca sesuai dengan simpangan selenoid dapat dilihat pada gambar 4.7 di bawah ini

(a) (b)

92

Page 93: pendeteksi gempa

(c)

Gambar 4.7 Data yang terbaca ADC a. Aman b.Mulai bahaya c. Bahaya

• Hasil pengujian

Tabel 4.5 Hasil pengujian sistem secara keseluruhan

Simpangan (cm)

Magnitude (Skala richter)

Data yang dibaca ADC Aksi

0 2.8 ±4234 LED on, Buzzer off, Motor off

1 3.0 ±4664 LED on, Buzzer off, Motor off

2 3.5 ±5084 LED on, Buzzer off, Motor off

3 4.0 ±5565 LED on, Buzzer on, Motor off

4 4.4 ±6176 LED on, Buzzer on, Motor off

5 5.0 ±7024 LED on, Buzzer on, Motor off

6 5.6 ±9218 LED off, Buzzer on, Motor on

7 6.0 ±9953 LED off, Buzzer on, Motor on

93

Page 94: pendeteksi gempa

• Analisa Dari data yang diperoleh dapat diketahui apabila sensor mendeteksi

getaran sebesar 2.8 – 3.5 skala richter maka pada simulasi gedung tidak melakukan aksi (LED on, buzzer off, motor off). Hal ini dikarenakan pada skala tersebut kondisi masih tergolong aman. Jika getaran yang terdeteksi sebesar 4.0 – 5.0 skala richter maka kondisi tersebut mulai berbahaya, pada simulasi gedung akan membunyikan buzzer tetapi LED masih tetap menyala. Apabila getaran semakin besar yaitu 5.6 – 6.0 skala richter maka pada simulasi gedung akan mematikan LED, membunyikan buzzer dan menghidupkan motor. Sensor yang telah dibuat ini mampu mendeteksi getaran maksimal 6.0 skala richter hal ini dikarenakan simpangan terjauh dari sensor adalah 7 cm.

94

Page 95: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

95

Page 96: pendeteksi gempa

BAB V PENUTUP

5.1. KESIMPULAN Dari seluruh tahapan yang sudah dilaksanakan pada penyusunan proyek akhir ini, mulai dari study literatur, perancangan dan pembuatan sampai pada pengujiannya maka dapat disimpulkan bahwa: • Aksi pada simulasi gedung dibagi menjadi tiga kondisi yaitu aman,

medium dan bahaya. Kondisi aman berada di bawah 3.5 skala richter hasil dari perhitungan simpangan sensor yang tidak lebih dari 2 cm. Untuk kondisi medium berada pada 4.0 – 5.0 skala richter yang merupakan hasil perhitungan simpangan sensor sejauh 3 – 5cm. Sedangkan untuk kondisi bahaya berada pada 5.6 – 6.0 skala richter dengan simpangan sensor sejauh 6 – 7 cm.

• Sensor yang telah dibuat mampu mendeteksi getaran maksimal 6.0 skala richter. Hal ini dikarenakan jarak simpangan terjauh dari selenoid hanya 7 cm.

• Getaran yang dideteksi sensor pada proyek akhir ini adalah dari hasil simulasi saja karena untuk kondisi sebenarnya kita harus menunggu terjadinya gempa.

• Sensor ini dapat bekerja dengan baik pada input frekuensi 190 KHz. Untuk input frekuensi dibawah 190KHz tegangan output dari sensor tidak keluar, sebaliknya jika input frekuensi yang diberikan diatas 190 KHz akan terjadi noise sehingga output dari sensor tidak sesuai yang diharapkan.

5.2. SARAN Untuk lebih memperbaiki dan menyempurnakan kinerja dari alat ini, maka perlu disarankan : • Untuk penggunaan pada kondisi nyata sebaiknya dilakukan

kalibrasi terlebih dahulu dengan seismograf. • Frekuensi yang digunakan sebaiknya disesuaikan dengan jumlah

lilitan dan diameter kawat email yang digunakan pada sensor. .

96

Page 97: pendeteksi gempa

+++++++++Halaman ini sengaja dikosongkan+++++++++

97

Page 98: pendeteksi gempa

DAFTAR PUSTAKA [1] Sigit Priyanto, 2005, “Sensor Posisi untuk Mendeteksi Amplitudo Getaran dengan Hukum Faraday”, Proyek Akhir D3 Jurusan Teknik Elektronika PENS-ITS, Surabaya. [2] Marthen Kanginan, “FISIKA 2000”, Penerbit ERLANGGA,

Jakarta, 1995. [3] Paulus Andi Nalwan, “Panduan praktis teknik antarmuka dan

pemrograman mikrokontroller ATmega16”, PT. Elex Media Komputindo, Jakarta, 2003.

[4] Robert F. Coughlin, Frederick F. Driscoll, “Operational Amplifiers and Linier Integrated Circuits”, Penerbit Erlangga, Jakarta, 1994.

[5] ___________,www.atmel.com, diakses 17 Juni 2007 [6] ___________,www.intersil.com, diakses 18 Juni 2007 [7] ___________,www.ligo.caltech.edu, diakses 21 Juni 2007 [8] ___________,www.senet.com.au, diakses 21 Juni 2007 [9] ___________,www.wikipedia.org, diakses 21 Juni 2007

98

Page 99: pendeteksi gempa

#include <mega16.h> // Standard Input/Output functions #include <stdio.h> #include <delay.h> void aksi (void); unsigned int teg,a; char rata2[100]; // Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) // Reinitialize Timer 1 value TCNT1H=0x81; TCNT1L=0x70; // Place your code here teg=a; //sprintf(rata2,"\r %d",teg); puts(rata2); aksi (); a=0; TIFR=0x04; #define ADC_VREF_TYPE 0x40 // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) ADMUX=adc_input|ADC_VREF_TYPE; // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; // Declare your global variables here void aksi (void)

99

Page 100: pendeteksi gempa

if (teg<=6000) delay_ms(500); PORTC=0xff; PORTD.7=0; PORTD.6=0; //putsf("\r lampu hidup,baser mati, motor mati"); else if (teg>6000&&teg<=9000) PORTC=0xff; PORTD.7=1; PORTD.6=0; // putsf("\r lampu hidup,baser hidup, motor mati"); else if (teg>9000) PORTC=0x00; PORTD.7=1; PORTD.6=1; //putsf("\r lampu mati,baser hidup, motor hidup"); void main(void) // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In // State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T PORTA=0x00; DDRA=0x00; // Port B initialization

100

Page 101: pendeteksi gempa

// Func0=Out Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=Out // State0=0 State1=T State2=T State3=T State4=T State5=T State6=T State7=0 PORTB=0x81; DDRB=0x00; // Port C initialization // Func0=Out Func1=Out Func2=Out Func3=Out Func4=Out Func5=Out Func6=Out Func7=Out // State0=1 State1=1 State2=1 State3=1 State4=1 State5=1 State6=1 State7=1 PORTC=0xFF; DDRC=0xFF; // Port D initialization // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=out Func7=Out // State0=T State1=T State2=T State3=T State4=T State5=T State6=0 State7=0 PORTD=0x00; DDRD=0xC0; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 10.800 kHz // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge

101

Page 102: pendeteksi gempa

TCCR1A=0x00; TCCR1B=0xD5; TCNT1H=0x81; TCNT1L=0x70; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x04; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: Off // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0x08; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

102

Page 103: pendeteksi gempa

// Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off // Analog Comparator Output: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 172.800 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: On // ADC Auto Trigger Source: Free Running ADMUX=ADC_VREF_TYPE; ADCSRA=0xA6; SFIOR&=0x0F; SFIOR|=0x10; // Global enable interrupts #asm("sei") while (1) // Place your code here a+=read_adc(0); delay_ms(200); sprintf (rata2,"\r %d",a); //puts(rata2); ;

103

Page 104: pendeteksi gempa

1. Frekuensi 150 KHz

2. Frekuensi 190 KHz

3. Frekuensi 230 KHz

104

Page 105: pendeteksi gempa

Tampak Depan

Tampak Belakang

105

Page 106: pendeteksi gempa

DAFTAR RIWAYAT PENULIS

Data Pribadi Nama : Rachmat Winadi TTL : Sby, 24 Maret 1985 Alamat : Jl. SiwalanKerto Timur 1 no 41 Surabaya Telepon : 08175052018 Email : [email protected] : Belum menikah Agama : Islam

“Berusaha dan berdo’a – berdo’a dan berusaha”

Latar belakang Pendidikan • SDN SiwalanKerto III, 1992 – 1998 • SLTPN 13 Surabaya, 1998 – 2001 • SMAN 16 Surabaya, 2001 – 2004 • Jurusan Elektronika, PENS – ITS, 2004 – 2007

106