BAB III PERANCANGAN SISTEM -...

15
23 BAB III PERANCANGAN SISTEM Bab ini akan membahas mengenai perancangan sistem dan realisasi perangkat keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan sistem yang dibuat. Gambar 3.1 menunjukkan blok diagram sistem secara keseluruhan. Gambar 3.1 Blok Diagram Alat Keseluruhan Mikrokontroler digunakan sebagai pengendali keseluruhan sistem. Pada sistem ini digunakan dua buah sensor yaitu sensor accelerometer dan sensor gaya (flexiforce). Untuk sensor gaya , karena output dari sensor bersifat resistif, maka diperlukan untai pengkondisi sinyal untuk selanjutnya diolah oleh mikrokontroler. Sedangkan untuk sensor accelerometer, karena output-nya sudah berupa data digital (g/percepatan gravitasi), maka tidak diperlukan untai pengkondisi sinyal. Output dari accelerometer akan langsung diproses oleh mikrokontroler. Setelah diproses oleh mikrokontroler, hasilnya akan ditampilkan pada LCD 4x20 karakter. Data yang ditampilkan antara lain

Transcript of BAB III PERANCANGAN SISTEM -...

Page 1: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

23

BAB III

PERANCANGAN SISTEM

Bab ini akan membahas mengenai perancangan sistem dan realisasi perangkat

keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan sistem yang

dibuat. Gambar 3.1 menunjukkan blok diagram sistem secara keseluruhan.

Gambar 3.1 Blok Diagram Alat Keseluruhan

Mikrokontroler digunakan sebagai pengendali keseluruhan sistem. Pada sistem

ini digunakan dua buah sensor yaitu sensor accelerometer dan sensor gaya (flexiforce).

Untuk sensor gaya , karena output dari sensor bersifat resistif, maka diperlukan untai

pengkondisi sinyal untuk selanjutnya diolah oleh mikrokontroler. Sedangkan untuk

sensor accelerometer, karena output-nya sudah berupa data digital (g/percepatan

gravitasi), maka tidak diperlukan untai pengkondisi sinyal. Output dari accelerometer

akan langsung diproses oleh mikrokontroler. Setelah diproses oleh mikrokontroler,

hasilnya akan ditampilkan pada LCD 4x20 karakter. Data yang ditampilkan antara lain

Page 2: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

24

hari/tanggal, gaya injak pedal rem (N), percepatan rata-rata (%g), jarak pengereman

(m), efisiensi rem (%) dan posisi kendaraan (kanan/kiri %g).

Perancangan alat uji rem portabel akan terbagi menjadi dua bagian yaitu

perancangan perangkat keras dan perancangan perangkat lunak. Diagram alir alat yang

dirancang dijelaskan pada Gambar 3.2.

Mulai

Cek Kecepatan

Sudah Valid?

Ada Injakan

Rem?

Update

Sensor Data

Olah Data

Tampilkan ke

LCD

Cetak Hasil

Ukur?

Cetak di

Printer

Portabel

Selesai

YATIDAK

YA

TIDAK

YATIDAK

Gambar 3.2 Diagram Alir Alat Yang Dirancang

Page 3: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

25

3.1. Perangkat Keras Alat Uji Rem Portabel

Perangkat keras yang dirancang dan direalisasikan pada alat uji rem portabel ini

terdiri dari mikrokontroler sebagai pengendali utama, modul RTC, display, sensor

accelerometer, sensor flexiforce, catu daya serta modul printer.

3.1.1. Mikrokontroler

Modul pengendali utama yang dipakai yaitu AVR Atmega32. Mikrokontroler

yang digunakan adalah Atmega32. ATMega32 dipilih karena memiliki fitur yang cukup

lengkap. Mulai dari kapasitas memori program dan memori data yang cukup besar,

interupsi, timer/counter, PWM, USART, TWI, analog comparator, EEPROM internal

dan juga ADC internal.

Mikrokontroler berfungsi untuk mengatur dan mengendalikan seluruh proses

operasi. Gambar 3.3 adalah gambar skema modul pengendali Atmega32.

Gambar 3.3 Skema Modul Pengendali Atmega32

Page 4: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

26

ATmega32 akan mengendalikan sensor accelerometer dan sensor flexiforce,

RTC (Real time Clock), komunikasi serial, LCD dan tombol-tombol pengendali. PORT

yang dipakai yaitu PORTA (1-7) sebagai pengontrol tombol dan led serta komunikasi

