विषयसूची:

सबमर्सिबल वाहन: 5 कदम
सबमर्सिबल वाहन: 5 कदम

वीडियो: सबमर्सिबल वाहन: 5 कदम

वीडियो: सबमर्सिबल वाहन: 5 कदम
वीडियो: Submersible pump कैसे काम करते हैं 2024, जुलाई
Anonim
पनडुब्बी वाहन
पनडुब्बी वाहन
पनडुब्बी वाहन
पनडुब्बी वाहन

**************** यह निर्देशयोग्य अभी भी एक कार्य प्रगति पर है ****************

यह निर्देश दक्षिण फ्लोरिडा विश्वविद्यालय (www.makecourse.com) में मेककोर्स की परियोजना की आवश्यकता को पूरा करने के लिए बनाया गया था।

यह निर्देशयोग्य सबमर्सिबल वाहन के निर्माण का एक संक्षिप्त दृश्य होगा जिसे मैंने दक्षिण फ्लोरिडा विश्वविद्यालय में अपने मेककोर्स वर्ग के लिए डिज़ाइन और निर्मित किया था। इस निर्देशयोग्य में मैं सामग्री का एक बिल, मेरे द्वारा उपयोग किए गए Arduino Uno के लिए बनाया गया नियंत्रण कोड और सबमर्सिबल को कैसे इकट्ठा किया जाए, इसका अवलोकन प्रदान करूंगा।

चरण 1: सामग्री

सामग्री
सामग्री
सामग्री
सामग्री
सामग्री
सामग्री

इलेक्ट्रॉनिक्स का इस्तेमाल कहाँ किया जाता है:

1x Arduino Uno

1x मोबियस एक्शन कैमरा

1x मोबियस एक्शन कैमरा यूएसबी-बी से ए/वी केबल

1x फील्ड व्यू 777 डिस्प्ले स्क्रीन

1x टर्नजी समुद्री 50A ESC (इलेक्ट्रॉनिक गति नियंत्रण)

1x टर्नजी समुद्री प्रोग्रामिंग कार्ड

1x टी-मोटर नेविगेटर 400kv

1x YEP 20A बीईसी (बैटरी उन्मूलन सर्किट)

6x हॉबी किंग HK15139 वाटरप्रूफ सर्वो

2x समानांतर टी-कनेक्टर y हार्नेस

2x 18 इंच सर्वो एक्सटेंशन तार

6x 6 इंच सर्वो एक्सटेंशन तार

2x 1300mah 3s लाइपो बैटरी

2x 2500mah 4s लाइपो बैटरी

5v और 12v दोनों निश्चित आउटपुट के साथ 1x बिजली वितरण बोर्ड

निर्माण सामग्री जहां:

प्लाईवुड की 1x 3/16 इंच की शीट

1x 6 इंच आईडी एबीएस शिपिंग ट्यूब

1x सिलिकॉन ट्यूब

फ्लेक्स सील का 1x कैन

ABS 3D प्रिंटर फिलामेंट के 4x स्पूल

1x 24 इंच की दराज स्लाइड

ऊष्मा सिकोड़ने वाली नली

स्कॉच ब्रांड ड्यूरालोक वेल्क्रो का 1x 10 फीट

1x जेबी वेल्ड प्लास्टिक एपॉक्सी

1x 6.2 इंच व्यास एक्रिलिक सुरक्षा कैमरा गुंबद

2x IP68 ईथरनेट पासथ्रू

2x 24 इंच कैट 6 ईथरनेट केबल

1x 200 फुट कैट 6 ईथरनेट केबल

इस्तेमाल किया गया हार्डवेयर था:

24x 1/2 इंच पीतल की लकड़ी के पेंच

24x ------ स्क्रू (सर्वो के साथ शामिल)

उपयोग किए गए उपकरण:

फिलिप और फ्लैट हेड स्क्रू ड्राइवर

एलन कुंजी सेट

सोल्डरिंग आयरन

हीट गन

3D प्रिंटर (मैंने एक मोनोप्राइस मेकर सेलेक्ट प्लस का उपयोग किया है)

चरण 2: प्रोग्रामिंग

प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग
प्रोग्रामिंग

नीचे वह कोड है जो सबमर्सिबल को नियंत्रित करने के लिए बनाया गया था। मैंने.ino फ़ाइल भी संलग्न की है ताकि इसे डाउनलोड किया जा सके।

यह कोड Arduino Uno के लिए Arduino कंपाइलर का उपयोग करके बनाया गया था।

/**********************************************************************************************************************************************************************

लेखक: जोनाह पॉवर्स दिनांक: 11/9/2018 उद्देश्य: दूर से संचालित पनडुब्बी वाहन के लिए नियंत्रण कोड ******************* *************************************************** *************************************************** **********************/ #include // सर्वो लाइब्रेरी सर्वो रोल1 सहित; // रोल1 को सर्वो सर्वो रोल2 घोषित करना; // रोल 2 को सर्वो सर्वो एलिव 1 घोषित करना; // elev1 को सर्वो सर्वो elev2 घोषित करना; // elev2 को सर्वो सर्वो yaw1 घोषित करना; // yaw1 को सर्वो सर्वो yaw2 घोषित करना; // yaw2 को सर्वो सर्वो esc घोषित करना; // esc को सर्वो घोषित करना

इंट पॉट1 = 0; // वेरिएबल पॉट 1 को एक पूर्णांक के रूप में प्रारंभ करना और इसे 0 int pot2 = 1 के बराबर सेट करना; // वेरिएबल पॉट 2 को एक पूर्णांक के रूप में प्रारंभ करना और इसे 2 इंट पॉट 3 = 2 के बराबर सेट करना; // वेरिएबल पॉट 3 को एक पूर्णांक के रूप में प्रारंभ करना और इसे 4 इंट पॉट 4 = 3 के बराबर सेट करना; // वेरिएबल पॉट 4 को एक पूर्णांक के रूप में प्रारंभ करना और इसे 5 int val1 के बराबर सेट करना; // चर val1 को एक पूर्णांक int val2 के रूप में प्रारंभ करना; // चर val2 को एक पूर्णांक int val3 के रूप में प्रारंभ करना; // चर val3 को एक पूर्णांक int val4 के रूप में प्रारंभ करना; // चर val4 को एक पूर्णांक int val5 के रूप में प्रारंभ करना; // चर val5 को एक पूर्णांक int val6 के रूप में प्रारंभ करना; // चर val6 को एक पूर्णांक int val7 के रूप में प्रारंभ करना; // चर val7 को एक पूर्णांक int val8 के रूप में प्रारंभ करना; // चर val8 को एक पूर्णांक int mspeed के रूप में प्रारंभ करना; // चर mspeed को पूर्णांक के रूप में प्रारंभ करना

