23
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
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
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.
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 Fungsi
PORTA.7 ADC untuk koneksi Flexiforce PORTB.1 Terhubung accelerometer (SDA) PORTB.0 Terhubung accelerometer (SCL)
PORTC.0 RS (LCD)
Komunikasi antara PC dan mikrokontroler dilakukan melalui komunikasi serial RS-232. Akan tetapi tegangan keluaran dari komputer masih dalam level RS-232, di
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
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].
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
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)
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.
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
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
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
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:
g
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.
Keterangan: aavg = percepatan rata-rata accelerometer (m/s
2 )
i
a = percepatan sampel ke-i (m/s2)
2. Mengurangkan hasil pembacaan percepatan yang terbaca dengan percepatan
rata-a = Percepatan setelah error offset dihilangkan (m/s2)
avg
a = 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));
⃗ ∫ ∫ ⃗ (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).