T1_612005001_Bab III_3

24
25 BAB III PERANCANGAN ALAT Pada bab ini akan diuraikan mengenai perancangan perangkat keras dan perangkat lunak yang digunakan pada skripsi. Dalam skripsi ini akan dirancangang sebuah mouse yang terhubung dengan PC (Personal Computer) secara nirkabel. Blok diagram alat yang dibuat ditunjukkan oleh Gambar 3.1 Gambar 3.1 Diagram alat keseluruhan Modul wireless mouse transmitter terdiri dari sebuah sensor akselerometer sebagai pengukur percepatan, sensor giroskop sebagai pengukur kecepatan sudut, mikrokontroler sebagai pengendali sistem mouse, modul bluetooth serta beberapa tombol mouse yaitu tombol klik kiri dan klik kanan, tombol scroll, tombol next slide, previous slide dan begin presentation. Selain itu juga terdapat rotary encoder sebagai pendeteksi putaran scroll mouse.

description

tugas akhir

Transcript of T1_612005001_Bab III_3

  • 25

    BAB III

    PERANCANGAN ALAT

    Pada bab ini akan diuraikan mengenai perancangan perangkat keras dan

    perangkat lunak yang digunakan pada skripsi. Dalam skripsi ini akan dirancangang

    sebuah mouse yang terhubung dengan PC (Personal Computer) secara nirkabel. Blok

    diagram alat yang dibuat ditunjukkan oleh Gambar 3.1

    Gambar 3.1 Diagram alat keseluruhan

    Modul wireless mouse transmitter terdiri dari sebuah sensor akselerometer

    sebagai pengukur percepatan, sensor giroskop sebagai pengukur kecepatan sudut,

    mikrokontroler sebagai pengendali sistem mouse, modul bluetooth serta beberapa

    tombol mouse yaitu tombol klik kiri dan klik kanan, tombol scroll, tombol next slide,

    previous slide dan begin presentation. Selain itu juga terdapat rotary encoder sebagai

    pendeteksi putaran scroll mouse.

  • 26

    3.1. Cara Kerja Alat

    Mouse dapat dikonfigurasikan apakah berada pada permukaan alas atau tanpa

    alas (di udara). Ketika berada di permukaan alas, digunakan akselerometer yang

    mengukur percepatan dalam dua sumbu kartesian (X dan Y). Akselerometer diletakkan

    secara mendatar sejajar dengan sumbu X dan Y. Akselerometer mengukur percepatan

    yang dialami mouse saat diletakkan di permukaan alas. Percepatan yang terukur

    kemudian diterjemahkan menjadi perubahan koordinat dari kursor mouse pada

    komputer. Ketika dikonfigurasikan pada mode tanpa alas, digunakan sensor giroskop

    untuk mengukur kecepatan sesaat dari perubahan sudut yang dialami mouse. Informasi

    kecepatan sudut kemudian diterjemahkan menjadi perubahan koordinat dari kursor

    mouse pada komputer.

    Untuk mendeteksi penekanan tombol mouse digunakan saklar microswitch

    yang dihubungkan dengan port input / output yang terdapat pada mikrokontroler.

    Komunikasi mouse dan komputer dilakukan secara nirkabel melalui komunikasi RF

    menggunakan modul bluetooth. Modul bluetooth digunakan untuk mentransmisikan

    data yang terdiri dari data informasi perubahan orientasi mouse, informasi penekanan

    tombol dan informasi scroll mouse yang berasal dari touch panel.

    3.2. Perancangan dan Realisasi Perangkat Wireless Air Mouse

    Pada skripsi ini perealisasian wireless air mouse membutuhkan beberapa

    bagian yang perlu dirancang, antara lain modul mikrokontroler sebagai pengendali

    utama, IMU yang terdiri dari modul sensor akselerometer dan giroskop, modul tombol

    mouse serta perancangan sistem catu daya. Berikut akan dijelaskan mengenai

    perancangan yang dilakukan.

    3.2.1 Modul Pengendali Utama

    Pada skripsi yang dirancang menggunakan mikrokontroler sebagai pengendali

    utama. Mikrokontroler yang digunakan dalam perancangan adalah 32-bit ARM

    CORTEX-M0 LPC1114. ARM Cortex-M0 yang merupakan prosesor dari keluarga

    ARM Cortex processor embedded. Konfigurasi pin mikrokontroler LPC1114

    ditunjukkan pada Gambar 3.2. Adapun konfigurasi pin-pin mikrokontroler yang

    digunakan dalam perancangan alat ini dapat dilihat pada Tabel 3.1. Sedangkan skema

    untai modul mikrokontroler yang telah dirancang ditunjukkan pada Gambar 3,3.

  • 27

    Gambar 3.2 Konfigurasi pin mikrokontrontroler ARM Cortex-M0 LPC1114

    Tabel 3.1. Daftar konfigurasi pin yang digunakan pada mikrokontroler

    Nama Pin Fungsi

    RESET/PIO0_0 Pin reset mikrokontroler(Active low)

    PIO_1 Bootloader (Active low)

    PIO0_4/SCL Antarmuka I2C untuk sensor

    Akselerometer dan Giroskop PIO0_5/SDA

    PIO0_6 Antarmuka untuk rotary encoder

    PIO0_7

    PIO1_6/RXD Antarmuka serial RS232 untuk

    komunikasi bluetooth PIO1_7/TXD

    PIO2_4 PIO2_9 Input Switch

    PIO2_10 Laser pointer

  • 28

    Gambar 3,3 Modul mikrokontroler sebagai pengendali utama

    Antarmuka I2C digunakan sebagai antarmuka dengan sensor akselerometer dan

    sensor giroskop. Selain itu terdapat sensor penghitung putaran scroll mouse

    menggunakan rotary encoder yang terdiri dari dua phototransistor sebagai pendeteksi

    putaran scroll dan led infra merah. Terdapat tiga buah tombol yang difungsikan sebagai

    tombol klik kiri, tombol klik kanan dan tombol pada bagian scroll. Sedangkan untuk

    tombol next slide, previous slide, start/stop, tombol pengaktif laser pointer serta tombol

    mode mouse diletakkan menempel pada casing mouse.

    3.2.2 Modul Bluetooth DF-Bluetooth V3

    Untuk melakukan komunikasi pengiriman data antara mouse dan komputer

    digunakan bluetooth sebagai sarana pengiriman data secara nirkabel. Pada skripsi ini

    digunakan modul bluetooth produk DF-Bluetooth V3. Modul bluetooth ini memiliki 2

    pilihan masukan sumber tegangan DC (3.5V-8V) dan 3,3V. Kelebihan modul ini juga

    telah dilengkapi dengan on-board antena yang meyediakan kualitas sinyal yang tinggi.

    Gambar 3.4 menunjukkan modul Bluetooth DF-Bluetooth V3 yang digunakan.

  • 29

    Gambar 3.4 Modul bluetooth produk DF-Bluetooth V3

    Adapun spesifikasi dari modul Bluetooth yang digunakan adalah sebagai

    berikut[12]:

    a. Menggunakan chip CSR BC417143

    b. Protokol Bluetooth : Bluetooth Specification v2.0 +EDR

    c. Frekuensi kerja: 2,4-2,48GHz ISM Band

    d. Menggunakan mudulasi GFSK (Gaussian Frequency Shift Keying)

    e. Daya keluaran 4dBm, Class 2

    f. Jarak pancaran: 20-30 pada area terbuka

    g. Transmission rate: Asynchronous: 2,1 Mbps (Max)/160 kbps; Synchronous:

    1Mbps/1Mbps

    h. Support profiles: Bluetooth serial port

    i. Baudrate : 9600/N/8/1

    j. LED indicator: LINK

    k. Sumber daya yang dibutuhkan +3,5V-+8V DC/50 mA

    l. Dimensi: 43x19,3x11mm

    Modul bluetooth yang digunakan memiliki DIP switch yang dirancang untuk

    konfigurasi status modul Bluetooth. Ketika saklar Led Off pada posisi on, modul

    Bluetooth berada pada mode power saving. Pada saat saklar AT mode pada posisi on,

    pengguna dapat melakukan konfigurasi pada modul bluetooth melalui perintah AT

    command. Modul ini hanya bisa beroperasi sebagai slave bluetooth, artinya modul ini

    tidak bisa bekerja jika tidak ada sinkronisasi (pairing) dari master. Ketika pertama kali

  • 30

    dihubungkan dengan komputer harus dilakukan pairing antara Bluetooth dan computer

    dengan standar pairing code 1234.

    3.2.3 Modul Touch Panel

    Pada skripsi ini touch panel digunakan sebagai pengganti tombol klik kiri dan

    klik kanan, serta pendeteksi scroll baik pada arah sumbu horisontal maupun vertikal.

    Prinsip kerja touch panel berdasarkan resistor sebagai pembagi tegangan dimana nilai

    perbandingan resistor akan bervariasi sesuai dengan koordinat touch panel yang

    disentuh. Touch panel terdapat empat keluaran, dengan urutan Y+, X+, Y- dan X-

    (Gambar 3.5). Untuk mengambil data koordinat pada sumbu X, maka pin X+ mendapat

    tegangan 5V, X- mendapat tegangan 0V, Y+ ambang, dan Y- menuju ADC dimana

    tegangannya akan dikonversi menjadi koordinat sumbu X oleh mikrokontroler.

    Sedangkan untuk mendapatkan data koordinat pada sumbu Y, maka pin Y+ mendapat

    tegangan 5V, Y- mendapat tegangan 0V, X+ ambang, dan X- menuju ADC dimana

    tegangannya akan dikonversi menjadi koordinat sumbu Y oleh mikrokontroler.

    Gambar 3.5. Keluaran pin pada touch panel

    Modul touch panel yang digunakan memiliki dimensi koordinat 240x340 titik.

    Konversi tegangan yang terbaca oleh ADC menjadi koordinat dilakukan dengan

    persamaan berikut:

    ADCXMINADCXMAX

    ADCXMINADCXX

    240)(

    ADCYMINADCYMAX

    ADCYMINADCYY

    320)(

  • 31

    Dimana X adalah koordinat pada sumbu x dan dan Y adalah koordinat pada sumbu y.

    Gambar 3.6 Skematik touch panel ketika panel ditekan

    3.2.4 Perancangan IMU (Inertial Measurement Unit)

    IMU (Inertial Measurement Unit) terdiri dari sensor akselerometer dan sensor

    giroskop. Masing-masing sensor dipadukan untuk mendapatkan hasil pengukuran yang

    lebih akurat.

    Gambar 3.6 Skema diagram modul sensor akselerometer

    Sensor akselerometer yang digunakan adalah LIS3LV02DL keluaran ST

    Microelectronics. Di dalamnya terdapat sebuah elemen pengindera (sensing element)

    dan antarmuka Integrated Circuit (IC) yang mampu mengambil informasi dari elemen

    pengindera berupa percepatan dalam tiga sumbu (x,y dan z). Sensor akselerometer ini

  • 32

    dirancang agar pengguna dapat memilih full scale antara 2g atau 6g. Selain itu

    pengguna juga dapat memilih keluaran data dengan ketelitian 12 bit atau 16 bit. Untuk

    konfigurasi pin dari sensor akselerometer dapat dilihat pada Gambar 2.4. Skema

    diagram modul sensor akselerometer yang telah dirancang dapat dilihat pada gambar

    3.6.

    Sensor giroskop yang digunakan dalam skripsi ini adalah tipe ITG-3205 produksi

    IvenSense. ITG-3205 mampu mengukur besarnya kecepatan sudut dalam tiga sumbu.

    Di dalam sensor tersebut telah tertanam tiga buah ADC (Analog to Digital Converter)

    resolusi 16 bit. Keluaran sensor berupa data digital yang dapat diakses melalui

    komunikasi I2C pada fast-mode 400 kHz. Tegangan kerja sensor giroskop yang

    digunakan berkisar antara 2,1 V hingga 3,6 V dan konsumsi arus mencapai 6,5 mA

    ketika digunakan, dan 5 uA pada saat keadaan siaga[8]. Untuk konfigurasi pin ITG-

    3205 yang digunakan dapat dilihat pada Gambar 3.6. Perancangan skema modul sensor

    giroskop ITG-3205 dirancang berdasarkan application note yang tercantum pada

    datasheet seperti yang ditunjukkan pada Gambar 3.7.

    Gambar 3.6 Konfigurasi pin ITG-3205

  • 33

    Gambar 3.7 Skema modul sensor giroskop ITG-3205

    3.2.5 Perancangan Sistem Catu Daya

    Perancangan sistem catu daya dibagi menjadi tiga bagian, yang pertama bagian

    catu daya tegangan, yang kedua bagian pengisian ulang baterai dan yang ketiga bagian

    pendeteksi kapasitas baterai. Blok diagram sistem catu daya yang dirancang dapat

    dilihat pada Gambar 3.8.

    Gambar 3.8 Blok diagram sistem catu daya

    Secara garis besar sistem catu daya yang dirancang terdiri dari tiga bagian

    utama, yaitu bagian pengontrol isi ulang baterai, bagian regulator tegangan serta bagian

    monitor kapasitas baterai. Penjelasan mengenai perancangan tiap blok akan dijelaskan

    pada sub bab berikutnya.

  • 34

    3.2.4.1 Perancangan Catu Tegangan

    Wireless air mouse yang dirancang membutuhkan catu tegangan sebesar 3,3 V

    agar dapat beroperasi. Catu daya yang digunakan dalam perancangan berupa baterai

    jenis lithium ion satu sel 3,7 V dengan kapasitas 830 mAh. Tegangan baterai harus

    diatur menggunakan regulator tegangan untuk mendapatkan tegangan keluaran sebesar

    3,3 V.

    Dalam perancangan digunakan regulator tegangan jenis LDO (Low Drop Out)

    produksi Maxim tipe MAX8881 dengan keluaran 3,3 V. Regulator tegangan jenis LDO

    mampu beroperasi pada selisih tegangan masukan dan keluaran yang sangat kecil yaitu

    200 mV berdasarkan datasheet [13]. Selain itu regulator LDO beroperasi tegangan kerja

    yang rendah, efisiensi yang lebih tinggi dan disipasi daya yang lebih rendah bila

    dibandingkan dengan regulator tegangan non LDO. Gambar 3.9 merupakan skema

    regulator tegangan LDO MAX8881.

    Gambar 3.9 Skema regulator tegangan LDO MAX8881

    3.2.4.2 Perancangan Pengisi Ulang Baterai

    Perlu diperhatikan bahwa proses pengisian ulang (charging) baterai lithium ion

    sangat berpengaruh pada daya tahan baterai [14]. Berdasarkan standar yang digunakan

    Power Electronics Technology diperoleh bahwa setiap satu siklus pengisian dibagi

    kedalam empat fase yaitu fase awal (precondition phase), fase arus konstan, fase

    tegangan konstan dan fase penghentian isi ulang [14].

    Dalam perancangan digunakan IC li-on charger controller LTC4055 produksi

    Linear Technology yang dapat memenuhi persyaratan yang telah dijelaskan

    sebelumnya. LTC4055 merupakan sebuah IC pengontrol isi ulang baterai jenis litihium

    ion yang mampu mengisi ulang satu sel baterai. IC ini bekerja pada tegangan masukan

  • 35

    5V sehingga dapat menerima tegangan keluaran yang berasal dari USB port. Besarnya

    arus pengisian ulang baterai dapat diprogram hingga maksimal 485 mA yang

    bergantung pada besarnya nilai RPROG [15]. Adapun persamaan yang digunakan untuk

    menghitung besarnya arus pengisian ulang adalah sebagai berikut.

    48500

    PROG

    PROGCHG

    R

    VI (3.1)

    Dengan,

    ICHG = Arus pengisian ulang baterai (A)

    VPROG = Tegangan pada pin PROG sebesar 1 V (sesuai datasheet)

    RPROG = Resistor pada pin PROG ()

    Dalam perancangan, arus pengisian ulang (ICHG) ditentukan sebesar 485 mA,

    sehingga, besarnya RPROG yang dibutuhkan untuk memenuhi kebutuhan arus tersebut

    adalah 100 k.

    IC LTC4055 memiliki fitur pembatas arus masukan. Fitur ini dapat diaktifkan

    dengan mengatur pin HPWR (High Power Select). Untuk membatasi arus masukan pin

    HPWR dikoneksikan menuju pin masukan IN1 dan IN2 yang terhubung dengan VDD

    5V USB port. Besarnya arus maksimal yang dapat dibatasi sebesar 490 mA bergantung

    pada nilai RCLPROG. Besarnya pembatasan arus ditentukan dengan persamaan berikut.

    49000

    CLPROG

    CLPROGCL

    R

    VI (3.2)

    Dengan,

    ICL = Arus batas masukan (A)

    VCLPROG = Tegangan pada pin CLPROG sebesar 1 V (sesuai datasheet)

    RCLPROG = Resistor pada pin CLPROG ()

    Pada perancangan batas arus masukan ditentukan sesuai dengan arus masukan

    maksimal yaitu 490 mA. Berdasarkan persamaan diatas maka didapatkan nilai RCLPROG

    sebesar 100 k. Gambar 3.11 berikut menunjukkan untai pengisi ulang baterai

    menggunakan IC LTC4055 yang telah dirancang.

  • 36

    Gambar 3.11 Li-Ion charger LTC4055

    Untai pengisi ulang juga dilengkapi dengan sebuah LED sebagai indikator

    proses pengisian ulang yang akan menyala ketika proses pengisian ulang dan mati

    ketika baterai telah penuh.

    3.2.4.3 Perancangan Pendeteksi Kapasitas Baterai

    Dalam pemakaian baterai diperlukan informasi apakah baterai tersebut dalam

    kapasitas penuh atau pada level kapasitas minimum untuk mengetahui perkiraan waktu

    melakukan pengisian ulang baterai. Dalam perancangan digunakan IC tipe MAX17058

    produk Maxim yang mengukur kapasitas baterai menggunakan algoritma Model

    Gauge[16].

    Pin CELL pada IC MAX17058 digunakan untuk melakukan pengukuran level

    tegangan dari baterai digabung dengan pin VDD dan dikoneksikan menuju baterai. Pin

    ALRT merupakan pin yang berfungsi sebagai peringatan jika baterai berada pada

    kapasitas minimum. Besar nilai kapasitas minimum dapat ditentukan dengan melakukan

    pengaturan pada ATHD (empty alert threshold) yang terletak pada lima bit terakhir

    (LSB) pada register CONFIG di alamat 0x0C (heksa). Batas minimum dapat diatur

    antara 1% hingga 32% sesuai dengan Persamaan 3,3.

  • 37

    Gambar 3.12 Perancangan modul pendeteksi kapasitas baterai MAX17058

    SOC threshold = 32 ATHD (3,3)

    Dengan,

    SOC threshold = kapasitas minimum baterai (%)

    ATHD = Empty Alert Threshold (%)

    Sebagai contoh ketika diinginkan batas minimum sebesar 30 %, maka ATHD

    diset dengan nilai 2 (desimal) atau 00010 (bit)

    3.3. Perancangan Perangkat Lunak Wireless Air Mouse

    Ada beberapa bagian dari perancangan wireless air mouse yang direalisasikan

    dalam bentuk perangkat lunak. Perangkat lunak pada mikrokontroler meliputi

    perancangan perhitungan koordinat kursor dan instruksi pengiriman data dari mouse

    menuju PC. Perangkat lunak pada PC merupakan antarmuka yang dirancang untuk

    memudahkan pengguna melakukan pengaturan dan konfigurasi mouse.

  • 38

    Mulai

    Inisialisasi sistem

    Cek orientasi

    mouse

    Terdapat alas?

    Ambil data

    akselerometer

    sumbu X dan Y

    Ambil data

    giroskop sumbu

    yaw dan pitch

    Mode

    presentasi?

    Kalkulasi jarak dan

    arah gerak

    Terjemahkan perubahan

    jarak dan arah gerak

    kedalam koordinat 2 dimensi

    Deteksi penekanan tombol

    Generate paket data kirim

    menuju penerima

    Kalkulasi

    perubahan sudut

    Terjemahkan perubahan sudut

    kedalam koordinat 2 dimensii

    Tidak

    Ya

    Tidak

    Selesai

    Ya

    Gambar 3.13 Diagram alir perangkat lunak mikrokontroler

    Mikrokontroler dalam skripsi ini digunakan sebagai pengolah data yang berasal

    dari sensor pergerakan, melakukan penanganan kejadian penekanan tombol serta

    melakukan instruksi pengiriman data menuju PC. Diagram alir dari perangkat lunak

    mikrokontroler yang telah dirancang dapat dilihat pada Gambar 3.13.

    3.3.1. Perhitungan Koordinat Kursor Berdasarkan Pembacaan Sensor

  • 39

    Perangkat yang dirancang dapat bekerja dalam dua mode yaitu mode alas dan

    mode air mouse dimana mouse dapat bekerja tanpa menggunakan alas. Perubahan

    kursor dideteksi menggunakan sensor akselerometer dan giroskop. Perhitungan

    pembacaan sensor menjadi perubahan koordinat akan dijelaskan sub bab berikutnya.

    3.3.1.1. Perhitungan Perubahan Koordinat Kursor Pada Permukaan Alas

    Akselerometer digunakan untuk mengukur besar percepatan yang dialami

    mouse. Informasi percepatan yang terukur kemudian diolah untuk mendapatkan data

    perubahan posisi dan diterjemahkan kedalam perpindahan kursor mouse pada PC

    (Gambar 3.14).

    Data yang berasal dari sensor akselerometer masih berupa data mentah yang

    harus diolah terlebih dahulu untuk mendapatkan nilai percepatan yang sesungguhnya.

    Untuk menentukan nilai percepatan ( a ) dari data yang terbaca diperoleh dengan

    persamaan [6]:

    gasSensitivit

    sensorDataa 1 (3.4)

    Dengan,

    a = Percepatan terukur (m/s2)

    1g = Nilai percepatan rata-rata gravitasi bumi (9.81m/s2)

    Idealnya ketika posisi diam pada bidang datar tegak lurus arah gravitasi bumi,

    akselerometer harus menunjukkan nilai 0 pada sumbu x dan y. Pada kenyataannya yang

    terukur tidak menunjukkan nilai 0 akibat getaran mekanik. Untuk mengatasi hal tersebut

    dilakukan discrimination window untuk mengurangi efek gangguan mekanik. Berikut

    adalah gambar ilustrasi discrimination window pada pembacaan akselerometer.

  • 40

    Mulai

    Pengukuran percepatan

    Berdasarkan sensor

    akselerometer

    Eliminasi pengaruh gravitasi

    Pada pengukuran akselerometer

    Menerapkan

    discrimination window

    Menghitung

    perubahan posisi

    Menerapkan algoritma

    Zero Velocity Compensation

    (ZVC)

    Konversi perubahan posisi

    menjadi perubahan kursor

    Selesai

    Gambar 3.14 Diagram alir perhitungan perubahan kursor bidang datar

    Gambar 3.15 Ilustrasi discrimination window

    Untuk mengeliminasi pengaruh gravitasi bumi terhadap hasil pengukuran

    sensor akselerometer dilakukan dengan mengurangkan percepatan yang terukur dengan

    percepatan gravitasi yang mempengaruhi.

  • 41

    )cos(gaa terukurtranslasi (3.5)

    Dimana translasia adalah percepatan akibat gerak translasi, terukura merupakan

    percepatan total, dan merupakan sudut yang dibentuk antara bidang datar dan sumbu

    ukur (sumbu x dan y).

    Untuk mendapatkan perubahan posisi kursor akibat dari pergerakan mouse

    ditentukan dengan langkah-langkah berikut:

    a. Melakukan perhitungan posisi berdasarkan hasil pengukuran percepatan.

    Untuk mendapatkan posisi didapatkan dengan melakukan integral ganda percepatan

    terhadap waktu, dengan persamaan:

    dtdtas )(

    (3.7)

    Dengan,

    )(mposisinperpindahas

    a

    percepatan (m/s2)

    )/( 2smnpencuplikawaktudt

    Proses integral dilakukan dalam 2 tahap, integral yang pertama untuk memperoleh

    nilai kecepatan , kemudian integral kedua untuk memperoleh perubahan posisi ( s

    ).

    Perhitungan integral menggunakan metode penghitungan luasan trapezoidal seperti

    ditunjukkan pada Gambar 3.16 dengan persamaan :

    )(2

    )(1

    0

    10

    nnn

    i

    fftt

    luasan (3.8)

    Sehingga jika diterapkan dalam algoritma pemrograman dapat dilihat pada pseudo

    code berikut.

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

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

    Dengan,

    acc0 = percepatan sebelumnya

    acc1 = percepatan saat ini

    velo0 = kecepatan sebelumnya

    velo1 = kecepatan saat ini

    pos0 = posisi sebelumnya

    pos1 = posisi saat ini

  • 42

    Gambar 3.16 Metode penghitungan secara trapezoidal

    Kelemahan dari sensor akselerometer pada saat percepatan bernilai nol tidak

    mampu membedakan apakah akselerometer pada kondisi diam atau sedang bergerak

    konstan. Kelemahan lainya, akselerometer membaca semua percepatan yang

    dialaminya, baik percepatan gravitasi, percepatan ketika bergerak translasi, dan

    bahkan derau. Akibatnya, pengukuran percepatan dinamis menjadi tidak akurat. Hal

    ini berimbas pada perhitungan kecepatan yang tidak dapat kembali ke posisi nol

    ketika benda berhenti. Untuk mengatasinya digunakan algoritma zero velocity

    compensation [17].

    b. Konversi perubahan posisi menjadi perubahan koordinat kursor mouse.

    Perubahan posisi mouse merupakan selisih jarak perpindahan tempat antara posisi

    awal mouse dengan posisi mouse ketika berhenti bergerak, yang didefinisikan

    melalui persamaan:

    AwalPosisiAkhirPosisiPosisi (3.9)

    Untuk mendapatkan perubahan koordinat kursor didapatkan dengan cara mengalikan

    perubahan posisi dengan suatu faktor pengali K.

    KPosisiKoordinat (3.10)

    Proses perhitungan koordinat kursor berlaku untuk kedua sumbu koordiat, baik

    sumbu X maupun Y.

  • 43

    3.3.1.2. Perhitungan Perubahan Koordinat Kursor Tanpa Alas

    Pada saat mouse dikonfigurasikan tanpa menggunakan alas (diudara)

    digunakan sensor giroskop untuk mendeteksi pergerakan mouse. Sensor giroskop akan

    mendeteksi perubahan sudut akibat perubahan posisi mouse akibat digerakkan oleh

    pengguna. Perubahan sudut kemudian diterjemahkan kedalam koordinat kursor mouse.

    Berikut adalah diagram alir proses perhitungan koordinat kursor mouse pada saat tidak

    terdapat alas.

    Mulai

    Pembacaan data keluaran

    sensor giroskop

    Kompensasi zero offset

    Perhitungan perubahan

    sudut

    Konversi perubahan sudut menjadi

    perubahan koordinat mouse

    Selesai

    Kompensasi drift error

    Gambar 3.16 Diagram alir proses perhitungan koordinat kursor ketika diudara

  • 44

    Diagram alir perhitungan koordinat kursor ketika berada diudara akan

    dijelaskan sebagai berikut.

    1. Pembacaan data keluaran sensor giroskop.

    Berdasarkan spesifikasi datasheet yang dikeluarkan oleh Ivensense, sensor

    ITG3205 memiliki sensitivity scale factor sebesar 14.375 LSB/(o/s) yang dapat

    diartikan setiap 1 LSB data yang terukur sebanding dengan hasil pengukuran

    sebesar s

    375.14

    1 sehingga diperoleh faktor kalibrasi dengan persamaan [9]:

    ysensitivitPengaliFaktor

    1 (3.11)

    Nilai kecepatan sudut yang sebenarnya dapat dihitung dengan persamaan:

    PengaliFaktorterukurData (3.12)

    2. Kompensasi zero offset

    Ketika berada pada keadaan diam, keluaran sensor ITG3205 yang terbaca tidak

    menunjukkan nilai 0, hal ini akibat dari error offset sensor. Untuk mengatasi hal

    tersebut, dilakukan penghilangan error offset dengan langkah-langkah sebagai

    berikut.

    a. Ambil 10 data yang terbaca dari sensor, kemudian dicari nilai rata-ratanya,

    dengan persamaan:

    n

    i

    niavg

    nn 0

    21 ...1 (3.13)

    Keterangan:

    n = jumlah data

    Avg = kecepatan sudut rata-rata (sama dengan error offset rata-rata)

    b. Eliminasi error offset dari kecepatan sudut yang terukur, dengan persamaan:

    avgerror (3.14)

    3. Perhitungan perubahan sudut ( )(t ) dari kecepatan sudut yang terukur ( )(t ).

    Proses perhitungan dilakukan dengan melakukan integral kecepatan sudut sumbu

    putar Z dan sumbu putar Y dengan persamaan:

  • 45

    1

    )()(n

    n

    t

    tdttt (3.15)

    Perhitungan integral menggunakan metode penghitungan luas area trapezoidal

    seperti ditunjukkan pada Gambar 9.

    Gambar 3.17 Grafik perubahan kecepatan sudut terhadap waktu

    Sehingga, perubahan sudut ( )(t ) dapat dicari dengan algoritma pemrograman:

    0__2

    0 gyrovelogyrovelotime

    angleangle ,

    Keterangan:

    angle = sudut yang terukur

    angle0 = sudut sampel sebelumnya

    velo_gyro = kecepatan sudut yang terukur

    velo_gyro0 = kecepatan sudut sebelumnya

    time = waktu pencuplikan

    4. Kompensasi drift error menggunakan complementary filter

    Drift error sering kali terjadi akibat ketidakstabilan bias yang mengakibatkan

    simpangan kecil pada pembacaan kecepatan sudut yang menyebabkan pergeseran

    pengukuran sudut terhadap waktu [3]. Untuk mengatasi hal tersebut digunakan

    complementary filter yang merupakan suatu cara untuk menggabungkan pembacaan

    akselerometer dan giroskop [18]. Proses penggabungan ini bertujuan untuk

    memperoleh pembacaan sudut lebih akurat. Berikut adalah gambar blok diagram

    penerapan complementary filter.

  • 46

    Gambar 3.18. Blok diagram penerapan complementary filter

    Pada dasarnya complementary filter merupakan penjumlahan antara pembacaan

    sudut oleh akselerometer yang dilewatkan LPF (Low Pass filter) dan pembacaan

    sudut giroskop setelah dilewatkan HPF (High Pass Filter). Berikut adalah contoh

    langkah perhitungan complementary filter yang menggunakan satu sumbu

    pengukuran giroskop dan dua sumbu pengukuran akselerometer.

    a. Perhitungan sudut oleh sensor akselerometer.

    Dengan persamaan:

    z

    y

    aa

    aarctan (3.17)

    Keterangan:

    a = Sudut kemiringan antara sumbu Z dan Y

    ya = Percepatan pada sumbu Y

    za = Percepatan pada sumbu Z

    b. Perhitungan sudut oleh giroskop.

    Perhitungan sudut menggunakan sensor giroskop dapat dilihat pada persamaan

    3.15 dan persamaan 3.16.

    c. Proses pembentukan complementary filter

    Penggabungan pembacaan sudut oleh akselerometer dan giroskop dilakukan

    dengan menambahkan kedua sudut yang terukur sesuai dengan persamaan

    berikut.

  • 47

    agagcomp )1('' (3.18)

    Dengan,

    comp = Perhitungan sudut hasil complementary filter (o)

    = Koefisien pembobot filter antara 0 - 1

    5. Konversi perubahan sudut menjadi perubahan koordinat

    Konversi perubahan sudut menjadi perubahan koordinat dapat dilihat pada bab 2

    sub bab 2.1.

    3.3.2. Aplikasi Desktop Air Mouse Driver

    Aplikasi desktop dalam perancangan digunakan sebagai user interface untuk

    pengguna dalam melakukan konfigurasi perangkat wireless air mouse. Perancangan

    dilakukan menggunakan Visual Studio 2008 dengan bahasa pemrograman Visual C#

    (CSharp). Konfigurasi yang dilakukan meliputi konfigurasi mode wireless air mouse,

    pengaturan kecepatan gerak pointer mouse, kecepatan scroll, kecepatan klik. Selain itu

    pengguna juga dapat melakukan konfigurasi beberapa tombol tambahan yang dapat

    digunakan sebagai pemintas untuk membuka aplikasi lain. Berikut gambar perangkat

    lunak Air Mouse Driver yang telah dirancang.

    Gambar 3.19 Konfigurasi mode wireless air mouse

  • 48

    Gambar 3.20 Konfigurasi pengaturan kecepatan mouse

    Gambar 3.21 Konfigurasi tombol pemintas