Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Ohjelmointi
- Vaihe 3: Piirit
- Vaihe 4: 3D -tulostetut osat
- Vaihe 5: Kokoonpano
Video: Upotettava ajoneuvo: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
**************** TÄMÄ OHJE ON VÄLILLÄ KÄYTÖSSÄ ****************
Tämä ohje on luotu täyttämään Etelä -Floridan yliopiston Makecourse -projektin vaatimus (www.makecourse.com).
Tämä Instructable on lyhyt katsaus sukellusajoneuvon luomiseen, jonka suunnittelin ja rakensin Makecourse -luokkaani Etelä -Floridan yliopistossa. Tässä opetusohjelmassa annan materiaaliluettelon, käyttämäni Arduino Uno -laitteelle luomani ohjauskoodin ja yleiskatsauksen upotettavan veden kokoamiseen.
Vaihe 1: Materiaalit
Käytetty elektroniikka, kun:
1x Arduino Uno
1x mobius toimintakamera
1x mobius-toimintakamera usb-b-A/V-kaapeli
1x kenttänäkymä 777 -näyttö
1x turnigy marine 50A ESC (elektroninen nopeudensäätö)
1x turnigy marine -ohjelmointikortti
1x T-Motor Navigator 400kv
1x YEP 20A BEC (akun poistopiiri)
6x harrastus kuningas HK15139 vedenpitävät servot
2x rinnakkainen T-liitin ja valjaat
2x 18 tuuman servo -jatkojohdot
6x 6 tuuman servo -jatkojohdot
2x 1300mah 3s Lipo -akut
2x 2500mah 4s Lipo -akut
1x jakelukortti, jossa on sekä 5v että 12v kiinteät lähdöt
Rakennusmateriaalit, joissa:
1x 3/16 tuuman vanerilevy
1x 6 tuuman ID -ABS -kuljetusputki
1x silikoniputki
1x tölkki joustavaa tiivistettä
4x kelat ABS 3D -tulostuslankaa
1x 24 tuuman laatikon liukumäki
Lämpökutistuva putki
1 x 10 jalkaa skotlantilaista duraloc -tarranauhaa
1x JB Hitsausmuovi epoksi
1x halkaisijaltaan 6,2 tuuman akryylivalvontakamerakupu
2x IP68 -ethernet -läpivienti
2x 24 tuuman cat6 -ethernet -kaapeli
1 x 200 -jalka cat6 -ethernet -kaapeli
Käytetty laitteisto oli:
24x 1/2 tuuman messinkipuuruuvit
24x ------ ruuvit (servojen mukana)
Käytetyt työkalut:
Philipin ja litteäpäiset ruuvimeisselit
Kuusiokoloavain
Juotin
Kuuma pyssy
3D -tulostin (käytin Monoprice Maker Select Plus)
Vaihe 2: Ohjelmointi
Alla on koodi, joka luotiin ohjaamaan upotettavaa. Olen myös lisännyt.ino -tiedoston, jotta se voidaan ladata.
Tämä koodi luotiin Arduino Unolle Arduino -kääntäjää käyttäen.
/**********************************************************************************************************************************************************************
Kirjoittaja: Jonah Powers Päivämäärä: 11.9.2018 Tarkoitus: Kauko -ohjattavan upotettavan ajoneuvon ohjauskoodi ****************************** ************************************************** ************************************************** ************************************/#include // Sisältää servokirjaston servorullan1; // Rullan1 julistaminen servoservoksi2; // Rullan2 ilmoittaminen servo Servo elev1; // Elev1: n julistaminen servoksi Servo elev2; // Elev2: n julistaminen servoksi Servo yaw1; // Yaw1: n julistaminen servoksi Servo yaw2; // Yaw2: n julistaminen servoksi Servo esc; // Esc: n julistaminen servoksi
int pot1 = 0; // Alustetaan muuttuja pot1 kokonaislukuna ja asetetaan sen arvoksi 0 int pot2 = 1; // Alustetaan muuttuja pot2 kokonaislukuna ja asetetaan se arvoksi 2 int pot3 = 2; // Muuttujan pot3 alustaminen kokonaislukuna ja sen asettaminen 4 int pot4 = 3; // Alustetaan muuttuja pot4 kokonaislukuna ja asetetaan sen arvoksi 5 int val1; // Alustetaan muuttuja val1 kokonaislukuna int val2; // Alustetaan muuttuja val2 kokonaislukuna int val3; // Alustetaan muuttuja val3 kokonaislukuna int val4; // Alustetaan muuttuja val4 kokonaislukuna int val5; // Alustetaan muuttuja val5 kokonaislukuna int val6; // Alustetaan muuttuja val6 kokonaislukuna int val7; // Alustetaan muuttuja val7 kokonaislukuna int val8; // Alustetaan muuttuja val8 kokonaislukuna int mspeed; // Alustetaan muuttuja mspeed kokonaislukuna
void setup () {// Arduinon alustusvaihe Serial.begin (9600); // Sarjamonitorin alustaminen roll1.attach (2); // Servorullan1 kiinnittäminen digitaaliseen nastaan 2 roll2.attach (3); // Servorullan2 kiinnittäminen digitaaliseen nastaan 3 elev1.attach (5); // Servo elev1: n kiinnittäminen digitaaliseen nastaan 5 elev2.attach (6); // Servo elev2: n kiinnittäminen digitaaliseen nastaan 6 yaw1.attach (8); // Servo yaw1: n kiinnittäminen digitaaliseen nastaan 8 yaw2.attach (9); // Servo yaw2: n kiinnittäminen digitaaliseen nastaan 9 esc. Kiinnitys (11); // Servo esc: n kiinnittäminen digitaaliseen nastaan 11 roll1.write (90); // Servorullan1 kirjoittaminen keskiasentoon roll2.write (90); // Servorullan2 kirjoittaminen keskiasentoon elev1.write (90); // Servo elev1: n kirjoittaminen keskiasentoon elev2.write (90); // Servo elev2: n kirjoittaminen keskiasentoon yaw1.write (90); // Servo yaw1: n kirjoittaminen keskiasentoon yaw2.write (90); // Servo yaw2: n kirjoittaminen keskiasentoon esc.write (180); // Servo esc: n kirjoittaminen keskiasentoon (2500); // Odotetaan 2 sekunnin esc -kirjoitusta (90); viive (5000); }
void loop () {// Pääkoodi jatkuvaan silmukkaan, jos (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Tarkistetaan onko "Joystick" (potentiometri) keskitetty roll1.write (90); // Servorullan 1 kirjoittaminen keskiasentoon roll2.write (90); // Servorullan2 kirjoittaminen keskiasentoon} else {// Mitä tehdä, jos "Joystick" ei ole keskellä val1 = kartta (val1, 0, 1023, 10, 170); // val1: n kartoitus 10: stä 170: een ja määrittäminen val1: lle roll1.write (val1); // Servorullan1 kirjoittaminen positoniksi, jonka määrittelee val1 roll2.write (val1); // Servorullan2 kirjoittaminen val1: n määrittämään positoniin}
val2 = analoginenLue (pot2); // Pot2: n lukeminen (analoginen nasta 2) ja arvon tallentaminen val2: ksi, jos (val2> = 485 && val2 <= 540) {// Tarkistetaan onko "Joystick" (potentiometri) keskitetty elev1.write (90); // Servo elev1: n kirjoittaminen keskiasentoon elev2.write (90); // Servo elev2: n kirjoittaminen keskiasentoon} else {// Mitä tehdä, jos "Joystick" ei ole keskellä val3 = kartta (val2, 0, 1023, 10, 170); // val2: n kartoitus 10: stä 170: een ja val3: lle osoittaminen val4 = kartta (val2, 0, 1023, 170, 10); // Val2: n kartoitus 170: stä 10: een ja val4: lle osoittaminen elev1.write (val3); // Servo elev1: n kirjoittaminen positoniksi, jonka määrittelee val3 elev2.write (val4); // Servo elev2: n kirjoittaminen val4: n määrittämään positoniin}
val5 = analoginenLue (pot3); // Pot3: n lukeminen (analoginen nasta 4) ja arvon tallentaminen arvoksi val5 if (val5> = 485 && val5 <= 540) {// Tarkistetaan onko "Joystick" (potentiometri) keskitetty yaw1.write (90); // Servo yaw1: n kirjoittaminen keskiasentoon yaw2.write (90); // Servo yaw2: n kirjoittaminen keskiasentoon} else {// Mitä tehdä, jos "Joystick" ei ole keskellä val6 = kartta (val5, 0, 1023, 10, 170); // val5: n kartoitus 10: stä 170: een ja sen määrittäminen val6: lle val7 = kartta (val5, 0, 1023, 170, 10); // val5: n kartoitus 10: stä 170: een ja määrittäminen val7: lle yaw1.write (val6); // Servo yaw1: n kirjoittaminen positoniksi, jonka määrittelee val6 yaw2.write (val7); // Servo yaw2: n kirjoittaminen val7: n määrittämään positoniin}
val8 = analoginenLue (pot4); // Pot4: n lukeminen (analoginen nasta 5) ja arvon tallentaminen arvoksi val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Tarkistetaan, onko moottori muuttamassa suuntaa esc.write (80); viive (1000); // Odotetaan 1000 millisekuntia} esc.write (val8); // Servo esc: n kirjoittaminen nopeuteen, jonka määrittelee val8 mspeed = val8; // Nykyisen nopeuden tallentaminen vertailua varten}} Serial.print ("kaasu"); // Sarjaprintin avulla sana "Throttle" Serial.println (val8); // Sarjatulostimen avulla näytetään arvo, jonka mukaan kaasu on asetettu sarjaan.print ("roll"); // Sarjaprintin avulla sanan "Roll" näyttäminen Serial.println (val1); // Sarjatulostuksen avulla näytetään arvo, jonka rullalle on asetettu Serial.print ("pitch"); // Sarjaprintin avulla sanan "Pitch" näyttäminen Serial.println (val3); // Sarjatulostuksen avulla näytetään arvo, jonka pitch1 -arvoksi on asetettu Serial.println (val4); // Sarjatulostuksen avulla näytetään arvo, jonka nousu on asetettu arvoon Serial.print ("yaw"); // Sarjatulostimen käyttäminen sanan "Yaw" näyttämiseen Serial.println (val6); // Sarjatulostus näyttää arvon, jonka yaw1 arvo on Serial.println (val7); // Sarjatulostimen käyttäminen arvon näyttämiseen, jonka yaw2 arvoksi on asetettu}
Vaihe 3: Piirit
Liitteenä on kuva upotettavan laitteen piiristä.
Luin Arduinolle mukautetun kilven johdotuksen yksinkertaistamiseksi. Olen ladannut kilven Eagle Schematic & Board -tiedostot. Jyrsin levyn LPKF S63: lla. edessä olevat servot, jotka ohjaavat rullaa, kytketään Arduinoon
liitteenä on kuva ohjaimen sisällä olevasta piiristä.
Vaihe 4: 3D -tulostetut osat
Tulostin kaikki nämä tiedostot Monoprice Maker Select Plus -laitteellani. Käytin Esun ABS 1.75mm -lankaa. Tulostusasetukseni olivat 105 astetta tulostusalustan lämpötilassa ja 255 astetta suulakepuristimen lämpötilassa. Vain 1 kutakin osaa tarvitaan, paitsi että tarvitset 6 kopiota etusivusta. Huomaa, että nämä osat on painettu seinän paksuuden ollessa 1000 mm. Tämä tehtiin niin, että osat painettiin 100% täytteellä, jotta ne olisivat negatiivisesti kelluvia.
Vaihe 5: Kokoonpano
********************************* TULOSSA PIAN *************** *******************
Suositeltava:
Super FAST RC Ground Effect Ajoneuvo (Ekranoplan): 5 vaihetta (kuvilla)
Super FAST RC Ground Effect Ajoneuvo (Ekranoplan): Tiedätkö, kuinka lentokoneet leijuvat kosketuksen aikana muutaman metrin korkeudella maan pinnasta jonkin aikaa ennen kuin niiden pyörät osuvat kiitotielle? Tämä ei ainoastaan anna matkustajille sujuvaa laskeutumista, vaan se on myös luonnollinen tulos maan vaikutuksesta, jossa
Upotettava 2017: 95 vaihetta
Upotettava 2017: Upotettava 2017
DIY -upotettava ROV: 8 vaihetta (kuvilla)
DIY Upotettava ROV: Kuinka vaikeaa se voi olla? Kävi ilmi, että upotettavan ROV: n tekemisessä oli useita haasteita. Mutta se oli hauska projekti ja mielestäni se oli varsin onnistunut. Tavoitteeni oli, että se ei maksaisi omaisuutta, että se olisi helppo ajaa ja että se olisi camer
BTS - 33 - Upotettava: 11 vaihetta
BTS - 33 - Uppoasennettava: Tämä opas opettaa sinulle, kuinka tehdä upotettava 3 -kytkimellä
Mobiilikiihtyvyysmittarin ohjaama ajoneuvo: 3 vaihetta
Mobiilikiihtyvyysmittarin ohjaama ajoneuvo: Tämä on hyvin yksinkertainen projekti ja se voidaan tehdä helposti. Tämä vaatii Android -matkapuhelimen. Jokaisessa Android -mobiililaitteessa on sisäänrakennettu kiihtyvyysanturi, ja käytämme sitä ajoneuvon hallintaan Bluetoothin kautta. Meidän tarvitsee vain kallistaa kännykkää päättääksemme, mitä