Tabel 3.1 Deklarasi Pin Arduino Mega 2560
3.3. Perancangan Perangkat Lunak
Diagram alir utama sistem Flight Controller pada sistem quadcopter menggunakan sensor IMU Inertial Measurement Unit berbasis Mikrokontroller ATMEGA 2560 dapat
dilihat pada Gambar 3.2. Sedangkan untuk pendeklarasian pin pin pada Arduino Mega 2560 dapat dilihat pada table 3.1
3.3.1. Diagram Alir Program Utama
Pada diagram alir Gambar 3.6, saat kontroler on, program akan memulai proses awal yaitu inisialisasi. Pada tahap ini, program akan memproses deklarasi, pengaturan sensor
gyro, kalibrasi sensor gyro, pengaturan Receiver, kalibrasi ESC, ataupun perhitungan level baterai.
Pada proses pengambilan keputusan untuk siap terbang, Receiver akan mengirimkan data. Jika data Receiver nilai throttle = 0 pwm dan yaw = 0 pwm, maka status Flight
Controller menjadi Siap Terbang. Jika data Receiver nilai throttle ≠ 0 pwm atau yaw ≠ 0
pwm, maka program terus akan mengulang sampai nilai throttle = 0 pwm dan yaw = 0 pwm. Setelah itu proses persiapan akan memberikan output pada ESC 10 pwm untuk menandakan
motor berputar dan siap untuk diterbangkan. Nomor Pin Arduino
Tipe Keterangan
A0 Analog Input
Pin pembacaan level baterai 50
Komunikasi SPI
51 Komunikasi
SPI 52
Komunikasi SPI
53 Komunikasi
SPI D10
Komunikasi SPI
SDA20 Komunikasi
Input SDA IMU Sensor GY-80 SCL21
Komunikasi Input SCL IMU Sensor GY-80
PWM4 Output PWM
Output ke ESC 1 PWM5
Output PWM Output ke ESC 2
PWM6 Output PWM
Output ke ESC 3 PWM7
Output PWM Output ke ESC 4
Selanjutnya program akan menunggu apakah Receiver mengirimkan data throttle. Jika Receiver sudah mengirimkan data nilai throttle, maka program akan memulai proses
subrutin Terbang. Pada subrutin terbang, program akan memproses beberapa data antara lain, pembacaan
sensor gyro, pembacaan sensor barometer, perhitungan PID, dan pemberian nilai output pada ESC.
Selama wahana terbang, data ketinggian akan terus dibaca sampai mencapat batas ketinggian yang di tetapkan, misal 20 meter. Jika wahana melewati batas ketinggian yang
ditetapkan, program akan mengurangi output ESC yang akan berpengaruh terhadap kecepatan motor, sehingga wahana tidak akan lebih tinggi dari batas ketinggian 20 meter.
Jika nilai output untuk ESC 1050 artinya setiap kecepatan motor berada pada kondisi terendah, dengan kata lain wahana berada pada tanah. Pada tahap ini program akan meminta
klarifikasi apakah wahana akan diterbangkan lagi atau berhenti dengan cara memberikan output pada ESC = 1000 yang artinya motor berhenti.
Jika mendarat maka Receiver akan memberikan nilai throttle = 0 pwm dan yaw = 255 pwm untuk membuat perintah yang akan memberikan nilai output pada ESC = 1000 yang
artinya motor berhenti dan proses selesai. Jika tidak maka program akan menunggu apakah Receiver mengirimkan data throttle dan wahana melakukan penerbangan lagi.
1 2
3 4
depan kanan
belakang
kiri
Gambar 3.5 Konfigurasi ESC pada wahana
Gambar 3.5 memperlihatkan konfigurasi ESC pada wahana. Adapun batas batas output pwm 0 sampai 255 untuk tiap kondisi terbang pada ESC dapat dilihat pada Tabel
3.2. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.2 Batas batas output pwm untuk setiap kondisi terbang
Kondisi ESC 1
ESC 2 ESC 3
ESC 4 Maju
Tetap Tetap
+30 +30
Mundur +30
+30 Tetap
Tetap Kiri
Tetap +30
+30 Tetap
Kanan +30
Tetap Tetap
+30 Berputar CW
+10 Tetap
+10 Tetap
Berputar CCW Tetap
+10 Tetp
+10
Gambar 3.6 Diagram Alir Subrutin Menghitung Sensor
Gambar 3.7 Diagram Alir Utama Flight Controller pada sistem quadcopter menggunakan sensor IMU berbasis Mikrokontroller ATMEGA 2560
3.3.2. Diagram Alir Subrutin Terbang