t1_612005001_bab iii_3
DESCRIPTION
tugas akhirTRANSCRIPT
-
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