Sadržaj:
- Korak 1: Materijali
- Korak 2: Programiranje
- Korak 3: Krug
- Korak 4: 3D ispisani dijelovi
- Korak 5: Montaža
Video: Potopno vozilo: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
**************** OVO UPUTSTVO JE JOŠ RAD U NAPREDU ****************
Ovaj Instructable nastao je u skladu sa zahtjevima projekta Makecoursea na Sveučilištu Južne Floride (www.makecourse.com).
Ovaj Instructable bit će kratak pregled stvaranja potopnog vozila koje sam dizajnirao i izgradio za svoj predmet Makecourse na Sveučilištu Južna Florida. U ovom Instructableu pružit ću popis materijala, kontrolni kod koji sam stvorio za Arduino Uno koji sam koristio i pregled načina sastavljanja podmornice.
Korak 1: Materijali
Elektronika koja se koristi gdje:
1x Arduino Uno
1x mobius akcijska kamera
1x mobius akcijska kamera usb-b na A/V kabel
1x prikaz polja 777 s prikazom polja
1x rečni brod 50A ESC (elektronička kontrola brzine)
1x pomorska programska kartica za plovidbu
1x T-Motor Navigator 400kv
1x YEP 20A BEC (krug za uklanjanje baterije)
6x vodootporni servo upravljači za hobije king HK15139
2x paralelni T-priključak y uprtača
2x 18 -inčne servo produžne žice
6x 6 inčne servo produžne žice
2x 1300mah 3s Lipo baterije
2x 2500mah 4s Lipo baterije
1x razdjelna ploča s fiksnim izlazima 5v i 12v
Građevinski materijali gdje:
1x list šperploče 3/16 inča
1x 6 -inčna ID ABS transportna cijev
1x silikonska cijev
1x limenka fleksibilne brtve
4x špule od niti ABS 3D pisača
1x klizač za ladice od 24 inča
Termoskupljajuća cijev
1x 10 stopa čička marke duraloc marke scotch
1x JB Zavarite plastični epoksid
1x akrilna kupola sigurnosne kamere promjera 6,2 inča
2x IP68 ethernet prolaza
2x 24 -inčni kabel cat6 Ethernet
1x Ethernet kabel cat6 od 200 stopa
Korišteni hardver bio je:
24x 1/2 inčni mesingani vijci za drvo
24x ------ vijci (uključeni sa servo pogonima)
Korišteni alati:
Filipovi i odvijači s ravnom glavom
Šesterokutni ključ postavljen
Lemilica
Toplinski pištolj
3D pisač (koristio sam Monoprice Maker Select Plus)
Korak 2: Programiranje
Ispod je kôd koji je stvoren za kontrolu podmornice. Također sam priložio.ino datoteku kako bi se mogla preuzeti.
Ovaj kod je kreiran za Arduino Uno pomoću Arduino kompajlera.
/**********************************************************************************************************************************************************************
Autor: Jonah Powers Datum: 9.11.2018. Svrha: Kontrolni kôd za podvodno vozilo na daljinsko upravljanje **************************** ************************************************ ************************************************ ************************************/#include // Uključujući Servo knjižnicu Servo roll1; // proglašavanje role1 servo servo role2; // proglašavanje roll2 servo servo elev1; // proglašavanje elev1 servo servo elev2; // proglašavanje elev2 za servo servo zakretanje1; // Oglašavanje yaw1 servo servo yaw2; // proglašavanje yaw2 servo servo esc; // Deklariranje esc kao servo
int pot1 = 0; // Inicijalizacija varijable pot1 kao cijeli broj i njezino postavljanje na 0 int pot2 = 1; // Inicijalizacija varijable pot2 kao cijeli broj i njezino postavljanje na 2 int pot3 = 2; // Inicijalizacija varijable pot3 kao cijeli broj i njezino postavljanje na 4 int pot4 = 3; // Inicijalizacija varijable pot4 kao cijeli broj i njezino postavljanje na 5 int val1; // Inicijalizacija varijable val1 kao cjelobrojnog int val2; // Inicijalizacija varijable val2 kao cijeli broj int val3; // Inicijalizacija varijable val3 kao cijeli broj int val4; // Inicijalizacija varijable val4 kao cijeli broj int val5; // Inicijalizacija varijable val5 kao cjelobrojnog int val6; // Inicijalizacija varijable val6 kao cjelobrojnog int val7; // Inicijalizacija varijable val7 kao cijeli broj int val8; // Inicijalizacija varijable val8 kao cijeli broj int mspeed; // Inicijalizacija varijable mspeed kao cijeli broj
void setup () {// Arduino faza inicijalizacije Serial.begin (9600); // Pokretanje serijskog monitora roll1.attach (2); // Pričvršćivanje servo valjka1 na digitalni pin 2 valjka2.pričvrstite (3); // Pričvršćivanje servo role2 na digitalni pin 3 elev1.attach (5); // Priključivanje servo elev1 na digitalni pin 5 elev2.attach (6); // Priključivanje servo elev2 na digitalni pin 6 yaw1.attach (8); // Spajanje servo yaw1 na digitalni pin 8 yaw2.attach (9); // Pričvršćivanje servo jaw2 na digitalni pin 9 esc.attach (11); // Priključivanje servo esc -a na digitalni pin 11 roll1.write (90); // Zapisivanje servo role1 u centrirani položaj roll2.write (90); // Zapisivanje servo role2 u centrirani položaj elev1.write (90); // Zapisivanje servo elev1 u njegov centrirani položaj elev2.write (90); // Zapisivanje servo elev2 u njegov centrirani položaj yaw1.write (90); // Zapisivanje servo yaw1 u njegov centrirani položaj yaw2.write (90); // Zapisivanje servo yaw2 u njegov centrirani položaj esc.write (180); // Zapisivanje servo esc u kašnjenje centriranog položaja (2500); // Čekanje 2 sekunde esc.write (90); kašnjenje (5000); }
void loop () {// Glavni kod za beskonačno petlje if (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Provjera je li "Joystick" (potenciometar) centriran roll1.write (90); // Zapisivanje servo role1 u središnji položaj roll2.write (90); // Zapisivanje servo role2 u središnji položaj} else {// Što učiniti ako "joystick" nije centriran val1 = map (val1, 0, 1023, 10, 170); // Mapiranje val1 od 10 do 170 i dodjeljivanje val1 roll1.write (val1); // Zapisivanje servo role1 na poziciju definiranu val1 roll2.write (val1); // Zapisivanje servo role2 na poziciju definiranu val1}
val2 = analogRead (pot2); // Očitavanje pot2 (analogni pin 2) i spremanje vrijednosti kao val2 if (val2> = 485 && val2 <= 540) {// Provjera je li "Joystick" (potenciometar) centriran elev1.write (90); // Zapisivanje servo elev1 u središnji položaj elev2.write (90); // Zapisivanje servo elev2 u središnji položaj} else {// Što učiniti ako "joystick" nije centriran val3 = map (val2, 0, 1023, 10, 170); // Mapiranje val2 od 10 do 170 i dodjeljivanje val3 val4 = karta (val2, 0, 1023, 170, 10); // Mapiranje val2 sa 170 na 10 i dodjeljivanje val4 elev1.write (val3); // Zapisivanje servo elev1 na poziciju definirano val3 elev2.write (val4); // Zapisivanje servo elev2 na poziciju definiranu val4}
val5 = analogRead (pot3); // Očitavanje pot3 (analogni pin 4) i spremanje vrijednosti kao val5 if (val5> = 485 && val5 <= 540) {// Provjera je li "Joystick" (potenciometar) centriran yaw1.write (90); // Zapisivanje servo yaw1 u središnji položaj yaw2.write (90); // Zapisivanje servo yaw2 u središnji položaj} else {// Što učiniti ako "joystick" nije centriran val6 = map (val5, 0, 1023, 10, 170); // Mapiranje val5 od 10 do 170 i dodjeljivanje val6 val7 = karta (val5, 0, 1023, 170, 10); // Mapiranje val5 od 10 do 170 i dodjeljivanje val7 yaw1.write (val6); // Zapisivanje servo yaw1 na položaj definiran val6 yaw2.write (val7); // Zapisivanje servo yaw2 na poziciju definiranu val7}
val8 = analogRead (pot4); // Očitavanje pot4 (analogni pin 5) i spremanje vrijednosti kao val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Provjeravamo hoće li motor promijeniti smjer esc.write (80); kašnjenje (1000); // Čekanje 1000 milisekundi} esc.write (val8); // Zapisivanje servo esc na brzinu definiranu val8 mspeed = val8; // Spremanje trenutne brzine za usporedbu}} Serial.print ("throttle"); // Korištenje serijskog ispisa za prikaz riječi "Throttle" Serial.println (val8); // Korištenje serijskog ispisa za prikaz vrijednosti koja je prigušnica postavljena na Serial.print ("roll"); // Korištenje serijskog ispisa za prikaz riječi "Roll" Serial.println (val1); // Korištenje serijskog ispisa za prikaz vrijednosti koja je postavljena na Serial.print ("pitch"); // Korištenje serijskog ispisa za prikaz riječi "Pitch" Serial.println (val3); // Korištenje serijskog ispisa za prikaz vrijednosti koje je pitch1 postavljeno na Serial.println (val4); // Korištenje serijskog ispisa za prikaz vrijednosti koje je pitch2 postavljeno na Serial.print ("zakretanje"); // Korištenje serijskog ispisa za prikaz riječi "Yaw" Serial.println (val6); // Korištenje serijskog ispisa za prikaz vrijednosti koja je yaw1 postavljena na Serial.println (val7); // Korištenje serijskog ispisa za prikaz vrijednosti na kojoj je yaw2 postavljen}
Korak 3: Krug
U privitku je fotografija kruga na ploči podmornice.
Napravio sam prilagođeni štit za Arduino kako bih pojednostavio ožičenje. Učitao sam datoteke Eagle Schematic & Board za štit. Koristio sam LPKF S63 za glodanje ploče. Servosi na prednjoj strani tog kontrolnog valjka bit će uključeni u Arduino
u prilogu je fotografija kruga unutar kontrolera.
Korak 4: 3D ispisani dijelovi
Sve ove datoteke sam ispisao na Monoprice Maker Select Plus. Koristio sam Esun ABS filament od 1,75 mm. Moje postavke ispisa bile su 105 stupnjeva C za temperaturu ležišta za ispis i 255 stupnjeva C za temperaturu ekstrudera. Potreban je samo 1 dio svakog dijela, osim što će vam trebati 6 primjeraka prednjeg krila. Imajte na umu da su ti dijelovi tiskani s debljinom stijenke postavljenom na 1000 mm. To je učinjeno kako bi se dijelovi tiskali sa 100% ispunom kako bi bili negativno uzgoni.
Korak 5: Montaža
********************************* DOLAZI USKORO *************** *******************
Preporučeni:
Super FAST RC Ground Effect vozilo (Ekranoplan): 5 koraka (sa slikama)
Super BRZO RC vozilo s efektom tla (Ekranoplan): Znate kako tijekom slijetanja zrakoplovi lebde nekoliko metara iznad zemlje neko vrijeme prije nego što im kotači stvarno padnu na pistu? Ovo ne samo da omogućuje putnicima glatko slijetanje, već je to i prirodni rezultat efekta tla, u kojem
Igračke sa prilagodbom: Vatrogasno vozilo WolVol dostupno !: 7 koraka
Igračke sa prilagodbom: WolVol vatrogasni kamion dostupan!: Adaptacija igračaka otvara nove načine i prilagođena rješenja koja omogućuju djeci s ograničenim motoričkim sposobnostima ili s teškoćama u razvoju neovisnu interakciju s igračkama. U mnogim slučajevima djeca kojima su potrebne prilagođene igračke nisu u mogućnosti
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke: 4 koraka
Kid's Quad hakiranje u vozilo koje se samostalno vozi, prati liniju i otkriva prepreke. U današnjem Instructableu pretvorit ćemo električni dječji quad od 1000 W (da, znam da je puno!) U vozilo koje se samostalno vozi, prati liniju i izbjegava prepreke! Demo video: https: //youtu.be/bVIsolkEP1kZa ovaj projekt trebat će nam sljedeći materijali
Samohodno robotsko vozilo za početnike sa izbjegavanjem sudara: 7 koraka
Samohodno robotsko vozilo za početnike sa izbjegavanjem sudara: Pozdrav! Dobro došli u moje uputstvo za početnike o tome kako napraviti vlastito robotsko vozilo sa automatskim upravljanjem sa izbjegavanjem sudara i GPS navigacijom. Iznad je YouTube video koji prikazuje robota. To je model koji pokazuje kako je prava autonomija
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: cool projekt maline pi koji koristi GPS probojni modul i 2 mala zaslona Digole za navigacijsko računalo na vašoj crtici