• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN. (quadrotor) dan sistem kendali (ground control) dari jarak jauh dengan komunikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN. (quadrotor) dan sistem kendali (ground control) dari jarak jauh dengan komunikasi"

Copied!
41
0
0

Teks penuh

(1)

72

PERANCANGAN

3.1 Garis Besar Perancangan

Secara garis besar perancangan pada tugas akhir ini terdiri dari sistem UAV (quadrotor) dan sistem kendali (ground control) dari jarak jauh dengan komunikasi wireless seperti yang disajikan pada gambar 3.1.

GROUND CONTROL UAV

Gambar 3.1 Sistem UAV sederhana

Perancangan sistem UAV terdiri dari frame, motor dan propeller sebagai aktuator, mikrokontroler sebagai modul kontrol elektronik, modul IMU sebagai sumber data AHRS dan modul wireless sebagai penunjang komunikasi dengan ground control.

Perangkat elektronik secara garis besar disajikan pada gambar 3.2, terdiri dari Mikrokontroler, IMU, baterai, regulator tegangan, modul nirkabel, empat buat ESC dan empat buat motor BLDC.

(2)

MICROCONTROLLER 10 DOF MODULE IMU ACCELEROMETER GYROSCOPE MAGNETOMETER BAROMETER WIRELESS MODULE BATTERY Electronic Speed Controller 1 Electronic Speed Controller 2 Electronic Speed Controller 3 Electronic Speed Controller 4 M1 M2 M3 M4

Voltage Regulator Module

I2C BUS DMP FIFO

UART

Gambar 3.2 Blok diagram elektronik pada quadrotor 3.2 Alur Perancangan

Secara keseluruhan struktur perancangan pada tugas akhir ini mempunyai beberapa layer seperti pada gambar dibawah ini

COMMUNICATION LAYER TA H A P A N P ER A N C A N G A N PRESENTATION LAYER NAVIGATION INPUT MONITORING CONFIGURATION HARDWARE LAYER ELEKTRONIK

Mikrokontroller IMU Radio Baterai

EMBEDDED LAYER D M P FLIGHT CONTROLLER MEKANIK Propeller BLDC & ESC Frame

(3)

Alur perancangan dibuat dengan beberapa layer bertujuan untuk tahapan perancangan yang jelas, sistematis dan terstruktur. Perancangan dimulai dari layer yang paling bawah, yaitu hardware layer yang terdiri dari mekanik dan elektronik, kemudian dilanjutkan ke embedded layer, communication layer dan presentation layer.

3.3 Perancangan Perangkat Keras (Hardware Layer)

Untuk memudahkan perancangan perangkat keras dibagi menjadi dua bagian, yaitu perancangan mekanik dan perancangan elektronik.

3.3.1 Perancangan Mekanik

Perancangan mekanik merupakan layer fisik dari quadrotor, Bagian ini terdiri dari sistem mekanik yaitu kerangka, motor BLDC dan propeller.

3.3.1.1 Rangka (Frame)

Quadrotor yang dirancang pada tugas akhir ini menggunakan bentuk kerangka yang sederhana dengan kerangka jenis X (X-frame). Penempatan empat motor pada frame ini memiliki jarak yang sama terhadap pusat massa quadrotor.

Gambar 3.4 X-frame FPV250 quadrotor

Kerangka ini dipilih karena ukurannya yang kecil (diameter 25cm), berat yang ringan (109gram) dan memiliki rangka yang kuat.

(4)

3.3.1.2 BLDC Motor dan ESC

Perancangan menggunakan motor BLDC sebagai penggerak propeller, karena lebih efisien daya dan lebih mudah perawatan dibandingkan dengan motor DC konvensional dengan sikat.

Gambar 3.5 BLDC Motor SunnySky X224S-16

Motor BLDC yang digunakan memiliki spesifikasi 2300 kV (2300 RPM/V), dengan menggunakan sumber tegangan 11.1 Volt maka mendapatkan kecepatan maksimum 25530 RPM.

Tabel 3.1 Sepesifikasi BLDC Motor SunnySky X224S-16

Model SUNNYSKY X224S-16

Diameter Stator 22 mm

Ketebalan Stator 4 mm

Jumlah tangan Stator 12

Jumlah Pole Stator 14

Motor Kv 2300

Arus tanpa Beban (A/10V) 0.6 A

Motor Resistance 112m

Arus Kontinu Maksimum 10A/30s

Daya Kontinu Maksimum 140 W

Berat 21 gram Diameter Luar 27 mm Diameter Shaft M5 Panjang Bodi 16 mm Panjang Shaft 27.7 mm LiPo Cell 2-3S

(5)

Berdasarkan dari spesifikasi arus maksimum motor adalah 10 Ampere, pemilihan pengendali kecepatan motor menggunakan ESC dengan rating 12A .

Gambar 3.6 ESC EMAX 12A

ESC Emax 12A mempunyai input sinyal PWM dan mempunyai internal BEC (Battery Eliminator Circuit) dengan rating 5V/1A. BEC ini dimanfaatkan untuk supply mikrokontroler.

Tabel 3.2 Spesifikasi ESC Emax 12A

Model Emax ESC 12 A SimonK Series

Arus Kontinu 12 A

Arus Burst (10 s) 15 A

LiPo Cell 2 - 3 S

Dimensi PxLxT (mm) 25x20x7

Berat 9 gram

Mode BEC Linier

BEC output 1 A / 5 V

Dapat diprogram Ya

3.3.1.3 Propeller

Untuk menghasilkan daya angkat pada quadrotor, propeller yang digunakan mempunyai ukuran 6x3 (panjang 6 inci, pitch 3 inci) dengan 2 buah CCW (berlawanan arah jarum jam) dan 2 buah CW (searah jarum jam).

(6)

Gambar 3.7 Propeller HQ-PROP 6x3 inci

Pertimbangan memilih propeller HQ-PROP 6x3 karena propeller ini memiliki panjang 6 inci yang merupakan panjang maksimal yang dapat digunakan pada frame dan juga, merupakan rekomendasi ukuran propeller dari produsen motor. Propeller ini memiliki diameter dalam sebesar 5mm yang sesuai dengan diameter shaft motor yang digunakan. Selain itu propeller ini menggunakan material carbon composite, yaitu campuran material carbon, plastik dan campuran lain sehingga menjadikannya ringan, tidak terlalu kaku (fleksibel) dan tidak mudah patah.

Tabel 3.3 Spesifikasi HQ Propeller DD6030

Model HQ Propeller DD6030

Panjang 6 inch

Pitch 3 inch

Material Carbon Composite

Berat 3.3 gram

Hub ID Dia 5mm / 9.5mm

Hub OD Dia 13 mm

Hub thickness 7 mm

(7)

3.3.2 Perancangan Elektronik

Perancangan elektronik terdiri dari komponen elektronik yaitu mikrokontroler, IMU, wireless dan baterai.

3.3.2.1 Mikrokontroler

Pada perancangan ini, Arduino Pro Mini dijadikan sebagai otak quadrotor, karena ukurannya yang kecil, berat yang ringan, memiliki 1 port I2C, 1 port Serial dan 6 pin PWM. Arduino Pro Mini menggunakan mikrokontroler ATMega328P produsen Atmel, dengan clock speed 16MHz Menjadikan mikrokontroler ini cukup dijadikan otak pada quadrotor.

Gambar 3.8 Arduino Pro Mini ATMega328P 5V

Mikrokontroler ATMega328P memiliki EEPROM (Electrically Erasable Programmable Read-Only Memory) yang dapat digunakan sebagai penyimpanan konfigurasi quadrotor seperti informasi kalibrasi sensor gyroscope, accelerometer dan lain-lain.

(8)

Tabel 3.4 Spesifikasi Arduino Pro Mini ATMega328P 5V

Model Arduino Pro Mini

Mikrokontroler ATMega328P

Tegangan Kerja 5 Volt

Input Tegangan 5-12 Volt

I/O Pin 14 pin (6 pin untuk PWM)

Analog Pin 8 pin

Arus I/O Pin 150mA

Flash Memory 32 KB (2 KB Bootloader)

SRAM 1 KB EEPROM 1 KB Kecepatan 16 MHz I2C 1 Serial Port 1 3.3.2.2 Sensor Inersia

Drotek 10 DOF IMU merupakan modul yang terdiri dari sensor accelerometer, gyroscope, magnetometer dan barometer. Sensor-sensor tersebut merupakan sumber informasi utama untuk perhitungan algoritma AHRS.

Gambar 3.9 Modul Drotek 10 DOF IMU

Drotek 10 DOF IMU terhubung dengan jalur bus dengan protocol asinkron serial 2 kawat I2C (Inter-Integrated Circuits). Dan dapat menggunakan sumber tenaga 5V atau 3.3V

(9)

Gambar 3.10 Skema rangkaian Drotek 10 DOF IMU

Pada modul ini, menggunakan dua chip, yaitu chip MPU9150 yang berfungsi sebagai sensor accelerometer, gyroscope, magnetometer. Dan chip MS5611-01BA sebagai sensor barometer. Chip MPU9150 produksi Invensense. merupakan gabungan dari dua chip, yaitu, chip MPU6050 (sensor gyroscope dan sensor accelerometer) dan chip AK8975 (sensor magnetometer).

3.3.2.3 Wireless

Komunikasi nirkabel merupakan salah satu tantangan. Beberapa faktor yang menjadi pertimbangan seperti konsumsi daya, berat, kecepatan transmisi dan kehandalan. Modul XBee Pro 900 HP merupakan salah satu modul yang cocok untuk mendukung kriteria tersebut. Komunikasi modul XBee Pro 900 HP dapat

(10)

menggunakan perintah serial, memiliki kecepatan data maksimum 200kbps dan jangkauan maksimum 6.5km.

Gambar 3.11 Telemetri radio XBEE Pro 900 HP

Modul Xbee Explorer digunakan untuk memudahkan rangkaian dan konektitas modul Xbee dengan mikrokontroler maupun dengan komputer.

Tabel 3.5 Spesifikasi radio XBEE Pro 900 HP

Model XBee‐PRO® 900HP

Frekuensi 902 to 928 MHz

Daya output Transmit 24 dBm (250 mW)

(software selectable)

RF Data Rate (High) 200 kbps

RF Data Rate (Low) 10 kbps

Serial Interface data rate 9600-230400 baud

(software selectable)

Supply Voltage 2.1 Volt - 3.6 Volt

Current 2.5 µA to 290 mA

10 kbps 200 kbps

Jankauan Indoor/Urban 2000 feet

(610 m) 1000 feet (305 m) Jankauan LOS (line of sight) 9 miles (15.5 km) 4 miles (6.5 km)

(11)

3.3.2.4 Sumber Tenaga

Berdasarkan spesifikasi Motor dan ESC sumber tenaga quadrotor menggunakan baterai LiPo 3S 1300 mAh produksi Turnigy dengan discharge rate sebesar 45C, kapasitas 1.300 mAh, tegangan output sebesar 11,1 volt dan memiliki 3 cell di dalamnya. Dengan sepesifikasi tersebut, baterai mempunyai kemampuan memberikan arus sebesar 58.3A yang cukup untuk men-supply empat buah ESC dengan empat buat motor BLDC dan modul elektronika lainnya tanpa merusak baterai.

Gambar 3.12 Baterai Lipo

Pada tabel 3.6 merupakan detail spesifikasi Baterai LiPo yang digunakan pada perancangan quadrotor.

Tabel 3.6 Spesifikasi Baterai LiPo

Model Turnigy nano-tech 1300mAh

3S 45~90C Lipo Pack

Capacity 1300 mAh

Config 3S

Discharge 45 C

Max Discharge 90 C

Max Charge Rate 10 C

Internal Resistance 1.2 mΩ

Dimension 72x23x35 mm

(12)

3.3.2.5 Perancangan Rangkaian Elektronik

PWM pada Arduino Pro Mini memiliki 2 frekuensi standar , yaitu frekuensi 490Hz dan frekuensi 980Hz. PWM dengan frekuensi 490Hz terdapat pada pin 3, 9, 10 dan 11 sedangkan PWM dengan frekuensi 980Hz terdapat pada pin 5 dan 6. [13]

Untuk memudahkan programming pada proses PWM encoder, pin PWM yang digunakan adalah pin 3, 9, 10 dan 11.

Output sinyal PWM pada ESC pada perancangan ini menggunakan frekuensi 8kHz.

ARDUINO PRO MINI ATMEGA328P 5V, 16MHz BLDC MOTOR 1 ESC 1 A B C BLDC MOTOR 2 ESC 2 A B C BLDC MOTOR 3 ESC 3 A B C BLDC MOTOR 4 ESC 4 A B C D3/PWM D9/PWM D10/PWM D11/PWM XBEE 10 DOF IMU RX TX D0/RXD D1/TXD D2/INT0 INT SDA SCL A4/SDA A5/SCL PWM PWM PWM PWM VCC 5V 5V RAW 5V/1A 5V/1A 5V/1A 5V/1A GND GND GND GND GND GND GND LiPo Battery 3S 11.1 Volt, 1300mAh GND 7.4-12.6V 7.4-12.6V 7.4-12.6V 7.4-12.6V

Gambar 3.13 Perancangan skema rangkaian elektronik 3.4 Perancangan Embedded System

Secara keseluruhan piranti lunak yang dikembangkan dapat diilustrasikan seperti pada gambar 3.14.

(13)

10 DOF IMU 3 Axis Gyroscope 3 Axis Accelerometer 3 Axis Magnetometer Digital Motion Processor Barometer

ARDUINO PRO MINI ATMEGA328 I2C Driver SENSOR FUSION SERIAL PROTOCOL XBEE FLIGHT CONTROLLER PWM ENCODER DRIVER EEPROM DRIVER STABILIZER TASK MANAGEMENT THROTTLE MIXER ATTITUDE CONTROLLER COMMAND TRANSLATOR ESC 2 ESC 3 ESC 4 ESC 1 MOTOR 1BLDC BLDC MOTOR 2 BLDC MOTOR 3 BLDC MOTOR 4 PWM 1 PWM 2 PWM 4 PWM 3 UART RC INPUT GLOBAL VARIABLES

Block piranti lunak yang akan dirancang

Yaw, Pitch, Roll Rotation Speed, Vertical Speed, Altitude I2 C B U S

Gambar 3.14 Arsitektur embedded system 3.4.1 Struktur Class dan Tipe Data

Struktur class dan tipe data digunakan untuk memudahkan pemprograman yang berorientasi objek atau dikenal dengan object oriented programming (OOP).

+pid : pid_t[7] +rcSetting : rcSetting_t +gyroCalibration : simple_calibration_t +accelCalibration : calibration_t +magCalibration : calibration_t +bodyQuaternion : int16_t[4] +groundAlt : float +checksum : uint8_t «struct»mem_config_t +ThrottleMin : int16_t +ThrottleMax : int16_t +rcRate : uint8_t +rcExpo : uint8_t +rollPitchRate : uint8_t +yawRate : uint8_t +dynThrPID : uint8_t +thrMid : uint8_t +thrExpo : uint8_t «struct»rcSetting_t +xOffset : float +yOffset : float +zOffset : float +weight : float «struct» simple_calibration_t +P : uint8_t +I : uint8_t +D : uint8_t «struct»pid_t +xMin : int16_t +xMax : int16_t +yMin : int16_t +yMax : int16_t +zMin : int16_t +zMax : int16_t +weight : float +xOffset : int16_t +yOffset : int16_t +zOffset : int16_t +xScale : float +yScale : float +zScale : float «struct»calibration_t +p : int32_t +pressure : float +temperature : float +altitude : float +velocity : float «struct»baro_t +gyro : int16_t[3] +accel : int16_t[3] +mag : int16_t[3] «struct»imu_t +p : int32_t +q : int16_t[4] +gyro : int16_t[3] +accel : int16_t[3] +mag : int16_t[3] «struct» dmp_raw_t +dmp : dmp_raw_t +imu : imu_t «struct» dmp_raw_vs_imu_t

(14)

Pada gambar 3.15 merupakan keseluruhan struktur tipe data yang digunakan pada perancangan embedded system. Struktur tipe data pid_t digunakan untuk menyimpan data konstanta Kp, Ki dan Kd pada masing-masing jenis pengendalian PID. Untuk menghemat memory pada mikrokontroler, tipe data yang digunakan adalah uint8_t (unsigned integer 8 bit). Namun pada saat pemakaiannya harus selalu dikonversi ke skala yang sebenarnya.

Tabel 3.7 Detail struktur tipe data pid_t

Nama Field Tipe Data Keterangan Satuan

P uint8_t Propotional (pada pemakaian /10) I uint8_t Integral (pada pemakaian /1000) D uint8_t Derivative (pada pemakaian /100)

Struktur tipe data baro_t merupakan data pengukuran tekanan dan temperature dengan menggunakan sensor barometer berserta nilai-nilai hasil perhitungannya seperti altitude dan velocity (kecepatan vertikal) dengan waktu cuplik terakhir.

Tabel 3.8 Detail struktur tipe data barometer

Nama Field Tipe Data Keterangan Satuan

p int32_t millis

pressure float tekanan udara

temperature float suhu

altitude float ketinggian

velocity float kecepatan vertikal

Kalibrasi accelerometer dan magnetometer disimpan di EEPROM dengan menggunakan struktur tipe data calibration_t. Nilai maksimum dan minimum untuk

(15)

accelerometer sample datanya dapat diambil dengan membuat orientasi sumbunya terhadap gravitasi, sedangkan untuk magnetometer sample datanya dengan orientasi masing-masing sumbunya terhadap arah utara. Pada tabel 3.9 merupakan penjelasan detail untuk masing-masing field-nya.

Tabel 3.9 Detail struktur tipe data kalibrasi

Nama Field Tipe Data Keterangan Satuan

xMin int16_t Sumbu X minimum

xMax int16_t Sumbu X maksimum

yMin int16_t Sumbu Y minimum

yMax int16_t Sumbu Y maksimum

zMin int16_t Sumbu Z minimum

zMax int16_t Sumbu Z maksimum

weight float

xOffset int16_t automatis

yOffset int16_t automatis

zOffset int16_t automatis

xScale float

yScale float

zScale float

Kalibrasi gyroscope menggunakan struktur tipe data simple_calibration_t. Struktur tipe data ini tidak sekompleks struktur tipe data calibration_t, hal ini karena kalibrasi gyroscope pada prakteknya sulit untuk mengukur nilai maksimum dan minimum secara pasti.

Tabel 3.10 Detail struktur tipe data kalibrasi gyroscope

Nama Field Tipe Data Keterangan Satuan

xOffset int16_t

yOffset int16_t

zOffset int16_t

(16)

Struktur tipe data dmp_raw_t merupakan data dari hasil buffer FIFO dmp pada setiap pembacaan waktu cupliknya.

Tabel 3.11 Detail struktur tipe data dmp_raw_t

Nama Field Tipe Data Keterangan Satuan

p int32_t millis

q int16_t[4] Quaternion

gyro int16_t[3] pengukuran gyroscope (x, y, z) accel int16_t[3] pengukuran accelerometer (x, y, z) mag int16_t[3] pengukuran magnetometer (x, y, z)

Stuktur tipe data imu_t merupakan hasil pengukuran dari tipe data dmp_t yang sudah terkalibrasi dan atau sudah dirotasi sesuai dengan body frame quadrotor.

Tabel 3.12 Detail struktur tipe data imu_t

Nama Field Tipe Data Keterangan Satuan

gyro int16_t[3] pengukuran gyroscope (x, y, z) accel int16_t[3] pengukuran accelerometer (x, y, z) mag int16_t[3] pengukuran magnetometer (x, y, z)

Struktur tipe data mem_config_t merupakan struktur data yang akan disimpan pada EEPROM.

Tabel 3.13 Detail struktur tipe data konfigurasi mem_config_t

Nama Field Tipe Data Keterangan Satuan

pid pid_t[7] rcSetting rcSetting_t gyroCalibration simple_calibration_t accelCalibration calibration_t magCalibration calibration_t bodyQuaternion int16_t[4] groundAlt float checksum uint8_t

(17)

Struktur tipe data rcSetting_t merupakan struktur tipe data konfigurasi sifat daripada input dari ground control.

Tabel 3.14 Detail struktur tipe data rcSetting_t

Nama Field Tipe Data Keterangan Satuan

ThrottleMin int16_t ThrottleMax int16_t rcRate uint8_t rcExpo uint8_t rollPitchRate uint8_t yawRate uint8_t dynThrPID uint8_t thrMid uint8_t thrExpo uint8_t 3.4.2 Task Management

Standar pemprograman Arduino mempunyai dua proses, yaitu proses setup dan proses loop. Proses setup terjadi hanya satu kali ketika Arduino menyala atau di-reset. Proses setup dapat digunakan untuk inisalisasi variabel, mode pin, atau inisialisasi aplikasi. Sedangkan proses loop merupakan proses yang diulang-ulang. Proses loop dipakai untuk kontrol atau respon pada mikrokontroler.

Task Management dirancang untuk memudahkan sub-proses pada loop Arduino yang dimana sub-proses tersebut membutuhkan aktivasi pada periode tertentu.

Task Management terbagi menjadi 3 proses, yaitu Instance Task, Scheduler Task, dan End Task. Instance Task merupakan task yang berada pada awal loop,

(18)

Scheduler Task merupakan task yang dijadwalkan dalam periode tertentu dan End Task merupakan task yang berada pada akhir loop. Hubungan proses Arduino dengan proses task management disajikan pada gambar 3.4.2.

Alur standar pada Arduino Alur proses Task Manajemen pada Loop Arduino Alur Proses Penjadwalan Task

Start START INSTANCE TASK END TASK END START END Apakah selisih waktu sesuai dengan periode

Task ?

Ekseskusi Proses Task Terkait

Y MILLIS Baca Waktu

Set waktu Task terakhir = waktu

saat ini T Baca Jumlah Jadwal

Task

Apakah semua jadwal Task sudah

diproses ? Jadwal Task Proses Penjadwalan Task LOOP SETUP

Gambar 3.16 Alur proses task management 3.4.3 Variabel Global

Variabel global adalah data state yang disimpan pada RAM mikrokontroler yang dapat dibaca dan atau dimanipulasi oleh beberapa blok proses/sub-proses pada embedded system.

3.4.4 EEPROM Driver

EEPROM digunakan untuk menyimpan data konfigurasi, kalibrasi dan tuning pada mikrokontroler.

(19)

Load EEPROM Reset EEPROM Save EEPROM Baca Binary EEPROM Apakah Checksum sesuai ? START END Set Global Variable EEPROM Y START Reset EEPROM T Clear EEPROM END Set Default Configuration START Kalkulasi checksum EEPROM Simpan ke EEPROM END Serialisasi class/ struct memConfig ke Binary Save EEPROM deserialisasi binary ke class/struct memConfig Kalkulasi checksum Global Variable memConfig

Gambar 3.17 Alur proses EEPROM 3.4.5 Sensor Fusion

Blok sensor fusion merupakan proses pengolahan AHRS yang sumber datanya dari modul IMU. Hasil pengolahannya berupa posisi sudut (ψ, θ, ϕ), kecepatan rotasi, percepatan dan ketinggian. Data tersebut akan dimanfaatkan untuk proses flight controller dan atau proses yang lainnya.

Pada prakteknya modul IMU yang dipasang pada body frame tidak selalu akurat pada pusat body frame. Untuk mengurangi kesalahan perhitungan posisi sudut, maka 𝒒𝒅𝒎𝒑 perlu dirotasikan ke 𝒒𝒃𝒐𝒅𝒚 terlebih dahulu, kemudian dilakukan perhitungan menentukan posisi sudut (ψ, θ, ϕ). Untuk mendapatkan kecepatan angular (𝝎) dan percepatan (a) yang akurat juga dirotasikan dengan 𝒒𝒃𝒐𝒅𝒚.

(20)

YAW PITCH ROLL             2 3 2 2 2 1 2 0 3 0 2 1 2 arctan q q q q q q q q   2 0 2 1 3  arcsin qqqq             2 3 2 2 2 1 2 0 3 2 1 0 2 arctan q q q q q q q q * body dmp q q q  dmp

q

ROTATION offset

dmp

+

-Gambar 3.18. Diagram blok perhitungan sudut

dmp

body

q

* 0 body dmp body q q           dmp

a

* 0 body dmp body q a q a        

a

Gambar 3.19. Diagram blok perhitungan rotasi untuk vektor kecepatan angular

dan vektor percepatan

Karena DMP pada tugas akhir ini menggunakan firmware 6 Motion Fusion, maka sudut Yaw perlu disinkronkan terlebih dahulu dengan sudut kompas. Proses sinkronisasi dieksekusi hanya satu kali atau dalam periode tertentu.

(21)

dmp

m

COMPASS          x y dmp dmp m m arctan offsetdmpcompass

+

-Gambar 3.20. Diagram blok perhitungan offset Yaw

Pada gambar 3.21 merupakan proses perhitungan ketinggian dengan menggunakan persamaan (2.91). Hasil pengukuran tekanan dari sensor barometer dijadikan input dan menghasilkan output ketinggian.

p

ALTITUDE

           

25

.

1013

19027 . 0 1 77 . 44330 x

p

h

k

h

Gambar 3.21. Diagram blok perhitungan ketinggian

h

1  t

h

-+

h

t

h

v

baro

z

a

t

a

v

v

acc

t1

z

LPF

HPF

+

+

v

acc

v

baro

v

Complementary Filter

Gambar 3.22 Diagram blok perhitungan kecepatan ketinggian 3.4.6 Flight Controller

Sesuai dengan namanya flight controller berfungsi sebagai kontrol penerbangan dari ground control. Kontrol-kontrol penebangaan pada perancangan

(22)

ini, yaitu kontrol untuk menghidupkan atau mematikan motor, mempertahankan posisi sudut, melakukan perintah perubahan posisi sudut, dan atau mempertahankan ketinggian.

Pada proses ini, AHRS dan perintah penerbangan dari ground control dijadikan input kontrol PID. Output dari pengendali PID tersebut kemudian didistribusikan ke masing-masing motor. Pada perancangan pengendali PID ini, mode penerbangan terbagi menjadi dua, yaitu mode akrobatik dan mode angle (posisi sudut). Khusus untuk mode angle posisi sudut hanya digunakan untuk sudut Pitch dan Roll.

Mode akrobatik memanfaatkan kecepatan angular sebagai keseimbangan posisi. Input dari joystick mempengaruhi seberapa cepat quadrotor berputar pada sumbunya. Posisi quadrotor tidak kembali ke posisi sudut semula jika input dari joystick kembali ke posisi nol.

Mode angle memanfaatkan posisi sudut sebagai referensi untuk mempertahankan posisi sudut dan memanfaat kecepatan angular sebagai keseimbangan posisi. Input dari joystick mempengaruhi quadrotor untuk berputar pada sumbunya dengan posisi sudut yang sesuai dengan input. Posisi quadrotor akan kembali ke posisi sudut nol derajat.

Kontrol PID pada perancangan ini menggunakan skema kontrol PI-D [9]. Secara garis besar flight controller pada perancangan ini seperti pada gambar yang disajikan dibawah ini.

(23)

Command Translator

Yaw Attitude (PI-D Controller)Yaw Stabilizer

Pitch Attitude (PI-D Controller) Roll Attitude (PI-D Controller) Height Stabilizer (PI-D Controller) Pitch Stabilizer (PI-D Controller) Roll Stabilizer (PI-D Controller) Mixer Attitude Controller Stabilizer FLIGHT CONTROLLER Gambar 3.23 Digram blok flight controller secara keseluruhan

Pada gambar 3.4.6 penjelasan masing-masing blok akan dirinci pada sub-bab selanjutnya.

3.4.6.1 Command Translator

Proses command translator befungsi untuk menerjemahkan dan menyesuaikan format perintah penerbangan dari ground control. Pada umumnya remote kontrol komersial mempunyai sinyal PWM masing-masing channel berkisar antara 1000 sampai dengan 2000. Sinyal Throttle 1000 menunjukan angka nol dan 2000 menunjukan angka masimun. Untuk Elevator, Aileron dan Rudder angka 1500 menunjukan posisi nol. Pada perancangan ini command translator mengkonversi input Elevator, Aieleron dan Rudder menjadi kirasaran -500 sampai dengan 500. Fungsi ekponen digunakan untuk mengurangi atau memperbesar

(24)

sensitivitas input, hal ini berguna untuk memudahkan pengguna untuk mengontrol dari joystick bedasarkan input jangkauan kerjanya.

KONVERSI KE SKALA -500 s/d 500 Elevator KONVERSI KE SKALA -500 s/d 500 Aileron KONVERSI KE SKALA -500 s/d 500 Rudder KONVERSI KE SKALA 1000 s/d 2000 Throttle Pitch Exponent Roll Exponent Throttle Exponent command

command

command

command

T

Gambar 3.24 Diagram blok Command Translator 3.4.6.2 Attitude Controller

Attitude Controller merupakan implementasi sikap quadrotor dari perintah yang sudah diterjemahkan oleh command translator. Perancangan Attitude Controller ini mempunyai proses yang berbeda untuk masing-masing jenis penerbangan.

3.4.6.2.1 Yaw Attitude

Yaw Attitude merupakan implementasi perintah sudut Yaw. Yaw attitude terbagi menjadi dua jenis mode yaitu mode Yaw Lock On dan mode Yaw Lock Off. Yaw Lock berfungsi sebagai pengunci sudut Yaw, agar quadrotor tetap mempertahankan posisi sudut yang sesuai dengan perintahnya.

(25)

rate

command

command

Gambar 3.25 Diagram blok yaw attitude dengan Mode Yaw Lock Off

Pada gambar 3.25 menujukan bahwa 𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 merupakan input untuk gerakan yaw (𝜓), rate merupakan variabel konstanta yaw rate yang telah dikonfigurasi dan 𝜔𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 merupakan hasil perkalian 𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 dengan yaw rate.

lock

+ -

rate

command

Gambar 3.26 Diagram blok yaw attitude dengan mode Yaw Lock On

Perlu diperhatikan dalam pemprograman pada gambar 3.26, mode Yaw Lock On akan bekerja jika tidak ada input (𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 = 0). Jika ada input

(𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 ≠ 0) maka secara automatis menggunakan mode Yaw Lock Off seperti

pada gambar 3.25. Variabel sudut 𝜓𝑙𝑜𝑐𝑘 selalu diupdate dengan posisi sudut yaw(𝜓) ketika 𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 ≠ 0 pada setiap waktu cupliknya.

3.4.6.2.2 Pitch Attitude

Pitch attitude merupakan implementasi dari perintah sudut pitch (𝜃). Pitch attitude terbagi menjadi dua jenis mode yaitu mode Akrobatik atau mode angle.

rate command

command

(26)

