• Tidak ada hasil yang ditemukan

T1 612004038 BAB III

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 612004038 BAB III"

Copied!
23
0
0

Teks penuh

(1)

BAB III

PERANCANGAN DAN REALISASI ALAT

Pada bab ini akan dibahas perancangan dan realisasi dari perangkat keras

dan perangkat lunak. Penjelasan akan dimulai dari penjelasan tentang perangkat

keras, dan kemudian akan dijelaskan tentang perancangan dan realisasi perangkat

lunak.

Gambar 3.1. Blok diagram sistem

Perancangan alat terdiri dari modul Accelerometer, modul digital signal

controller ,modul tombol tekan, modul mikrokontroler, modul real time clock,

dan modul komunikasi serial RS-232. Sistem yang dibuat akan menggunakan

sumber catu daya baterai 9 volt sebagai satu-satunya sumber catu daya yang akan

digunakan. Penambahan modul mikrokontroler disebabkan karena munculnya

kendala pemrograman pada modul DSC untuk berhubungan dengan modul real

time clock, sedangkan untuk penyimpanan data diputuskan untuk menggunakan

(2)

3.1 PERANCANGAN DAN REALISASI PERANGKAT KERAS 3.1.1. MODUL ACCELEROMETER

Pada tugas akhir ini dirancang accelerometer yang masih

menggunakan pilihan sensitifitas 800 mV/g dengan jangkauan pengukuran

hingga 1,5 g. Kelebihan dari pengopersian pada pilihan sensitifitas ini

adalah memiliki konsumsi daya yang paling rendah dari pada pilihan

sensitifitas yang lain[5].

Seperti sudah disebutkan sebelumnya accelerometer MMA7260Q

memiliki tegangan operasi (VDD) antara 2.2 volt hingga 3.6 volt. Dan pada

jangkauan pengoperasian ini, accelerometer MMA7260Q memiliki nilai

keluaran tegangan keluaran offset atau bisa disebut juga pengukuran

percepatan pada 0 g (VOFF) yaitu sebesar

sehingga ketika digunakan

VDD = 3,3 volt secara teori akan dihasilkan tegangan offset VOFF = 1,65

volt. Karena digunakan sensitifitas 800 mV/g, maka ketika accelerometer

mengukur percepatan sebesar 1 g maka akan menghasilkan tegangan

keluaran sebesar Vout = 1,65 volt + 800 mV = 2,45 volt. Sedangkan ketika

accelerometer mengukur percepatan sebesar -1 g maka akan menghasilkan

tegangan keluaran sebesar Vout = 1,65 volt - 800 mV = 0,85 volt. Untuk

batas pengukuran minimum yaitu VSS + 0,25 volt dan karena VSS

merupakan pin catu negatif yang terhubung dengan ground maka

pengukuran minimum sebesar tegangan Vout = 0,25 volt. Sedangkan

untuk pengukuran maksimum adalah sebesar VDD - 0,25 volt dan karena

(3)

maka pengukuran maksimum adalah sebesar tegangan Vout = 3,3 volt -

0,25 volt = 3,05 volt. Dengan memilih sensitifitas pengukuran 800 mv/g

maka batas maksimum percepatan yang masih bisa terukur sebelum

puncak tegangan keluarannya terpenggal (clipping) adalah

.

Dan jika tegangan perubahan sebesar 800mV

setara dengan perubahan percepatan sebesar 1 g, maka percepatan

maksimum yang bisa diukur adalah 1,75 g atau 1,75 kali percepatan

gravitasi bumi (9,8 m/s2) pada pilihan sensitifitas 800 mv/g.

Dalam merealisasikan perancangan tugas akhir ini digunakan modul

accelerometer yang sudah ada, yang memiliki dimensi panjang 4,57 cm dan

lebar 2,28 cm. Modul MMA7260Q tersebut sudah dilengkapi dengan

regulator LM1117 yang mengubah tegangan sumber 9 volt menjadi

tegangan 3,3 volt yang nantinya akan dibutuhkan sebagai tegangan sumber

(VDD) dari accelerometer.

(4)

Tabel 3.1. Konfigurasi kaki pin-pin modul accelerometer MMA7260Q

Dalam pengoperasian modul MMA7260Q tersebut, kaki pin 11

hingga pin 16 tidak perlu dihubungkan, kaki pin 10 (Vinput) dihubungkan

dengan sumber tegangan 9 volt, kaki pin 3 (g-select2) dan pin 4 (g-select1)

kondisinya dapat ditentukan sendiri oleh penggunanya sesuai dengan

pilihan sensitifitas accelerometer yang diinginkan (ketika memilih

sensitifitas 800 mv/g maka pin 3 dan pin 4 diberi kondisi logika high

dengan cara menghubungkan kedua pin tersebut pada sumber catu 3,3 volt.

Pin 8(/sleep) juga dihubungkan dengan sumber catu 3,3 volt sehingga

mode sleep tidak diaktifkan.

3.1.2. MODUL TOMBOL TEKAN

Pada tugas akhir ini dibuat sebuah modul tombol tekan yang terdiri

(5)

1. Tombol Reset

Merupakan tombol yang digunakan untuk me-reset jalannya program

pada digital signal controller.

2. Tombol Pengosongan

Merupakan tombol yang digunakan untuk melakukan pemindahan data

dari memori eksternal EEPROM menuju PC komputer melalui jalur

komunikasi serial.

3. Tombol Pengaturan

Merupakan tombol yang digunakan untuk membuat jalannya program

pada digital signal controller masuk kedalam mode pengaturan. Mode

pengaturan adalah mode dimana pengguna dapat mengubah nilai

ambang magnitudo percepatan pada digital signal controller melalui

perangkat lunak aplikasi desktop dengan memanfaatkan jalur

komunikasi serial.

(6)

Gambar 3.4. Modul tombol tekan

3.1.3. MODUL MIKROKONTROLER

Pada tugas akhir ini digunakan modul mikrokontroler ATMega16

yang berfungsi sebagai modul penyimpan data waktu dan data magnitudo

ketika terjadi benturan. Modul mikrokontroler juga berperan dalam

mengirimkan data yang disimpan pada memori ke program aplikasi desktop

melalui jalur komunikasi serial RS-232.

(7)

Mikrokontroler ATMega16 memiliki ukuran memori EEPROM

sebesar 512 Byte. Pada tabel 3.3 akan dijelaskan fungsi pin yang digunakan

didalam perancangan tugas akhir ini.

Tabel 3.2. Konfigurasi pin modul mikrokontroler ATMega16

Pin Mikrokontroler Fungsi Pin

PORTB.7 SCK

PORTB.6 MISO

PORTD.1 Komunikasi serial TXD

PORTD.0 Komunikasi serial TXD

PORTC.0 Komunikasi I2C pin SCL

PORTC.1 Komunikasi I2C pin SDA

PORTC.2 Terhubung dengan GPIOB1 DSC

PORTC.3 Terhubung dengan GPIOB0 DSC

PORTC.4 Terhubung dengan GPIOB2 DSC

3.1.4. MODUL REAL TIME CLOCK

Sebagai modul pewaktu digunakan modul real time clock calendar

(RTCC) PCF8583. Alasan dari digunakannya RTCC PCF8583 tersebut

adalah sudah tersedianya data kalendar yaitu tanggal, bulan dan tahun, serta

masih bekerja pada tegangan VDD minimal sebesar 2,5 volt. Selama

pengoperasiannya modul real time clock akan dikendalikan oleh

mikrokontroler ATMega16, yaitu proses pengambilan data waktu dan

tanggal untuk kemudian disimpan kedalam memori EEPROM dari

(8)

Gambar 3.6. Untai Modul real time clock

Kaki pin5 (SDA) akan dihubungkan dengan PORTC.0 dan kaki pin6

(SCL) dihubungkan dengan PORTC.1 dari mikrokontroler ATMega16.

Komunikasi yang digunakan adalah komunikasi bus-I2C, dimana pada

ATMega16 sudah tersedia library komunikasi I2C dan library serta perintah

(method) untuk pemrograman pengaturan data waktu dan tanggal dari

modul PCF8583 dan juga sudah tersedia perintah pengambilan data waktu

dan tanggal dari modul PCF8583 yang terhubung ke mikrokontroler

ATMega16.Berikut ini gambar modul real time clock yang sudah terhubung

dengan mikrokontroler.

(9)

3.1.5. MODUL DIGITAL SIGNAL CONTROLLER

Pada tugas akhir ini digunakan board DEMO56F8013-EE yang

merupakan board demo untuk digital signal controller MC56F8013.

Gambar 3.8. Board DEMO56F8013-EE

Board demo MC56F8013 memiliki dimensi dengan ukuran panjang

7 cm dan lebar 5.7 cm. Berikut ini kelengkapan yang sudah tersedia pada

board demo MC56F8013-EE tersebut.

1. Modul catu daya

2. DSC MC56F8013

3. Daughter card

3.1.5.1. Modul Catu Daya

Berikut ini gambar untai untuk modul catu daya pada board

DEMO56F8013-EE.

(10)

Terdapat power jack untuk kabel coaxial berukuran 2.1 mm sebagai

saluran untuk sumber catu daya input dari sumber eksternal 9 volt DC.

Kemudian disediakan juga diode FM4001 yang digunakan untuk mencegah

adanya arus arah balik (reverse current), jika terjadi salah polaritas pada

saat pencatuan. Regulator LM1117 memiliki karakteristik tegangan operasi

maksimum (Vinput maksimum) hingga 20 volt dan pada tegangan input

(Vinput) 5 volt hingga 10 volt akan menghasilkan tegangan keluaran (Vout)

sebesar 3,3 volt. Arus yang dibutuhkan oleh board DEMO56F8013-EE

sendiri kurang dari 200 mA. Sedangkan FM4001 dapat menyuplai arus

maksimum hingga 1 Ampere dan LM1117 dapat menyuplai arus maksimum

hingga 800 mA.

3.1.5.2. Modul DSC MC56F8013

Berikut ini gambar untai untuk modul digital signal controller

MC56F8013.

(11)

VDD_IO merupakan pin catu daya 3,3 volt untuk DSC MC56F8013,

dan didapat langsung dari keluaran modul catu daya board

DEMO56F8013-EE. Untuk pin VDDA_ADC merupakan pin catu daya untuk ADC (analog

to digital converter) dari DSC MC56F8013, dan pin ini dihubungkan

dengan sumber catu daya 3,3 volt yang memiliki derau rendah. Dimana

didapatkan melalui pemfilteran sumber catu daya 3,3 volt keluaran dari

modul catu daya board DEMO56F8013-EE. Berikut ini rangkaian filter

yang memisahkan catu daya untuk ADC dan catu daya untuk bagian

komponen lain.

Gambar 3.11. Filter untuk catu daya ADC

Tujuan dari pemfilteran ini sendiri adalah untuk mencegah timbulnya

derau pada sumber catu daya ADC akibat adanya derau digital pada sumber

catu daya yang terhubung dengan rangkaian-rangkaian digital. Dalam tugas

akhir ini rangkaian ini menjadi penting, mengingat adanya ketergantungan

besar bahwa isyarat yang akan diproses diperoleh terlebih dahulu dari hasil

konversi isyarat analog keluaran dari accelerometer dan kemudian diubah

menjadi isyarat digital lewat ADC DSC MC56F8013.

Terdapat kapasitor 22 µF yang terhubung antara pin Vcap dengan Vss.

(12)

tegangan internal didalam DSC MC56F8013 yang mengubah tegangan

sumber eksternal 3,3 volt menjadi tegangan 2,5 volt untuk digunakan dalam

proses logika didalam bagian hardware inti (internal core logic).

3.1.5.3. Daughter Card

Board DEMO56F8013-EE juga diperlengkapi dengan konektor

daughter card yang terletak dibagian belakang board tersebut. Daughter

card menghubungkan kaki pin-pin pada DSC MC56F8013 dengan hardware

eksternal tambahan yang diperlukan dalam perancangan-perancangan yang

memanfaatkan board DEMO56F8013-EE. Berikut ini susunan konektor dari

daughter card pada board DEMO56F8013-EE tersebut.

Gambar 3.12. Daughter card board DEMO56F8013

3.2 PERANCANGAN DAN REALISASI PERANGKAT LUNAK SISTEM

Pada gambar 3.14 akan ditunjukan diagram alir perangkat lunak dari

(13)

Gambar 3.14. Diagram alir perangkat lunak sistem

(14)

Gambar 3.15. Diagram alir Mode Pengaturan Nilai Ambang

3.2.1. PERANGKAT LUNAK PENDETEKSI BENTURAN

Bagian ini membahas mengenai pemrograman yang digunakan

didalam pendeteksi benturan dan penyimpanan data waktu terjadinya Tombol mode

pengaturan nilai ambang ditekan

(15)

benturan beserta data magnitudo benturan tersebut, yaitu antara lain sebagai

berikut.

1. PEMROGRAMAN ADC PADA MC56F8013

Disini akan dijelaskan pengaturan modul ADC pada DSC MC56F8013

hingga hasil konversi berupa data digital yang kemudian akan diolah

ketahap selanjutnya.

3. PEMROGRAMAN FILTER MEDIAN, FILTER FIR LOLOS ATAS

DAN PENDETEKSI BENTURAN.

Perancangan didalam pemrograman filter median, filter FIR lolos atas,

dan pendeteksi benturan mengalami kegagalan yaitu belum bisa

merealisasikan perancangan pemrograman filter-filter dan pendeteksi

benturan tersebut, kemudian dalam merealisasikan pemrograman yang

dibutuhkan masih menggunakan pemrograman yang tersedia pada

acuan utama tugas akhir ini [4], dimana pemrograman acuan tersebut

sesuai dengan pemrograman filter-filter dan pendeteksi benturan yang

hendak dibuat.

2. PEMROGRAMAN PENYIMPANAN DATA WAKTU DAN

BENTURAN

Pada bagian ini data waktu terjadinya benturan dan data magnitudo

benturan akan disimpan kedalam memori EEPROM dan data-data

tersebut nantinya dapat dikeluarkan untuk dikirim melalui jalur

komunikasi RS-232 ke software aplikasi desktop yang telah dibuat

(16)

Untuk pemrograman nomor 1 dan 2 dilakukan pada modul DSC

MC56F8013 sedangkan pemrograman nomor 3 dilakukan pada

mikrokontroler ATMega16.

Pemrograman pada DSC MC56F8013 dilakukan dengan menggunakan

perangkat lunak CodeWarrior Development Studio untuk Freescale

56800/E Digital Signal Controllers V8.3 Special Edition. Didalam

CodeWarrior sendiri terdapat aplikasi bernama Processor Expert yang

memudahkan penggunannya dalam melakukan pemrograman digital signal

controller. Processor Expert menyediakan suatu aplikasi untuk membantu

dalam melakukan pengaturan ketika pemrogram hendak menggunakan

kelengkapan-kelengkapan yang tersedia pada digital signal controller yang

digunakan. Sedangkan untuk melakukan penulisan program pada

CodeWarrior, pemprogram dapat menuliskan programnya dalam bahasa

C/C++.

Untuk pemrograman pada Mikrokontroler ATMega16 digunakan

perangkat lunak CodeVisionAVR V2.03.4. Didalam CodeVision juga sudah

tersedia aplikasi bernama CodeWizardAVR yang dapat memudahkan

didalam melakukan pemrograman mikrokontroler ATMega16. Pada

CodeWizardAVR juga sudah disediakan library yang dibutuhkan dalam

perograman I2C yang menggunakan modul real time clock PCF8583.

Sehingga memudahkan didalam pengaturan waktu dan pengambilan data

(17)

3.2.1.1. PEMROGRAMAN ADC PADA MC56F8013

1111111111111000(B). Keluaran hasil konversi ADC memang akan

menghasilkan data selebar 15-bit walaupun konversinya adalah 12-bit. Hal

ini karena bit hasil konversi mengalami penggeseran kekiri sebanyak 3-bit

ketika masuk kedalam buffer penyimpanan data digital hasil konversi dari

ADC, sehingga 3 bit LSB selalu bernilai nol dan dapat diabaikan.

Untuk melakukan pencuplikan selama 22,22 ms digunakan sebuah

operasi interupsi dengan menggunakan Timer2. Interupsi ini akan diatur

agar melakukan interupsi setiap 22,22 ms dengan cara mengatur konfigurasi

timer melalui processor expert dengan mengisikan nilai waktu periode

interupsinya (interrupt period) sebesar 22,22 ms.

Ketika interupsi oleh Timer2 terjadi maka proses konversi oleh ADC

diaktifkan melalui perintah program ADC_Start(). Untuk ADC sendiri

memiliki sebuah operasi interupsi, dimana interupsi tersebut terjadi jika

semua saluran ADC telah selesai melakukan satu kali konversi. Interupsi ini

dapat diaktifkan dengan mengaktifkan Interrupt service/event melalui

processor expert. Pada saat interupsi ADC tersebut terjadi maka proses

(18)

ADC_Stop(). Prioritas interupsi dari interupsi Timer2 dibuat lebih tinggi dari

interuspi ADC, interupsi dari Timer2 memiliki prioritas medium (1)

sedangkan interupsi dari ADC memiliki prioritas minimum (0).

Untuk mengambil nilai hasil konversi dilakukan melalui perintah

ADC_getValue (nama_variabel_buffer). Didalam perintah tersebut bagian

yang saya tuliskan bercetak miring menunjukkan bahwa nama tersebut

(nama ADC) bisa diganti-ganti sesuai dengan kehendak dari

pemrogramnnya. Untuk variabel penyimpanan data hasil konversi tersebut

memiliki ukuran sebesar 16 bit yaitu bertipe unsigned short.

3.2.2.2 PEMROGRAMAN PENYIMPANAN DATA WAKTU DAN BENTURAN

Digunakan mikrokontroler AVR ATMega16 sebagai media

penyimpanan data waktu dan data magnitudo benturan. Pemrograman

AVR ATMega16 dilakukan melalui CodeVisionAVR V2.03.4 dimana

didalam perangkat lunak tersebut tersedia kelengkapan perangkat lunak

bernama CodeWizardAVR yang cukup memudahkan didalam pembuatan

program, khususnya ketika akan digunakan modul RTCC PCF8583 yang

akan dihubungkan dengan pin-pin dari PORT mikrokontroler, karena

program CodeWizardAVR tersebut akan secara otomatis membuat

program awal dimana sudah tersedia perintah-perintah yang dapat

(19)

melalui jalur komunikasi bus-I2C. Pada gambar 3.16 ditunjukkan tampilan

didalam melakukan pengaturan pada CodeWizardAVR tersebut.

Gambar 3.16. Pengaturan melalui CodeWizardAVR

Pengaturan pada gambar 3.16. adalah pengaturan yang digunakan

didalam tugas akhir ini. Dimana digunakan komunikasi bus-I2C dan pin

SDA dipilih pada PORTC.0 sedangkan pin SDL dipilih pada PORTC.1.

Kemudian akan dibangkitkan suatu program didalam lembar program

utama sebagai berikut.

Penggalan program:

#asm

.equ __i2c_port=0x15 ;PORTC .equ __sda_bit=0

.equ __scl_bit=1 #endasm

(20)

Pada program tersebut terlihat pin SDA pada PORTC.0 dan pin

SCL pada PORTC.1. Lalu sudah tersedia suatu library untuk melakukan

komunikasi bus-I2C yaitu bernama i2c.h dan juga sudah tersedia

perintah-perintah yang digunakan didalam pengendalian RTCC PCF8583 yang

disimpan didalam library bernama pcf8583.h

Perintah yang digunakan untuk mengatur data awal dari waktu dan

kalendar adalah sebagai berikut.

Perintah untuk mengatur data waktu:

void rtc_set_time (alamat chip, jam, menit, detik, ratus detik);

Perintah untuk mengatur data kalendar:

void rtc_get_date (alamat chip, hari, bulan, tahun);

Sedangkan perintah untuk mengambil data waktu dan kalendar dari RTCC

PCF8583 adalah sebagai berikut.

Perintah untuk mengambil data waktu:

void rtc_get_time (alamat chip, jam, menit, detik, ratus detik);

Perintah untuk mengambil data kalendar:

void rtc_get_date (alamat chip, hari, bulan, tahun);

Variabel untuk jam, menit, detik, ratus detik, hari, dan bulan

bertipe unsigned char atau berukuran 8 bit sedangkan untuk tahun bertipe

unsigned int atau berukuran 16 bit. Untuk alamat chip yaitu alamat slave

chip tersebut dan didalam tugas akhir ini beralamat di alamat 0.

Mikrokontroler ATMega16 memiliki ukuran memori EEPROM

(21)

data yang tiap alamat tersebut berukuran sebesar 1 byte atau 8 bit, dan

didalam program dapat dinyatakan sebagai berikut.

eeprom char eep[512];

Artinya variabel bernama eep yang bertipe char (8bit) terdiri dari

512 alamat array banyaknya dan mengarah pada tempat memori di

eeprom dengan menggunakan perintah pointer eeprom diawal program

tersebut. Sehingga misal ingin mengisikan data jam pada alamat 0 yang

memiliki ukuran 8 bit di eeprom maka dituliskan,

eep[0] = jam;

dimana jam adalah nama variabel bertipe unsigned char berisi data jam.

3.2.2. PEMROGRAMAN SOFTWARE APLIKASI DESKTOP

Didalam tugas akhir ini memiliki spesifikasi bahwa rancangan

dilengkapi oleh software aplikasi desktop pengirim dan software aplikasi

desktop penerima. Namun karena adanya keterbatasan waktu maka untuk

software aplikasi desktop bagian pengirim tidak sampai direalisasikan. Pada

bagian ini akan dijelaskan software aplikasi desktop bagian penerima yang

sudah dibuat.

Didalam pembuatan software aplikasi desktop bagian penerima

digunakan perangkat lunak visual studio 2008 dengan menggunakan bahasa

pemrograman C#. Pada gambar 3.17 ditunjukkan tampilan dari software

(22)

Gambar 3.17. Tampilan software aplikasi desktop bagian penerima

Pada software aplikasi desktop bagian penerima terdiri dari tombol

setting untuk melakukan pengaturan dari jalur komunikasi yang akan

digunakan, tombol connect untuk memulai hubungan jalur komunikasi

serial yang sudah dipilih, tombol disconnect untuk memutuskan hubungan

komunikasi serial, tombol clear untuk menghapus bagian tampilan, tombol

start untuk memulai penyimpanan data yang ditampilkan dan tombol stop

untuk melakukan penghentian proses penyimpanan data yang tertampil

sekaligus masuk kedalam proses penyimpanan data tampilan yang telah

disimpan kedalam file text. Gambar 3.18 menunjukkan tampilan yang

muncul ketika tombol stop ditekan, yaitu tampilan untuk menyimpan data

(23)

Gambar

Gambar 3.1. Blok diagram sistem
Gambar 3.2. Modul accelerometer MMA7260Q
Tabel 3.1. Konfigurasi kaki pin-pin modul accelerometer MMA7260Q
Gambar 3.3. Untai modul tombol tekan
+7

Referensi

Garis besar

Dokumen terkait

Langkah awal dalam menggunakan Nvidia Nsight, adalah pada PC user sudah terinstall visual studio, supaya pada waktu instalasi Nvidia Toolkit , template dari Nsight

Data yang digunakan dalam penelitian ini bersumber dari data primer dan data sekunder. Sumber data primer dalam penelitian ini adalah para responden yang memberikan data

Wawancara adalah suatu metode yang digunakan untuk mengumpulkan data, dimana peneliti mendapatkan keterangan secara lisan dari seseorang sasaran penelitian atau

yang menyeluruh dari semua hasil penelitian yang akan kita capai. Tahapan analisa dari Colaizzi adalah sebagai berikut (Polit

Jenis data yang digunakan dalam penelitian ini adalah data primer dan data sekunder. Data primer adalah data yang dikumpulkan dan diolah sendiri oleh peneliti langsung

Dari kedua pengertian di atas dapat disimpulkan MySQL adalah suatu program yang digunakan untuk mengatur sebuah sistem basis data yang dibuat berdasarkan

Adapun teknik pengumpulan data dengan metode ini adalah sebagai berikut: 1 Studi Literatur Studi literatur adalah tahapan awal yang dilakukan untuk mengetahui tentang teori-teori

Penelitian ini sumber bukti yang digunakan adalah data primer dan data sekunder. Data Primer.. Data primer adalah data yang dikumpulkan secara langsung oleh peneliti dari