शून्य सेटअप () {// Arduino आरंभीकरण चरण Serial.begin (९६००); // सीरियल मॉनिटर रोल1.अटैच(2) को इनिशियलाइज़ करना; // सर्वो रोल1 को डिजिटल पिन 2 रोल2.अटैच (3) से जोड़ना; // सर्वो रोल 2 को डिजिटल पिन 3 elev1.attach(5) से जोड़ना; // सर्वो elev1 को डिजिटल पिन 5 elev2.attach(6) से जोड़ना; // सर्वो elev2 को डिजिटल पिन 6 yaw1.attach(8) से जोड़ना; // सर्वो yaw1 को डिजिटल पिन 8 yaw2.attach(9) से जोड़ना; // सर्वो yaw2 को डिजिटल पिन 9 esc.attach(11) से जोड़ना; // सर्वो एएससी को डिजिटल पिन 11 रोल1.राइट (90) से जोड़ना; // सर्वो रोल 1 को अपनी केंद्रित स्थिति में लिखना रोल 2. राइट (90); // सर्वो रोल 2 को अपनी केंद्रित स्थिति में लिखना elev1.write (90); // सर्वो elev1 को उसकी केंद्रित स्थिति में लिखना elev2.write(90); // सर्वो elev2 को अपनी केंद्रित स्थिति में लिखना yaw1.write(90); // सर्वो yaw1 को अपनी केंद्रित स्थिति में लिखना yaw2.write(90); // सर्वो yaw2 को अपनी केंद्रित स्थिति में लिखना esc.write(180); // सर्वो एएससी को अपनी केंद्रित स्थिति में देरी (2500) लिखना; // प्रतीक्षा 2 सेकंड esc.write(90); देरी (5000); }

शून्य लूप () {// मुख्य कोड अनंत रूप से लूप करने के लिए अगर (एनालॉगरेड (पॉट 1) <1 && एनालॉग रीड (पॉट 2) <1 && एनालॉग रीड (पॉट 3) <1 && एनालॉग रीड (पॉट 4) = 485 && वैल 1 <= 540) {// यह देखने के लिए जाँच कर रहा है कि क्या "जॉयस्टिक" (पोटेंशियोमीटर) रोल1 पर केंद्रित है। राइट (90); // सर्वो रोल 1 को केंद्र की स्थिति में लिखना रोल 2. राइट (90); // सर्वो रोल 2 को केंद्र की स्थिति में लिखना} और {// अगर "जॉयस्टिक" केंद्रित नहीं है तो क्या करें val1 = नक्शा (वैल 1, 0, 1023, 10, 170); // वैल1 को 10 से 170 तक मैप करना और वैल1 रोल1 को असाइन करना। राइट (वैल 1); // val1 रोल2.राइट (वैल 1) द्वारा परिभाषित सर्वो रोल 1 को पॉजिटॉन में लिखना; // वैल1 द्वारा परिभाषित पॉजिटॉन में सर्वो रोल 2 लिखना}

वैल २ = एनालॉगरेड (पोट २); // पढ़ना पॉट 2 (एनालॉग पिन 2) और वैल्यू को वैल 2 के रूप में सेव करें अगर (वैल 2> = 485 && वैल 2 <= 540) {// यह देखने के लिए जांच कर रहा है कि "जॉयस्टिक" (पोटेंशियोमीटर) केंद्रित है या नहीं। elev1.write(90); // सर्वो elev1 को केंद्र की स्थिति में लिखना elev2.write(90); // सर्वो elev2 को केंद्र की स्थिति में लिखना} और {// अगर "जॉयस्टिक" केंद्रित नहीं है तो क्या करें val3 = नक्शा (वैल २, ०, १०२३, १०, १७०); // वैल2 को 10 से 170 तक मैप करना और वैल3 को असाइन करना वैल4 = मैप (वैल 2, 0, 1023, 170, 10); // वैल2 को 170 से 10 तक मैप करना और वैल4 को असाइन करना elev1.write(val3); // val3 elev2.write(val4) द्वारा परिभाषित सर्वो elev1 को पॉज़िटोन में लिखना; // val4 द्वारा परिभाषित सर्वो elev2 को पॉज़िटोन में लिखना}

वैल ५ = एनालॉगरेड (पोट ३); // पॉट 3 (एनालॉग पिन 4) पढ़ना और वैल्यू को वैल 5 के रूप में सेव करें अगर (वैल 5> = 485 && वैल 5 <= 540) {// यह देखने के लिए जांच कर रहा है कि "जॉयस्टिक" (पोटेंशियोमीटर) केंद्रित है या नहीं। राइट (90); // सर्वो yaw1 को केंद्र की स्थिति में लिखना yaw2.write(90); // सर्वो yaw2 को केंद्र की स्थिति में लिखना} और {// अगर "जॉयस्टिक" केंद्रित नहीं है तो क्या करें val6 = नक्शा (वैल 5, 0, 1023, 10, 170); // वैल 5 को 10 से 170 तक मैप करना और वैल 6 को असाइन करना वैल 7 = मैप (वैल 5, 0, 1023, 170, 10); // वैल5 को 10 से 170 तक मैप करना और वैल7 को असाइन करना yaw1.write(val6); // val6 yaw2.write (val7) द्वारा परिभाषित सर्वो yaw1 को पॉज़िटोन में लिखना; // val7 द्वारा परिभाषित सर्वो yaw2 को पॉज़िटोन में लिखना}

वैल 8 = एनालॉगरेड (पॉट 4); // रीडिंग पॉट 4 (एनालॉग पिन 5) और वैल्यू को वैल 8 के रूप में सेव करें अगर (वैल 8> 470 && वैल 8 80 && वैल 8 <80) || (एमस्पीड 80)) {// यह देखने के लिए जांच कर रहा है कि मोटर दिशा बदलने वाली है या नहीं। 80); देरी (1000); // 1000 मिलीसेकंड प्रतीक्षा कर रहा है} esc.write(val8); // val8 mspeed = val8 द्वारा परिभाषित गति के लिए सर्वो esc लिखना; // तुलना के लिए वर्तमान गति का भंडारण } } सीरियल.प्रिंट ("थ्रॉटल"); // "थ्रॉटल" शब्द दिखाने के लिए सीरियल प्रिंट का उपयोग करना। Serial.println(val8); // सीरियल प्रिंट का उपयोग यह दिखाने के लिए कि थ्रॉटल सीरियल पर सेट है। प्रिंट ("रोल"); // "रोल" शब्द दिखाने के लिए सीरियल प्रिंट का उपयोग करना। Serial.println(val1); // सीरियल प्रिंट का उपयोग करके यह दिखाने के लिए कि रोल सीरियल पर सेट है। प्रिंट ("पिच"); // "पिच" शब्द दिखाने के लिए सीरियल प्रिंट का उपयोग करना। Serial.println(val3); // सीरियल प्रिंट का उपयोग करके यह मान दिखाने के लिए कि पिच 1 सीरियल पर सेट है। प्रिंट्लन (वैल 4); // सीरियल प्रिंट का उपयोग करके यह मान दिखाने के लिए कि पिच 2 सीरियल पर सेट है। प्रिंट ("यॉ"); // "Yaw" Serial.println(val6) शब्द दिखाने के लिए सीरियल प्रिंट का उपयोग करना; // सीरियल प्रिंट का उपयोग करके यह मान दिखाने के लिए कि yaw1 Serial.println(val7) पर सेट है; // सीरियल प्रिंट का उपयोग करके उस मान को दिखाने के लिए जो yaw2 पर सेट है }

चरण 3: सर्किटरी

संलग्न सबमर्सिबल ऑन-बोर्ड सर्किट की एक तस्वीर है।

मैंने अपनी वायरिंग को आसान बनाने के लिए Arduino के लिए एक कस्टम शील्ड बनाई। मैंने शील्ड के लिए ईगल योजनाबद्ध और बोर्ड फाइलें अपलोड की हैं। मैंने बोर्ड को मिलाने के लिए LPKF S63 का इस्तेमाल किया। नियंत्रण रोल के मोर्चे पर सर्वो को Arduino में प्लग किया जाएगा

संलग्न नियंत्रक के अंदर सर्किट की एक तस्वीर है।

चरण 4: 3डी प्रिंटेड पार्ट्स

मैंने इन सभी फाइलों को अपने मोनोप्राइस मेकर सेलेक्ट प्लस पर प्रिंट किया है। मैंने Esun ABS 1.75mm फिलामेंट का इस्तेमाल किया। मेरी प्रिंट सेटिंग प्रिंट बेड टेम्परेचर के लिए 105 डिग्री सेल्सियस और एक्सट्रूडर तापमान के लिए 255 डिग्री सेल्सियस थी। प्रत्येक भाग में से केवल 1 की आवश्यकता है सिवाय इसके कि आपको फ्रंट विंग की 6 प्रतियों की आवश्यकता होगी। ध्यान दें कि इन भागों को दीवार की मोटाई के साथ 1000 मिमी पर मुद्रित किया गया था। ऐसा इसलिए किया गया ताकि पुर्जों को 100% इन्फिल के साथ मुद्रित किया जा सके ताकि वे नकारात्मक रूप से उत्प्लावक हों।

चरण 5: विधानसभा

********************************* जल्द आ रहा है *************** ********

सिफारिश की: