Membuat drone dengan Arduino bisa menjadi proyek yang menarik dan mendebarkan! Berikut adalah langkah-langkah umum untuk membuat drone praktis dengan Arduino:
Bahan yang Diperlukan:
- Arduino board (contohnya Arduino Uno atau Arduino Nano)
- Modul pengendali motor (ESC - Electronic Speed Controller)
- Motor brushless
- Baterai LiPo (Lithium Polymer) dengan tegangan yang sesuai dengan motor
- Pembagi daya (Power Distribution Board)
- Frame drone (chassis)
- Propeller (baling-baling)
- Sensor stabilisasi (opsional, seperti accelerometer atau gyroscope)
- Modul komunikasi (misalnya, modul radio nirkabel)
Langkah-langkah:
Perancangan Frame: Rancang atau peroleh frame drone yang sesuai untuk proyekmu. Pastikan frame memiliki ruang untuk memasang Arduino board dan komponen lainnya.
Pasang Motor: Pasang motor brushless pada frame drone menggunakan sekrup yang sesuai. Pastikan motor terpasang dengan aman dan sejajar.
Sambungkan ESC: Sambungkan modul pengendali motor (ESC) ke setiap motor. ESC berfungsi mengatur kecepatan putaran motor. Ikuti petunjuk yang disertakan dengan ESC untuk menghubungkannya dengan benar ke Arduino.
Hubungkan Pembagi Daya: Pasang pembagi daya (power distribution board) agar dapat menyediakan daya ke Arduino, motor, dan komponen lainnya. Pastikan kabel-kabel daya terhubung dengan benar.
Sambungkan Arduino: Sambungkan Arduino board ke pembagi daya dan modul ESC. Gunakan kabel jumper atau kabel penghubung yang sesuai untuk menghubungkan pin kontrol ESC ke pin digital pada Arduino. Pastikan pengkabelan sesuai dengan skema penghubung yang digunakan.
Pasang Sensor Stabilisasi (Opsional): Jika ingin memiliki kontrol yang lebih baik, Anda dapat memasang sensor stabilisasi seperti accelerometer atau gyroscope. Sensor ini membantu menjaga kestabilan drone. Sambungkan sensor ke Arduino menggunakan kabel jumper yang sesuai dan ikuti petunjuk pemasangan yang disertakan.
Program Arduino: Buat program Arduino yang sesuai untuk mengendalikan motor, menerima input dari sensor, dan berkomunikasi dengan modul radio nirkabel jika digunakan. Kamu dapat menggunakan bahasa pemrograman Arduino yang telah kamu pelajari atau mencari contoh program yang tersedia secara online.
Uji Coba dan Kalibrasi: Setelah mengunggah program ke Arduino, sambungkan baterai LiPo ke pembagi daya dan nyalakan drone. Pastikan drone berada di tempat yang aman dan jaga jarak yang cukup agar tidak terjadi kecelakaan. Uji coba dan kalibrasi drone secara bertahap untuk memastikan semua komponen berfungsi dengan baik.
Catatan Penting:
- Proses pembuatan drone memerlukan pengetahuan tentang listrik, elektronika, dan pemrograman. Pastikan kamu memiliki pemahaman yang memadai atau minta bantuan dari seseorang yang berpengalaman jika diperlukan.
- Pastikan untuk mengikuti aturan dan regulasi yang berlaku dalam penerbangan drone di daerahmu. Terbangkan drone hanya di tempat-tempat yang diizinkan dan aman.
- Ingatlah untuk selalu menjaga keamanan saat menggunakan drone, terutama ketika melibatkan baterai LiPo yang dapat berpotensi berbahaya jika tidak digunakan dengan benar.
ESC (Electronic Speed Controller) adalah modul elektronik yang bertugas mengendalikan kecepatan putaran motor brushless pada drone. ESC umumnya digunakan dalam drone dan model-model RC (Remote Control). Berikut adalah penjelasan teknis tentang ESC:
Komponen Utama ESC:
- Mikrokontroler: ESC memiliki mikrokontroler yang bertanggung jawab untuk menerima sinyal kontrol dan mengontrol arus yang mengalir ke motor.
- MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor): ESC menggunakan MOSFET sebagai saklar elektronik untuk mengendalikan arus motor. MOSFET digunakan karena mampu menangani arus tinggi dengan kehilangan daya yang rendah.
- Regulator Tegangan: ESC biasanya dilengkapi dengan regulator tegangan yang mengubah tegangan baterai (misalnya 3S LiPo dengan tegangan sekitar 11,1V) menjadi tegangan yang sesuai untuk mikrokontroler dan logika internal ESC.
- Sensor Hall (Hall Effect Sensor): Beberapa ESC dilengkapi dengan sensor Hall pada motor brushless. Sensor Hall memberikan umpan balik tentang posisi rotor motor kepada ESC, memungkinkan ESC untuk melakukan komutasi yang tepat dan mengatur kecepatan motor dengan presisi.
ESC memainkan peran penting dalam pengendalian motor brushless pada drone. Dengan mengatur arus listrik yang masuk ke motor, ESC memungkinkan pengendalian kecepatan yang akurat dan responsif, sehingga memungkinkan drone terbang dengan stabil dan terkontrol.
motor brushless
Motor yang umumnya digunakan dalam drone adalah motor brushless (tanpa sikat) karena memiliki keunggulan dalam efisiensi, keandalan, dan daya tahan yang lebih baik daripada motor brushed (berseikat). Motor brushless menghasilkan daya yang cukup besar dengan ukuran yang relatif kecil dan memiliki masa pakai yang lebih lama.
Ada dua jenis motor brushless yang umum digunakan dalam drone:
Motor Brushless Luar (Outrunner): Jenis motor ini memiliki rotor yang berputar di sekitar stator yang diam. Motor outrunner cenderung lebih besar dan memiliki torsi yang lebih tinggi, membuatnya cocok untuk drone dengan ukuran yang lebih besar dan membutuhkan daya angkat yang kuat.
Motor Brushless Dalam (Inrunner): Jenis motor ini memiliki rotor yang diam di tengah stator dan bagian luar stator yang berputar. Motor inrunner umumnya lebih kecil dan ringan, namun memiliki kecepatan putaran yang lebih tinggi. Motor inrunner cocok untuk drone dengan ukuran kecil hingga sedang yang membutuhkan kecepatan tinggi.
Kedua jenis motor brushless ini menggunakan teknologi magnet permanen dan mengandalkan kontrol elektronik dari ESC untuk mengatur kecepatan putaran motor. Motor brushless memiliki tiga kabel yang terhubung ke ESC, yang mengontrol aliran listrik dan arah putaran motor.
Pemilihan jenis motor brushless yang tepat untuk drone tergantung pada ukuran dan kebutuhan daya angkat yang diinginkan. Setiap motor memiliki spesifikasi dan karakteristik yang berbeda, seperti jumlah putaran per menit (RPM), torsi, dan arus kerja maksimum. Penting untuk memilih motor yang sesuai dengan kebutuhan drone yang sedang Anda bangun.
Pembagi daya (Power Distribution Board atau PDB)
Pembagi daya (Power Distribution Board atau PDB) adalah komponen yang digunakan dalam drone untuk mendistribusikan daya dari baterai ke berbagai komponen lainnya, seperti motor, ESC, flight controller, kamera, dan lainnya. Fungsi utama pembagi daya adalah memastikan pasokan daya yang stabil dan terorganisir ke setiap komponen drone.
Berikut ini penjelasan lebih rinci tentang pembagi daya:
Sambungan Baterai: PDB terhubung langsung ke baterai drone, baik melalui solderan langsung maupun konektor baterai yang sesuai. Ini memungkinkan arus listrik dari baterai mengalir ke PDB.
Input dan Output: PDB biasanya dilengkapi dengan beberapa input dan output yang memungkinkan kabel-kabel daya dihubungkan secara langsung. Input daya biasanya berjumlah satu atau lebih, tergantung pada jumlah baterai yang digunakan (misalnya, satu input untuk baterai tunggal atau dua input untuk baterai ganda). Output daya dapat berupa beberapa titik koneksi atau solderan langsung, tergantung pada desain PDB.
Pembagian Daya: PDB memiliki jalur-jalur tembaga yang didesain untuk mendistribusikan daya dari input ke output. Jalur-jalur ini sering kali menggunakan pola tembaga yang khusus untuk mengurangi resistansi dan panas yang dihasilkan oleh aliran listrik. PDB juga dapat dilengkapi dengan pad tembaga tambahan untuk menjaga konektivitas yang kuat.
Regulator Tegangan (Opsional): Beberapa PDB dilengkapi dengan regulator tegangan terintegrasi. Regulator tegangan ini mengubah tegangan baterai yang tinggi menjadi tegangan yang lebih rendah dan stabil yang diperlukan oleh komponen elektronik lainnya, seperti flight controller atau kamera. Ini memastikan bahwa komponen tersebut menerima tegangan yang sesuai dan melindungi mereka dari fluktuasi tegangan yang tidak diinginkan.
Fungsi Tambahan: Beberapa PDB dapat dilengkapi dengan fungsi tambahan, seperti sensor tegangan untuk memantau kapasitas baterai, LED indikator status daya, atau fitur perlindungan seperti perlindungan kelebihan arus.
PDB memiliki peran yang penting dalam distribusi daya yang efisien dan aman di dalam drone. Dengan menggunakan PDB, pasokan daya dapat diatur secara teratur, mengurangi risiko kegagalan komponen akibat kekurangan daya atau ketidakstabilan tegangan. Hal ini juga membantu menjaga kinerja keseluruhan drone dan meningkatkan masa pakai baterai.
Modul Komunikasi TRansceiver Drone
Untuk membuat modul komunikasi drone dengan NRF24L01, Anda dapat mengikuti langkah-langkah berikut:
Bahan yang Diperlukan:
- Arduino board (Arduino Uno atau Arduino Nano)
- Modul komunikasi NRF24L01 (termasuk pengirim dan penerima)
- Jumper wires (kabel jumper)
- Breadboard atau solder untuk menghubungkan kabel jumper
Langkah-langkah:
Persiapan Perangkat Koneksi:
- Sambungkan modul NRF24L01 dengan Arduino. Hubungkan pin VCC pada NRF24L01 ke pin 3.3V pada Arduino.
- Hubungkan pin GND pada NRF24L01 ke pin GND pada Arduino.
- Sambungkan pin CE pada NRF24L01 ke pin digital (misalnya, pin 9) pada Arduino.
- Sambungkan pin CSN pada NRF24L01 ke pin digital (misalnya, pin 10) pada Arduino.
- Sambungkan pin MOSI pada NRF24L01 ke pin MOSI (Master Out Slave In) (misalnya, pin 11) pada Arduino.
- Sambungkan pin MISO pada NRF24L01 ke pin MISO (Master In Slave Out) (misalnya, pin 12) pada Arduino.
- Sambungkan pin SCK pada NRF24L01 ke pin SCK (Serial Clock) (misalnya, pin 13) pada Arduino.
Program Arduino Pengirim (Transmitter):
- Buat program Arduino untuk modul pengirim (transmitter). Program ini akan mengirim data dari pengirim ke penerima melalui modul NRF24L01.
- Pastikan Anda telah menginstal library NRF24L01 pada Arduino IDE.
- Di dalam program, inisialisasikan library NRF24L01 dan atur pin CE dan CSN sesuai dengan pin yang digunakan pada langkah sebelumnya.
- Konfigurasi NRF24L01 dengan fungsi
begin()dan atur alamat pengirim dan penerima menggunakan fungsisetPALevel()danopenWritingPipe(). - Mulai Serial Communication menggunakan
Serial.begin()dan baca input data yang ingin dikirim dari pengirim. - Menggunakan fungsi
write()pada NRF24L01 untuk mengirim data ke penerima. - Unggah program ke Arduino pengirim.
Program Arduino Penerima (Receiver):
- Buat program Arduino untuk modul penerima (receiver). Program ini akan menerima data yang dikirimkan oleh pengirim melalui modul NRF24L01.
- Pastikan Anda telah menginstal library NRF24L01 pada Arduino IDE.
- Di dalam program, inisialisasikan library NRF24L01 dan atur pin CE dan CSN sesuai dengan pin yang digunakan pada langkah sebelumnya.
- Konfigurasi NRF24L01 dengan fungsi
begin()dan atur alamat penerima menggunakan fungsisetPALevel()danopenReadingPipe(). - Mulai Serial Communication menggunakan
Serial.begin()dan tunggu hingga data diterima menggunakan fungsiavailable(). - Gunakan fungsi
read()untuk membaca data yang diterima dan tampilkan pada Serial Monitor. - Unggah program ke Arduino penerima.
Uji Coba:
- Sambungkan kedua Arduino dengan modul NRF24L01 masing-masing.
- Nyalakan Arduino pengirim dan penerima.
- Buka Serial Monitor pada Arduino pengirim dan penerima untuk memantau data yang dikirim dan diterima.
- Coba kirimkan data dari pengirim dan periksa apakah data berhasil diterima oleh penerima.
Dengan mengikuti langkah-langkah di atas, Anda dapat membuat modul komunikasi drone sederhana menggunakan NRF24L01. Pastikan untuk merakit sambungan secara benar dan menguji koneksi dan komunikasi sebelum mengaplikasikannya pada drone secara keseluruhan.
Penerapan Sensor Stabilitas pada Drone
Untuk membuat drone yang stabil, salah satu komponen penting yang dapat digunakan adalah sensor stabilitas. Sensor stabilitas digunakan untuk mengukur gerakan dan orientasi drone dalam ruang tiga dimensi, seperti kecepatan sudut (roll, pitch, dan yaw), percepatan linier, dan sudut kemiringan. Dengan informasi yang diberikan oleh sensor stabilitas, drone dapat mengkoreksi dan menjaga keseimbangan saat terbang.
Berikut adalah beberapa sensor stabilitas umum yang digunakan dalam pembuatan drone:
Sensor Akselerometer: Sensor akselerometer digunakan untuk mengukur percepatan linier pada tiga sumbu: sumbu X, Y, dan Z. Ini membantu dalam mengukur gerakan naik/turun (pitch), ke kiri/kanan (roll), dan mundur/maju (throttle). Sensor akselerometer dapat digunakan untuk mengkompensasi perubahan kecepatan dan menjaga ketinggian atau posisi drone.
Sensor Giroskop: Sensor giroskop digunakan untuk mengukur kecepatan sudut atau perubahan sudut drone pada tiga sumbu: sumbu X, Y, dan Z. Dengan informasi ini, drone dapat mempertahankan stabilisasi dan memperbaiki gerakan yang tidak diinginkan, seperti goyangan dan ketidakteraturan saat terbang. Sensor giroskop membantu dalam mengontrol roll, pitch, dan yaw drone.
Magnetometer (Kompas): Sensor magnetometer digunakan untuk mengetahui orientasi drone terhadap medan magnet bumi, yang membantu dalam menentukan arah drone (yaw). Dengan informasi ini, drone dapat menentukan arahnya dalam hal utara-magnetik dan mempertahankan orientasi yang diinginkan.
Sensor Barometer: Sensor barometer digunakan untuk mengukur tekanan atmosfer, yang dapat digunakan untuk memperkirakan ketinggian drone. Dengan menggunakan perubahan tekanan atmosfer, drone dapat mempertahankan ketinggian terbang yang stabil.
Langkah-langkah umum untuk menghubungkan dan menggunakan sensor stabilitas dengan Arduino adalah sebagai berikut:
- Pastikan Arduino telah terhubung dengan sensor stabilitas melalui jalur koneksi yang sesuai (misalnya, I2C atau SPI).
- Instal library yang diperlukan untuk sensor stabilitas tertentu pada Arduino IDE.
- Inisialisasikan sensor stabilitas pada program Arduino dengan menggunakan fungsi yang disediakan oleh library yang digunakan.
- Baca data dari sensor stabilitas menggunakan fungsi yang sesuai (misalnya, fungsi
read()ataugetAcceleration()). - Gunakan data yang diterima untuk mengendalikan gerakan drone melalui motor, ESC, atau sistem kontrol lainnya.
Dengan menggunakan sensor stabilitas dan Arduino, Anda dapat membuat sistem kendali drone yang responsif dan stabil. Penting untuk memahami dokumentasi dan petunjuk penggunaan sensor stabilitas yang digunakan, serta melakukan pengujian dan kalibrasi yang diperlukan untuk mendapatkan hasil yang optimal.
Kode Program
Berikut adalah contoh kode program untuk drone menggunakan Arduino Nano, NRF24L01, gyroskop, ESC, pembagi daya, joystick, dan LCD:
kode diatas adalah dari sisi Pengirim (Transmitter), selanjutnya Pastikan Anda telah menginstal library yang diperlukan, seperti "Adafruit BNO055", "RF24", "LiquidCrystal_I2C", dan "Joystick", melalui Arduino IDE sebelum mengunggah kode program ini ke Arduino Nano.
Kode program ini menggabungkan komponen-komponen seperti NRF24L01, gyroskop, ESC, pembagi daya, joystick, dan LCD. Kode ini masih memerlukan pengembangan lebih lanjut untuk menyesuaikannya dengan kebutuhan spesifik drone yang Anda buat. Pastikan Anda telah melakukan pengaturan koneksi dengan benar dan mengkonfigurasi sensor sesuai dengan rangkaian fisik yang Anda gunakan.
Perhatikan bahwa penggunaan joystick pada kode ini mengasumsikan penggunaan joystick analog dengan sumbu X dan Y. Jika joystick yang Anda gunakan berbeda, Anda perlu mengubah pin dan konfigurasi sesuai dengan joystick yang Anda gunakan.
Ingatlah untuk selalu mengikuti aturan keselamatan dan mengikuti panduan penggunaan komponen elektronik dengan benar saat membuat dan mengoperasikan drone.
Kode tersebut memungkinkan pengendalian drone melalui joystick dan mengirimkan data gyro ke penerima (receiver) menggunakan modul NRF24L01.
Berikut ini adalah contoh kode untuk sisi penerima (receiver) yang menerima data joystick dan gyro dari pengirim:
jadi Dalam kode di atas, NRF24L01 pada penerima digunakan untuk menerima data joystick dari pengirim dan menampilkan nilai joystick di LCD. Selain itu, kode ini juga mengontrol kecepatan motor berdasarkan data joystick yang diterima. Pastikan Anda telah menginstal library yang diperlukan, seperti "RF24" dan "LiquidCrystal_I2C", melalui Arduino IDE sebelum mengunggah kode program ini ke Arduino Nano. Kode transmitter dan receiver tersebut dapat digunakan sebagai dasar untuk mengembangkan sistem kontrol drone yang lebih lengkap. Anda dapat menambahkan logika kontrol, penanganan data sensor, dan fungsi-fungsi tambahan sesuai dengan kebutuhan dan spesifikasi drone yang Anda buat. Harap diingat bahwa pengembangan sistem drone yang kompleks melibatkan banyak aspek seperti pergerakan, pengontrolan PID, kalibrasi sensor, dan tindakan pencegahan keselamatan. Pastikan untuk melakukan pengujian yang tepat dan mengacu pada pedoman keamanan ketika menggunakan komponen elektronik dalam proyek drone.
Data yang ditampilkan di LCD pada kode di atas adalah data yang diperbarui setiap kali loop() berjalan. Dalam hal ini, data joystickXValue yang diterima dari pengirim akan ditampilkan di LCD pada setiap iterasi loop().
Namun, perlu diingat bahwa kode tersebut hanya memberikan pembaruan data joystickXValue yang diterima dari pengirim ke LCD. Jika Anda ingin memperbarui data lain secara real-time di LCD, Anda perlu menambahkan logika dan pembaruan sesuai dengan data yang ingin ditampilkan.
Misalnya, jika Anda ingin menampilkan data gyro atau informasi lainnya di LCD secara real-time, Anda perlu memodifikasi kode tersebut untuk memperbarui nilai yang relevan dan menampilkan data tersebut di posisi yang diinginkan pada LCD.
Ingatlah bahwa penggunaan LCD dan tampilan data di dalamnya tergantung pada perpustakaan yang Anda gunakan. Anda perlu merujuk ke dokumentasi perpustakaan yang sesuai untuk memahami cara menampilkan data secara real-time pada LCD dengan menggunakan fungsi-fungsi yang tersedia.
Comments
Post a Comment