Daftar Isi:

Panduan yang Saya Inginkan untuk Membangun Arduino Drone: 9 Langkah
Panduan yang Saya Inginkan untuk Membangun Arduino Drone: 9 Langkah

Video: Panduan yang Saya Inginkan untuk Membangun Arduino Drone: 9 Langkah

Video: Panduan yang Saya Inginkan untuk Membangun Arduino Drone: 9 Langkah
Video: Apa yang harus disiapkan Untuk Belajar Arduino - BAB Basic Arduino - Belajar Arduino 000 2024, November
Anonim
Panduan yang Saya Inginkan untuk Membangun Arduino Drone
Panduan yang Saya Inginkan untuk Membangun Arduino Drone

Dokumen ini adalah semacam dokumentasi slash "Cara memandu" yang melalui proses yang saya perlukan untuk memahami konsep untuk mencapai tujuan saya membangun quadcopter sederhana yang dapat saya kendalikan dari ponsel saya.

Untuk melakukan proyek ini, saya ingin mendapatkan gambaran tentang apa sebenarnya drone itu, dalam kasus saya quadcopter, jadi saya mulai melakukan riset. Saya menonton banyak video YouTube, membaca banyak artikel dan halaman Insructible dan inilah yang saya dapatkan.

Pada dasarnya Anda dapat membagi drone menjadi dua bagian. Saya menyebutnya "Fisik" dan "Pengendali". Fisik pada dasarnya adalah segala sesuatu yang berkaitan dengan mekanisme yang membuat drone terbang. Ini adalah hal-hal seperti motor, bingkai, baterai, baling-baling, dan semua hal lain yang secara fisik memberi drone kemampuan untuk terbang.

Controller pada dasarnya adalah pengendali penerbangan. Yang mengontrol fisik agar drone bisa terbang secara utuh tanpa jatuh. Pada dasarnya mikrokontroler, perangkat lunak di dalamnya dan sensor yang membantunya melakukan triangulasi bantalannya. Jadi secara keseluruhan untuk memiliki drone, saya membutuhkan Pengendali, dan banyak bagian fisik untuk pengontrol untuk 'mengendalikan'.

Perlengkapan

Anggaran untuk proyek: $250

Kerangka Waktu: 2 minggu

Hal yang Harus Dibeli:

  • Bingkai Fisik $20
  • Pisau $0 (Dilengkapi dengan bingkai)
  • Paket Baterai $25
  • ESC (Pengontrol kecepatan elektronik) $0 (Dilengkapi dengan motor)
  • Motor $70

Pengendali Penerbangan

  • Arduino nano $20
  • Kabel USB Arduino $2
  • Modul Bluetooth (HC-05) $8
  • 3mm LED dan resistor dan kabel 330 Ohm $13
  • GY-87 (Akselerometer, Giroskop) $5
  • Papan Prototipe $10
  • Header Pria dan Wanita $5

Lainnya

  • Paket solder $10
  • Multimeter $20

Saya ingin menikmati membangun proyek ini sebagai Insinyur, jadi saya membeli beberapa barang lain yang tidak perlu saya beli.

Jumlah: $208

Langkah 1: Pengalaman Awal Saya

Setelah membeli semua komponen saya, saya menggabungkan semuanya dan kemudian mencoba meluncurkan drone, menggunakan Multiwii (perangkat lunak yang banyak digunakan komunitas drone DIY), namun saya segera menyadari bahwa saya tidak sepenuhnya mengerti apa yang saya lakukan karena ada banyak kesalahan dan saya tidak tahu bagaimana cara memperbaikinya.

Setelah itu saya memutuskan untuk membongkar drone dan memahami setiap komponen sepotong demi sepotong dan membangunnya kembali sedemikian rupa sehingga saya benar-benar memahami semua yang sedang terjadi.

Pada bagian berikut saya akan melalui proses menyatukan teka-teki. Sebelum itu mari kita mendapatkan gambaran singkat.

Fisik

Untuk fisik, kita harus memiliki: rangka, baling-baling, baterai, dan esc. Ini akan cukup mudah untuk disatukan. Untuk memahami bagian-bagian ini dan mana yang harus Anda dapatkan, Anda dapat mengunjungi tautan ini. Dia menjelaskan apa yang perlu Anda ketahui tentang membeli setiap bagian yang telah saya daftarkan. Tonton juga video Youtube ini. Ini akan membantu Anda jika Anda terjebak menyatukan bagian-bagiannya.

Langkah 2: Tips Menghubungkan dan Men-debug Bagian Fisik

Tips Menghubungkan dan Men-debug Bagian Fisik
Tips Menghubungkan dan Men-debug Bagian Fisik

Baling-baling dan Motor

  • Untuk memeriksa apakah baling-baling Anda berada dalam orientasi yang benar (Terbalik atau tidak), ketika Anda memutarnya ke arah yang ditunjukkan oleh motor (kebanyakan motor memiliki panah yang menunjukkan bagaimana mereka harus berputar), Anda akan merasakan angin sepoi-sepoi di bawah baling-baling dan bukan di atas.
  • Sekrup pada baling-baling yang berlawanan harus berwarna sama.
  • Warna baling-baling yang berdekatan harus sama.
  • Pastikan juga bahwa Anda telah mengatur motor sedemikian rupa sehingga berputar seperti pada gambar di atas.
  • Jika Anda mencoba membalik arah motor, cukup tukar kabel di ujung yang berlawanan. Ini akan membalikkan arah motor.

Baterai dan Daya

  • Jika karena alasan apa pun ada hal-hal yang memicu dan Anda tidak tahu mengapa, kemungkinan besar karena Anda telah bertukar positif dan negatif.
  • Jika Anda tidak yakin kapan harus mengisi baterai, Anda dapat menggunakan voltmeter untuk memeriksa voltase. Jika lebih rendah dari spesifikasi pada baterai katakan, maka perlu diisi. Lihat tautan ini untuk mengisi daya baterai Anda.
  • Sebagian besar baterai LIPO tidak dilengkapi dengan pengisi daya baterai. Anda membelinya secara terpisah.

Langkah 3: Pengontrol Arduino

Pengontrol Arduino
Pengontrol Arduino

Ini tidak diragukan lagi merupakan bagian tersulit dari keseluruhan proyek ini. Sangat mudah untuk meledakkan komponen dan debugging bisa sangat membuat frustrasi jika Anda tidak tahu apa yang Anda lakukan. Juga dalam proyek ini saya mengendalikan drone saya menggunakan bluetooth dan aplikasi yang akan saya tunjukkan cara membuatnya. Hal ini membuat proyek menjadi lebih sulit karena 99% dari tutorial di luar sana menggunakan pengontrol radio (ini bukan fakta lol), tapi jangan khawatir saya telah membuat Anda frustrasi.

Tips sebelum Anda memulai perjalanan ini

  • Gunakan papan tempat memotong roti sebelum Anda menyelesaikan perangkat Anda pada PCB. Ini memungkinkan Anda membuat perubahan dengan mudah.
  • Jika Anda telah menguji komponen secara ekstensif dan tidak berfungsi, mungkin komponen tersebut tidak berfungsi!
  • Lihatlah voltase yang dapat ditangani perangkat sebelum Anda mencolokkannya!

    • Arduino dapat menangani 6 hingga 20V, tetapi cobalah untuk membatasinya pada 12V sehingga Anda tidak meledakkannya. Anda dapat membaca lebih lanjut tentang spesifikasinya di sini.
    • HC-05 dapat menangani hingga 5V tetapi beberapa pin bekerja pada 3.3V jadi berhati-hatilah. Kami akan membicarakannya nanti.
    • IMU (GY-521, MPU-6050) juga bekerja pada 5V.
  • Kami akan menggunakan RemoteXY untuk membangun aplikasi kami. Jika Anda ingin membangunnya di perangkat iOS, Anda perlu menggunakan modul bluetooth yang berbeda (HM-10). Anda dapat mempelajari lebih lanjut tentang ini di situs web RemoteXY.

Semoga Anda sudah membaca tipsnya. Sekarang mari kita uji setiap komponen yang akan menjadi bagian dari controller secara terpisah.

Langkah 4: MPU-6050

MPU-6050
MPU-6050

Perangkat ini memiliki giroskop dan akselerometer, jadi pada dasarnya perangkat ini memberi tahu Anda percepatan dalam suatu arah (X, Y, Z) dan percepatan sudut di sepanjang arah tersebut.

Untuk menguji ini, kita dapat menggunakan tutorial ini, kita dapat menggunakan tutorial ini di situs web Arduino. Jika berhasil, Anda akan mendapatkan aliran nilai akselerometer dan giroskop yang berubah saat Anda memiringkan, memutar, dan mempercepat penyiapan. Juga, cobalah untuk mengubah dan memanipulasi kode sehingga Anda tahu apa yang terjadi.

Langkah 5: Modul Bluetooth HC-05

Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05
Modul Bluetooth HC-05

Anda tidak harus melakukan bagian ini tetapi penting untuk dapat masuk ke mode AT (mode pengaturan) karena kemungkinan besar Anda harus mengubah salah satu pengaturan modul. Ini adalah salah satu bagian yang paling membuat frustrasi tentang proyek ini. Saya melakukan begitu banyak penelitian untuk mencari cara agar modul saya masuk ke mode AT, karena perangkat saya tidak merespons perintah saya. Butuh waktu 2 hari untuk menyimpulkan bahwa modul saya rusak. Saya memesan yang lain dan berhasil. Lihat tutorial ini tentang masuk ke mode AT.

HC-05 hadir dalam berbagai jenis, ada beberapa dengan tombol dan beberapa tanpa dan segala macam variabel desain. Satu ini yang konstan adalah bahwa mereka semua memiliki "Pin 34". Lihat tutorial ini.

Hal-hal yang harus Anda ketahui

  • Untuk masuk ke mode AT, cukup tahan 5V ke pin 34 modul bluetooth sebelum Anda menghubungkan daya ke modul tersebut.
  • Hubungkan pembagi potensial ke pin RX modul karena berfungsi pada 3.3V. Anda masih bisa menggunakannya pada 5V tetapi mungkin menggoreng pin itu jika terjadi kesalahan.
  • Jika Anda menggunakan Pin 34 (bukan tombol atau cara lain yang Anda temukan online), modul akan mengatur baud rate bluetooth ke 38400. Itu sebabnya di link untuk tutorial di atas ada baris kode yang mengatakan:

BTSerial.begin(38400); // Kecepatan default HC-05 dalam perintah AT lebih banyak

Jika modul masih tidak merespons dengan "OK", coba ganti pin tx dan rx. Harus:

Bluetooth =>Arduino

RXD =>TX1

TDX =>RX0

Jika itu masih tidak berhasil, pilih ubah pin dalam kode ke pin Arduino lainnya. Tes, jika tidak berhasil tukar pin tx dan rx, lalu tes lagi

Perangkat LunakSerial BTSerial(10, 11); // RX | TX

Ubah baris di atas. Anda dapat mencoba RX = 2, TX = 3 atau kombinasi valid lainnya. Anda dapat melihat nomor pin Arduino pada gambar di atas.

Langkah 6: Menghubungkan Bagian

Menghubungkan Bagian
Menghubungkan Bagian

Sekarang setelah kami yakin semuanya berfungsi, saatnya untuk mulai menyatukannya. Anda dapat menghubungkan bagian-bagian seperti yang ditunjukkan di sirkuit. Saya mendapatkannya dari Electronoobs. Dia sangat membantu saya dengan proyek ini. Lihat versi proyeknya di sini. Jika Anda mengikuti tutorial ini, Anda tidak perlu khawatir tentang koneksi penerima: input_Yaw, input_Pitch, dll. Semua itu akan ditangani dengan bluetooth. Juga, sambungkan bluetooth seperti yang kita lakukan di bagian sebelumnya. Pin tx dan rx saya memberi saya sedikit masalah, jadi saya menggunakan Arduino:

RX sebagai 2, dan TX sebagai 3, bukan pin normal. Selanjutnya, kami akan menulis aplikasi sederhana yang akan terus kami tingkatkan hingga kami memiliki produk akhir.

Langkah 7: Keindahan RemoteXY

Keindahan RemoteXY
Keindahan RemoteXY

Untuk waktu yang lama saya memikirkan cara mudah untuk membangun aplikasi Remote yang dapat digunakan yang memungkinkan saya mengontrol drone. Kebanyakan orang menggunakan MIT App Inventor, tetapi UI tidak secantik yang saya inginkan dan saya juga bukan penggemar pemrograman bergambar. Saya bisa mendesainnya menggunakan Android Studio tetapi itu akan menjadi terlalu banyak pekerjaan. Saya sangat senang ketika saya menemukan tutorial menggunakan RemoteXY. Berikut tautan ke situs web. Ini sangat mudah digunakan dan dokumentasinya sangat bagus. Kami akan membuat UI sederhana untuk drone kami. Anda dapat menyesuaikan milik Anda sesuka Anda. Pastikan Anda tahu apa yang Anda lakukan. Ikuti petunjuk di sini.

Setelah Anda selesai melakukannya, kami akan mengedit kodenya sehingga kami dapat mengubah throttle pada helikopter kami. Tambahkan baris yang memiliki /**** Hal-hal yang harus Anda lakukan dan mengapa ***/ ke kode Anda.

Jika tidak dikompilasi, pastikan Anda memiliki perpustakaan yang diunduh. Buka juga contoh sketsa dan bandingkan apa yang tidak dimiliki sketsa Anda.

//////////////////////////////////////////////RemoteXY termasuk Perpustakaan // /////////////////////////////////////////////

// RemoteXY pilih mode koneksi dan sertakan perpustakaan

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#sertakan #sertakan #sertakan

// Pengaturan koneksi RemoteXY

#menentukan REMOTEXY_SERIAL_RX 2 #menentukan REMOTEXY_SERIAL_TX 3 #menentukan REMOTEXY_SERIAL_SPEED 9600

// Baling-baling

Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;

// Konfigurasi RemoteXY

#pragma pack(push, 1) uint8_t RemoteXY_CONF = { 255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0 }; // struktur ini mendefinisikan semua variabel dari struct antarmuka kontrol Anda {

// memasukkan variabel

int8_t Joystick_x; // -100..100 x-koordinat posisi joystick int8_t Joystick_y; // -100..100 posisi joystick koordinat y int8_t ThrottleSlider; // 0,..100 posisi penggeser

// variabel lain

uint8_t connect_flag; // =1 jika kabel terhubung, else =0

} RemoteXY;

#pragma pack(pop)

/////////////////////////////////////////////

// END RemoteXY termasuk /////////////////////////////////////////////////////////////////////////////////////////////////////// /

/************Tambahkan baris ini untuk menahan nilai throttle*************/

int masukan_THROTTLE;

batalkan pengaturan() {

RemoteXY_Init();

/**********Pasang motor ke Pin Ubah nilainya agar sesuai dengan milik Anda **************/

L_F_prop.attach(4); //motor depan kiri

L_B_prop.attach(5); //motor belakang kiri R_F_prop.attach(7); //motor depan kanan R_B_prop.attach(6); //motor belakang kanan

/*************Mencegah esc memasuki mode pemrograman*********************/

L_F_prop.writeMicroseconds(1000); L_B_prop.writeMicroseconds(1000); R_F_prop.writeMicroseconds(1000); R_B_prop.writeMicroseconds(1000); penundaan (1000);

}

lingkaran kosong() {

RemoteXY_Handler();

/****** Memetakan nilai throttle yang Anda dapatkan dari aplikasi ke 1000 dan 2000 yang merupakan nilai yang paling banyak dioperasikan oleh ESC *********/

input_THROTTLE = peta(RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);

L_F_prop.writeMicroseconds(input_THROTTLE);

L_B_prop.writeMicroseconds(input_THROTTLE); R_F_prop.writeMicroseconds(input_THROTTLE); R_B_prop.writeMicroseconds(input_THROTTLE); }

Langkah 8: Pengujian

Jika Anda telah melakukan semuanya dengan benar, Anda seharusnya dapat menguji helikopter Anda dengan menggeser throttle ke atas dan ke bawah. Pastikan Anda melakukannya di luar. Juga jangan biarkan baling-baling menyala karena itu akan menyebabkan helikopter melompat. Kami belum menulis kode untuk menyeimbangkannya, jadi itu akan menjadi IDE BURUK UNTUK MENGUJI INI DENGAN PROPELLER ON! Saya hanya melakukan ini karena lmao.

Demonstrasi ini hanya untuk menunjukkan bahwa kita harus dapat mengontrol throttle dari aplikasi. Anda akan melihat bahwa motor gagap. Ini karena ESC belum dikalibrasi. Untuk melakukan ini, lihat instruksi di halaman Github ini. Baca instruksi, buka file ESC-Calibration.ino dan ikuti instruksi tersebut. Jika Anda ingin memahami apa yang terjadi, lihat tutorial ini oleh Electronoobs.

Saat Anda menjalankan program, pastikan Anda mengikat drone dengan tali karena akan bekerja dengan kecepatan penuh. Pastikan juga baling-baling tidak menyala. Aku hanya membiarkan milikku karena aku setengah gila. JANGAN TINGGALKAN PROPELLER ANDA!!! Demonstrasi ini ditunjukkan dalam video kedua.

Langkah 9: Saya Sedang Mengerjakan Kode. Akan Menyelesaikan Instruksi dalam Beberapa Hari

Hanya ingin menambahkan bahwa jika Anda menggunakan tutorial ini dan menunggu saya, saya masih mengerjakannya. Hanya saja hal-hal lain dalam hidup saya telah muncul yang juga sedang saya kerjakan, tetapi jangan khawatir saya akan segera mempostingnya. Katakanlah paling lambat 10 Agustus 2019.

Pembaruan 10 Agustus: Tidak ingin membuat Anda menggantung. Sayangnya saya tidak punya waktu untuk mengerjakan proyek dalam seminggu terakhir. Sudah sangat sibuk dengan hal lain. Saya tidak ingin memimpin Anda. Mudah-mudahan saya akan menyelesaikan instruksi dalam waktu dekat. Jika Anda memiliki pertanyaan atau memerlukan bantuan, Anda dapat menambahkan komentar di bawah dan saya akan menghubungi Anda kembali.

Direkomendasikan: