Pertempuran tank DIY dari Arduino. Tangki otonom di Arduino


Pada materi sebelumnya, kami telah mengulas video pembuatan berbagai mainan yang dikendalikan radio. Mari kita lanjutkan topik ini. Kali ini kami mengajak Anda untuk membiasakan diri dengan proses pembuatan tangki yang dikendalikan radio.

Kita akan butuh:
- sasis jadi;
- Arduino Nano;
- 3 servo;
- sistem berputar;
- pistol mainan;
- joystick PS2;
- penerima ke joystick;
- kotak baterai;
- baterai isi ulang;
- kabel;
- laser.

Sasis yang sudah jadi, tautan pembelian yang disediakan di akhir materi, memiliki dua motor, dua kotak roda gigi, sebuah sakelar, dan sebuah kompartemen untuk baterai. Menurut penulis idenya, membeli sasis yang sudah jadi akan lebih murah dibandingkan membuatnya sendiri. Jika baterai yang akan Anda gunakan tidak muat di kompartemen sasis, seperti dalam kasus penulis, Anda dapat menyembunyikan driver motor di sana.

Langkah pertama adalah memasang penerima joystick ke sasis. Untuk melakukan ini, lepaskan penutupnya.

Kami juga melepas penutup dari gearbox.

Kami membuat dua lubang pada penutup yang akan digunakan untuk mengencangkan penutup dengan sekrup.

Isi mur yang menahan sekrup dengan lem agar tidak terlepas saat dikendarai dan jatuh ke dalam gearbox.

Sekarang Anda perlu memasang driver motor. Menurut penulis, bila menggunakan kabel dengan konektor khusus, kompartemennya tidak akan menutup sepenuhnya, sehingga Anda perlu menggigit konektornya, melepaskan kabelnya dan menyoldernya langsung ke output pada driver.

Sebelum memasang driver, Anda perlu merawat sistem putaran moncong tangki. Untuk melakukan ini, kami membongkar sistem putar plastik dan memasang dua servo di dalamnya. Yang pertama akan bertanggung jawab atas gerakan horizontal, dan yang kedua untuk gerakan vertikal.

Menyatukan kembali sistem putar.

Kami memasang sistem pada lambung tangki.

Anda perlu membuat 3 lubang tambahan di rumahan. Dua di antaranya diperlukan untuk kabel motor, dan lubang lebar diperlukan untuk bus dalam kendali pengemudi motor.

Pistol harus dihubungkan ke penggerak servo. Untuk melakukan ini, cukup buat lubang di penggerak servo dan badan senjata dan sambungkan dengan sekrup.

Hal selanjutnya yang perlu Anda lakukan adalah menghubungkan pelatuk pistol ke servo. Untuk melakukan ini, bor lubang pada pelatuk dan sambungan pada penggerak servo. Kami menghubungkan elemen-elemen dengan seutas kawat.

Di bagian atas sistem putar, harus dibuat dua lubang tembus, yang juga harus melewati laras pistol. Lubang-lubang ini akan digunakan untuk memasang moncong pada sistem putar.

Mari beralih ke pemrograman papan Arduino Nano.

Kami merakit komponen lainnya sesuai dengan diagram di bawah ini.

Di bagian atas sasis kami memasang potongan penggaris yang akan berfungsi sebagai sayap. Kami memasang kompartemen baterai di sayap.

Kami merekatkan laser ke laras dengan lem panas.

Tangki kami yang dikendalikan radio sudah siap.

Mari kita membangun tangki yang dikendalikan radio dengan pandangan orang pertama yang dapat dikendalikan dari jarak hingga 2 kilometer! Proyek saya didasarkan pada penjelajah jarak jauh, mudah dibuat, mudah diprogram, dan proyek bagus untuk penghobi!




Bot ini sangat cepat dan lincah, belum lagi fakta bahwa ia memiliki dua mesin yang kuat! Ia pasti akan berlari lebih cepat dari manusia, tidak peduli di permukaan apa perlombaannya!

Bot ini masih berupa prototipe, bahkan setelah berbulan-bulan pengembangan.

Jadi apa itu FPV?
FPV, atau First Person View, adalah Tampilan Orang Pertama. FPV biasanya kita lihat saat bermain game di konsol dan komputer, seperti game balap. FPV juga digunakan oleh militer untuk pengawasan, pertahanan, atau untuk memantau kawasan lindung. Penghobi menggunakan FPV di quadcopters untuk pengambilan gambar udara dan hanya untuk bersenang-senang. Ini kedengarannya sama kerennya dengan biaya membangun quadcopter, jadi kami memutuskan untuk membangun sesuatu yang lebih kecil yang bisa dikendarai di tanah.

Bagaimana cara mengelolanya?
Bot ini didasarkan pada papan Arduino. Karena Arduino mendukung beragam add-on dan modul (RC/WiFi/Bluetooth), Anda dapat memilih jenis komunikasi apa pun. Untuk build ini kami akan menggunakan komponen khusus yang memungkinkan kontrol jarak jauh menggunakan pemancar dan penerima 2.4Ghz yang mengontrol bot.

Ada video demo di langkah terakhir.

Langkah 1: Alat dan Bahan






Saya membeli sebagian besar suku cadang saya di toko hobi lokal, sisanya saya temukan online - cari saja penawaran terbaik. Saya menggunakan banyak solusi Tamiya dan instruksi saya ditulis dengan mempertimbangkan fitur ini.

Saya membeli suku cadang dan bahan dari Gearbest - saat itu sedang ada obral.

Kita akan butuh:

  • Klon Arduino UNO R3
  • Pelindung Motor Pololu Dual VNH5019 (2x30A)
  • Sematkan ayah
  • 4 pengatur jarak
  • Sekrup dan mur
  • Modul transmisi sinyal (pemancar) 2,4 Ghz - baca selengkapnya di langkah 13
  • Penerima 2,4 Ghz untuk setidaknya dua saluran
  • 2 motor Tamiya Plasma Dash / Hyper dash 3
  • Kit Gearbox Motor Kembar Tamiya (termasuk stok motor)
  • 2 papan universal Tamiya
  • Set trek dan roda Tamiya
  • 3 baterai polimer litium 1500mAh
  • Kamera orang pertama dengan dukungan arah jarak jauh dan kontrol zoom
  • pemancar dan penerima data untuk FPV 5.8Ghz 200mW
  • Sebotol lem super
  • Lem panas

Alat:

  • Multi alat
  • Set Obeng
  • tubuh

Langkah 2: Merakit Gearbox Kembar


Saatnya membongkar gearbox. Ikuti saja instruksinya dan semuanya akan baik-baik saja.

Catatan penting: gunakan rasio gigi 58:1!!!

  • lumasi roda gigi sebelum merakit kotak, bukan setelahnya
  • jangan lupakan spacer logam, jika tidak kotak akan berderit
  • menggunakan format roda gigi 58:1, lebih cepat dari 204:1

Langkah 3: Meningkatkan motor

Gearboxnya dilengkapi dengan motor, tapi menurut saya sangat lambat. Oleh karena itu, saya memutuskan untuk menggunakan motor Hyper dash dalam proyek ini, daripada Plasma Dash, yang mengkonsumsi lebih banyak energi.

Namun motor Plasma Dash merupakan yang tercepat di seri motor 4WD Tamiya. Motornya mahal, tetapi Anda mendapatkan produk terbaik untuk uang tersebut. Motor berlapis karbon ini berputar pada 29.000 rpm pada 3V dan 36.000 rpm pada 7V.

Motor dirancang untuk bekerja dengan catu daya 3V dan meningkatkan tegangan, meskipun meningkatkan kinerja, namun mengurangi masa pakainya. Dengan Driver Motor Pololu 2x30 dan dua baterai lithium polimer, program Arduino harus disetel ke kecepatan maksimum 320/400, Anda akan segera mengetahui artinya dalam langkah kode.

Langkah 4: Pengemudi Motor


Saya sudah lama tertarik pada robotika dan bisa saya katakan. bahwa driver motor terbaik adalah Pololu Dual VNH5019. Dalam hal tenaga dan efisiensi, ini adalah pilihan terbaik, tetapi jika kita berbicara tentang harga, ini jelas bukan teman kita.

Pilihan lainnya adalah membuat driver L298. 1 L298 dirancang untuk satu motor, yang merupakan solusi terbaik untuk motor arus tinggi. Saya akan menunjukkan cara membuat versi driver Anda sendiri.

Langkah 5: Merakit Trek




Gunakan imajinasi Anda dan konfigurasikan trek sesuai keinginan Anda.

Langkah 6: Pasang spacer dan pasang FPV



Sekali lagi, gunakan imajinasi Anda dan cari tahu cara memposisikan penyangga dan kamera untuk tampilan orang pertama. Amankan semuanya dengan lem panas. Pasang dek atas dan bor lubang untuk memasang antena FPV dan spacer yang terpasang, lalu kencangkan semuanya dengan sekrup.

Langkah 7: Dek Atas


Tujuan pembuatan dek atas adalah untuk menambah ruang kosong, karena komponen FPV memakan banyak ruang di bagian bawah drone, sehingga tidak ada ruang untuk Arduino dan pengemudi motor.

Langkah 8: Instal Arduino dan Driver Motor

Cukup kencangkan atau rekatkan Arduino pada tempatnya di dek atas, lalu pasang driver motor di atasnya.

Langkah 9: Pasang modul penerima



Saatnya menghubungkan modul Rx ke Arduino. Menggunakan saluran 1 dan 2, sambungkan saluran 1 ke A0 dan 2 ke A1. Hubungkan penerima ke pin 5V dan GND di Arduino.

Langkah 10: Hubungkan Motor dan Baterai



Solder kabel ke motor dan sambungkan ke driver sesuai saluran. Mengenai baterai, Anda perlu membuat konektor sendiri menggunakan konektor JST male dan konektor DINA male. Silakan lihat foto untuk lebih memahami apa yang diminta dari Anda.

Langkah 11: Baterai

Ambil baterai dan tentukan lokasi di mana Anda akan memasangnya.

Setelah Anda menemukan lokasinya, buat adaptor pria untuk dihubungkan ke baterai. Baterai Li-po 3S 12V akan memberi daya pada kamera FPV, motor, dan Arduino, jadi Anda perlu membuat konektor untuk saluran listrik motor dan saluran FPV.

Langkah 12: Kode untuk Arduino (C++)

Kodenya sangat sederhana, cukup unduh dan semuanya akan berfungsi dengan driver motor VNH (pastikan untuk mengunduh perpustakaan driver dan meletakkannya di folder perpustakaan Arduino).

Kodenya mirip dengan Zumobot RC, saya hanya mengganti perpustakaan driver motor dan mengkonfigurasi beberapa hal.

Untuk driver L298 gunakan program Zumobot standar, cukup sambungkan semuanya sesuai yang tertulis di perpustakaan.

#define PWM_L 10 ///motor kiri
#definisikan PWM_R 9
#define DIR_L 8 ///motor kiri
#tentukan DIR_R 7

Cukup unduh kodenya dan lanjutkan ke langkah berikutnya.

File

Langkah 13: Pengontrol


Ada berbagai jenis pengontrol mainan yang dikendalikan radio di pasaran: untuk air, darat, udara. Mereka juga beroperasi pada frekuensi yang berbeda: AM, FM, 2.4GHz, namun pada akhirnya mereka semua hanyalah pengontrol biasa. Saya tidak tahu persis nama pengontrolnya, tapi saya tahu pengontrolnya digunakan untuk drone udara dan memiliki lebih banyak saluran dibandingkan dengan darat atau air.

Saat ini saya menggunakan Turnigy 9XR Transmitter Mode 2 (Tanpa Modul). Seperti yang Anda lihat, namanya menyatakan bahwa ini tidak memiliki modul, yang berarti Anda memilih modul komunikasi 2.4GHz mana yang akan dibangun di dalamnya. Ada puluhan merek di pasaran yang memiliki fitur penggunaan, kontrol, jarak, dan berbagai fitur lainnya. Sekarang saya menggunakan FrSky DJT 2.4Ghz Combo Pack untuk JR w/ Telemetry Module & V8FR-II RX yang harganya sedikit mahal, tapi lihat saja spesifikasi dan kelebihannya, maka harganya tidak akan terasa terlalu mahal untuk semua barang ini. . Ditambah lagi modulnya langsung disertakan dengan receivernya!

Dan ingatlah bahwa meskipun Anda memiliki pengontrol dan modul, Anda tidak akan dapat menyalakannya sampai Anda memiliki baterai yang cocok dengan pengontrol tersebut. Apa pun pilihannya, temukan pengontrol yang cocok untuk Anda dan kemudian Anda akan memutuskan baterai yang tepat.

Tip: Jika Anda seorang pemula, carilah bantuan dari toko hobi setempat atau temukan kelompok penggemar radio ham karena langkah ini bukan main-main dan Anda harus mengeluarkan banyak uang.

Langkah 14: Periksa




Nyalakan bot terlebih dahulu, lalu hidupkan modul pemancar, setelah itu modul penerima akan menunjukkan pengikatan berhasil dengan mem-flash LED.

Panduan Pemula untuk FPV

Bagian yang dipasang pada bot disebut pemancar dan kamera FPV, dan yang ada di tangan Anda disebut penerima FPV. Penerima terhubung ke layar apa pun - baik itu LCD, TV, TFT, dll. Yang perlu Anda lakukan hanyalah memasukkan baterai ke dalamnya atau menghubungkannya ke sumber listrik. Nyalakan, lalu ganti saluran pada receiver jika perlu. Setelah itu, Anda akan melihat di layar apa yang dilihat bot Anda.

Rentang sinyal FPV

Proyek ini menggunakan modul murah yang mampu beroperasi pada jarak hingga 1,5 - 2 km, tetapi ini berlaku untuk penggunaan perangkat di ruang terbuka; jika Anda ingin mendapatkan sinyal yang lebih kuat, belilah pemancar dengan daya lebih tinggi, misalnya 1000mW . Harap dicatat bahwa pemancar saya hanya memiliki daya 200mW dan merupakan yang termurah yang dapat saya temukan.

Hanya ada satu langkah terakhir yang tersisa - bersenang-senang mengendalikan tank mata-mata baru Anda dengan kamera!

Bagian utama robot adalah sasis dari tangki yang dikendalikan radio dan komponen lainnya, daftarnya akan ditulis di bawah ini. Tangki ini adalah proyek pertama penulis di platform ini Arduino, dan dia senang dia menggunakannya. Penulis menggunakan bahan dan buku dari Internet.

Bahan dan alat:
- Sasis tangki
-Arduino Uno
- Jumper dan papan tempat memotong roti
- Driver motor terintegrasi SN754410NE
- Penggerak servo konvensional
- Pencari jangkauan ultrasonik
- Baterai 9V dengan konektor untuk itu
- Baterai tipe D
- Kabel USB untuk Arduino
- Basis untuk sasis
- Obeng
- Pistol termal dan lem untuk itu
- Besi solder dan solder

Langkah pertama. Sasis tangki.
Penulis mengambil sasis dari tangki Abrams tua yang dibeli di pasar loak. Tangki yang dihasilkan dibongkar sehingga sasisnya bisa dilepas. Sama sekali tidak perlu menggunakan tangki yang sama, tangki apa pun yang dikendalikan radio bisa digunakan. Apalagi motor aslinya masih banyak yang kurang, jadi saya harus merakitnya sendiri; perakitannya akan dilakukan pada langkah berikutnya. Setelah menyiapkan sasis, penulis menempelkan alasnya dengan lem panas. Tidak masalah di mana itu akan diperbaiki, tetapi diputuskan untuk merekatkannya di tengah.

Langkah kedua. Pengemudi mesin.
Untuk mengendalikan mesinnya digunakan driver SN754410NE, penulis menggunakannya karena tersedia, bisa ambil yang serupa.
Menghubungkan driver ke Arduino adalah sebagai berikut:

Semua pin GND terhubung ke pin GND pada papan tempat memotong roti.
- Driver pin 1 dan 16 hingga 9 dan 10 Arduino.
- Pin 2 dan 7 driver terhubung ke pin 3 dan 4 Arduino (bertanggung jawab untuk mengendalikan motor kiri).
- Pin driver 10 dan 15 terhubung ke pin Arduino 5 dan 6 (bertanggung jawab untuk mengendalikan motor kanan).
- Pin 3 dan 6 dihubungkan ke motor kiri, dan pin 14 dan 11 dihubungkan ke motor kanan.
- Pin 8 dan 16 harus disambungkan ke power pada Bredboard, sumber listriknya adalah baterai 9V.

Langkah ketiga. Memasang pengintai.
Sensor ultrasonik memungkinkan robot menghindari rintangan di jalurnya saat bergerak. Sensor tersebut terletak pada servo standar dan akan dipasang di bagian depan robot. Pada saat robot melihat adanya hambatan dalam jarak 10 cm, servo akan mulai berputar ke dua arah, sehingga mencari jalan. Arduino membaca informasi dari sensor dan memutuskan sisi mana yang lebih disukai untuk pergerakan selanjutnya.
Pertama-tama, penggerak servo dipasang ke sensor. Penulis mengamankan servo drive agar hanya dapat berputar 90 derajat setiap arahnya, dengan kata lain putaran penuh servo drive akan menjadi 180 derajat.

Sensor memiliki tiga kontak GND, sinyal dan 5V. Daya 5V dihubungkan ke catu daya 5V Arduino, GND ke GND, dan sinyal ke pin 7 Arduino.

Langkah keempat. Nutrisi.
Arduino menerima daya melalui baterai 9V, dihubungkan ke konektor yang sesuai. Motor ini ditenagai oleh empat baterai tipe D, yang dipasang di dudukan baterai. Untuk menerima daya ke motor, kabel dudukan dihubungkan ke papan yang sudah terpasang driver motor SN754410NE.

Langkah lima. Perakitan robot.
Setelah menyelesaikan semua langkah sebelumnya, sekarang saatnya menyatukan semua bagian. Pertama-tama, Arduino dipasang pada dasar tangki. Setelah itu, pengukur jarak ultrasonik dipasang di bagian depan robot menggunakan lem panas. Kemudian penulis menempelkan baterai di sebelah Arduino. Baterai dapat dipasang di bagian mana pun dari tangki. Setelah memasang semua komponen, semua kabel ditarik dan daya dialirkan ke papan untuk memastikan perakitan yang benar.

Langkah enam. Kode program.
Setelah perakitan tangki selesai, sekarang saatnya menulis program untuk tangki tersebut. Program ini harus menunjukkan kepada robot kapan harus bergerak dan kapan harus berhenti untuk menghindari tabrakan dengan rintangan. Saat menulis kode dari penulis

Robot tersebut terdiri dari sasis tangki RC dan beberapa komponen lainnya, daftarnya diberikan di bawah ini. Ini adalah proyek pertama saya, dan saya menyukai platform Arduino. Saat membuat robot ini, saya menggunakan bahan dari buku dan internet.

Bahan yang diperlukan
1. Sasis dari tangki yang dikendalikan radio.
2.Arduino Uno.
3. Papan tempat memotong roti dan jumper.
4. Driver motor terintegrasi SN754410NE.
5. Penggerak servo standar.
6. Pengintai ultrasonik.
7. Baterai 9V dan konektornya.
8. Baterai 4 D dan konektornya.
9. Kabel USB A-B.
10. Basis 6" x 6".

Peralatan
1. Satu set obeng.
2. Lem panas.
3. Solder dan besi solder.

Casis

Saya mengambil sasis dari tangki yang saya beli seharga $10. Alasnya bisa dipasang di mana saja, tapi saya pasang di tengah.

Pengemudi motor SN754410NE

Untuk mengendalikan motor saya menggunakan driver SN754410NE. Saya pakai karena saya punya, tapi bisa pakai yang lain, misalnya L293.

Sekarang tentang menghubungkan driver ke Arduino Uno. Hubungkan semua pin GND (4,5,12,13) ​​​​ke GND pada papan tempat memotong roti. Hubungkan pin driver 1 dan 16 ke pin 9 dan 10 Arduino. Hubungkan pin driver 2 dan 7 ke pin 3 dan 4 Arduino, ini adalah pin kontrol motor kiri. Hubungkan pin driver 10 dan 15 ke pin 5 dan 6 Arduino, ini adalah pin kontrol motor kanan. Hubungkan kontak 3 dan 6 ke motor kiri, dan kontak 14 dan 11 ke kanan. Pin 8 dan 16 harus dihubungkan ke daya pada papan tempat memotong roti. Sumber daya: baterai 9V.

Pengintai ultrasonik membantu robot menghindari rintangan saat bergerak. Letaknya pada servo standar yang terletak di bagian depan robot. Ketika robot melihat suatu benda pada jarak 10 cm, servo mulai berputar, mencari jalan, dan kemudian Arduino memutuskan sisi mana yang paling nyaman untuk digerakkan.
Pasang konektor ke sana. Batasi servo agar tidak dapat berputar lebih dari 90 derajat pada setiap arah.

Sensor memiliki tiga kontak GND, 5V dan sinyal. Hubungkan GND ke GND, Arduino 5V ke 5V dan sambungkan sinyal ke pin 7 Arduino.

Nutrisi

Arduino ditenagai oleh baterai 9V melalui konektor yang sesuai. Untuk menggerakkan motor saya menggunakan 4 baterai ukuran D dan konektor yang sesuai. Untuk memberi daya pada motor, sambungkan kabel dari dudukan ke papan dengan SN754410NE.

Perakitan

Setelah semua bagian siap, saatnya merakitnya. Pertama kita harus memasang Arduino ke pangkalan. Kemudian, dengan menggunakan lem panas, kami memasang pengintai dengan penggerak servo ke bagian depan robot. Maka Anda perlu memasang baterai. Anda dapat menempatkannya di mana pun Anda suka, tetapi saya menempatkannya di sebelah Arduino. Jika semuanya sudah siap, Anda bisa menyalakan robot untuk memastikan Arduino berfungsi.

Program

Jadi, setelah robot dirakit, sekarang saatnya menulis program untuk robot tersebut. Setelah menghabiskan beberapa hari, saya menulisnya.
Robot akan bergerak lurus sepanjang jarak benda lebih dari 10 cm, ketika memperhatikan benda tersebut, ia mulai memutar sensor untuk mencari jalur. Saat pemindaian selesai, program memilih sisi gerakan yang optimal. Jika robot berada di jalan buntu maka robot akan berputar 180 derajat.
Programnya dapat diunduh di bawah ini. Anda dapat memodifikasi dan melengkapinya.

Tampilan