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 23
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 TIDAK YA Sudah Valid? TIDAK Ada Injakan Rem? YA Update Sensor Data Olah Data Tampilkan ke LCD TIDAK Cetak Hasil Ukur? YA Cetak di Printer Portabel Selesai 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 Fungsi PORTA.1 Tombol start PORTA.2 Tombol stop PORTA.3 Tombol print PORTA.4 LED 1 PORTA.5 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. RX TX Gambar 3.4 Untai Komunikasi Serial
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: Data sensor a 1g (3.4) Sensitivitas Keterangan: a = percepatan terukur (m/s 2 ) 1g = nilai percepatan rata-rata gravitasi bumi (9,81m/s 2 ) 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. a avg 1 n n i 1 a i a1 a2 a3... a n n (3.5) Keterangan: a avg = percepatan rata-rata accelerometer (m/s 2 ) a i = percepatan sampel ke-i (m/s 2 ) n = jumlah sampel (dalam hal ini 10 sampel)
36 2. Mengurangkan hasil pembacaan percepatan yang terbaca dengan percepatan ratarata yang telah didapat. Hal ini bertujuan untuk menghilangkan error offset pada pembacaan accelerometer. a terkalibrasi a a (3.6) terbaca avg Keterangan : a terbaca = Percepatan yang terbaca dari sensor (m/s 2 ) a terkalibrasi = Percepatan setelah error offset dihilangkan (m/s 2 ) a avg = Percepatan rata-rata dari pembacaan accelerometer (m/s 2 ) 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.