Obsah:

Ponorné vozidlo: 5 krokov
Ponorné vozidlo: 5 krokov

Video: Ponorné vozidlo: 5 krokov

Video: Ponorné vozidlo: 5 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Ponorné vozidlo
Ponorné vozidlo
Ponorné vozidlo
Ponorné vozidlo

*********************************************************************

Tento návod bol vytvorený ako splnenie projektovej požiadavky Makecourse na University of South Florida (www.makecourse.com).

Tento návod je stručným pohľadom na vytvorenie ponorného vozidla, ktoré som navrhol a postavil pre svoju triedu Makecourse na univerzite v južnej Floride. V tomto návode poskytnem kusovník materiálov, kontrolný kód, ktorý som vytvoril pre Arduino Uno, ktorý som použil, a prehľad o tom, ako zostaviť ponorné zariadenie.

Krok 1: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

Elektronika sa používa tam, kde:

1x Arduino Uno

1x mobiálna akčná kamera

1x akčná kamera mobius usb-b na A/V kábel

1x displej s poľom 777

1x turnigy marine 50A ESC (elektronická regulácia rýchlosti)

1x turnigy námorná programovacia karta

1x T-Motor Navigator 400kv

1x YEP 20A BEC (obvod na elimináciu batérie)

6x vodotesné serva hobby king HK15139

2x paralelný zväzok Y konektorov

2x 18 palcové predlžovacie káble serva

6 x 6 palcové predlžovacie káble serva

2x 1300mah 3s Lipo batérie

2x 2500mAh 4s Lipo batérie

1x rozvodná doska s pevnými výstupmi 5 V a 12 V.

Stavebné materiály, kde:

1x 3/16 palcový list preglejky

1x 6 palcová prepravná trubica z ABS ABS

1x silikónová trubička

1x plechovka pružného tesnenia

4x cievky vlákna 3D 3D tlačiarne ABS

1x posuvník zásuvky 24 palcov

Teplom zmrštiteľná trubica

1x 10 stôp značkového duraloc suchého zipsu

1x JB Weld plastový epoxid

1 x 6,2 palcový priemer akrylovej kupoly bezpečnostnej kamery

2x priechodky ethernet IP68

2x 24 palcový ethernetový kábel cat6

1x 200 stôp ethernetový kábel cat6

Použitý hardvér bol:

24 x 1/2 palcové mosadzné skrutky do dreva

24x ------ skrutky (sú súčasťou serva)

Použité nástroje:

Skrutkovače Filip a plochá hlava

Sada imbusových kľúčov

Spájkovačka

Tepelná pištoľ

3D tlačiareň (použil som Monoprice Maker Select Plus)

Krok 2: Programovanie

Programovanie
Programovanie
Programovanie
Programovanie
Programovanie
Programovanie
Programovanie
Programovanie

Nasleduje kód, ktorý bol vytvorený na ovládanie ponorného zdroja. Attaloval som aj súbor.ino, aby sa dal stiahnuť.

Tento kód bol vytvorený pre Arduino Uno pomocou kompilátora Arduino.

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

Autor: Jonah Powers Dátum: 9/11/2018 Účel: Kontrolný kód diaľkovo ovládaného ponorného vozidla ***************************** ********************************************************** ********************************************************** ************************************************************ // Vyhlásenie roll1 za servo Servo roll2; // Vyhlásenie roll2 za servo Servo elev1; // Vyhlásenie elev1 za servo Servo elev2; // Vyhlásenie elev2 za servo Servo yaw1; // Vyhlásenie yaw1 za servo Servo yaw2; // Vyhlásenie yaw2 za servo Servo esc; // Vyhlásenie esc za servo

int pot1 = 0; // Inicializácia premennej pot1 ako celého čísla a jej nastavenie na hodnotu 0 int pot2 = 1; // Inicializácia premennej pot2 ako celého čísla a jej nastavenie na hodnotu 2 int pot3 = 2; // Inicializácia premennej pot3 ako celého čísla a nastavenie na hodnotu 4 int pot4 = 3; // Inicializácia premennej pot4 ako celého čísla a jej nastavenie na hodnotu 5 int val1; // Inicializácia premennej val1 ako celého čísla int val2; // Inicializácia premennej val2 ako celého čísla int val3; // Inicializácia premennej val3 ako celého čísla int val4; // Inicializácia premennej val4 ako celého čísla int val5; // Inicializácia premennej val5 ako celého čísla int val6; // Inicializácia premennej val6 ako celého čísla int val7; // Inicializácia premennej val7 ako celého čísla int val8; // Inicializácia premennej val8 ako celého čísla int mspeed; // Inicializácia premennej mspeed ako celé číslo

