Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Programming
- Hakbang 3: Circuitry
- Hakbang 4: Mga Naka-print na Bahaging 3D
- Hakbang 5: Assembly
Video: Nailulubog na Sasakyan: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
***
Ang Instructable na ito ay nilikha bilang pagtupad sa kinakailangan ng proyekto ng Makecourse sa University of South Florida (www.makecourse.com).
Ang Instructable na ito ay magiging isang maikling pagtingin sa paglikha ng submersible na sasakyan na aking dinisenyo at itinayo para sa aking klase sa Makecourse sa University of South Florida. Sa Instructable na ito ay magbibigay ako ng isang bayarin ng mga materyales, ang control code na aking nilikha para sa Arduino Uno na ginamit ko, at isang pangkalahatang ideya kung paano tipunin ang submersible.
Hakbang 1: Mga Kagamitan
Ginamit ang electronics kung saan:
1x Arduino Uno
1x mobius action camera
1x mobius action camera usb-b sa A / V cable
1x view ng patlang na 777 display screen
1x turnigy marine 50A ESC (electronic speed control)
1x turnigy marine programming card
1x T-Motor Navigator 400kv
1x YEP 20A BEC (circuit ng pag-aalis ng baterya)
6x libangan hari HK15139 hindi tinatagusan ng tubig servos
2x parallel T-konektor y harnesses
2x 18 pulgada na mga wire ng extension ng servo
6x 6 pulgada na mga wire ng extension ng servo
2x 1300mah 3s Lipo na mga baterya
2x 2500mah 4s Lipo na mga baterya
1x board ng pamamahagi ng kuryente na may parehong 5v at 12v na nakapirming mga output
Ang mga materyales sa pagbuo kung saan:
1x 3/16 pulgada sheet ng playwud
1x 6 pulgada ID pagpapadala ng tubo
1x silicone tube
1x lata ng flex seal
4x spools ng filament ng printer ng ABS 3D
1x 24 inch drawer slide
Heat shrink tube
1x 10 talampakan ng scotch brand duraloc velcro
1x JB Weld ng plastic epoxy
1x 6.2 pulgada diameter ng acrylic security camera dome
2x IP68 ethernet passthroughs
2x 24 inch cat6 ethernet cable
1x 200 paa cat6 ethernet cable
Ang ginamit na hardware ay:
24x 1/2 inch tanso na kahoy na mga tornilyo
24x ------ mga tornilyo (kasama ang mga servo)
Ang mga gamit na ginamit:
Ang mga driver ng Philip at Flat head screw
Set ng key ni Allen
Panghinang
Mainit na baril
3D printer (Gumamit ako ng Monoprice Maker Select Plus)
Hakbang 2: Programming
Nasa ibaba ang code na nilikha upang makontrol ang submersible. Naikabit ko rin ang.ino file upang ma-download ito.
Ang code na ito ay nilikha para sa Arduino Uno gamit ang Arduino compiler.
/**********************************************************************************************************************************************************************
May-akda: Jonah Powers Petsa: 11/9/2018 Layunin: Control Code para sa Malayuan na Pinatatakbo na Sasakyan na ***** ***** ***** ***** // Declaring roll1 to be a servo Servo roll2; // Declaring roll2 to be a servo Servo elev1; // Pagdeklara ng elev1 na maging isang servo Servo elev2; // Declaring elev2 to be a servo Servo yaw1; // Pagdeklara ng yaw1 na maging isang servo Servo yaw2; // Pagdeklara ng yaw2 na maging isang servo Servo esc; // Pagdeklara ng esc na maging isang servo
int pot1 = 0; // Intitializing variable pot1 bilang isang integer at itinatakda itong katumbas ng 0 int pot2 = 1; // Intitializing variable pot2 bilang isang integer at itinatakda itong katumbas ng 2 int pot3 = 2; // Intitializing variable pot3 bilang isang integer at itatakda itong katumbas ng 4 int pot4 = 3; // Intitializing variable pot4 bilang isang integer at itinatakda itong katumbas ng 5 int val1; // Intitializing variable val1 bilang isang integer int val2; // Intitializing variable val2 bilang isang integer int val3; // Intitializing variable val3 bilang isang integer int val4; // Intitializing variable val4 bilang isang integer int val5; // Intitializing variable val5 bilang isang integer int val6; // Intitializing variable val6 bilang isang integer int val7; // Intitializing variable val7 bilang isang integer int val8; // Intitializing variable val8 bilang isang integer int mspeed; // Intitializing variable mspeed bilang isang integer
void setup () {// Arduino initialization yugto Serial.begin (9600); // Initializing the serial moniter roll1.attach (2); // Attaching servo roll1 to digital pin 2 roll2.attach (3); // Attaching servo roll2 to digital pin 3 elev1.attach (5); // Attaching servo elev1 to digital pin 5 elev2.attach (6); // Attaching servo elev2 to digital pin 6 yaw1.attach (8); // Attaching servo yaw1 to digital pin 8 yaw2.attach (9); // Attaching servo yaw2 to digital pin 9 esc.attach (11); // Attaching servo esc to digital pin 11 roll1.write (90); // Writing servo roll1 sa nakasentro nitong posisyon roll2.write (90); // Pagsusulat ng servo roll2 sa nakasentro nitong posisyon na nakakataas1.write (90); // Pagsusulat ng servo elev1 sa nakasentro nitong posisyon na alt2.write (90); // Writing servo elev2 sa nakasentro nitong posisyon na yaw1.write (90); // Writing servo yaw1 sa nakasentro nitong posisyon na yaw2.write (90); // Writing servo yaw2 sa nakasentro nitong posisyon na esc.write (180); // Writing servo esc sa nakasentro nitong posisyon na pagkaantala (2500); // Naghihintay ng 2 segundo esc.write (90); pagkaantala (5000); }
void loop () {// Main Code to loop infininite if (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Sinusuri kung ang "Joystick" (potentiometer) ay nakasentro sa roll1.write (90); // Writing servo roll1 sa gitna ng posisyon roll2.write (90); // Writing servo roll2 to center position} iba pa {// Ano ang gagawin kung ang "Joystick" ay hindi nakasentro val1 = mapa (val1, 0, 1023, 10, 170); // Mapa ng val1 mula 10 hanggang 170 at pagtatalaga sa val1 roll1.write (val1); // Writing servo roll1 to positon na tinukoy ng val1 roll2.write (val1); // Writing servo roll2 to positon na tinukoy ng val1}
val2 = analogRead (pot2); // Pagbasa ng pot2 (analog pin 2) at i-save ang halaga bilang val2 kung (val2> = 485 && val2 <= 540) {// Sinusuri upang makita kung ang "Joystick" (potentiometro) ay nakasentro sa alt1.write (90); // Pagsusulat ng servo elev1 sa gitnang posisyon na nakakataas2.write (90); // Writing servo elev2 to center posisyon} iba pa {// Ano ang gagawin kung ang "Joystick" ay hindi nakasentro val3 = mapa (val2, 0, 1023, 10, 170); // Mapa ng val2 mula 10 hanggang 170 at pagtatalaga sa val3 val4 = mapa (val2, 0, 1023, 170, 10); // Mapa ng val2 mula 170 hanggang 10 at pagtatalaga sa val4 elev1.write (val3); // Writing servo elev1 to positon na tinukoy ng val3 elev2.write (val4); // Writing servo elev2 to positon na tinukoy ng val4}
val5 = analogRead (pot3); // Pagbasa ng pot3 (analog pin 4) at i-save ang halaga bilang val5 kung (val5> = 485 && val5 <= 540) {// Sinusuri upang makita kung ang "Joystick" (potentiometer) ay nakasentro sa yaw1.write (90); // Writing servo yaw1 to center posisyon yaw2.write (90); // Writing servo yaw2 to center position} iba pa {// Ano ang gagawin kung ang "Joystick" ay hindi nakasentro val6 = mapa (val5, 0, 1023, 10, 170); // Mapa val5 mula 10 hanggang 170 at pagtatalaga sa val6 val7 = mapa (val5, 0, 1023, 170, 10); // Mapa ng val5 mula 10 hanggang 170 at pagtatalaga sa val7 yaw1.write (val6); // Writing servo yaw1 to positon na tinukoy ng val6 yaw2.write (val7); // Writing servo yaw2 to positon na tinukoy ng val7}
val8 = analogRead (pot4); // Pagbasa ng pot4 (analog pin 5) at i-save ang halaga bilang val8 kung (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Sinusuri kung babago ang motor sa direksyon esc.write (80); pagkaantala (1000); // Naghihintay ng 1000 milliseconds} esc.write (val8); // Writing servo esc sa bilis na tinukoy ng val8 mspeed = val8; // Pag-iimbak ng kasalukuyang bilis para sa paghahambing}} Serial.print ("throttle"); // Paggamit ng Serial Print upang maipakita ang salitang "Throttle" Serial.println (val8); // Paggamit ng Serial Print upang ipakita ang halaga na ang throttle ay nakatakda sa Serial.print ("roll"); // Paggamit ng Serial Print upang maipakita ang salitang "Roll" Serial.println (val1); // Paggamit ng Serial Print upang ipakita ang halaga na ang rolyo ay nakatakda sa Serial.print ("pitch"); // Paggamit ng Serial Print upang maipakita ang salitang "Pitch" Serial.println (val3); // Paggamit ng Serial Print upang maipakita ang halagang itinatakda ang pitch1 sa Serial.println (val4); // Paggamit ng Serial Print upang maipakita ang halagang itinatakda ang pitch2 sa Serial.print ("yaw"); // Paggamit ng Serial Print upang maipakita ang salitang "Yaw" Serial.println (val6); // Paggamit ng Serial Print upang maipakita ang halagang itinatakda ang yaw1 sa Serial.println (val7); // Paggamit ng Serial Print upang maipakita ang halagang itinatakda sa yaw2}
Hakbang 3: Circuitry
Nakalakip ay isang larawan ng circuit on-board na nakalubog.
Lumikha ako ng isang pasadyang kalasag para sa Arduino na gawing simple ang aking mga kable. Na-upload ko ang mga file ng Eagle Schematic & Board para sa kalasag. Gumamit ako ng isang LPKF S63 upang gilingan ang board. ang Servos sa harap na ang control roll ay mai-plug sa Arduino
nakalakip ay isang larawan ng circuit sa loob ng controller.
Hakbang 4: Mga Naka-print na Bahaging 3D
Nai-print ko ang lahat ng mga File na ito sa aking Monoprice Maker Select Plus. Ginamit ko ang Esun ABS 1.75mm Filament. Ang aking mga setting ng pag-print ay 105 degree C para sa print bed temp at at 255 degree C para sa extruder na temperatura. 1 lamang sa bawat bahagi ang kinakailangan maliban sa kakailanganin mo ng 6 na kopya ng front wing. Tandaan na ang mga bahaging ito ay naka-print na may kapal ng pader na nakatakda sa 1000mm. Ginawa ito upang ang mga bahagi ay mai-print na may 100% infill upang sila ay maging negatibong buoyant.
Hakbang 5: Assembly
********************************* MALAPIT NA *************** ***** *****
Inirerekumendang:
Pag-hack ng Quad ni Kid Sa isang Sarili sa Pagmamaneho, Pagsunod sa Linya at Paghahanap ng Sasakyan sa Sasakyan .: 4 na Hakbang
Kid's Quad Hacking Sa isang Sarili sa Pagmamaneho, Pagsusunod sa Linya at Paghahanap ng Sasakyan ng Sasakyan .: Sa Instructable ngayon ay bubukas namin ang isang 1000Watt (Oo alam ko ang dami nito!) Ang Electric Kid's quad sa isang Pagmamaneho sa Sarili, Pagsunod sa Linya at Paghadlang sa Pag-iwas sa sasakyan! Demo video: https: //youtu.be/bVIsolkEP1k Para sa proyektong ito kakailanganin namin ang mga sumusunod na materyales
OMeJI - Koponan 15 SubBob Squarepants Nailulubog: 37 Mga Hakbang
OMeJI - Koponan 15 SubBob Squarepants Nailulubog: Ito ay isang 1/2 pulgada Iskedyul 40 na nakabatay sa submersible / remote-operating na sasakyan ng PVC. Dinisenyo ito upang kunin ang dalawang watawat sa ilalim ng isang siyam na talampakang pool kasama ang mga dobleng kawit. Ang mga watawat ay bahagi ng kumpetisyon na inayos ng Academy High School con
PCB: Sistema ng Pagsubaybay sa Sasakyan ng Sasakyan ng GPS at GSM: 3 Mga Hakbang
PCB: GPS at GSM Base Vehicle Tracking System: GPS at GSM based Vehicle Tracking SystemJune 30, 2016, Mga Proyekto sa Engineering Ang proyekto na GPS at GSM batay sa Sasakyan ng Sasakyan System ay gumagamit ng Global Positioning System (GPS) at pandaigdigang sistema para sa mobile na komunikasyon (GSM), na kung saan ginagawang mas maraming proyekto ang
Nailulubog na 2017: 95 Mga Hakbang
Nailulubog 2017: Nailulubog 2017
Nailulubog na DIY ROV: 8 Mga Hakbang (na may Mga Larawan)
Nailulubog na DIY ROV: Gaano kahirap ito? Ito ay lumiliko out na mayroong maraming mga hamon sa paggawa ng isang submersible ROV. Ngunit ito ay isang nakakatuwang proyekto at sa palagay ko ito ay matagumpay. Ang aking hangarin na magkaroon ito hindi nagkakahalaga ng isang kapalaran, madali itong magmaneho, at magkaroon ng isang camer