35
BAB IV PENGUJIAN DAN ANALISIS
Bab ini akan membahas mengenai pengujian serta analisis masing-masing modul dari spesifikasi sistem secara keseluruhan. Tujuan dari pengujian ini adalah
untuk mengetahui apakah sistem yang dirancang dapat memberikan hasil sesuai dengan harapan dalam hal ini sudah sesuai dengan spesifikasi yang telah ditulis,
sedangkan analisis digunakan untuk membandingkan hasil perancangan dengan spesifikasi. Pengujian dilakukan pada setiap bagian maupun keseluruhan sistem.
4.1 Pengujian Sensor GY-521
Sensor GY-521 tersambung dengan komunikasi I2C dengan frekuensi standar sebesar 400k Hz terhadap Arduino nano. Dalam komunikasi I2C, arduino nano akan
bertindak sebagai master dan GY-521 bertindak sebagai slave. Konfigurasi yang digunakan untuk accelerometer jangkauan ±8g dan gyro ±250 degs. Pengujian sensor
GY-521 dilakukan dengan dua kondisi, yaitu kondisi saat diam dan kondisi saat bergerak. Saat kondisi diam, bertujuan untuk mengetahui nilai offset sebuah sensor
yang bisa digunakan untuk menambah tingkat akurasi pembacaan sensor. Saat kondisi bergerak, bertujuan untuk mengetahui seberapa cepat perubahan sudut yang terjadi
dengan menggabungkan data gyro.
Pengujian sensor kondisi diam juga bisa digunakan sebagai penentuan nilai offset sebagai bentuk cara dalam kalibrasi sensor. Vektor sumbu x, y, dan z merupakan
indikator dalam pengujian accelerometer. Apabila GY-521 diletakan tegak lurus dengan arah gaya gravitasi bumi, maka pengukuran data keluaran sensor akan
mendapatkan data mentah. Jika ingin meningkatkan tingkat akurasi sensor, bisa dilakukan dengan cara membuat seluruh data bernilai 0 untuk vektor sumbu x dan y,
sedangkan sumbu z bernilai 16.438. Untuk menampilkan data raw digunakan komunikasi serial dengan kecepatan baudrate 9.600 dari Arduino nano yang
memproses data dari GY-521. Data yang sudah ditampilkan akan dianalisa dan dijadikan nilai rata-rata untuk menentukan nilai offset pada data raw.
36 Tabel 4.1. Data Raw Sensor Accelerometer GY-521
Secara teori, apabila sensor GY-521 diletakan dengan posisi vektor x=90°, y=90° dan z=0°, maka nilai sumbu x=0, y=0 dan z=16384. Nilai rata-rata yang didapatkan pada
tabel 4.1, dapat digunakan sebagai kalibrasi sensor. Nilai tersebut akan menjadi nilai offset untuk data raw.
� =
� −
�
�
� =
� −
�
�
� =
� +
− �
�
Jika �
�
= , �
�
= , � �
�
=
� =
� −
�
�
= −
= No
n Sumbu
X Y
Z 1
224 128
14716 2
360 136
14784 3
344 280
14828 .
. .
. .
. .
. .
. .
. 379
244 24
14676 380
272 276
14944
x̅
306 276
14944
37 �
= �
− �
�
= −
= �
= �
+ �
− �
�
= +
=
Pada realitanya nilai offset untuk masing sumbu sangat jarang sekali mendekati nilai 0, hal ini dikarenakan banyaknya noise yang terjadi. Setelah melakukan kalibrasi
dengan menggunaan data raw dan mendapatkan nilai offset untuk data tersebut, selanjutnya mengubah nilai data raw menjadi besaran gravitasi dengan satuan g.
Pengujian dilakukan dengan cara melatakan sensor sejajar dengan waterpass. Secara teori, hasil nilai gravitasi yang akan didapatkan apabila sejajar dengan arah gravitasi
bumi adalah 8g. Sedangkan apabila tegak lurus pada arah gravitasi bumi, maka pembacaan sensor akan menghasilkan nilai yang mendekati 0g. Posisi vektor dibagi
menjadi tiga yaitu θ, ψ, dan φ.
Tabel 4.2. Data Percepatan Gravitasi Sensor Accelerometer GY-521
Nilai yang didapat pada sumbu x, y, dan z mendekati nilai 0g dan 8g, namun jarang sekali mendapatkan nilai tepat 0g dan 8g dikarenakan banyaknya noise dari sensor itu
sendiri maupun dari lingkungan luar. Nilai-nilai tersebut dapat juga digunakan sebagai nilai offset percepatan gravitasi yang bisa digunakan untuk meningkatkan akurasi
No Posisi Vektor °
Nilai percepatan gravitasi g �
� φ X
Y Z
1 90
90 0.02
0.01 7.92
2 90
90 0.2
8.01 0.1
3 90
90 7.97
0.2 0.2
4 90
90 180
0.01 0.08
8.3 5
90 180
90 0.2
7.95 0.35
6 180
90 90
7.96 0.1
0.03
38 sensor, dengan cara meletakan posisi sensor
θ=90°, ψ=90°, dan φ=0°, maka nilai acuan percepatan gravitasi yang harus didapatkan sumbu x=0g, y=0g, dan z=0g.
= −
�
Jika
�
= . ,
�
= . , �
�
= − . =
−
�
= . g − . g = g
= −
�
= . g − . g = g
= −
�
= . g − − . g
= g
Setelah didapatkan nilai percepatan gravitasi, dapat ditentukan besarnya sudut θ, ψ,
dan φ. Namun, dalam perancangan ini menggunakan nilai roll θ dan pitch ψ.
Percepatan gravitasi merupakan besaran vektor yang memiliki arah dan satuan, sehingga dapat menghasilkan nilai sudut dari besaran-besaran vektor tersebut, dengan
menggunakan persamaan:
� = � �
−
[ √
+ ]
� = � �
−
[
� √�
2
+ �
2
] Untuk contoh perhitungan mengunakan data pada Tabel no 4.2
� = � �
−
[ .
√ . + .
]
39
-60 -40
-20 20
40 60
80
1 29
57 85
113 141
169 197
225 253
281 309
337 365
393 421
449 477
505 533
561 589
617 645
673 701
S UD
UT DE
R A
JA T
N acc
gyro
� = � �
−
[ . ]
� =0.024 rad � =1.43°
� = � �
−
[ .
√ . + .
] � = � �
−
[ . ]
� =0.0011 rad � =0.0687°
Pengujian selanjutnya adalah menghitung nilai sudut dengan cara membandingkan nilai sudut aktual pada busur dengan sudut pembacaan sensor. Pengujian dilakukan
dua kali, dengan kondisi menggunakan filter dan tanpa filter. Filter yang digunakan dalam pengujian adalah compelementary filter. Pengambilan data pada tabel 4.3, setiap
sudut dilakukan sepuluh kali pengambilan data yang kemudian hasilnya akan dirata- rata. Diberikan nilai error sudut sebagai selisih sudut pembacaan sensor terhadap sudut
aktual busur. Compelementary filter menggunakan nilai dari gyro. Nilai besarnya sudut pada gyro dapat dicari dengan menggunakan persamaan :
� ° = �
�
�� ⁄
∗ �
Gambar 4.1. Grafik Perbandingkan Nilai Accelerometer dan Gyro Saat Berotasi
40 Tabel 4.3. Pembacaan Sensor Accelerometer tanpa Menggunakan Compelementary
Filter No
Sudut aktual
θ °
Sudut sensor accelerometer
sumbu x °
Sudut sensor accelerometer
sumbu y °
Error sudut sumbu x
° Error
sudut sumbu y °
1 1.25
1.4 1.25
1.4 2
10 10.2
12.5 3.2
2.5 3
20 2.6
23.4 4.6
3.4 4
30 33.9
32.8 3.9
2.8 5
40 45.7
44.3 5.7
4.3 6
50 57.2
56.8 7.2
6.8 7
60 66.2
67.2 6.2
7.2 8
70 76.3
75.3 6.3
5.3 9
80 88.2
86.4 8.2
6.4 10
90 96.2
95.4 6.2
5.4 Rata-rata Error
5.275 4.55
Tabel 4.4.Pembacaan Sensor Accelerometer dengan Menggunakan Compelementary Filter
No Sudut
pengukuran °
Sudut sensor accelerometer
sumbu x °
Sudut sensor accelerometer
sumbu y °
Error sudut
sumbu x °
Error sudut sumbu
x ° 1
0.85 0.7
0.85 0.7
2 10
12.7 11.4
2.7 1.4
3 20
22.88 22.5
2.88 2.5
4 30
32.6 31.7
2.6 1.7
5 40
44.35 42.9
4.35 2.9
6 50
54.35 52.7
4.35 2.7
7 60
64.28 62.4
4.28 2.4
8 70
74.87 72.7
4.87 2.7
9 80
84.52 81.8
4.52 1.8
10 90
87.58 88.4
2.42 1.6
3.382 2.04
41 Gambar 4.2. Grafik Perbandingan Error Sudut Menggunakan dan Tanpa
Compelementary Filter
Gambar 4.3. Grafik Perbandingan Sudut Menggunakan dan Tanpa Compelementary Filter Saat Diam
1 2
3 4
5 6
7 8
9
10 20
30 40
50 60
70 80
90 Pers
e n
ta se
E rro
r d
al a
m d
e ra
ja t
Sudut derajat
acc x acc y
comp x comp y
0.5 1
1.5 2
2.5
1 38
75 112
149 186
223 260
297 334
371 408
445 482
519 556
593 630
667 704
741 778
815 852
889 926
963 S
UD UT
DE R
A JA
T
N Comp
Acc
42
-80 -60
-40 -20
20 40
60
1 201
401 601
801 Su
d u
td e
ra ja
t
n comp
acc
Gambar 4.4. Grafik Perbandingan Sudut Menggunakan dan Tanpa Compelementary Filter Saat Berotasi.
Complementary filter menggunakan nilai antara data yang didapat dari accelerometer dengan gyroscope. Penggunaan filter ini dapat mereduksi noise yang
dihasilkan dari sensor itu sendiri. Pada dasarnya, pembacaan sudut dalam pengujian ini menitik beratkan pada pembacaan sensor accelerometer, karena accelerometer
mengukur gerakan linier dengan acuan gravitasi serta dapat memberikan pengukuran kemiringan sudut yang akurat dalam keadaan diam dengan kalibrasi melalui nilai
offset. Saat berotasi, accelerometer akan mengalami pembacaan sensor yang tidak akurat karena tidak dapat membaca dalam keadaan yang cepat dan memiliki noise.
Sensor gyro saat posisi dirotasi akan menampilkan data sesaat pengukuran sudut, tetapi nilainya tidak akan kembali menjadi sama. Data sudut yang didapatkan
dari gyro hanya dalam waktu singkat dan nilainya akan berubah pada waktu yang lama. Oleh sebab itu diperlukan complementary filter yang memiliki persamaan :
= � ∗
−
+ � ∗ +
− � ∗ �
Complementary filter sangat efektif karena menggabungkan keuntungan dari pembacaan accelerometer dan gyroscope. Dalam jangka waktu yang singkat, dapat
43 menggunakan data dari gyroscope, karena data yang didapat sangat presisi dan tidak
terpengaruh gaya dari luar. Dalam jangka waktu yang panjang, menggunakan data dari accelerometer karena sangat stabil dalam kondisi diam. Data dari gyro terintegrasikan
setiap waktu dengan data pengukuran sudut saat itu, setelah data tersebut dikombinasikan dengan data dari accelerometer yang diproses melalui persamaan
trigonometri menggunakan tan
-1
. Dalam penggunaannya, complementary filter harus digunakan dalam perulangan program yang tanpa batas. Setiap data pitch dan roll akan
diperbarui dengan nilai data dari gyroscope dalam setiap waktu. Nilai konstanta k yang digunakan adalah 0.93. Konstanta tersebut merupakan
faktor pengali pada nilai sudut, dan dapat disesuaikan nilainya. Saat berotasi, complementary filter akan membandingkan dengan pembacaan data sebelumnya, oleh
sebab itu,terjadi pereduksian error saat pembacaan. Filter akan mengoreksi apabila bersarnya gaya yang terbaca pada accelerometer memiliki nilai murni vector
percepatan gravitasi. Apabila nilai tersebut terlalu kecil atau besar, nilai tersebut bukan nilai yang diperlukan, dan tidak perlu dimasukan dalam perhitungan. Setiap waktu
nilai roll dan pitch akan selalu diperbaharui dengan persentase nilai accelerometer sebesar 93 saat terbaca dan 7 nilai accelerometer sebelumnya. Hal ini akan
mengukur nilai yang tidak akan berubah-ubah terlalu drastis dalam pengambilan data saat sensor berotasi.
Data-data yang ditampilkan dalam tabel dan grafik membuktikan bahwa dengan menggunakan sensor GY-521 dapat menghasilkan data output sudut dengan
tepat melalui pengurangan data yang terukur dengan nilai offset. Nilai error akan semakin tinggi apabila sensor membaca sudut pada kemiringan yang besar, seperti
pada kemiringan 30° hingga 80°. Hal ini dapat disebabkan oleh dari sensor itu sendiri yang memiliki keterbatasan dalam pengambilan data, terlalu banyak noise, dan
kesalahan pembacaan sensor yang membandingkan data dengan sudut busur, serta kesalahan pembulatan angka pada program.
44 Tabel 4.5.Pembacaan Sensor Accelerometer dengan Menggunakan Compelementary
Filter dengan memberikan nilai offset
No Sudut
pengukuran °
Sudut sensor accelerometer
sumbu x °
Sudut sensor accelerometer
sumbu y °
Error sudut
sumbu x °
Error sudut sumbu
y °
1 0.1
0.7
0.1 0.7
2 10
10.2 10.4
0.2 0.4
3 20
20.4 20.5
0.4 0.5
4 30
30.4 30.7
0.4 0.7
5 40
40.7 40.5
0.7 0.5
6 50
50.5 50.7
0.5 0.7
7 60
60.3 60.3
0.3 0.3
8 70
70.4 70.2
0.4 0.2
9 80
80.2 80.7
0.2 0.7
10 90
89.2 89.5
-0.8 -0.5
0.4 0.52
Gambar 4.5. Grafik Perbandingan Error Sudut Menggunakan Compelementary Filter dan Compelementary Filter yang Sudah Diberi Nilai offset
1 2
3 4
5 6
10 20
30 40
50 60
70 80
90 E
r r
o r
su d
u t
d e
ra ja
t
Sudut derajat finx
finy compx
compy
45
4.2 Pengujian Perangkat Keras