void setup () {// Fáza inicializácie Arduino Serial.begin (9600); // Inicializácia sériového monitorovacieho zariadenia roll1.attach (2); // Pripojenie serva roll1 k digitálnemu kolíku 2 roll2.attach (3); // Pripojenie serva roll2 k digitálnemu kolíku 3 elev1.attach (5); // Pripojenie servo elev1 k digitálnemu pinu 5 elev2.attach (6); // Pripojenie servo elev2 k digitálnemu pinu 6 yaw1.attach (8); // Pripojenie servo yaw1 k digitálnemu pinu 8 yaw2.attach (9); // Pripojenie servo yaw2 k digitálnemu pinu 9 esc.attach (11); // Pripojenie servo esc k digitálnemu pinu 11 roll1.write (90); // Zapisovanie serva roll1 do jeho vystredenej polohy roll2.write (90); // Zapisovanie servo roll2 do svojej vystredenej polohy elev1.write (90); // Zapisovanie servo elev1 do svojej vystredenej polohy elev2.write (90); // Zapisovanie servo elev2 do svojej vystredenej polohy yaw1.write (90); // Zapisovanie servo yaw1 do svojej stredovej polohy yaw2.write (90); // Zapisovanie servo yaw2 do svojej vystredenej polohy esc.write (180); // Zapisovanie servo esc do oneskorenia v strednej polohe (2500); // Čakanie 2 sekundy esc.write (90); oneskorenie (5 000); }

void loop () {// Hlavný kód pre nekonečnú slučku, ak (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Kontrola, či je „joystick“(potenciometer) v strede, roll1.write (90); // zapisovanie servo rolky1 do strednej polohy roll2.write (90); // Zapisovanie servo roll2 do strednej polohy} else {// Čo robiť, ak "Joystick" nie je v strede val1 = mapa (val1, 0, 1023, 10, 170); // mapovanie val1 od 10 do 170 a priradenie k val1 roll1.write (val1); // Zapisovanie servo roll1 do polohy definovanej val1 roll2.write (val1); // Zapisovanie servo roll2 do polohy definovanej hodnotou val1}

val2 = analogRead (pot2); // Čítanie pot2 (analógový kolík 2) a uloženie hodnoty ako val2 if (val2> = 485 && val2 <= 540) {// Kontrola, či je "joystick" (potenciometer) v strede elev1.write (90); // Zapisovanie servo elev1 do stredovej polohy elev2.write (90); // Zapisovanie servo elev2 do stredovej polohy} else {// Čo robiť, ak "Joystick" nie je vycentrovaný val3 = mapa (val2, 0, 1023, 10, 170); // Mapovanie val2 od 10 do 170 a priradenie k val3 val4 = mapa (val2, 0, 1023, 170, 10); // Mapovanie val2 zo 170 na 10 a priradenie k val4 elev1.write (val3); // Zapisovanie servo elev1 do polohy definovanej val3 elev2.write (val4); // Zapisovanie servo elev2 do polohy definovanej val4}

val5 = analogRead (pot3); // Čítanie pot3 (analógový kolík 4) a uloženie hodnoty ako val5 if (val5> = 485 && val5 <= 540) {// Kontrola, či je „joystick“(potenciometer) v strede yaw1.write (90); // Zapisovanie servo yaw1 do strednej polohy yaw2.write (90); // Zapisovanie servo yaw2 do strednej polohy} else {// Čo robiť, ak "Joystick" nie je vycentrovaný val6 = mapa (val5, 0, 1023, 10, 170); // Mapovanie val5 od 10 do 170 a priradenie k val6 val7 = mapa (val5, 0, 1023, 170, 10); // Mapovanie val5 od 10 do 170 a priradenie k val7 yaw1.write (val6); // Zapisovanie servo yaw1 do polohy definovanej val6 yaw2.write (val7); // Zapisovanie servo yaw2 do polohy definovanej val7}

val8 = analogRead (pot4); // Čítanie pot4 (analógový kolík 5) a uloženie hodnoty ako val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Kontrola, či sa motor chystá zmeniť smer esc.write (80); oneskorenie (1000); // čakanie 1000 milisekúnd} esc.write (val8); // Zapisovanie servo esc na rýchlosť definovanú val8 mspeed = val8; // Uloženie aktuálnej rýchlosti na porovnanie}} Serial.print ("plyn"); // Použitie sériovej tlače na zobrazenie slova „Throttle“Serial.println (val8); // Použitie sériovej tlače na zobrazenie hodnoty, že plyn je nastavený na Serial.print ("roll"); // Použitie sériovej tlače na zobrazenie slova „Roll“Serial.println (val1); // Použitie sériovej tlače na zobrazenie hodnoty, ktorá je nastavená na hodnotu Serial.print ("pitch"); // Použitie sériovej tlače na zobrazenie slova „Rozteč“Serial.println (val3); // Použitie sériovej tlače na zobrazenie hodnoty, ktorá je pitch1 nastavená na Serial.println (val4); // Použitie sériovej tlače na zobrazenie hodnoty, ktorá je pitch2 nastavená na Serial.print ("zatáčanie"); // Použitie sériovej tlače na zobrazenie slova „vybočenie“Serial.println (val6); // Použitie sériovej tlače na zobrazenie hodnoty, že yaw1 je nastavený na Serial.println (val7); // Použitie sériovej tlače na zobrazenie hodnoty, na ktorú je yaw2 nastavený}

Krok 3: Obvod

V prílohe je fotografia obvodu na palube ponorného zdroja.

Vytvoril som vlastný štít pre Arduino, aby som zjednodušil svoje zapojenie. Nahral som súbory Eagle Schematic & Board pre štít. Na frézovanie dosky som použil LPKF S63. serva vpredu, ktoré slúžia na ovládanie, budú zapojené do Arduina

v prílohe je fotografia obvodu vo vnútri ovládača.

Krok 4: 3D tlačené diely

Všetky tieto súbory som vytlačil na svojom Monoprice Maker Select Plus. Použil som vlákno Esun ABS 1,75 mm. Moje nastavenia tlače boli 105 ° C pre teplotu tlačovej podložky a 255 ° C pre teplotu extrudéra. Je potrebný iba 1 kus z každej časti, okrem toho, že budete potrebovať 6 kópií predného krídla. Tieto časti boli vytlačené s hrúbkou steny nastavenou na 1 000 mm. Urobilo sa to tak, že diely budú potlačené 100% výplňou, aby boli negatívne nadnášané.

Krok 5: Zostavenie

********************************* UŽ ČOSKORO *************** *******************

Odporúča: