T1 612005001 Bab III
25
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 scrollmouse.
(2)
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.
(3)
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
(4)
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.
(5)
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 modepada 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
(6)
dihubungkan dengan komputer harus dilakukan pairing antara Bluetooth dan computer dengan standar pairingcode“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:
ADCXMIN ADCXMAX
ADCXMIN ADCX
X
( ) 240
ADCYMIN ADCYMAX
ADCYMIN ADCY
Y
(7)
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
(8)
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.
(9)
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.
(10)
3.2.4.1Perancangan 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.2Perancangan 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
(11)
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 PROG CHGR
V
I
(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 CLPROG CLR
V
I
(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.
(12)
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.3Perancangan 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.
(13)
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.
(14)
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.
(15)
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]:
g as Sensitivit
sensor Data
a 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 akibatgetaran mekanik. Untuk mengatasi hal tersebut dilakukan discrimination window untuk mengurangi efek gangguan mekanik. Berikut adalah gambar ilustrasi discrimination window pada pembacaan akselerometer.
(16)
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.
(17)
) cos(
g a
atranslasi terukur (3.5)
Dimana atranslasi adalah percepatan akibat gerak translasi, aterukur 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:
a dtdt
s () (3.7) Dengan, ) (m posisi n perpindaha s
a percepatan (m/s2)
) / (m s2 n pencuplika waktu
dt
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 1 0
n n ni
f f t t
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
(18)
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:
Awal Posisi Akhir
Posisi
Posisi
(3.9)
Untuk mendapatkan perubahan koordinat kursor didapatkan dengan cara mengalikan perubahan posisi dengan suatu faktor pengali K.
K Posisi Koordinat
(3.10)
Proses perhitungan koordinat kursor berlaku untuk kedua sumbu koordiat, baik sumbu X maupun Y.
(19)
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
(20)
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]:
y sensitivit Pengali
Faktor 1 (3.11) Nilai kecepatan sudut yang sebenarnya dapat dihitung dengan persamaan:
Pengali Faktor
terukur
Data
(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 n i avg n n 0 2 1 ...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:
error
avg (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:
(21)
1)
(
)
(
nn
t
t
t
dt
t
(3.15) Perhitungan integral menggunakan metode penghitungan luas area trapezoidalseperti 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 time velo gyro velo gyro angle
angle , 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.
(22)
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 a
a a
arctan
(3.17) Keterangan:
a
= Sudut kemiringan antara sumbu Z dan Y y
a = Percepatan pada sumbu Y z
a = 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.
(23)
a g
a g
comp
' ' (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.
(24)
Gambar 3.20 Konfigurasi pengaturan kecepatan mouse
(1)
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
(2)
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]:
y sensitivit Pengali
Faktor 1 (3.11) Nilai kecepatan sudut yang sebenarnya dapat dihitung dengan persamaan:
Pengali Faktor
terukur
Data
(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 n i avg n n 0 2 1 ...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:
error
avg (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:
(3)
1)
(
)
(
nn
t
t
t
dt
t
(3.15) Perhitungan integral menggunakan metode penghitungan luas area trapezoidalseperti 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 time velo gyro velo gyro angle
angle , 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.
(4)
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 a
a a
arctan
(3.17) Keterangan:
a
= Sudut kemiringan antara sumbu Z dan Y
y
a = Percepatan pada sumbu Y
z
a = 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.
(5)
a g
a g
comp
' ' (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.
(6)
Gambar 3.20 Konfigurasi pengaturan kecepatan mouse