Obsah:

Ponorné vozidlo: 5 kroků
Ponorné vozidlo: 5 kroků

Video: Ponorné vozidlo: 5 kroků

Video: Ponorné vozidlo: 5 kroků
Video: Adel ukazala prso 2024, Červenec
Anonim
Ponorné vozidlo
Ponorné vozidlo
Ponorné vozidlo
Ponorné vozidlo

**************** TENTO NÁVOD JE STÁLE POSTUPEM PRÁCE ****************

Tento Instructable byl vytvořen v rámci splnění projektového požadavku Makecourse na University of South Florida (www.makecourse.com).

Tento Instructable bude stručný pohled na vytvoření ponorného vozidla, které jsem navrhl a postavil pro svou třídu Makecourse na University of South Florida. V tomto Instructable poskytnu kusovník materiálů, kontrolní kód, který jsem vytvořil pro Arduino Uno, který jsem použil, a přehled, jak sestavit ponorné.

Krok 1: Materiály

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

Elektronika používaná tam, kde:

1x Arduino Uno

1x mobius akční kamera

1x mobius akční kamera usb-b na A/V kabel

1x zobrazení pole 777

1x turnigy marine 50A ESC (elektronické ovládání rychlosti)

1x turnigy námořní programovací karta

1x T-Motor Navigator 400kv

1x YEP 20A BEC (obvod pro odstranění baterie)

6x vodotěsná serva hobby king HK15139

2x paralelní kabelový svazek T konektoru

2x 18palcové prodlužovací kabely pro servo

6x 6 palcové prodlužovací kabely pro servo

2x 1300mah 3s Lipo baterie

2x 2500mAh 4s Lipo baterie

1x rozvodná deska s pevnými výstupy 5v a 12v

Stavební materiály, kde:

1x list překližky 3/16 palce

1 x 6 palcová přepravní trubka z ABS

1x silikonová trubička

1x plechovka pružného těsnění

4x cívky vlákna ABS 3D tiskárny

1x posuvník 24 palců

Smršťovací bužírka

1x 10 stop skotské značky duraloc suchý zip

1x JB Weld plastový epoxid

1 x 6,2 palcový průměr akrylátové bezpečnostní kamery

2x IP68 ethernetové průchody

2x 24 palcový ethernetový kabel cat6

1x 200 stop ethernetový kabel cat6

Použitý hardware byl:

24x 1/2 palce mosazné šrouby do dřeva

24x ------ šrouby (součástí serva)

Použité nástroje:

Šroubováky Philip a s plochou hlavou

Sada imbusových klíčů

Páječka

Horkovzdušná pistole

3D tiskárna (použil jsem Monoprice Maker Select Plus)

Krok 2: Programování

Programování
Programování
Programování
Programování
Programování
Programování
Programování
Programování

Níže je kód, který byl vytvořen pro ovládání ponorného. Také jsem připojil soubor.ino, aby jej bylo možné stáhnout.

Tento kód byl vytvořen pro Arduino Uno pomocí kompilátoru Arduino.

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

Autor: Jonah Powers Datum: 9/11/2018 Účel: Kontrolní kód pro dálkově ovládaná ponorná vozidla ***************************** ******************************************************** ******************************************************** ************************************************************* // Prohlášení roll1 za servo Servo roll2; // Deklarace roll2 za servo Servo elev1; // Prohlášení elev1 za servo Servo elev2; // Prohlášení elev2 za servo Servo yaw1; // Prohlášení yaw1 za servo Servo yaw2; // Prohlášení yaw2 za servo Servo esc; // Prohlášení esc za servo

int pot1 = 0; // Inicializace proměnné pot1 jako celého čísla a nastavení rovné 0 int pot2 = 1; // Inicializace proměnné pot2 jako celého čísla a její nastavení rovno 2 int pot3 = 2; // Inicializace proměnné pot3 jako celého čísla a nastavení na rovné 4 int pot4 = 3; // Inicializace proměnné pot4 jako celého čísla a její nastavení rovno 5 int val1; // Inicializace proměnné val1 jako celé číslo int val2; // Inicializace proměnné val2 jako celé číslo int val3; // Inicializace proměnné val3 jako celé číslo int val4; // Inicializace proměnné val4 jako celé číslo int val5; // Inicializace proměnné val5 jako celého čísla int val6; // Inicializace proměnné val6 jako celé číslo int val7; // Inicializace proměnné val7 jako celé číslo int val8; // Inicializace proměnné val8 jako celé číslo int mspeed; // Inicializace proměnné mspeed jako celé číslo

void setup () {// Fáze inicializace Arduino Serial.begin (9600); // Inicializace sériového monitoru roll1.attach (2); // Připojení servo roll1 k digitálnímu pinu 2 roll2.attach (3); // Připojení servo roll2 k digitálnímu pinu 3 elev1.attach (5); // Připojení servo elev1 k digitálnímu pinu 5 elev2.attach (6); // Připojení servo elev2 k digitálnímu pinu 6 yaw1.attach (8); // Připojení servo yaw1 k digitálnímu pinu 8 yaw2.attach (9); // Připojení servo yaw2 k digitálnímu pinu 9 esc.attach (11); // Připojení servo esc k digitálnímu pinu 11 roll1.write (90); // Zápis servo role1 do středové polohy roll2.write (90); // Zápis servo roll2 do středové polohy elev1.write (90); // Zápis servo elev1 do jeho středové polohy elev2.write (90); // Zápis servo elev2 do středové polohy yaw1.write (90); // Zápis servo yaw1 do jeho středové polohy yaw2.write (90); // Zápis servo yaw2 do středové polohy esc.write (180); // Zapisování servo esc do zpoždění jeho středové polohy (2500); // Čekání 2 sekundy esc.write (90); zpoždění (5000); }

void loop () {// Hlavní kód pro nekonečné opakování if (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Kontrola, zda je „joystick“(potenciometr) vystředěn roll1.write (90); // Zápis servo role1 do střední polohy roll2.write (90); // Zápis servo roll2 do středové polohy} else {// Co dělat, když "Joystick" není vystředěn val1 = mapa (val1, 0, 1023, 10, 170); // Mapování val1 od 10 do 170 a přiřazení k val1 roll1.write (val1); // Zápis servo roll1 na pozici definovanou val1 roll2.write (val1); // Zápis servo roll2 na pozici definovanou val1}

val2 = analogRead (pot2); // Čtení pot2 (analogový pin 2) a uložení hodnoty jako val2 if (val2> = 485 && val2 <= 540) {// Kontrola, zda je "Joystick" (potenciometr) vystředěn elev1.write (90); // Zápis servo elev1 do středové polohy elev2.write (90); // Zápis servo elev2 do středové polohy} else {// Co dělat, když "Joystick" není vystředěn val3 = mapa (val2, 0, 1023, 10, 170); // Mapování val2 od 10 do 170 a přiřazování k val3 val4 = mapa (val2, 0, 1023, 170, 10); // Mapování val2 od 170 do 10 a přiřazení k val4 elev1.write (val3); // Zápis servo elev1 na pozici definovanou val3 elev2.write (val4); // Zápis servo elev2 na pozici definovanou val4}

val5 = analogRead (pot3); // Čtení pot3 (analogový pin 4) a uložení hodnoty jako val5 if (val5> = 485 && val5 <= 540) {// Kontrola, zda je "Joystick" (potenciometr) vystředěn yaw1.write (90); // Zápis servo yaw1 do střední polohy yaw2.write (90); // Zápis servo yaw2 do středové polohy} else {// Co dělat, když "Joystick" není vystředěn val6 = mapa (val5, 0, 1023, 10, 170); // Mapování val5 od 10 do 170 a přiřazení k val6 val7 = mapa (val5, 0, 1023, 170, 10); // Mapování val5 od 10 do 170 a přiřazení k val7 yaw1.write (val6); // Zápis servo yaw1 do polohy definované val6 yaw2.write (val7); // Zápis servo yaw2 na pozici definovanou val7}

val8 = analogRead (pot4); // Čtení pot4 (analogový pin 5) a uložení hodnoty jako val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Kontrola, zda se motor chystá změnit směr esc.write (80); zpoždění (1000); // Čekání 1000 milisekund} esc.write (val8); // Zápis servo esc na rychlost definovanou val8 mspeed = val8; // Uložení aktuální rychlosti pro srovnání}} Serial.print ("throttle"); // Použití sériového tisku k zobrazení slova „Throttle“Serial.println (val8); // Použití sériového tisku k zobrazení hodnoty, která je nastavena na Serial.print ("roll"); // Použití sériového tisku k zobrazení slova "Roll" Serial.println (val1); // Použití sériového tisku k zobrazení hodnoty, u které je role nastavena na Serial.print ("pitch"); // Použití sériového tisku k zobrazení slova „Pitch“Serial.println (val3); // Použití sériového tisku k zobrazení hodnoty, která je pitch1 nastavena na Serial.println (val4); // Použití sériového tisku k zobrazení hodnoty, která je pitch2 nastavena na Serial.print ("zatáčení"); // Použití sériového tisku k zobrazení slova „vybočení“Serial.println (val6); // Použití sériového tisku k zobrazení hodnoty, že yaw1 je nastaven na Serial.println (val7); // Použití sériového tisku k zobrazení hodnoty, která je nastavena na yaw2}

Krok 3: Obvod

V příloze je fotografie obvodu na palubě ponorky.

Pro zjednodušení zapojení jsem vytvořil vlastní štít pro Arduino. Nahrál jsem soubory Eagle Schematic & Board pro štít. K vyfrézování desky jsem použil LPKF S63. serva vpředu, která řídící válec budou zapojena do Arduina

v příloze je fotografie obvodu uvnitř ovladače.

Krok 4: 3D tištěné díly

Všechny tyto soubory jsem vytiskl na svém Monoprice Maker Select Plus. Použil jsem vlákno Esun ABS 1,75 mm. Moje nastavení tisku bylo 105 stupňů C pro teplotu tiskového lože a 255 stupňů C pro teplotu extruderu. Je zapotřebí pouze 1 z každé části, kromě toho, že budete potřebovat 6 kopií předního křídla. Všimněte si, že tyto části byly vytištěny s tloušťkou stěny nastavenou na 1000 mm. To bylo provedeno tak, že díly budou potištěny 100% výplní, takže budou negativně vznášející se.

Krok 5: Montáž

********************************* JIŽ BRZY *************** *******************

Doporučuje: