BAB III PERANCANGAN SISTEM -...
Transcript of BAB III PERANCANGAN SISTEM -...
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
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
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
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
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
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
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
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 (Ω)
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
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
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
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
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)
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).
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.