Isi kandungan:

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

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

Video: Panduan yang Saya Mahukan untuk Membangun Drone Arduino: 9 Langkah
Video: drone pertanian DIY 2024, November
Anonim
Panduan yang Saya Mahukan untuk Membangun Drone Arduino
Panduan yang Saya Mahukan untuk Membangun Drone Arduino

Dokumen ini adalah sejenis dokumentasi slash “Cara membimbing” yang melalui proses yang memerlukan saya memahami konsep untuk mencapai tujuan saya membina quadcopter sederhana yang dapat saya kendalikan dari telefon bimbit saya.

Untuk melakukan projek ini, saya ingin mendapatkan idea tentang apa sebenarnya drone, dalam kes saya quadcopter, jadi saya mula melakukan penyelidikan. Saya menonton banyak video YouTube, membaca banyak artikel dan halaman yang tidak dapat disekat dan inilah yang saya dapat.

Pada dasarnya anda boleh membahagikan drone menjadi dua bahagian. Saya menyebutnya "Fizikal" dan "Pengawal". Fizikal pada asasnya adalah segala yang berkaitan dengan mekanik yang membuat drone terbang. Ini adalah perkara seperti motor, rangka, bateri, baling-baling dan setiap benda lain yang secara fizikal memberi kemampuan drone untuk terbang.

Pengawal pada dasarnya adalah pengawal penerbangan. Apa yang mengawal fizikal sehingga drone dapat terbang secara keseluruhan tanpa jatuh. Pada asasnya mikrokontroler, perisian di atasnya dan sensor yang membantunya melancarkan galasnya. Oleh itu, untuk memiliki drone, saya memerlukan Pengawal, dan sekumpulan bahagian fizikal untuk pengawal untuk ‘mengawal’.

Bekalan

Belanjawan untuk projek: $ 250

Jangka Masa: 2 minggu

Perkara yang perlu dibeli:

  • Rangka Fizikal $ 20
  • Blades $ 0 (Dilengkapi dengan bingkai)
  • Pek Bateri $ 25
  • ESC (Pengawal kelajuan elektronik) $ 0 (Dilengkapi dengan motor)
  • Permotoran $ 70

Pengawal Penerbangan

  • Arduino nano $ 20
  • Kabel USB Arduino $ 2
  • Modul Bluetooth (HC-05) $ 8
  • Perintang 3mm LED dan 330 Ohm dan wayar $ 13
  • GY-87 (Accelerometer, Gyroscope) $ 5
  • Papan Prototaip $ 10
  • Tajuk lelaki dan wanita $ 5

Yang lain

  • Kit pematerian $ 10
  • Multimeter $ 20

Saya ingin menikmati pembinaan projek ini sebagai Jurutera, jadi saya membeli beberapa barang lain yang saya tidak perlu.

Jumlah: $ 208

Langkah 1: Pengalaman Permulaan Saya

Setelah membeli semua komponen saya, saya menyatukannya dan kemudian mencuba melancarkan drone, menggunakan Multiwii (perisian yang digunakan oleh banyak komuniti drone DIY), namun saya dengan cepat menyedari bahawa saya tidak memahami sepenuhnya apa yang saya lakukan kerana terdapat banyak kesalahan dan saya tidak tahu bagaimana membetulkannya.

Selepas itu saya memutuskan untuk memisahkan drone dan memahami setiap komponen demi satu dan membina semula dengan cara yang saya benar-benar memahami semua yang sedang berlaku.

Pada bahagian berikut saya akan melalui proses menyusun teka-teki bersama. Sebelum itu mari dapatkan gambaran ringkas.

Fizikal

Untuk fizikal, kita harus mempunyai: bingkai, baling-baling, bateri dan escs. Ini akan cukup mudah untuk disatukan. Untuk memahami bahagian-bahagian ini dan bahagian mana yang harus anda perolehi, anda boleh melayari pautan ini. Dia menerangkan apa yang perlu anda ketahui tentang membeli setiap bahagian yang telah saya senaraikan. Saksikan juga video Youtube ini. Ini akan membantu anda sekiranya anda tersekat untuk menyatukan bahagian-bahagiannya.

Langkah 2: Petua Memotong dan Menyahpecahkan Bahagian Fizikal

Petua Memotong dan Menyahpecahkan Bahagian Fizikal
Petua Memotong dan Menyahpecahkan Bahagian Fizikal

Baling-Baling dan Motor

  • Untuk memeriksa sama ada baling-baling anda berada dalam arah yang betul (Terbalik atau tidak), apabila anda memutarnya ke arah yang ditunjukkan oleh motor (kebanyakan motor mempunyai anak panah yang menunjukkan bagaimana mereka harus berputar), anda harus merasakan angin di bawah baling-baling dan tidak di atas.
  • Skru pada baling-baling yang bertentangan harus dengan warna yang sama.
  • Warna baling-baling bersebelahan harus sama.
  • Pastikan juga bahawa anda telah mengatur motor dengan cara berputar seperti pada gambar di atas.
  • Sekiranya anda cuba membalikkan arah motor, hanya menukar wayar di hujung yang bertentangan. Ini akan membalikkan arah motor.

Bateri dan Kuasa

  • Sekiranya atas sebab-sebab ada perkara yang mencetuskan dan anda tidak dapat mengetahui mengapa, kemungkinan besar kerana anda telah bertukar positif dan negatif.
  • Sekiranya anda tidak pasti bila hendak mengecas bateri anda, anda boleh menggunakan voltmeter untuk memeriksa voltan. Sekiranya ia lebih rendah daripada spesifikasi pada bateri, maka ia perlu dicas. Lihat pautan ini semasa mengecas bateri anda.
  • Sebilangan besar bateri LIPO tidak disertakan dengan pengecas bateri. Anda membelinya secara berasingan.

Langkah 3: Pengawal Arduino

Pengawal Arduino
Pengawal Arduino

Ini pasti bahagian paling sukar dalam keseluruhan projek ini. Sangat mudah meletupkan komponen dan penyahpepijatan mungkin sangat mengecewakan jika anda tidak tahu apa yang anda lakukan. Juga dalam projek ini, saya mengendalikan drone saya menggunakan bluetooth dan aplikasi yang akan saya tunjukkan cara membina. Ini menjadikan projek ini lebih sukar kerana 99% tutorial di luar sana menggunakan alat kawalan radio (ini bukan lol fakta), tetapi jangan risau saya telah melalui kekecewaan untuk anda.

Petua sebelum anda memulakan perjalanan ini

  • Gunakan papan roti sebelum anda menyelesaikan peranti anda pada PCB. Ini membolehkan anda membuat perubahan dengan mudah.
  • Sekiranya anda telah menguji komponen secara meluas dan tidak berfungsi, ia mungkin tidak berfungsi!
  • Lihat voltan yang boleh dikendalikan oleh peranti sebelum anda memasangnya!

    • Arduino boleh mengendalikan 6 hingga 20V, tetapi cuba tutup pada 12V supaya anda tidak meletupkannya. Anda boleh membaca lebih lanjut mengenai spesifikasi di sini.
    • HC-05 boleh mengendalikan sehingga 5V tetapi beberapa pin berfungsi pada 3.3V jadi berhati-hatilah. Kita akan membincangkannya kemudian.
    • IMU (GY-521, MPU-6050) juga berfungsi pada 5V.
  • Kami akan menggunakan RemoteXY untuk membina aplikasi kami. Sekiranya anda ingin membinanya pada peranti iOS, anda perlu menggunakan modul bluetooth yang berbeza (The HM-10). Anda boleh mengetahui lebih lanjut mengenai ini di laman web RemoteXY.

Semoga anda membaca petua. Sekarang mari kita menguji setiap komponen yang akan menjadi bahagian pengawal secara berasingan.

Langkah 4: MPU-6050

MPU-6050
MPU-6050

Peranti ini mempunyai giroskop dan akselerometer, jadi pada dasarnya ia memberitahu anda percepatan dalam arah (X, Y, Z) dan pecutan sudut sepanjang arah tersebut.

Untuk menguji ini, kita dapat menggunakan tutorial ini dan kita dapat menggunakan tutorial ini di laman web Arduino. Sekiranya berjaya, anda harus mendapat aliran nilai akselerometer dan giroskop yang berubah semasa anda memiringkan, memutar dan mempercepat penyediaan. Juga, cuba ubah dan manipulasi kodnya sehingga anda tahu apa yang berlaku.

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 perlu melakukan bahagian ini tetapi penting untuk pergi ke mod AT (mod tetapan) kerana kemungkinan besar anda perlu mengubah salah satu tetapan modul. Ini adalah salah satu bahagian yang paling mengecewakan mengenai projek ini. Saya melakukan banyak penyelidikan untuk mengetahui bagaimana memasukkan modul saya ke mod AT, kerana peranti saya tidak bertindak balas terhadap perintah saya. Saya mengambil masa 2 hari untuk membuat kesimpulan bahawa modul saya rosak. Saya memesan untuk yang lain dan ia berjaya. Lihat tutorial ini untuk masuk ke mod AT.

HC-05 hadir dalam pelbagai jenis, ada beberapa dengan butang dan beberapa tanpa dan macam-macam pemboleh ubah reka bentuk. Satu yang berterusan adalah bahawa mereka semua mempunyai "Pin 34". Lihat tutorial ini.

Perkara yang mesti anda ketahui

  • Untuk masuk ke mod AT, tahan 5V hingga pin 34 modul bluetooth sebelum anda menyambungkan kuasa kepadanya.
  • Sambungkan pembahagi berpotensi ke pin RX modul kerana berfungsi pada 3.3V. Anda masih boleh menggunakannya pada 5V tetapi mungkin menggoreng pin itu jika ada yang tidak kena.
  • Sekiranya anda menggunakan Pin 34 (bukan butang atau cara lain yang anda dapati dalam talian), modul akan menetapkan kadar baud bluetooth ke 38400. Itulah sebabnya dalam pautan untuk tutorial di atas terdapat garis dalam kod yang mengatakan:

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

Sekiranya modul masih tidak bertindak balas dengan "OK", cubalah menukar pin tx dan rx. Ia harus:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Sekiranya masih tidak berfungsi, pilih ubah pin dalam kod ke pin Arduino yang lain. Uji, jika tidak berfungsi, tukar pin tx dan rx, kemudian uji lagi

SoftwareSerial BTSerial (10, 11); // RX | TX

Tukar garis di atas. Anda boleh mencuba RX = 2, TX = 3 atau kombinasi lain yang sah. Anda boleh melihat nombor pin Arduino pada gambar di atas.

Langkah 6: Menyambungkan Bahagian

Menyambungkan Bahagian
Menyambungkan Bahagian

Sekarang kita yakin bahawa semuanya berfungsi, sudah tiba masanya untuk mula menyatukannya. Anda boleh menyambungkan bahagian seperti yang ditunjukkan dalam litar. Saya mendapatnya dari Electronoobs. Dia sangat membantu saya dalam projek ini. Lihat versi projeknya di sini. Sekiranya anda mengikuti tutorial ini, anda tidak perlu risau tentang sambungan penerima: input_Yaw, input_Pitch, dll. Semua itu akan ditangani dengan bluetooth. Juga, sambungkan bluetooth seperti yang kita lakukan di bahagian sebelumnya. Pin tx dan rx saya memberi saya sedikit masalah, jadi saya menggunakan Arduino:

RX sebagai 2, dan TX sebagai 3, bukannya pin biasa. Seterusnya, kami akan menulis aplikasi mudah yang akan terus diperbaiki sehingga kami mendapat produk akhir.

Langkah 7: Keindahan RemoteXY

Keindahan RemoteXY
Keindahan RemoteXY

Untuk masa yang paling lama saya memikirkan cara mudah untuk membina aplikasi Jauh yang boleh digunakan yang membolehkan saya mengawal drone. Sebilangan besar orang menggunakan MIT App Inventor, tetapi UI tidak secantik yang saya mahukan dan saya juga bukan penggemar program bergambar. Saya boleh merancangnya menggunakan Android Studio tetapi itu terlalu banyak kerja. Saya sangat gembira ketika menemui tutorial menggunakan RemoteXY. Inilah pautan ke laman web. Ia sangat mudah digunakan dan dokumentasinya sangat baik. Kami akan membuat UI ringkas untuk drone kami. Anda boleh menyesuaikan cara anda mengikut keinginan anda. Pastikan anda tahu apa yang anda lakukan. Ikuti arahan di sini.

Setelah selesai, kami akan mengedit kodnya sehingga kami dapat mengubah pendikit pada copter kami. Tambahkan baris yang mempunyai / **** Perkara yang harus anda lakukan dan mengapa *** / ke kod anda.

Sekiranya tidak menyusun, pastikan anda memuat turun pustaka. Buka juga sketsa contoh dan bandingkan apa yang tidak dimiliki oleh anda.

//////////////////////////////////////////////// RemoteXY termasuk perpustakaan // /////////////////////////////////////////////

// RemoteXY pilih mod sambungan dan sertakan perpustakaan

#tentukan REMOTEXY_MODE_HC05_SOFTSERIAL

#sertakan #sertakan #sertakan

// Tetapan sambungan RemoteXY

#tentukan REMOTEXY_SERIAL_RX 2 #tentukan REMOTEXY_SERIAL_TX 3 #tentukan 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 menentukan semua pemboleh ubah struktur antara muka kawalan anda {

// pemboleh ubah input

int8_t Joystick_x; // -100..100 kedudukan koordinat x-koordinat int8_t Joystick_y; // -100..100 kedudukan koordinat koordinat y int8_t ThrottleSlider; // 0..100 kedudukan gelangsar

// pemboleh ubah lain

uint8_t connect_flag; // = 1 jika wayar disambungkan, lain = 0

} JauhXY;

pek #pragma (pop)

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

// END RemoteXY merangkumi // ///////////////////////////////////////// /

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

int input_THROTTLE;

batal persediaan () {

JauhXY_Init ();

/ ********** Pasangkan motor ke Pin Tukar nilai 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

/ ************* Cegah esc dari memasuki mod pengaturcaraan ******************** /

L_F_prop.writeMikrodetik (1000); L_B_prop.writeMikrodetik (1000); R_F_prop.writeMikrodetik (1000); R_B_prop.writeMikrodetik (1000); kelewatan (1000);

}

gelung kosong () {

JauhXY_Handler ();

/ ****** Petakan nilai pendikit yang anda dapat dari aplikasi ke 1000 dan 2000 yang merupakan nilai yang paling banyak ESC beroperasi pada ********* /

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

L_F_prop.writeMikrodetik (input_THROTTLE);

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

Langkah 8: Menguji

Sekiranya anda telah melakukan semuanya dengan betul, anda seharusnya dapat menguji copter anda dengan menggeser pendikit ke atas dan ke bawah. Pastikan anda melakukan ini di luar. Juga jangan biarkan baling-baling dihidupkan kerana itu akan menyebabkan copter melompat. Kami belum menulis kod untuk mengimbangkannya, jadi IDEA BURUK UNTUK MENGUJI INI DENGAN PEMBEKAL! Saya hanya melakukan ini kerana lmao.

Demonstrasi ini hanya untuk menunjukkan bahawa kita seharusnya dapat mengawal pendikit dari aplikasi. Anda akan melihat bahawa motor tergagap-gagap. Ini kerana ESC belum dikalibrasi. Untuk melakukan ini, lihat petunjuk di halaman Github ini. Baca arahannya, buka fail ESC-Calibration.ino dan ikuti arahan tersebut. Sekiranya anda ingin memahami apa yang berlaku, lihat tutorial ini oleh Electronoobs.

Semasa anda menjalankan program, pastikan anda mengikat drone dengan rentetan kerana ia akan berjalan pada tahap penuh. Pastikan juga baling-baling tidak menyala. Saya membiarkan sahaja kerana saya sudah setengah gila. JANGAN TINGGALKAN PEMBEKAL ANDA !!! Demonstrasi ini ditunjukkan dalam video kedua.

Langkah 9: Saya Mengusahakan Kod. Akan Menamatkan Arahan dalam Beberapa Hari

Hanya ingin menambahkan bahawa jika anda menggunakan tutorial ini dan menunggu saya, saya masih mengusahakannya. Cuma perkara lain dalam hidup saya telah saya jalankan, tetapi jangan bimbang saya akan mengeposnya tidak lama lagi. Katakan terkini selewat-lewatnya pada 10 Ogos 2019.

Kemas kini 10 Ogos: Tidak mahu membiarkan anda tergantung. Malangnya saya tidak mempunyai masa untuk mengerjakan projek itu dalam seminggu yang lalu. Telah sibuk dengan perkara lain. Saya tidak mahu memimpin anda. Semoga saya dapat melengkapkan pengajaran dalam masa terdekat. Sekiranya anda mempunyai pertanyaan atau memerlukan bantuan, anda boleh menambah komen di bawah dan saya akan menghubungi anda.

Disyorkan: