Innholdsfortegnelse:
- Trinn 1: Materialer
- Trinn 2: Programmering
- Trinn 3: Kretsløp
- Trinn 4: 3D -trykte deler
- Trinn 5: Montering
Video: Nedsenkbart kjøretøy: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
***************** DENNE INSTRUKTABELEN ER STADIG ET ARBEID I FREMGANG ****************
Denne instruksjonsboken ble opprettet for å oppfylle prosjektkravet til Makecourse ved University of South Florida (www.makecourse.com).
Denne instruksen vil gi en kort oversikt over opprettelsen av det nedsenkbare kjøretøyet som jeg designet og bygde for min Makecourse -klasse ved University of South Florida. I denne instruksjonsboken vil jeg gi en oversikt over materialer, kontrollkoden jeg opprettet for Arduino Uno jeg brukte, og en oversikt over hvordan du setter ned nedsenkbar.
Trinn 1: Materialer
Elektronikken som ble brukt der:
1x Arduino Uno
1x mobius actionkamera
1x mobius actionkamera usb-b til A/V-kabel
1x feltvisning 777 skjerm
1x turnigy marine 50A ESC (elektronisk hastighetskontroll)
1x turnigy marine programmeringskort
1x T-Motor Navigator 400kv
1x YEP 20A BEC (batteri elimineringskrets)
6x hobby king HK15139 vanntette servoer
2x parallelle T-kontakter og seler
2x 18 tommers servoforlengelsestråder
6x 6 tommers servoforlengelsestråder
2x 1300mah 3s Lipo batterier
2x 2500mah 4s Lipo batterier
1x strømfordelingstavle med både 5v og 12v faste utganger
Byggematerialene der:
1x 3/16 tommers ark av kryssfiner
1x 6 tommers ID ABS forsendelsesrør
1 x silikonrør
1x boks flexforsegling
4x spoler av ABS 3D -skriverfilament
1x 24 tommers skuffesklie
Krympeslange
1x 10 fot skotsk merkevare duraloc borrelås
1x JB Sveiset plast epoksy
1 x 6,2 tommers diameter akryl sikkerhetskamera kuppel
2x IP68 ethernet -gjennomganger
2x 24 tommers cat6 ethernet -kabel
1x 200 fot cat6 ethernet -kabel
Maskinvaren som ble brukt var:
24x 1/2 tommer messing treskruer
24x ------ skruer (følger med servoer)
Verktøyene som brukes:
Philip's og Flat head skrutrekkere
Allen nøkkelsett
Loddejern
Varmepistol
3D -skriver (jeg brukte en Monoprice Maker Select Plus)
Trinn 2: Programmering
Nedenfor er koden som ble opprettet for å kontrollere nedsenkbar. Jeg har også vedlagt.ino -filen slik at den kan lastes ned.
Denne koden ble opprettet for Arduino Uno ved hjelp av Arduino -kompilatoren.
/**********************************************************************************************************************************************************************
Forfatter: Jonah Powers Dato: 11/9/2018 Formål: Kontrollkode for fjernstyrt nedsenkbart kjøretøy ****************************** ************************************************* ************************************************* **********************************/#include // Inkludert Servo Library Servo roll1; // Deklarere roll1 for å være en servo Servo roll2; // Deklarere roll2 til å være en servo Servo elev1; // Å erklære elev1 for å være en servo Servo elev2; // Å erklære elev2 for å være en servo Servo yaw1; // Deklarere yaw1 for å være en servo Servo yaw2; // Deklarere yaw2 for å være en servo Servo esc; // Å erklære esc for å være en servo
int pot1 = 0; // Intitialiserer variabel pot1 som et heltall og setter det lik 0 int pot2 = 1; // Intitialiserer variabel pot2 som et heltall og setter det lik 2 int pot3 = 2; // Intitialiserer variabel pot3 som et heltall og setter det lik 4 int pot4 = 3; // Intitialiserer variabel pot4 som et heltall og setter det lik 5 int val1; // Intitialiserende variabel val1 som et heltall int val2; // Intitialiserende variabel val2 som et heltall int val3; // Intitialiserende variabel val3 som et heltall int val4; // Intitialiserende variabel val4 som et heltall int val5; // Intitialiserende variabel val5 som et heltall int val6; // Intitialiserende variabel val6 som et heltall int val7; // Intitialiserende variabel val7 som et heltall int val8; // Intitialiserende variabel val8 som et heltall int mspeed; // Intitialiserende variabel mspeed som et heltall
void setup () {// Arduino initialization stage Serial.begin (9600); // Initialiserer seriell moniter roll1.attach (2); // Fest servorulle1 til digital pin 2 roll2. Fest (3); // Fest servorulle2 til digital pinne 3 elev1. Fest (5); // Fest servo elev1 til digital pin 5 elev2. Fest (6); // Fest servo elev2 til digital pin 6 yaw1. Fest (8); // Fest servo yaw1 til digital pin 8 yaw2. Fest (9); // Fest servo yaw2 til digital pin 9 esc.attach (11); // Fest servo esc til digital pin 11 roll1.write (90); // Skrive servorulle1 til sin sentrerte posisjonrulle2.skrive (90); // Skrive servorulle2 til sin sentrerte posisjon elev1.write (90); // Skrive servo elev1 til sin sentrerte posisjon elev2.write (90); // Skrive servo elev2 til sin sentrerte posisjon yaw1.write (90); // Skrive servo yaw1 til sin sentrerte posisjon yaw2.write (90); // Skrive servo yaw2 til sin sentrerte posisjon esc.write (180); // Skrive servo esc til sin sentrerte posisjonsforsinkelse (2500); // Venter 2 sekunders esc.write (90); forsinkelse (5000); }
void loop () {// Main Code to loop uendelig hvis (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Kontrollerer om "Joystick" (potensiometer) er sentrert roll1.write (90); // Skrive servorulle1 til midtposisjonrull2.skrive (90); // Skrive servorull2 til midtposisjon} annet {// Hva skal jeg gjøre hvis "Joystick" ikke er sentrert val1 = map (val1, 0, 1023, 10, 170); // Kartlegge val1 fra 10 til 170 og tilordne til val1 roll1.write (val1); // Skrive servo roll1 til positon definert av val1 roll2.write (val1); // Skrive servo roll2 til positon definert av val1}
val2 = analogRead (pot2); // Leser pot2 (analog pin 2) og lagre verdi som val2 if (val2> = 485 && val2 <= 540) {// Kontrollerer om "Joystick" (potensiometer) er sentrert elev1.write (90); // Skrive servo elev1 til midtposisjon elev2.write (90); // Skrive servo elev2 til midtposisjon} annet {// Hva skal jeg gjøre hvis "Joystick" ikke er sentrert val3 = map (val2, 0, 1023, 10, 170); // Kartlegging av val2 fra 10 til 170 og tildeling til val3 val4 = map (val2, 0, 1023, 170, 10); // Kartlegging av val2 fra 170 til 10 og tildeling til val4 elev1.write (val3); // Skrive servo elev1 til positon definert av val3 elev2.write (val4); // Skrive servo elev2 til positon definert av val4}
val5 = analogRead (pot3); // Leser pot3 (analog pin 4) og lagre verdi som val5 if (val5> = 485 && val5 <= 540) {// Kontrollerer om "Joystick" (potensiometer) er sentrert yaw1.write (90); // Skrive servo yaw1 til midtposisjon yaw2.write (90); // Skrive servo yaw2 til midtposisjon} annet {// Hva skal jeg gjøre hvis "Joystick" ikke er sentrert val6 = map (val5, 0, 1023, 10, 170); // Kartlegging av val5 fra 10 til 170 og tildeling til val6 val7 = map (val5, 0, 1023, 170, 10); // Kartlegge val5 fra 10 til 170 og tilordne til val7 yaw1.write (val6); // Skrive servo yaw1 til positon definert av val6 yaw2.write (val7); // Skrive servo yaw2 til positon definert av val7}
val8 = analogRead (pot4); // Leser pot4 (analog pin 5) og lagre verdien som val8 if (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Kontrollerer om motoren er i ferd med å endre retning esc.write (80); forsinkelse (1000); // Venter 1000 millisekunder} esc.write (val8); // Skrive servo esc til hastighet definert av val8 mspeed = val8; // Lagre gjeldende hastighet for sammenligning}} Serial.print ("gass"); // Bruk Serial Print til å vise ordet "Throttle" Serial.println (val8); // Bruk seriell utskrift til å vise verdien som gass er satt til Serial.print ("roll"); // Bruk Serial Print til å vise ordet "Roll" Serial.println (val1); // Bruk seriell utskrift til å vise verdien som rullen er satt til Serial.print ("pitch"); // Bruk Serial Print til å vise ordet "Pitch" Serial.println (val3); // Bruk seriell utskrift til å vise verdien som pitch1 er satt til Serial.println (val4); // Bruk seriell utskrift til å vise verdien som pitch2 er satt til Serial.print ("yaw"); // Bruk Serial Print til å vise ordet "Yaw" Serial.println (val6); // Bruk seriell utskrift til å vise verdien som yaw1 er satt til Serial.println (val7); // Bruk seriell utskrift til å vise verdien som yaw2 er satt til}
Trinn 3: Kretsløp
Vedlagt er et bilde av kretsen ombord på nedsenkbar.
Jeg laget et tilpasset skjold for Arduino for å forenkle ledningene mine. Jeg har lastet opp Eagle Schematic & Board -filene for skjoldet. Jeg brukte en LPKF S63 til å frese brettet. Servoene foran som kontrollrullen blir plugget inn i Arduino
vedlagt er et bilde av kretsen inne i kontrolleren.
Trinn 4: 3D -trykte deler
Jeg skrev ut alle disse filene på Monoprice Maker Select Plus. Jeg brukte Esun ABS 1,75 mm filament. Utskriftsinnstillingene mine var 105 grader C for utskriftssengen og 255 grader C for ekstruderens temperatur. Bare 1 av hver del er nødvendig, bortsett fra at du trenger 6 kopier av frontfløyen. Vær oppmerksom på at disse delene ble skrevet ut med veggtykkelse på 1000 mm. Dette ble gjort for at delene skulle skrives ut med 100% utfylling, slik at de ville være negativt flytende.
Trinn 5: Montering
********************************* KOMMER SNART *************** ********************
Anbefalt:
Kontroller et kjøretøy med hånden: 8 trinn
Kontroller et kjøretøy med hånden: Dette prosjektet var for 'Creative Electronics', en BEng Electronics Engineering 4. årsmodul ved University of Málaga, School of Telecommunications (uma.es/etsi-de-telecomunicacion/) I denne instruksjonsboken vil vi se hvordan lage et armbånd
Mobilt akselerometer kontrollert kjøretøy: 3 trinn
Mobile Accelerometer Controlled Vehicle: Dette er et veldig enkelt prosjekt og kan gjøres enkelt. Dette krever en Android -mobil. Hver Android -mobil har et innebygd akselerometer, og vi vil bruke dette til å kontrollere kjøretøyet via Bluetooth. Alt vi trenger å gjøre er å vippe mobilen for å bestemme hva
Kollisjon av kjøretøy med Arduino Nano: 6 trinn
Kollisjonsbilkjøretøy med Arduino Nano: Et kjøretøy for å unngå kollisjoner kan være en veldig enkel robot for å begynne å dykke ned i mikroelektronikken. Vi vil bruke den til å lære de grunnleggende elementene i mikroelektronikk og forbedre den for å legge til mer sofistikerte sensorer og aktuatorer. Grunnleggende komponenter ·
Tiny Freidys kjøretøy: 5 trinn
Tiny Freidy's Vehicle: IN THE STONE ALDER, Once upon a time …… The Freidy has a Vehicle. Jeg lurer på hvordan jeg virkelig kan fjerne kraftbryteren! robot del_4.1. lett, 2.1.5v AAA batt.3. hjemmelaget, 4. elektronisk leketøy, 5
Selvbalanserende etthjuls kjøretøy: 8 trinn (med bilder)
DIY Self-Balancing One Wheel Vehicle: Interessert i noen av trenden med selvbalanserende produkter som segway og solowheel.yes, du kan gå hvor som helst ved å kjøre på hjulet ditt uten å slite. men det er flott hvis du kan få det selv. Vel, la oss bygge det