Senin, 27 Oktober 2014

Penjelasan Sederhana Antenna Tracker berbasis GPS


Untuk membuat suatu sistem antena tracker berbasis GPS tidaklah terlalu sulit, hanya saja data yang kita butuhkan adalah informasi latitude, longitude , dan ditambah informasi altitude untuk mendapatkan hasil tracking 3D.

Sebagai contoh adalah menggunakan GPS dengan protokol  NMEA,   paket  yang dibutuhkan  berupa $GPRMC atau $GPGLL dimana di dalam paket ini terdapat informasi yang dibutuhkan  (latitude  dan longitude) serta $GPGGA yang berisi informasi altitude. untuk akurasi tracking,  informasi  dari GPS sudah cukup cukup baik untuk jarak tracking minimal 25-30 meter (Tergantung hardware GPS).

Jika masih kurang jelas tentang Protokol NMEA bisa dipahami pada link berikut :
http://www.gpsinformation.org/dale/nmea.htm

Bentuk data yang diterima melalui software terminal adalah sebagai berikut :

Dari data diatas untuk mendapatkan data-data yang dibutuhkan saja maka dilakukan parsing atau pemecahan data berdasarkan header ataupun dengan teknik menghitung byte serta panjang data. kemudian capture bagian yang dibutuhkan.

Setelah mendapat informasi latitude, longitude, dan altitude, kemudian memasukkan ke persamaan untuk mendapatkan nilai sudut azimuth dan elevasi dengan ketentuan seperti pada umumnya yaitu untuk azimuth bernilai 0.00 s/d 359.99 dan elevasi bernilai 0.00 s/d 90.00.

Persamaan yang digunakan untuk mendapatkan nilai sudut Azimuth adalah :

Sudut=atan2(sin(lon2-lon1)*cos(lat2), cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1));
Azimuth=Sudut*180/Phi;            ——–> (Phi = 3.14159)

Persamaan yang digunakan untuk mendapatkan nilai sudut elevasi :

dLat = (lat2-lat1);
dLon = (lon2-lon1);
Sudut = sin(dLat/2) * sin(dLat/2) + sin(dLon/2) * sin(dLon/2) * cos(lat1) * cos(lat2);
x = 2* asin(sqrt(Sudut));
y = 6371000 * x;                          ———> (6371000 = Jari-jari bumi ; Sumber Wikipedia :D )
Elevasi=atan(alt/y);
Elevasi=Elevasi*360/(2*Phi);

Nah, dari 2 persamaan di atas akan didapatkan sudut Azimuth dan Elevasi. sekarang untuk menggerakkan Servo atau aktuator Mekanis antenna dibutuhkan persamaan untuk mengarahkan Putaran (jika dibutuhkan fungsi reverse) dan menyesuaikan resolusi sudut agar hasil track lebih presisi. berikut persamaan sederhananya : (diturunkan sesuai kebutuhan).
X=x/(b-a)*(d-c)+c;

Blok sistem TX dan RX :


Blok sistem TX


Blok sistem RX (Home)


Berikut foto prototipe alat :


Bagian TX dan RF Module untuk mengirim data dari receiver GPS ke ground.

Bagian RX dan RF Module untuk menerima data (home).

TX (kiri) & RX (kanan).

Mengatasi Masalah Resolusi Tidak Tepat Pada Servo 180 Derajat

Saat kita membebeli servo baru terkadang tidak semuanya kita dapatkan dalam keadaan baik, bisa putarannya tidak mulus, resolusi kurang dari yang seharusnya, resolusi berlebihan (jangka panjang bisa merusak servo), ataupun posisi 0 atau 180 derajat tidak tepat. dibutuhkan proses kalibrasi ulang. kalibrasi dapat dilakukan melalui software (sedikit lebih ribet dan sebagian servo ada yang tidak bisa) ataupun dengan memodifikasi hardware (lebih mudah dan relatif bisa di semua jenis servo).

jika belum paham apa itu servo, mampir dulu ke http://qncctech.blogspot.com/2014/10/cara-kerja-servo.html

Lanjut, 
Berikut adalah Tutorial cara kalibrasi atau modifikasi feedback pada servo 180 derajat yang memiliki resolusi kurang dari seharusnya diuji dari pulsa penuh hanya menghasilkan sudut total 45 derajat tengah.