Pada gambar 3.27 menujukan bahwa 𝜃𝑐𝑜𝑚𝑚𝑎𝑛𝑑 merupakan input untuk gerakan pitch (𝜃), rate merupakan variabel konstanta pitch rate yang dikonfigurasi melalui GUI dan 𝜔𝜃𝑐𝑜𝑚𝑚𝑎𝑛𝑑 merupakan hasil perkalian 𝜃𝑐𝑜𝑚𝑚𝑎𝑛𝑑 dengan pitch rate. command

 

t e Kplevel  + -+ +  t e

 

dt t d Kdlevel

- 

t level e t dt Ki 0  scale command

Gambar 3.28 Diagram blok pitch attitude dengan mode Angle

Pengendali PI-D digunakan untuk mengendali posisi sudut pitch (𝜃), dimana input 𝜃𝑐𝑜𝑚𝑚𝑎𝑛𝑑 dikalikan dengan scale (konstanta pitch angle. Konstanta scale, 𝐾𝑝𝑙𝑒𝑣𝑒𝑙, 𝐾𝑖𝑙𝑒𝑣𝑒𝑙 dan 𝐾𝑑𝑙𝑒𝑣𝑒𝑙 pada implementasinya dapat dikonfigurasi melalui GUI.

3.4.6.2.3 Roll Attitude

Perancangan roll attitude sama halnya dengan pitch attitude, yaitu merupakan implementasi dari perintah sudut roll (𝜙). Roll attitude terbagi menjadi dua jenis mode yaitu mode Akrobatik atau mode angle.

rate command

command

(27)

Perancangan roll attitude mode akrobatik sebenarnya tidak berbeda jauh dengan perancangan pitch attitude mode akrobatik, rate merupakan variabel konstanta roll rate yang dikonfigurasi melalui GUI dan 𝜔𝜙𝑐𝑜𝑚𝑚𝑎𝑛𝑑 merupakan hasil perkalian 𝜙𝑐𝑜𝑚𝑚𝑎𝑛𝑑 dengan roll rate.

command

 

t e Kplevel + -+ +  t e

 

dt

t

d

Kd

level

- 

t level e t dt Ki 0  scale command

Gambar 3.30 Diagram blok roll attitude dengan mode angle

Pada gambar 3.30, pengendali PI-D digunakan untuk mengendali posisi sudut roll (𝜙), dimana input 𝜙𝑐𝑜𝑚𝑚𝑎𝑛𝑑 dikalikan dengan scale (konstanta roll

angle). Konstanta scale, 𝐾𝑝𝑙𝑒𝑣𝑒𝑙, 𝐾𝑖𝑙𝑒𝑣𝑒𝑙 dan 𝐾𝑑𝑙𝑒𝑣𝑒𝑙 pada implementasinya dapat

dikonfigurasi melalui GUI.

3.4.6.3 Stabilizer

Stabilizer pada perancangan ini berfungsi untuk menjaga keseimbangan posisi sudut atau posisi ketinggian yang inputnya berdasarkan perancangan blok attitude. Stabilizer terdiri dari Yaw Stabilizer, Pitch Stabilizer, Roll Stabilizer dan Altitude Stabilizer.

(28)

 

t e Kp

 

t dt e Ki t

0     + -+ + output

command

e

 

t

 

dt t d Kd 

-Gambar 3.31 Diagram blok PI-D Controller untuk yaw stabilizer

Pada gambar 3.31, merupakan perancangan yaw stabilizer dengan menggunakan pengendali PI-D. Input kecepatan angular yaw 𝜔𝜓𝑐𝑜𝑚𝑚𝑎𝑛𝑑 yang

dihasilkan dari yaw attitude dijadikan sebagai set point, kemudian kecepatan angular yaw dari pengukuran gyroscope (𝜔𝜓) sebagai perbandingan sehingga

selisihnya error 𝑒𝜔𝜓 digunakan sebagai input koreksi. Konstanta 𝐾𝑝𝜔𝜓, 𝐾𝑖𝜔𝜓 dan 𝐾𝑑𝜔𝜓 pada implementasinya dapat dikonfigurasi melalui GUI.

 

t

e

Kp

 

t e t dt Ki 0     + -+ + output

command

e

 

t

 

dt

t

d

Kd

(29)

Pada gambar 3.32, merupakan perancangan pitch stabilizer dengan menggunakan pengendali PI-D. Input kecepatan angular pitch 𝜔𝜃𝑐𝑜𝑚𝑚𝑎𝑛𝑑 yang dihasilkan dari yaw attitude dijadikan sebagai set point, kemudian kecepatan angular yaw dari pengukuran gyroscope (𝜔𝜓) sebagai perbandingan sehingga

selisihnya error 𝑒𝜔𝜓 digunakan sebagai input koreksi. Konstanta 𝐾𝑝𝜔𝜓, 𝐾𝑖𝜔𝜓 dan 𝐾𝑑𝜔𝜓 pada implementasinya dapat dikonfigurasi melalui GUI.

 

t e Kp

 

t e t dt Ki 0     + -+ + output

command

e

 

t

 

dt

t

d

Kd

 

-Gambar 3.33 Diagram blok PI-D Controller untuk roll stabilizer

Perancangan roll stabilizer menggunakan menggunakan pengendali PI-D yang sama dengan pengendali pitch stabilizer. Konstanta 𝐾𝑝𝜔𝜙, 𝐾𝑖𝜔𝜙 dan 𝐾𝑑𝜔𝜙 pada implementasinya dapat dikonfigurasi melalui GUI.

(30)

 

t e Kpalt h

h

 

dt t dv Kd h alt

-+ +

-+ hold

h

+ + output T

 

t eh

 

t dt e Ki t h alt

0

 

t

v

h hold T

Gambar 3.34 Diagram blok PI-D Controller untuk altitude stabilizer

Pada perancangan mode altitude stabilizer, perlu diketahui dalam pemprograman mode ini hanya bekerja ketika mode altitude hold diaktifkan dan input throttle tidak berubah. Setiap ada perubahan input throttle, variabel ℎℎ𝑜𝑙𝑑 selalu diupdate dengan pengukuran ketinggian setiap waktu cupliknya. Logika ini digunakan sebagai referensi kapan quadrotor untuk mempertahankan ketinggian tertentu. Jika input throttle tidak ada perubahan maka altitude stabilizer bekerja, referensi ketinggian ℎℎ𝑜𝑙𝑑 dimana quadrotor untuk menjaga ketinggian dijadikan

sebagai set point.

3.4.6.4 Throttle Mixer & PWM Encoder

Pada proses ini, hasil dari kontrol PID didistribusikan ke masing-masing motor sesuai dengan jenis frame-nya, kemudian di-encode menjadi sinyal PWM ke ESC. Berdasarkan persamaan (2.27-2.29), distribusi 𝑇ℎ𝑟𝑜𝑡𝑡𝑙𝑒𝑜𝑢𝑡𝑝𝑢𝑡 pada perancangan ini dapat direpresentasikan pada gambar 3.35.

(31)

output

output

output

output Throttle + + + + + + + + --+ + -+ ++ - +-1 PWM

M

2 PWM

M

3 PWM

M

4 PWM

M

PWM ENCODER PWM ENCODER PWM ENCODER PWM ENCODER

Gambar 3.35 Blok diagram perhitungan mixer 3.5 Perancangan Communication Layer

Komunikasi paket data antara embedded layer dengan presentation layer menggunakan komunikasi UART dengan XBee. Komunikasi dirancang dengan sistem master-slave pada presentation layer sebagai master dan embedded layer sebagai slave.

Pada tugas akhir ini paket format data dirancang untuk bertukar data dengan kedua sistem tersebut. Format paket data dibagi menjadi dua, yaitu Request dan Response. Format paket data secara umum adalah sebagai berikut :

𝐻𝑒𝑎𝑑𝑒𝑟 ⏟ 2 𝐵𝑦𝑡𝑒 𝐷𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛⏟ 1 𝐵𝑦𝑡𝑒 𝑆𝑖𝑧𝑒⏟ 1 𝐵𝑦𝑡𝑒 𝐶𝑜𝑚𝑚𝑎𝑛𝑑⏟ 1 𝐵𝑦𝑡𝑒 𝑀𝑒𝑠𝑠𝑎𝑔𝑒⏟ 𝑛 𝐵𝑦𝑡𝑒 𝐶ℎ𝑒𝑐𝑘𝑠𝑢𝑚⏟ 1 𝐵𝑦𝑡𝑒  Header :

(32)

 Direction

Menunjukan arah perintah Request atau Response berisi satu karakter statis, yaitu‘<’ jika perintah Request dan karakter ‘>’ jika perintah Response  Size

Menunjukan besarnya message  Command

Adalah kode perintah message  Message

Merupakan isi pesan dengan format Big Endian  Checksum

Merupakan akumulasi XOR dari setiap byte yang dimulai dari Size, Command, dan Message

Perancangan paket data pada tugas akhir ini terdiri dari beberapa jenis dapat dilihat pada lampiran tabel

Proses pengiriman paket request atau response dilakukan dengan beberapa langkah seperti pada alur proeses yang disajikan pada gambar 3.36

(33)

START END Inisialisasi paket data Serialize Message Kalkulasi Checksum Konstruksi paket data

Kirim paket data

Gambar 3.36 Alur proses pengiriman data paket

Proses penerimaan paket request atau response dilakukan dengan logika seperti pada alur proses yang disajikan pada gambar 3.37

(34)

Apakah jumlah Serial input buffer

>= 5

INPUT SERIAL BUFFER

Baca 5 Byte Ya

Apakah format Header, Direction, Command dan Size

Sesuai ?

Set State = Message, Set Size, Set Command

GLOBAL VAR

Set State = Header GLOBAL VAR START Get State, Get Command, Get Size GLOBAL VAR State = Header ? Ya Ya END Set Error += 5 ERROR Tidak Apakah jumlah Serial input buffer

>= Size + 1

Tidak

Tidak

Baca (Size + 1) Byte INPUT SERIAL BUFFER Ya Deserialize Message berdasarkan jenis Message-nya Checksum Sesuai ? Set Error += Size + 1 ERROR Tidak Serialisasi Berhasil ? Ya Tidak Proses Message Ya Tidak Gambar 3.37 Alur proses penerimaan paket data

3.6 Perancangan Presentation Layer

Presentation layer merupakan piranti lunak yang diinstal pada komputer yang berfungsi untuk memudahkan pengguna berinteraksi dengan sistem

(35)

quadrotor. Secara keseluruhan layout utama disajikan seperti pada gambar 3.38, yang terdiri dari konten header, konten menu, dan konten utama. Konten utama merupakan konten yang terkait dengan masing-masing menu.

My Ground Control

Menu 5 Menu 2

Menu 1 Menu 3 Menu 4

MAIN CONTAINER

HEADER CONTAINER

MENU CONTAINER

Gambar 3.38 Perancangan layout utama 3.6.1 Perancangan Aplikasi Utama

Aplikasi utama merupakan aplikasi yang aplikasi Ground control yang berfungsi untuk kontrol dan konfigurasi quadrotor.

3.6.1.1 Perancangan GUI Komunikasi Port

Pada perancangan ini diharapkan komunikasi port dapat fleksibel mungkin. Dapat memilih Port dan dapat juga mengganti boud rate.

COM 1 57600 Connect

Port : Bound Rate :

(36)

3.6.1.2 Perancangan GUI Navigasi

Informasi data navigasi UAV ditampilkan pada GUI ini. Perancangan GUI seperti dashboard pada kokpit pesawat. GUI dibuat demikian akan memudahkan pilot untuk mengontrol dan memantau quadrotor.

Pada perancangan ini menampilkan posisi sudut quadrotor, arah quadrotor, informasi ketinggian, informasi suhu, informasi input, informasi PWM Motor dan lampu indikator lainnya.

My Ground Control COM 1 Monitoring Configuration Navigation RC Input 57600 Calibration Connect Port : Bound Rate :

W E N S Throttle Elevator Aileron Rudder 15° 30° 45° 60° 0° -15° -30° 15° 30° 45° 60° 0° -15° -30° M2 M4 M3 M1 1220 1624 1220 1624 0 1 2 3 4 5 6 7 8 9 0 0 1 9 Altimeter Attitude Compass 3D Attitude Temperature 0 0 1 9 00 19 0 0 1 9 A R M ALT HOLD YAW HOLD

Yaw Pitch Roll

Gambar 3.40 Perancangan GUI navigasi 3.6.1.3 Perancangan GUI Konfigurasi

Perancangan GUI konfigurasi merupakan konfigurasi yang berfokus pada flight controller. Tujuan dari perancangan GUI ini, yaitu untuk memudahkan input konstanta PID pada masing-masing jenis pengendalian PID dan juga merupakan konfigurasi untuk sifat input dari joystick.

(37)

My Ground Control COM 1 Monitoring Configuration Navigation RC Input 57600 Calibration 17.2 0.020 2.20 15.0 0.010 1.00 10.0 0.012 1.90 12.2 0.022 1.90 17.2 15.0 12.2 0.022 1.90 900 2000 Connect Port : Bound Rate :

Yaw : Pitch : Roll : I D P Reset Save P I D Controller Level : Yaw Rate : Pitch/Roll Rate : RC Behaviour Altitude : Motor Throttle Min : Throttle Max : RC Rate : RC Expo : Throttle Rate : Throttle Expo :

Gambar 3.41 Perancangan GUI konfigurasi 3.6.1.4 Perancangan GUI Kontrol Input

Perancangan GUI kontrol input berguna untuk konfigurasi joystick yang terpasang pada ground control, yaitu sebagai kalibrasi atau juga sebagai konfigurasi masing-masing tombol pada input joystick.

(38)

My Ground Control COM 1 Monitoring Configuration Navigation RC Input 57600 Calibration Input 1 1500 1500 1700 1700 1500 1500 1700 1700 2000 2000 1000 1000 1000 1500 1500 2000 2000 1000 2000 1000 Connect

Port : Bound Rate :

Device Connect ARM Start DISARM Back ELEVATOR Up RUDDER Right RUDDER Left ELEVATOR Down Down / Up Left/Right

Thumb NOT SET

---Down / Up Left/Right Thumb THROTTLE RUDDER ELEVATOR AILERON Left/Right Thumb AILERON Left/Right Thumb AILERON NOT SET ---X NOT SET ---A NOT SET ---Y NOT SET ---B NOT SET

---YAW LOCK - UNLOCK ALT HOLD - UNHOLD

CALIBRATE / SAVE

Gambar 3.42 Perancangan GUI kontrol input 3.6.1.5 Perancangan GUI Kalibrasi Sensor

Perancangan GUI kalibrasi IMU merupakan fitur yang sangat penting dalam perancangan presentation layer. Kalibrasi perlu dilakukan pertama kali sebelum quadrotor diterbangkan. Dan kalibrasi ulang perlu dilakukan jika ada perubahan penempatan fisik modul IMU pada frame quadrotor.

(39)

My Ground Control COM 1 Monitoring Configuration Navigation RC Input 57600 Calibration Connect Port : Bound Rate :

Raw : Min Value : Max Value : Offset : Weight : Scale : Calibration Result : X Y Z Save Pause Calibrate Accelerometer Raw : Min Value : Max Value : Offset : Weight : Scale : Calibration Result : X Y Z Save Pause Calibrate Magnetometer Offset : Weight : Scale : Calibration Result : X Y Z Save Pause Calibrate Gyroscope Sensor Quaternion : Body Quaternion : Sensor Quaternion : X Y Z W Reset Calibrate Sensor Alititude : Ground Altitude : Reset Calibrate Barometer Body Offset

Gambar 3.43 Perancangan GUI kalibrasi 3.6.1.6 Perancangan GUI Monitoring

GUI Monitoring berguna untuk memantau dan menganalisa dari data-data hasil pengukuran dari IMU secara realtime. Data-data tersebut disajikan dalam bentuk grafik.

(40)

My Ground Control COM 1 Monitoring Configuration Navigation RC Input 57600 Calibration Connect

Port : Bound Rate :

-100 -80 -60 -40 -20 0 20 40 60 80 100 Gyro X Gyro Y Gyro Z Acc X Acc Y Acc Z Mag X Mag Y Mag Z Quaterion W Quaterion X Quaterion Y Quaterion Z

Gambar 3.44 Perancangan GUI monitoring 3.6.2 Perancangan Aplikasi Pendukung

Pada perancangan ini aplikasi pendukung digunakan untuk pengujian modul-modul pada quadrotor.

3.6.2.1 Perancangan Aplikasi Pengujian Komunikasi

Piranti lunak pengujian komunikasi digunakan untuk benchmark komunikasi quadrotor dengan ground control. Pada pengujian ini, beberapa jenis perintah (request dan response) dan frekuensinya dapat dikonfigurasi. Segala komunikasi yang terjadi disimpan dan dimonitoring dalam satuan waktu. Untuk memudahkan analisa, hasil monitoring tersebut disimpan dalam bentuk file Excel.

3.6.2.2 Perancangan Aplikasi Pengujian AHRS

Piranti lunak pengujian AHRS diperuntukan untuk pengujian DMP. Pengujian ini membandingkan beberapa jenis algoritma AHRS dengan DMP.

(41)

Proses perhitungan dilakukan pada aplikasi ini. Untuk memudahkan analisa, hasil perhitungan tersebut disimpan dalam bentuk file Excel.

Referensi

Dokumen terkait

Selanjutnya diperj e las oleh Janis , bahwa kelompok yang sangat kompak (cohesiveness) dimungkinkan t erlalu ban y ak menyimpan atau menginvestasikan energi

Pada pembelajaran siswa diarahkan untuk mengisi “kagepe” ke dalam tabung yang memiliki diameter dan tinggi yang sama dengan kerucut, kemudian diisi kembali ke dalam

Dengan tujuan supaya hukum anti-dumping maupun aturan safeguard Indone- sia dalam era globalisasi perdagangan dapat melindungi produk dalam negeri dari injury akibat impor

BES akan mengirimkan data tagihan tersebut menggunakan BlackBerry Push-API sehingga aplikasi pada perangkat smartphone BlackBerry tidak perlu melakukan poll server

Hal ini didukung oleh pendapat Sempowski (2004) yang mengatakan bahwa program insentif finansial saja kurang efektif untuk meningkatkan retensi dokter spesialis di

Berdasarkan hasil dan pembahasan yang telah diuraikan pada bab sebelumnya,maka dapat disimpulkan bahwa sistem dan prosedur keuangan di BAPELITBANG Kabupaten Minahasa

Faktor eksternal yang menjadi pendukung pengembangan obyek wisata adalah sektor pariwisata berbasis alam yang semakin berkembang dan semakin diminati, penyerapan