ADC, PORTB(0 dan 1) sebagai komunikasi sensor accelerometer dan RTC, PORTC(1-

7) dan PORTD (0 dan1) sebagai komunikasi serial untuk menghubungkan printer.

Tabel 3.1 Konfigurasi Pin Pada Mikrokontroler

PORT Pengendali

Mikrokontroler

Fungsi

PORTA.1 Tombol start

PORTA.2 Tombol stop

PORTA.3 Tombol print

PORTA.4 LED 1

PORTA.5

6

LED 2

PORTA.6 LED 3

PORTA.7 ADC untuk koneksi Flexiforce

PORTB.1 Terhubung accelerometer (SDA)

PORTB.0 Terhubung accelerometer (SCL)

PORTC.0 RS (LCD)

PORTC.1 R/W(LCD)

PORTC.2 E(LCD)

PORTC.4 Data 4(LCD)

PORTC.5 Data 5(LCD)

PORTC.6 Data 6(LCD)

PORTC.7 Data 7(LCD)

PORTD.0 TXD ( serial)

PORTD.1 RXD (serial)

Komunikasi antara PC dan mikrokontroler dilakukan melalui komunikasi serial

RS-232. Akan tetapi tegangan keluaran dari komputer masih dalam level RS-232, di

mana logika “satu” ditunjukkan pada tegangan -3V sampai -15V dan logika “nol” pada

tegangan +3V sampai +15V. Kondisi ini tidak bisa langsung diproses oleh

mikrokontroler yang hanya mengerti data dengan level tegangan TTL. 2 buah transistor

yaitu BC337 dan BC557 digunakan untuk mengubah level tegangan RS-232 menjadi

Page 5: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

27

TTL dan sebaliknya. Ketika serial pada PC sedang tidak mengirimkan data, maka pin

TX bernilai negatif sehingga transistor BC337 dalam kondisi cut-off. Tegangan di kaki

kolektor mendekati Vcc. Ketika serial pada PC sedang mengirimkan data dengan logika

satu, maka pin TX bernilai positif yang menyebabkan transistor saturasi sehingga

tegangan VCE mendekati nol. Prinsip yang sama berlaku bagi transistor BC557 ketika

mendapat inputan dari mikrokontroler.

Berdasarkan datasheet BC337[12], nilai VCE saturasi = 60mV, Ic = 10mA, Ib =

0,5 mA, maka untuk mencari nilai Rc dan Rb :

(3.1)

(3.2)

Dari hasil perhitungan yang didapat nilai resistor yang digunakan adalah

pendekatan dengan nilai resistor yang ada di pasaran.

Komunikasi serial ini nantinya akan digunakan sebagai komunikasi dengan

printer. Gambar 3.4 menunjukkan untai komunikasi serial pada ATmega32.

Gambar 3.4 Untai Komunikasi Serial

RX

TX

Page 6: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

28

Sedangkan untuk perancangan untuk modul Real Time Clock (RTC)

menggunakan IC RTC DS1307 dengan nilai kristal yang digunakan sebesar 32,768

kHz. Gambar 3.5 adalah gambar untai modul RTC.

Gambar 3.5 Untai Modul RTC

Pin SDA dan SCL ini adalah pin yang dihubungkan dengan mikrokontroler

sebagai jalur data dan jalur clock. Komunikasi antara 2 IC ini menggunakan 2 kabel (2

wire bidirectional ) dengan nilai pull up resistor sebesar 10k pada pin SDA dan SCL

nya. Untuk pin SDA DS1307 terhubung dengan pin PORTB.0/SDA dan untuk pin SCL

DS1307 akan terhubung dengan pin PORTB.1/SCL pada mikrokontroler.

3.1.2. Sensor Accelerometer

Pada Bab II sudah dijelaskan bahwa dalam perancangan modul sensor

accelerometer, sistem ini menggunakan sensor accelerometer LIS3LV02DL yang

mempunyai tiga sumbu pengukuran. LIS3LV02DL dipilih karena sensor ini mudah

dalam pengaplikasiannya karena data keluaran dari sensor sudah berupa data digital

sehingga tidak berpengaruh terhadap perubahan tegangan, selain itu, sensor ini

mempunyai sensitivitas yang tinggi, yaitu 1024 LSB/g [8].

Alat uji rem portabel ini memanfaatkan tiga sumbu pengukuran yaitu sumbu X

yang digunakan sebagai pendeteksi kecepatan dan perlambatan kendaraan, sumbu Y

digunakan untuk mendeteksi posisi kendaraan saat direm apakah membelok pada posisi

Page 7: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

29

kanan, kiri atau lurus sejajar jalan, sedangkan sumbu Z digunakan untuk pendeteksi

bahwa alat uji rem portabel ini diletakkan pada posisi datar rata air.

Gambar 3.6 adalah untai accelerometer yang dikomunikasikan ke

mikrokontroler melalui protokol I²C.

Gambar 3.6 Konfigurasi Interface Accelerometer

Catu daya yang dibutuhkan oleh accelerometer untuk bekerja yaitu sebesar 2,16

V s.d. 3,6 V, oleh sebab itu diperlukan penurun tegangan serta regulator tegangan agar

accelerometer dapat bekerja. Regulator tegangan yang digunakan adalah LM 317

dengan nilai R1 = 380 ohm dan R2 = 560 sehingga tegangan yang dihasilkan sebesar :

Vout = 1,25 x ( 1+R2/R1) volt

= 1,25 x (1 + 560/380) volt

= 3,09 volt

Data yang keluaran yang dikirimkan ke mikrokontroler nantinya akan diolah

menggunakan perangkat lunak menjadi data percepatan, kecepatan dan posisi.

Persamaan yang digunakan untuk mencari data percepatan, kecepatan, dan posisi sudah

dijelaskan pada BAB II.

3.1.3. Sensor Flexiforce

Sensor Flexiforce yang digunakan yaitu seri A-201-H buatan Tekscan yang bisa

mengukur gaya hingga 1000 lbs (4448,221 N). Sensor ini bersifat linear dengan

Page 8: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

30

toleransi ±3%. Antarmuka yang digunakan untuk berkomunikasi dengan mikrokontroler

adalah melalui ADC (Analog to Digital Converter) yang sudah ada pada internal

mikrokontroler ATMega 32. Mode yang digunakan adalah mode free running, karena

hanya ada satu port ADC yang digunakan sehingga pengkonversiannya hanya sekali.

Masukan analog ADC tegangan harus lebih besar dari 0V dan lebih kecil daripada

tegangan referensi ADC 5V.

3.1.3.1. Untai Pengkondisi Sinyal Flexiforce

Karena keluaran sensor flexiforce bersifat resistif, maka agar dapat

dibaca oleh ADC pada mikrokontroler, diperlukan untai pengkondisi sinyal. Gambar 3.7

adalah untai pengkondisi sinyal flexiforce.

Gambar 3.7 Untai Pengkondisi Sinyal Flexiforce[11]

Untai pengkondisi sinyal berupa opamp dengan penguat pembalik (inverting).

Opamp yang digunakan yaitu LM324. Dari datasheet flexiforce, nilai resistor referensi

(Rf) berkisar antara 1kΩ s.d 100kΩ. Jangkauan sensor dapat diatur dengan mengubah

variabel resistor Rf. Semakin kecil nilai hambatan Rf, maka semakin kecil pula

jangkauan pengukurannya. Tegangan output yang dihasilkan yaitu :

(3.3)

Ket : Vout = tegangan keluaran (V)

Vt = tegangan offset (-5V)

Rs = hambatan flexiforce (Ω)

Rf = hambatan referensi (Ω)

Page 9: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

31

Nilai hambatan flexiforce berkisar antara 20kΩ s.d 20MΩ. Saat tidak ada beban

nilai hambatan resistornya berkisar 20MΩ dan ketika beban maksimal, nilai hambatan

resistornya berkisar 20KΩ. Sebagai perhitungan ketika beban maksimal, dengan nilai

Rs =20kΩ, maka hambatan referensi diatur sebesar 20kΩ. Tegangan keluaran yang

nantinya akan dibaca oleh ADC pada mikrokontorler adalah :

Vout = -(-5V)*(20k/20k)

= 5V

Karena ADC yang digunakan yaitu sebesar 10 bit (1024), maka data yang

terbaca pada mikrokontroler saat beban maksimum yaitu sebesar 1023d .

3.1.3.2. Kalibrasi Sensor Flexiforce

Untuk memperoleh hasil pengukuran dari gaya injak pedal rem, maka sensor

flexiforce perlu dilakukan kalibrasi agar diketahui keakuratan dan kepresisian sensor.

Untuk mengkalibrasi sensor ini, sensor akan dikalibrasi oleh salah satu badan yang

sudah terdaftar oleh KAN (Komite Akreditasi Nasional) yaitu Laboratorium Kalibrasi

PT. Multi Instrumentasi Semarang.

Laboratorium Kalibrasi PT. Multi Instrumentasi Semarang telah terakreditasi

oleh KAN (LK-031-IDN) yang memiliki kompetensi dan telah menerapkan sistem mutu

SNI/ISO/IEC 17025-200[14].

3.1.4. Catu Daya

Catu daya yang digunakan adalah baterai aki 9 volt yang dapat diisi ulang.

Gambar 3.8 adalah untai charger untuk baterai.

Gambar 3.8 Untai Charger

Page 10: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

32

Dioda disini berfungsi sebagai penyearah tunggal setengah gelombang sehingga

tegangan AC dari trafo berubah menjadi tegangan DC namun tegangan dari dioda

masih mengandung komponen AC yang berupa ripple tegangan. Komponen AC ini

perlu dihilangkan dengan kapasitor bypass. Terdapat LED sebagai indikator proses

pengisian baterai. LM317 berfungsi sebagai regulator tegangan. Tegangan output dari

LM317 digunakan untuk pengisian baterai. Tegangan yang dibutuhkan untuk pengisian

baterai sebesar 9V. untuk mendapatkan tegangan sebesar 9V, dapat diatur dengan

mengubah resistansi pada variabel resistor.

3.1.5. Modul Printer

Modul printer yang digunakan adalah HCC T III buatan HCC China yang

berukuran 102x77x36 mm, printer ini termasuk jenis printer portabel yang mudah

dibawa. Printer ini mempunyai resolusi 8 dots/mm. 384 dots/line dan mempunyai

kecepatan mencetak 50mm/s (rata-rata), 65mm/s (maksimal). Printer ini mempunyai

catu daya sendiri yaitu baterai dan adaptor yang digunakan untuk mengisi baterai printer

jika baterainya habis. Kertas yang digunakan yaitu jenis thermal paper. Komunikasi

antarmuka yang bisa digunakan yaitu RS232, IrDA dan bluetooth, namun komunikasi

yang digunakan adalah RS232 melalui port serial pada mikrokontroler. Gambar 3.9.

adalah gambar printer portabel HCC T III.

Gambar 3.9 Printer Portabel HCC T III

3.2. Perangkat Lunak Alat Uji Rem Portabel

Perangkat lunak pada alat uji rem portabel ini digunakan untuk melakukan

pengolahan semua alur yang terdapat pada sistem secara keseluruhan baik terhadap

masukan maupun keluaran. Proses kerja perangkat lunak akan dibagi menjadi tiga buah

Page 11: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

33

diagram alir yaitu diagram alir untuk sensor flexiforce, diagram alir untuk sensor

accelerometer dan diagram alir secara keseluruhan. Gambar 3.10 menunjukkan diagram

alir untuk sensor flexiforce.

MULAI

ADC

KONVERSI

OUTPUT DATA

INTERPOLASI

DATA

SELESAI

Gambar 3.10. Diagram Alir Pembacaan Flexiforce

Page 12: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

34

MULAI

I²C INISIALISASI

AUTO KALIBRASI

FILTERING

WINDOW

AKSELERASI= SAMPLE-

NILAI KALIBRASI

HITUNG

KECEPATAN

HITUNG POSISI

MOVEMENT END

CHECK

TAMPIL DATA

PERLAMBATAN,

KECEPATAN DAN

POSISI

SELESAI

Gambar 3.11. Diagram Alir Pembacaan Sensor Accelerometer

Diagram alir pada Gambar 3.10. adalah gaftar alir pembacaan sensor flexiforce

oleh mikrokontroler. Sebelum sensor diolah oleh mikrokontroler, karena sensor

flexiforce bersifat resistif, maka sensor flexiforce akan melewati untai pengkondisi

sinyal terlebih dulu agar outputnya menjadi tegangan. Output dari utai pengkondisi

sinyal yang berupa tegangan akan dibaca oleh mikrokontroler melalui ADC (Analog To

Page 13: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

35

Digital Converter) . Selanjutnya data dari sensor akan diubah menjadi data digital. Data

digital ini akan dikonversi menjadi data gaya dengan satuan Newton.

Gambar 3.11. adalah diagram alir untuk pembacaan dan pengolahan data sensor

accelerometer. Data keluaran sensor accelerometer sudah berupa data digital sehingga

proses pertama untuk pembacaan sensor accelerometer adalah inisialisasi I2C.

Inisialisasi ini diperlukan agar data dari sensor terbaca oleh mikrokontroler. Untuk

mendapatkan data pengukuran percepatan dilakukan dengan langkah-langkah sebagai

berikut. Berdasarkan informasi dari datasheet accelerometer tipe LIS3LV02DL [9]

memiliki sensitivitas sebesar 1024 LSb/g pada full scale ±2g dan skala keluaran data 10

bit. Dengan kata lain 1g (satu skala percepatan gravitasi) sebanding dengan nilai 1024d

data keluaran accelerometer. Sehingga untuk menentukan nilai percepatan ( a ) dari data

yang terbaca diperoleh dengan persamaan:

gasSensitivit

sensorDataa 1 (3.4)

Keterangan: a = percepatan terukur (m/s2)

1g = nilai percepatan rata-rata gravitasi bumi

(9,81m/s2)

Auto kalibrasi bertujuan untuk menghilangkan komponen error offset dari

percepatan yang terukur akibat dari percepatan gravitasi bumi (percepatan statis).

Langkah yang dilakukan dalam melakukan kalibrasi adalah sebagai berikut :

1. Diambil 10 sampel percepatan yang terukur sensor accelerometer, kemudian dicari

nilai rata-ratanya.

n

i

niavg

n

aaaaa

na

1

321 ...1 (3.5)

Keterangan: avga = percepatan rata-rata accelerometer (m/s2)

ia = percepatan sampel ke-i (m/s2)

n = jumlah sampel (dalam hal ini 10 sampel)

Page 14: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

36

2. Mengurangkan hasil pembacaan percepatan yang terbaca dengan percepatan rata-

rata yang telah didapat. Hal ini bertujuan untuk menghilangkan error offset pada

pembacaan accelerometer.

avgterbacasiterkalibra aaa (3.6)

Keterangan : terbacaa = Percepatan yang terbaca dari sensor (m/s2)

siterkalibraa = Percepatan setelah error offset dihilangkan (m/s2)

avga = Percepatan rata-rata dari pembacaan accelerometer (m/s2)

Setelah proses auto kalibrasi, data dari sensor accelerometer akan dilakukan

filtering window yang bertujuan untuk mengurangi derau mekanik. Gambar 3.12 adalah

gambar ilustrasi filtering window/discrimination window.

Gambar 3.12. Ilustrasi Filtering Window/Discrimination Window

Nilai percepatan yang dihasilkan didapat dari sample accelerometer dikurangkan

dengan nilai kalibrasi yang didapat dari nilai pengurangan error offset.

Untuk memperoleh data kecepatan, maka didapat dari intergral dari percepatan

berdasarkan Persamaan (3.7)

∫ (3.7)

Proses penghitungan integrasi menggunakan pendekatan trapezoidal yang

dirumuskan dalam petikan program sebagai berikut :

velo1 = velo0+((time/2)*(acc1+acc0));

Sedangkan data posisi didapatkan dari integral dari kecepatan atau integral dua

kali dari percepatan yang dirumuskan dalam Persamaan (3.8).

Page 15: BAB III PERANCANGAN SISTEM - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2763/4/T1_612005030_BAB III...keras dan perangkat lunak dari setiap modul yang mendukung keseluruhan

37

∫ ∫ (3.8)

Proses penghitungan integrasi juga menggunakan pendekatan trapezoidal yang

dirumuskan dalam petikan program sebagai berikut :

pos1 = pos0+((time/2)*(velo1+velo0));

Setelah penghitungan kecepatan dan posisi, maka akan dideteksi ketika sensor

berhenti bergerak (percepatan = 0). Ketika tidak ada percepatan, maka kecepatan akan

bernilai = 0 dan data posisi tidak bertambah. Pendeteksian ini dilakukan juga untuk

membedakan ketika percepatan akan bernilai = 0 (pada kondisi kecepatan konstan)

tetapi sensor masih dalam posisi bergerak. Pendeteksian saat percepatan = 0 dilakukan

dengan :

a. Menghitung sampel percepatan yang bernilai nol apakah lebih dari 20 sampel atau

tidak.

b. Jika sampel bernilai nol lebih dari 10, kecepatan dianggap nol (accelerometer

diam).

c. Jika sampel bernilai nol kurang dari 10, accelerometer dianggap sedang bergerak.