Jenis Servo TGY-S801D


  • Buka casing Servo dan solderan motor pada board

  • lepaskan solderan 2 kabel feedback (selain kabel comm) dari bord. kemudian seri resistor dengan nilai yang sudah dikalibrasi terlebih dahulu. solder kembali ke board.
  • Tutup kembali casing. servo sudah memiliki nilai sudut yang sesuai.

Cara kerja trik diatas adalah untuk menambah lebar sudut servo dengan menambah resolusi pembacaan posisi dan koreksi error pada feedback atau umpan balik servo. tujuannya adalah agar kontroler mengansumsikan pembacaan yang lebih singkat dari pembacaan resistansi yang besar sehingga kontroler menggerakkan lebih jauh dari sebelumnya.

Untuk mengurangi lebar sudut servo (pada kasus servo yang memiliki sudut lebih 180 yang berpotensi merusak servo), maka resistor masing-masing dari port selain port comm diparalel resistor dengan port comm. tujuannya adalah agar kontroler mengansumsikan pembacaan yang lebih panjang dari pembacan resistansi yang kecil sehingga kontroler menggerakkan lebih dekat dari sebelumnya.

jika masih belum paham, silakan pelajari konsep pembagi tegangan resistor dan kemudian pahami tentang closed-loop feedback.

Cara Kerja Servo

Penjelasan Tentang Servo


Servo merupakan salah satu jenis aktuator atau  yang pengendaliannya menggunakan lebar pulsa untuk menentukan posisi sudut servo tersebut. Beberapa jenis servo diantaranya adalah Servo 180 Derajat dan Servo Kontinu (360 derajat).

Pada umumnya Servo 180 derajat pengendaliannya adalah dengan resolusi pwm berlogika "1" selama 500 s/d 2500 uS (mikro detik) dari resolusi total 18 s/d 25 ms (mili detik).

Contoh Aplikasi Servo
  • Sebagai aktuator mekanis pada UAV (Unmanned Aerial Vehicle) atau disebut juga dengan Pesawat Tanpa Awak.
  • Sebagai penggerak arm Robot.
  • Sebagai Penggerak mesin CNC.
  • Pembersih kaca mobil, dll.
Ada beberapa bagian penting dari Servo yaitu :

Pulsa Pengendali ;

      Servo 180 derajat.

      Penjelasan gambar :
  • Untuk memposisikan pada 0 derjat maka pulsa yang diberikan ke servo adalah +- 500 atau 1000 uS HIGH dari resolusi total 18 s/d 25 ms (mili detik).
  • Untuk memposisikan pada 90 derjat maka pulsa yang diberikan ke servo adalah +- 1500 uS HIGH dari resolusi total 18 s/d 25 ms (mili detik).
  • Untuk memposisikan pada 180 derjat maka pulsa yang diberikan ke servo adalah +- 2000 atau 2500 uS dari resolusi total 18 s/d 25 ms (mili detik).
      Servo Kontinu (360 derajat) :
      Penjelasan Gambar :
  • Untuk mengatur Servo berputar kekiri (berlawanan jarum jam), dengan memberi pulsa +/- 1000 uS logika "1".
  • Untuk menghentikan putaran, dengan memberi pulsa +/- 1500 uS (Terkalibrasi) logika "1".
  • Untuk mengatur Servo berputar ke kanan (searah jarum jam), dengan memberi pulsa +/- 2000 uS logika "1".

Feedback pada Servo ;

      Feedback pada Servo memiliki fungsi untuk mendeteksi posisi sudut dan data untuk kalkulasi error.

Gearbox dan kontroler ;

Selain untuk meredam putaran, gearbox berfungsi untuk memudahkan putaran motor ketika diberi beban maksimum, makin besar perbandingan torsi putaran pada gearbox maka makin besar pula beban yang dapat diangkat dengan motor yang sama.

Blok kontroler adalah bagian yang mengatur putaran atau posisi sudut pada servo, kontroler akan menerima pulsa dari eksternal yang nantinya akan dijadikan setpoint posisi, kemudian kontroler menggerakkan motor dc sesuai posisi dan koreksi error dari feeedback, kontroler tersebut secara terus menerus melakukan looping sehingga mendapatkan posisi sudut sesuai command dari pulsa eksternal.