Satura rādītājs:

Iegremdējams transportlīdzeklis: 5 soļi
Iegremdējams transportlīdzeklis: 5 soļi

Video: Iegremdējams transportlīdzeklis: 5 soļi

Video: Iegremdējams transportlīdzeklis: 5 soļi
Video: 💥 Есть ли слабые места в безупречных Mercedes W211 и C219? Что общего у Е-класса и CLS? 2024, Jūlijs
Anonim
Iegremdējams transportlīdzeklis
Iegremdējams transportlīdzeklis
Iegremdējams transportlīdzeklis
Iegremdējams transportlīdzeklis

**************** ŠĪ INSTRUKCIJA Joprojām ir DARBS, KAS IR PROCESĀ ****************

Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com).

Šis pamācība būs īss pārskats par iegremdējamā transportlīdzekļa izveidi, ko es izstrādāju un uzbūvēju savai Makecourse nodarbībai Dienvidfloridas Universitātē. Šajā pamācībā es sniegšu materiālu sarakstu, kontroles kodu, ko izveidoju Arduino Uno, ko izmantoju, kā arī pārskatu par iegremdējamā elementa salikšanu.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Elektroniku izmanto, ja:

1x Arduino Uno

1x mobius darbības kamera

1x mobius darbības kamera usb-b uz A/V kabeli

1x lauka skats 777 displeja ekrāns

1x turnigy marine 50A ESC (elektroniska ātruma kontrole)

1x turnigy jūras programmēšanas karte

1x T-Motor Navigator 400kv

1x YEP 20A BEC (akumulatora likvidēšanas ķēde)

6x hobija karalis HK15139 ūdensnecaurlaidīgi servo

2x paralēli T savienotājs un siksnas

2x 18 collu servo pagarinātāja vadi

6x 6 collu servo pagarinājuma vadi

2x 1300mah 3s Lipo baterijas

2x 2500mah 4s Lipo baterijas

1x strāvas sadales plate ar 5v un 12v fiksētu izeju

Būvmateriāli, kur:

1x 3/16 collu saplākšņa loksne

1x 6 collu ID ABS piegādes caurule

1x silikona caurule

1x elastīgā blīvējuma kārba

4x ABS 3D printera pavedienu spoles

1x 24 collu atvilktnes slaids

Termiski saraušanās caurule

1x 10 pēdas skotu zīmola duraloc velcro

1x JB Weld plastmasas epoksīdsveķis

1x 6,2 collu diametra akrila drošības kameru kupols

2x IP68 Ethernet caurlaides

2x 24 collu cat6 Ethernet kabelis

1x 200 pēdu cat6 Ethernet kabelis

Izmantotā aparatūra bija:

24x 1/2 collu misiņa koka skrūves

24x ------ skrūves (iekļautas servos)

Izmantotie rīki:

Filipa un plakanās galvas skrūvgrieži

Sešstūra atslēgu komplekts

Lodāmurs

Siltuma lielgabals

3D printeris (es izmantoju Monoprice Maker Select Plus)

2. solis: programmēšana

Programmēšana
Programmēšana
Programmēšana
Programmēšana
Programmēšana
Programmēšana
Programmēšana
Programmēšana

Zemāk ir kods, kas tika izveidots, lai kontrolētu iegremdējamo. Esmu pievienojis arī.ino failu, lai to varētu lejupielādēt.

Šis kods tika izveidots Arduino Uno, izmantojot Arduino kompilatoru.

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

Autors: Jonah Powers Datums: 11.09.2018. Mērķis: Tālvadības iegremdējamā transportlīdzekļa kontroles kods ****************************** ************************************************* ************************************************* ************************************/#include // Ieskaitot Servo Library Servo roll1; // Roll1 pasludināšana par servo Servo roll2; // Roll2 pasludināšana par servo Servo elev1; // elev1 pasludināšana par servo Servo elev2; // elev2 pasludināšana par servo Servo yaw1; // yaw1 pasludināšana par servo Servo yaw2; // yaw2 pasludināšana par servo Servo esc; // Esc pasludināšana par servo

