Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Pengaturcaraan
- Langkah 3: Litar
- Langkah 4: Bahagian Bercetak 3D
- Langkah 5: Perhimpunan
Video: Kenderaan Kapal Selam: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
**************** INSTRUCTABLE INI MASIH ADA KERJA DALAM PROGRAM ****************
Instructable ini dibuat untuk memenuhi keperluan projek Makecourse di University of South Florida (www.makecourse.com).
Instructable ini akan menjadi gambaran ringkas mengenai penciptaan kenderaan selam yang saya reka dan bina untuk kelas Makecourse saya di University of South Florida. Dalam Instructable ini saya akan memberikan sejumlah bahan, kod kawalan yang saya buat untuk Arduino Uno yang saya gunakan, dan gambaran keseluruhan mengenai cara memasang kapal selam.
Langkah 1: Bahan
Elektronik yang digunakan di mana:
1x Arduino Uno
1x kamera aksi mobius
1x kamera aksi mobius usb-b ke kabel A / V
Paparan medan 1x paparan 777
1x turnigy Marine 50A ESC (kawalan kelajuan elektronik)
Kad pengaturcaraan laut 1x turnigy
1x T-Motor Navigator 400kv
1x YEP 20A BEC (litar penghapusan bateri)
Servo kalis air 6x king hobi HK15139
Harness y penyambung T selari 2x
Wayar sambungan servo 2x18 inci
Wayar sambungan servo 6x6 inci
Bateri Lipo 2x 1300mah 3s
Bateri Lipo 2x 2500mah 4s
Papan agihan kuasa 1x dengan output tetap 5v dan 12v
Bahan binaan di mana:
Lapisan papan lapis 1x 3/16 inci
Tiub penghantaran ABS 1x 6 inci ID
Tiub silikon 1x
1x tin meterai lentur
4x gulungan filamen pencetak 3D 3D
Slaid laci 1x 24 inci
Tiub mengecut panas
Duraloc velcro jenama scotch 1x 10 kaki
1x JB Epoxy plastik kimpalan
Kubah kamera keselamatan akrilik berdiameter 1x 6.2 inci
Laluan ethernet 2x IP68
Kabel ethernet cat6 2x24 inci
Kabel ethernet cat kaki 1x 200 kaki
Perkakasan yang digunakan adalah:
Skru kayu tembaga 24x 1/2 inci
24x ------ skru (disertakan dengan servo)
Alat yang digunakan:
Pemacu skru kepala Philip dan Flat
Set kunci Allen
Besi pematerian
Pistol haba
Pencetak 3D (saya menggunakan Monoprice Maker Select Plus)
Langkah 2: Pengaturcaraan
Berikut adalah kod yang dibuat untuk mengawal kapal selam. Saya juga telah mendapatkan fail.ino sehingga boleh dimuat turun.
Kod ini dibuat untuk Arduino Uno menggunakan penyusun Arduino.
/**********************************************************************************************************************************************************************
Pengarang: Jonah Powers Tarikh: 11/9/2018 Tujuan: Kod Kawalan untuk Kenderaan Kapal Selam yang Dikendalikan Jauh ****************************** ************************************************** ************************************************** ************************************ / #include // Termasuk Servo Library Servo roll1; // Menyatakan roll1 menjadi servo roll2 servo; // Menyatakan roll2 sebagai servo elev1 servo; // Menyatakan elev1 menjadi servo elev2 servo; // Menyatakan elev2 menjadi servo yaw1; // Menyatakan yaw1 sebagai servo yaw2 servo; // Menyatakan yaw2 sebagai servo esco servo; // Menyatakan esc sebagai servo
int pot1 = 0; // Menginisialisasi pemboleh ubah pot1 sebagai bilangan bulat dan menetapkannya sama dengan 0 int pot2 = 1; // Menginisialisasi pemboleh ubah pot2 sebagai bilangan bulat dan menetapkannya sama dengan 2 int pot3 = 2; // Menginisialisasi pemboleh ubah pot3 sebagai bilangan bulat dan menetapkannya sama dengan 4 int pot4 = 3; // Menginisialisasi pemboleh ubah4 sebagai bilangan bulat dan menetapkannya sama dengan 5 int val1; // Memulakan pemboleh ubah val1 sebagai integer int val2; // Memulakan pemboleh ubah val2 sebagai integer int val3; // Memulakan pemboleh ubah val3 sebagai integer int val4; // Memulakan pemboleh ubah val4 sebagai integer int val5; // Memulakan pemboleh ubah val5 sebagai integer int val6; // Memulakan pemboleh ubah val6 sebagai integer int val7; // Memulakan pemboleh ubah val7 sebagai integer int val8; // Memulakan pemboleh ubah val8 sebagai int mspeed integer; // Memulakan pemboleh ubah mspeed sebagai integer
sia-sia persediaan () {// Peringkat permulaan Arduino Serial.begin (9600); // Memulakan siri moniter roll1.attach (2); // Melampirkan servo roll1 ke pin digital 2 roll2.attach (3); // Melampirkan servo roll2 ke pin digital 3 elev1. Attach (5); // Melampirkan servo elev1 ke pin digital 5 elev2.attach (6); // Melampirkan servo elev2 ke pin digital 6 yaw1.attach (8); // Melampirkan servo yaw1 ke pin digital 8 yaw2.attach (9); // Melampirkan servo yaw2 ke pin digital 9 esc.attach (11); // Melampirkan servo esc ke pin digital 11 roll1.write (90); // Menulis servo roll1 ke kedudukan berpusatnya roll2.write (90); // Menulis servo roll2 ke kedudukan berpusatnya elev1.write (90); // Menulis servo elev1 ke kedudukan berpusat elev2.write (90); // Menulis servo elev2 ke kedudukannya yang berpusat yaw1.write (90); // Menulis servo yaw1 ke kedudukannya yang berpusat yaw2.write (90); // Menulis servo yaw2 ke kedudukannya yang berpusat esc.write (180); // Menulis servo hingga kelewatan kedudukan berpusat (2500); // Menunggu esc.write 2 saat (90); kelewatan (5000); }
gelung void () {// Kod Utama untuk gelung tanpa had jika (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Memeriksa untuk melihat apakah "Joystick" (potensiometer) berpusat di roll1.write (90); // Menulis servo roll1 ke posisi tengah roll2.write (90); // Menulis servo roll2 ke posisi tengah} yang lain {// Apa yang perlu dilakukan jika "Joystick" tidak berpusat val1 = peta (val1, 0, 1023, 10, 170); // Memetakan val1 dari 10 hingga 170 dan menetapkan kepada val1 roll1.write (val1); // Menulis servo roll1 ke positon yang ditentukan oleh val1 roll2.write (val1); // Menulis servo roll2 ke positon yang ditentukan oleh val1}
val2 = analogRead (pot2); // Membaca pot2 (pin analog 2) dan menyimpan nilai sebagai val2 jika (val2> = 485 && val2 <= 540) {// Memeriksa untuk melihat apakah "Joystick" (potensiometer) berpusat di elev1.write (90); // Menulis servo elev1 ke posisi tengah elev2.write (90); // Menulis servo elev2 ke posisi tengah} yang lain {// Apa yang harus dilakukan jika "Joystick" tidak berpusat val3 = peta (val2, 0, 1023, 10, 170); // Memetakan val2 dari 10 hingga 170 dan menetapkan ke val3 val4 = peta (val2, 0, 1023, 170, 10); // Memetakan val2 dari 170 hingga 10 dan menetapkan kepada val4 elev1.write (val3); // Menulis servo elev1 ke positon yang ditentukan oleh val3 elev2.write (val4); // Menulis servo elev2 ke positon yang ditentukan oleh val4}
val5 = analogRead (pot3); // Membaca pot3 (pin analog 4) dan menyimpan nilai sebagai val5 jika (val5> = 485 && val5 <= 540) {// Memeriksa untuk melihat apakah "Joystick" (potensiometer) berpusat di yaw1.write (90); // Menulis servo yaw1 ke kedudukan tengah yaw2.write (90); // Menulis servo yaw2 ke posisi tengah} yang lain {// Apa yang harus dilakukan jika "Joystick" tidak berpusat val6 = peta (val5, 0, 1023, 10, 170); // Memetakan val5 dari 10 hingga 170 dan menetapkan ke val6 val7 = peta (val5, 0, 1023, 170, 10); // Memetakan val5 dari 10 hingga 170 dan menetapkan kepada val7 yaw1.write (val6); // Menulis servo yaw1 ke positon yang ditentukan oleh val6 yaw2.write (val7); // Menulis servo yaw2 ke positon yang ditentukan oleh val7}
val8 = analogRead (pot4); // Membaca pot4 (pin analog 5) dan menyimpan nilai sebagai val8 jika (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Memeriksa untuk melihat apakah motor hendak mengubah arah esc.write (80); kelewatan (1000); // Menunggu 1000 milisaat} esc.write (val8); // Menulis servo esc ke kelajuan yang ditentukan oleh val8 mspeed = val8; // Menyimpan kelajuan semasa untuk perbandingan}} Serial.print ("throttle"); // Menggunakan Serial Print untuk menunjukkan perkataan "Throttle" Serial.println (val8); // Menggunakan Serial Print untuk menunjukkan nilai bahawa pendikit ditetapkan ke Serial.print ("roll"); // Menggunakan Serial Print untuk menunjukkan perkataan "Roll" Serial.println (val1); // Menggunakan Serial Print untuk menunjukkan nilai roll yang ditetapkan ke Serial.print ("pitch"); // Menggunakan Serial Print untuk menunjukkan perkataan "Pitch" Serial.println (val3); // Menggunakan Serial Print untuk menunjukkan nilai bahawa pitch1 ditetapkan ke Serial.println (val4); // Menggunakan Serial Print untuk menunjukkan nilai bahawa pitch2 ditetapkan ke Serial.print ("yaw"); // Menggunakan Serial Print untuk menunjukkan perkataan "Yaw" Serial.println (val6); // Menggunakan Serial Print untuk menunjukkan nilai bahawa yaw1 ditetapkan ke Serial.println (val7); // Menggunakan Serial Print untuk menunjukkan nilai yaw2 diatur ke}
Langkah 3: Litar
Terlampir adalah gambar litar di atas kapal selam.
Saya membuat perisai khas untuk Arduino untuk memudahkan pendawaian saya. Saya telah memuat naik fail Eagle Schematic & Board untuk perisai. Saya menggunakan LPKF S63 untuk mengisar papan. Servos di bahagian depan yang roll kawalan akan dipasang ke Arduino
dilampirkan adalah gambar litar di dalam alat kawalan.
Langkah 4: Bahagian Bercetak 3D
Saya Mencetak semua Fail ini di Monoprice Maker Select Plus saya. Saya menggunakan Esun ABS 1.75mm Filament. Tetapan cetakan saya ialah 105 darjah C untuk suhu tempat tidur cetak dan dan 255 darjah C untuk suhu penyemperit. Hanya 1 bahagian yang diperlukan kecuali anda memerlukan 6 salinan sayap depan. Perhatikan bahagian-bahagian ini dicetak dengan ketebalan dinding hingga 1000mm. Ini dilakukan agar bahagian-bahagiannya akan dicetak dengan 100% isi sehingga mereka akan negatif.
Langkah 5: Perhimpunan
********************************* AKAN DATANG *************** *******************
Disyorkan:
Kapal terbang kawalan jauh: 8 Langkah (dengan Gambar)
Hovercraft Terkawal Jauh: ss
Kapal Penapisan Autonomi Arduino: 6 Langkah
Arduino Autonomous Filtering Vessel: Dalam Instructable ini saya akan menunjukkan kepada anda bagaimana saya merancang dan membuat cadangan saya untuk masalah Red Algae semasa di perairan Pantai Teluk. Untuk projek ini, saya ingin merancang kraf berkuasa autonomi dan solar sepenuhnya yang dapat menjana
Kapal Selam 2017: 95 Langkah
Kapal Selam 2017: Kapal Selam 2017
BTS - 33 - Kapal Selam: 11 Langkah
BTS - 33 - Submersible: Instructable ini akan mengajar anda cara membuat kapal selam dengan kawalan 3 suis
BTS - Pasukan 28 (R2-DTimbs) Kapal Selam / Kapal Selam: 17 Langkah
BTS - Pasukan 28 (R2-DTimbs) Kapal Selam / Kapal Selam: Tutorial untuk membina kapal selam dari bahan yang boleh didapati di kedai perkakasan tempatan. Kapal selam akhir akan dapat bergerak maju, mundur, berpusing, naik, dan bergerak turun ke seluruh air