Pengujian Sensor Gyro L3G4200D
Pengujian dilakukan untuk mengetahui kinerja
dari sensor gyro yang digunakan sebagai pendeteksi pergerakan. Pengujian dilakukan dengan memasangkan sensor gyro pada servo yang
telah diprogram melakukan pergerakan seperti pada pengujian servo, namun dengan
delay hanya 1 detik. Pemasangan dilakukan dengan 3 macam yaitu untuk mendeteksi
3 pergerakan pada sumbu x, y dan z. Dalam pengujian akan diamati pembacaan
sensor saat tidak menggunakan filter dan saat menggunakan filter.
Untuk skematik hubungan Arduino Mega 2560 dengan sensor
gyro dan motor sevo dapat dilihat pada gambar berikut:
Berikut gambar pemasangan sensor gyro pada motor servo
untuk mendeteksi pergerakan sumbu x, y, dan z:
Pendeteksian gerakan pada sumbu X (40° - 140°)
Tabel 4.9 Data Pendeteksian gerakan pada
sumbu X
Sudut
|
Data ADC
|
|
Tanpa filter
|
Dengan Filter
|
|
180°
|
629
|
140
|
135°
|
-381
|
40
|
90°
|
-462
|
40
|
45°
|
-427
|
40
|
0°
|
-408
|
40
|
45°
|
587
|
140
|
90°
|
608
|
140
|
135°
|
634
|
140
|
180°
|
621
|
140
|
Dari tabel pendeteksian pergerakan
sumbu X ada dua(2) jenis data ADC yang
diambil yaitu data ADC tanpa filter dan dengan filter. Pada data ADC tanpa
filter nilai yang diperoleh berkisar dari -400 hingga 600. Dari tabel tanpa
filter nilai bernilai negatif bila sensor gyro mengalami pengurangan sudut dan
sebalikknya. Nilai pada sudut yang sama saat mengalami penambahan atau
pengurangan sudut tidak sama (Contoh: 45°
nilai ADC tanpa filternya -427 dan 587) bisa disebabkan karena ada kelebihan
penambahan/ pengurangan sudut pada Motor servo. Sedangkan pada data ADC dengan
filter, nilai yang ditampilkan hanya nilai 40 dan 180. Jadi nilai yang akan
dikirim ke motor servo adalah nilai yang berkisaran antara 40 – 180.
Pendeteksian gerakan pada sumbu Y (45° - 135°)
Tabel 4.10 Data Pendeteksian gerakan pada sumbu Y
Sudut
|
Data ADC
|
|
Tanpa filter
|
Dengan Filter
|
|
0°
|
-404
|
45
|
45°
|
564
|
135
|
90°
|
643
|
135
|
135°
|
613
|
135
|
180°
|
585
|
135
|
135°
|
-411
|
45
|
90°
|
-434
|
45
|
45°
|
-383
|
45
|
0°
|
-417
|
45
|
Dari tabel pendeteksian pergerakan
sumbu Y ada dua(2) jenis data ADC yang
diambil yaitu data ADC tanpa filter dan dengan filter. Pada data ADC tanpa
filter nilai yang diperoleh berkisar dari -400 hingga 600. Dari tabel tanpa
filter nilai bernilai negatif bila sensor gyro mengalami pengurangan sudut dan
sebalikknya. Nilai pada sudut yang sama saat mengalami penambahan atau
pengurangan sudut tidak sama (Contoh: 45°
nilai ADC tanpa filternya 564 dan -383) bisa disebabkan karena ada kelebihan
penambahan/ pengurangan sudut pada Motor servo. Sedangkan pada data ADC dengan
filter, nilai yang ditampilkan hanya nilai 45 dan 135. Jadi nilai yang akan
dikirim ke motor servo adalah nilai yang berkisaran antara 45 – 135.
Pendeteksian gerakan pada sumbu Z (0° - 180°)
Tabel 4.11 Data Pendeteksian gerakan pada sumbu Z
Sudut
|
Data ADC
|
|
Tanpa filter
|
Dengan Filter
|
|
0°
|
-465
|
0
|
45°
|
636
|
180
|
90°
|
658
|
180
|
135°
|
613
|
180
|
180°
|
608
|
180
|
135°
|
-423
|
0
|
90°
|
-458
|
0
|
45°
|
-481
|
0
|
0°
|
-460
|
0
|
Dari tabel pendeteksian pergerakan
sumbu Z ada dua(2) jenis data ADC yang
diambil yaitu data ADC tanpa filter dan dengan filter. Pada data ADC tanpa
filter nilai yang diperoleh berkisar dari -400 hingga 600. Dari tabel tanpa
filter nilai bernilai negatif bila sensor gyro mengalami pengurangan sudut dan
sebalikknya. Nilai pada sudut yang sama saat mengalami penambahan atau
pengurangan sudut tidak sama (Contoh: 45°
nilai ADC tanpa filternya 636 dan -481) bisa disebabkan karena ada kelebihan
penambahan/ pengurangan sudut pada Motor servo. Sedangkan pada data ADC dengan
filter, nilai yang ditampilkan hanya nilai 0 dan 180. Jadi nilai yang akan
dikirim ke motor servo adalah nilai yang berkisaran antara 0 – 180.
Dari
tabel pendeteksian pergerakan pada tiga sumbu
X, Y, dan Z. Pada data ADC tanpa filter nilai yang diperoleh berkisar
dari -400 hingga 600. Nilai positif diperoleh saat pergerakan motor servo
mengalami penambahan sudut dan nilai negatif diperoleh saat motor servo
mengalami pengurangan sudut. Sedangkan pada data ADC dengan filter, nilai yang
ditampilkan hanya nilai batas minimal dan batas maksimalnya. Hal ini
dikarenakan pergerakan dari motor servo yang terlalu cepat sehingga data yang
tersampling/ terambil oleh sensor gyro hanya nilai minimal dan maksimalnya
saja.
Listing program yang digunakan untuk menggerakan motor
servo dan pembacaan sensor gyro tanpa filter dapat didownload DISINI
Penjelasan
Program:
Motor
servo disetting dengan posisi awal 0°. Pada motor servo dipasang sensor gyro
seperti gambar 4.6 untuk mendeteksi pergerakan sumbu X, Y dan Z. Setiap satu
(1) detik motor servo akan menambah sudut sebesar 45°. Apabila penambahan telah mencapai
sudut 180°, maka motor servo akan mengurangi sudutnya sebesar 45° hingga
kembali keposisi 0°. Data pergerakan yang dideteksi oleh sensor gyro akan
ditampilkan pada serial monitor.
Adapun tambahan listing program yang digunakan untuk menggerakan motor
servo dan pembacaan sensor gyro dengan filter dapat dilihat dibawah ini:
x = map(x, -1023,
1023, 0, 179);
if(x<40)
{
x=40;
}
if (x>140)
{
x=140;
}
Serial.print(" X:");
Serial.print(x);
z = map(z,
-1023, 1023, 0, 179);
if(z<0)
{
z=0;
}
if (z>180)
{
z=180;
}
Serial.print("
Z:");
Serial.print(z);
y = map(y, -1023,
1023, 0, 179);
if(y<45)
{
y=45;
}
if (y>135)
{
y=135;
}
Serial.print(" Y:");
Serial.print(y);
Serial.println();
Penjelasan
Program:
Untuk pergerakan
motor servo program yang digunakan masih sama dengan program sebelumnya, hanya
pada pembacaan data ADC sensor gyro diberi filter atau batasan. Filter yang
dibuat dengan membuat perbandingan/ skala Data ADC dari -1023 hingga 1023
dengan nilai 0 hingga 180. Dari data ADC yang telah dibuat skala tersebut akan
digunakan untuk membuat batasan bagi tiap sumbu yang telah ditentukan
sebelumnya.Video Pengujian Senso Gyro:
Selamat Mencoba...
Semoga Bermanfaat
Comments
Post a Comment