int pot1 = 0; // Inicializējot mainīgo pot1 kā veselu skaitli un nosakot to vienādu ar 0 int pot2 = 1; // Inicializējot mainīgo pot2 kā veselu skaitli un nosakot to vienādu ar 2 int pot3 = 2; // Inicializējot mainīgo pot3 kā veselu skaitli un nosakot to vienādu ar 4 int pot4 = 3; // Inicializējot mainīgo pot4 kā veselu skaitli un nosakot to vienādu ar 5 int val1; // Inicializējošais mainīgais val1 kā vesels skaitlis int val2; // Inicializējošais mainīgais val2 kā vesels skaitlis int val3; // Inicializējošais mainīgais val3 kā vesels skaitlis int val4; // Inicializējošais mainīgais val4 kā vesels skaitlis int val5; // Inicializējošais mainīgais val5 kā vesels skaitlis int val6; // Inicializējošais mainīgais val6 kā vesels skaitlis int val7; // Inicializējošais mainīgais val7 kā vesels skaitlis int val8; // Inicializējošais mainīgais val8 kā vesels skaitlis int mspeed; // Inicializē mainīgo mspeed kā veselu skaitli

void setup () {// Arduino inicializācijas posms Serial.begin (9600); // Sērijveida monitora ruļļa inicializēšana1.attach (2); // Servo ruļļa1 pievienošana digitālajai tapai 2 roll2.attach (3); // Servo ruļļa2 pievienošana digitālajai tapai 3 elev1.attach (5); // Servo elev1 pievienošana digitālajai tapai 5 elev2.attach (6); // Servo elev2 pievienošana digitālajai tapai 6 yaw1.attach (8); // Servo yaw1 pievienošana digitālajai tapai 8 yaw2.attach (9); // Servo yaw2 pievienošana digitālajai tapai 9 esc.attach (11); // Servo esc pievienošana digitālajai tapai 11 roll1.write (90); // Servo ruļļa1 rakstīšana uz tās centrēto stāvokli roll2.write (90); // Servo ruļļa2 rakstīšana tā centrālajā pozīcijā elev1.write (90); // Servo elev1 rakstīšana centrālajā pozīcijā elev2.write (90); // Servo elev2 ierakstīšana centrālajā pozīcijā yaw1.write (90); // Servo yaw1 rakstīšana uz tās centrālo pozīciju yaw2.write (90); // Servo yaw2 ierakstīšana tā centrālajā pozīcijā esc.write (180); // Servo esc rakstīšana uz tās centrētās pozīcijas aizkavi (2500); // Gaida 2 sekundes esc.write (90); kavēšanās (5000); }

void loop () {// Galvenais kods bezgalīgi cilpai, ja (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta roll1.write (90); // Servo ruļļa1 ierakstīšana centrālajā pozīcijā roll2.write (90); // Servo roll2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "Joystick" nav centrēts val1 = karte (val1, 0, 1023, 10, 170); // Val1 kartēšana no 10 līdz 170 un piešķiršana val1 roll1.write (val1); // Servo roll1 rakstīšana uz pozīciju, ko definē val1 roll2.write (val1); // Servo roll2 rakstīšana uz pozīciju, ko definē val1}

val2 = analogRead (pot2); // Pot2 lasīšana (analogā tapa 2) un vērtības saglabāšana kā val2, ja (val2> = 485 && val2 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta elev1.write (90); // Servo elev1 rakstīšana centrālajā pozīcijā elev2.write (90); // Servo elev2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "kursorsviru" nav centrējis val3 = karte (val2, 0, 1023, 10, 170); // Val2 kartēšana no 10 līdz 170 un piešķiršana val3 val4 = map (val2, 0, 1023, 170, 10); // Val2 kartēšana no 170 līdz 10 un piešķiršana val4 elev1.write (val3); // Servo elev1 rakstīšana uz pozīciju, ko definē val3 elev2.write (val4); // Servo elev2 rakstīšana uz pozīciju, ko definē val4}

val5 = analogRead (pot3); // Pot3 lasīšana (analogā tapa 4) un vērtības saglabāšana kā val5 if (val5> = 485 && val5 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta yaw1.write (90); // Servo yaw1 rakstīšana centrālajā pozīcijā yaw2.write (90); // Servo yaw2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "Joystick" nav centrēts val6 = karte (val5, 0, 1023, 10, 170); // Val5 kartēšana no 10 līdz 170 un piešķiršana val6 val7 = karte (val5, 0, 1023, 170, 10); // Val5 kartēšana no 10 līdz 170 un piešķiršana val7 yaw1.write (val6); // Servo yaw1 rakstīšana uz pozīciju, ko definē val6 yaw2.write (val7); // Servo yaw2 rakstīšana uz pozīciju, ko definē val7}

val8 = analogRead (pot4); // Pot4 lasīšana (analogā tapa 5) un vērtības saglabāšana kā val8, ja (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Pārbaude, vai motors gatavojas mainīt virzienu esc.write (80); kavēšanās (1000); // Gaida 1000 milisekundes} esc.write (val8); // Servo esc ierakstīšana ātrumā, ko nosaka val8 mspeed = val8; // Pašreizējā ātruma saglabāšana salīdzināšanai}} Serial.print ("droseļvārsts"); // Izmantojot sērijveida druku, lai parādītu vārdu "droseļvārsts" Serial.println (val8); // Sērijas drukas izmantošana, lai parādītu vērtību, ka droseļvārsts ir iestatīts uz Serial.print ("roll"); // Serial Print izmantošana, lai parādītu vārdu "Roll" Serial.println (val1); // Sērijas drukas izmantošana, lai parādītu vērtību, kas rullim ir iestatīta uz Serial.print ("piķis"); // Serial Print izmantošana, lai parādītu vārdu "Pitch" Serial.println (val3); // Sērijas drukas izmantošana, lai parādītu vērtību, kurā piķis1 ir iestatīts uz Serial.println (val4); // Sērijas drukas izmantošana, lai parādītu vērtību, kurai pitch2 ir iestatīta vērtība Serial.print ("yaw"); // Serial Print izmantošana, lai parādītu vārdu "Yaw" Serial.println (val6); // Serial Print izmantošana, lai parādītu vērtību, kas yaw1 ir iestatīta uz Serial.println (val7); // Sērijas drukas izmantošana, lai parādītu vērtību, kurai yaw2 ir iestatīta uz}

3. solis: shēma

Pievienots zemūdens kuģa ķēdes fotoattēls.

Es izveidoju pielāgotu vairogu Arduino, lai vienkāršotu elektroinstalāciju. Esmu augšupielādējis Eagle Shematic & Board failus vairogam. Plātnes frēzēšanai izmantoju LPKF S63. Servo priekšpusē, kas ir vadības rullis, tiks pievienoti Arduino

pievienots shēmas fotoattēls kontroliera iekšpusē.

4. solis: 3D drukātās detaļas

Es visus šos failus izdrukāju savā Monoprice Maker Select Plus. Es izmantoju Esun ABS 1.75mm pavedienu. Mani drukas iestatījumi bija 105 grādi drukas gultas temperatūrai un 255 grādi ekstrūdera temperatūrai. Nepieciešams tikai 1 no katras daļas, izņemot to, ka jums būs nepieciešami 6 priekšējā spārna eksemplāri. Ņemiet vērā, ka šīs detaļas tika drukātas ar sienas biezumu 1000 mm. Tas tika darīts tā, lai detaļas tiktu drukātas ar 100% pildījumu, lai tās būtu negatīvi peldošas.

5. solis: montāža

********************************* DRĪZUMĀ *************** *******************

Ieteicams: