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

Popular posts from this blog

Tips Lulus Psikotes

Penyebab tidak bisa mengupload program ke Arduino

Memperbaiki Charger Laptop (Terputus)