Satura rādītājs:
- 1. solis: materiāli
- 2. solis: programmēšana
- 3. solis: shēma
- 4. solis: 3D drukātās detaļas
- 5. solis: montāža
Video: Iegremdējams transportlīdzeklis: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
**************** ŠĪ INSTRUKCIJA Joprojām ir DARBS, KAS IR PROCESĀ ****************
Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com).
Šis pamācība būs īss pārskats par iegremdējamā transportlīdzekļa izveidi, ko es izstrādāju un uzbūvēju savai Makecourse nodarbībai Dienvidfloridas Universitātē. Šajā pamācībā es sniegšu materiālu sarakstu, kontroles kodu, ko izveidoju Arduino Uno, ko izmantoju, kā arī pārskatu par iegremdējamā elementa salikšanu.
1. solis: materiāli
Elektroniku izmanto, ja:
1x Arduino Uno
1x mobius darbības kamera
1x mobius darbības kamera usb-b uz A/V kabeli
1x lauka skats 777 displeja ekrāns
1x turnigy marine 50A ESC (elektroniska ātruma kontrole)
1x turnigy jūras programmēšanas karte
1x T-Motor Navigator 400kv
1x YEP 20A BEC (akumulatora likvidēšanas ķēde)
6x hobija karalis HK15139 ūdensnecaurlaidīgi servo
2x paralēli T savienotājs un siksnas
2x 18 collu servo pagarinātāja vadi
6x 6 collu servo pagarinājuma vadi
2x 1300mah 3s Lipo baterijas
2x 2500mah 4s Lipo baterijas
1x strāvas sadales plate ar 5v un 12v fiksētu izeju
Būvmateriāli, kur:
1x 3/16 collu saplākšņa loksne
1x 6 collu ID ABS piegādes caurule
1x silikona caurule
1x elastīgā blīvējuma kārba
4x ABS 3D printera pavedienu spoles
1x 24 collu atvilktnes slaids
Termiski saraušanās caurule
1x 10 pēdas skotu zīmola duraloc velcro
1x JB Weld plastmasas epoksīdsveķis
1x 6,2 collu diametra akrila drošības kameru kupols
2x IP68 Ethernet caurlaides
2x 24 collu cat6 Ethernet kabelis
1x 200 pēdu cat6 Ethernet kabelis
Izmantotā aparatūra bija:
24x 1/2 collu misiņa koka skrūves
24x ------ skrūves (iekļautas servos)
Izmantotie rīki:
Filipa un plakanās galvas skrūvgrieži
Sešstūra atslēgu komplekts
Lodāmurs
Siltuma lielgabals
3D printeris (es izmantoju Monoprice Maker Select Plus)
2. solis: programmēšana
Zemāk ir kods, kas tika izveidots, lai kontrolētu iegremdējamo. Esmu pievienojis arī.ino failu, lai to varētu lejupielādēt.
Šis kods tika izveidots Arduino Uno, izmantojot Arduino kompilatoru.
/**********************************************************************************************************************************************************************
Autors: Jonah Powers Datums: 11.09.2018. Mērķis: Tālvadības iegremdējamā transportlīdzekļa kontroles kods ****************************** ************************************************* ************************************************* ************************************/#include // Ieskaitot Servo Library Servo roll1; // Roll1 pasludināšana par servo Servo roll2; // Roll2 pasludināšana par servo Servo elev1; // elev1 pasludināšana par servo Servo elev2; // elev2 pasludināšana par servo Servo yaw1; // yaw1 pasludināšana par servo Servo yaw2; // yaw2 pasludināšana par servo Servo esc; // Esc pasludināšana par servo
int pot1 = 0; // Inicializējot mainīgo pot1 kā veselu skaitli un nosakot to vienādu ar 0 int pot2 = 1; // Inicializējot mainīgo pot2 kā veselu skaitli un nosakot to vienādu ar 2 int pot3 = 2; // Inicializējot mainīgo pot3 kā veselu skaitli un nosakot to vienādu ar 4 int pot4 = 3; // Inicializējot mainīgo pot4 kā veselu skaitli un nosakot to vienādu ar 5 int val1; // Inicializējošais mainīgais val1 kā vesels skaitlis int val2; // Inicializējošais mainīgais val2 kā vesels skaitlis int val3; // Inicializējošais mainīgais val3 kā vesels skaitlis int val4; // Inicializējošais mainīgais val4 kā vesels skaitlis int val5; // Inicializējošais mainīgais val5 kā vesels skaitlis int val6; // Inicializējošais mainīgais val6 kā vesels skaitlis int val7; // Inicializējošais mainīgais val7 kā vesels skaitlis int val8; // Inicializējošais mainīgais val8 kā vesels skaitlis int mspeed; // Inicializē mainīgo mspeed kā veselu skaitli
void setup () {// Arduino inicializācijas posms Serial.begin (9600); // Sērijveida monitora ruļļa inicializēšana1.attach (2); // Servo ruļļa1 pievienošana digitālajai tapai 2 roll2.attach (3); // Servo ruļļa2 pievienošana digitālajai tapai 3 elev1.attach (5); // Servo elev1 pievienošana digitālajai tapai 5 elev2.attach (6); // Servo elev2 pievienošana digitālajai tapai 6 yaw1.attach (8); // Servo yaw1 pievienošana digitālajai tapai 8 yaw2.attach (9); // Servo yaw2 pievienošana digitālajai tapai 9 esc.attach (11); // Servo esc pievienošana digitālajai tapai 11 roll1.write (90); // Servo ruļļa1 rakstīšana uz tās centrēto stāvokli roll2.write (90); // Servo ruļļa2 rakstīšana tā centrālajā pozīcijā elev1.write (90); // Servo elev1 rakstīšana centrālajā pozīcijā elev2.write (90); // Servo elev2 ierakstīšana centrālajā pozīcijā yaw1.write (90); // Servo yaw1 rakstīšana uz tās centrālo pozīciju yaw2.write (90); // Servo yaw2 ierakstīšana tā centrālajā pozīcijā esc.write (180); // Servo esc rakstīšana uz tās centrētās pozīcijas aizkavi (2500); // Gaida 2 sekundes esc.write (90); kavēšanās (5000); }
void loop () {// Galvenais kods bezgalīgi cilpai, ja (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta roll1.write (90); // Servo ruļļa1 ierakstīšana centrālajā pozīcijā roll2.write (90); // Servo roll2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "Joystick" nav centrēts val1 = karte (val1, 0, 1023, 10, 170); // Val1 kartēšana no 10 līdz 170 un piešķiršana val1 roll1.write (val1); // Servo roll1 rakstīšana uz pozīciju, ko definē val1 roll2.write (val1); // Servo roll2 rakstīšana uz pozīciju, ko definē val1}
val2 = analogRead (pot2); // Pot2 lasīšana (analogā tapa 2) un vērtības saglabāšana kā val2, ja (val2> = 485 && val2 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta elev1.write (90); // Servo elev1 rakstīšana centrālajā pozīcijā elev2.write (90); // Servo elev2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "kursorsviru" nav centrējis val3 = karte (val2, 0, 1023, 10, 170); // Val2 kartēšana no 10 līdz 170 un piešķiršana val3 val4 = map (val2, 0, 1023, 170, 10); // Val2 kartēšana no 170 līdz 10 un piešķiršana val4 elev1.write (val3); // Servo elev1 rakstīšana uz pozīciju, ko definē val3 elev2.write (val4); // Servo elev2 rakstīšana uz pozīciju, ko definē val4}
val5 = analogRead (pot3); // Pot3 lasīšana (analogā tapa 4) un vērtības saglabāšana kā val5 if (val5> = 485 && val5 <= 540) {// Pārbaude, vai "kursorsvira" (potenciometrs) ir centrēta yaw1.write (90); // Servo yaw1 rakstīšana centrālajā pozīcijā yaw2.write (90); // Servo yaw2 ierakstīšana centrālajā pozīcijā} else {// Ko darīt, ja "Joystick" nav centrēts val6 = karte (val5, 0, 1023, 10, 170); // Val5 kartēšana no 10 līdz 170 un piešķiršana val6 val7 = karte (val5, 0, 1023, 170, 10); // Val5 kartēšana no 10 līdz 170 un piešķiršana val7 yaw1.write (val6); // Servo yaw1 rakstīšana uz pozīciju, ko definē val6 yaw2.write (val7); // Servo yaw2 rakstīšana uz pozīciju, ko definē val7}
val8 = analogRead (pot4); // Pot4 lasīšana (analogā tapa 5) un vērtības saglabāšana kā val8, ja (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Pārbaude, vai motors gatavojas mainīt virzienu esc.write (80); kavēšanās (1000); // Gaida 1000 milisekundes} esc.write (val8); // Servo esc ierakstīšana ātrumā, ko nosaka val8 mspeed = val8; // Pašreizējā ātruma saglabāšana salīdzināšanai}} Serial.print ("droseļvārsts"); // Izmantojot sērijveida druku, lai parādītu vārdu "droseļvārsts" Serial.println (val8); // Sērijas drukas izmantošana, lai parādītu vērtību, ka droseļvārsts ir iestatīts uz Serial.print ("roll"); // Serial Print izmantošana, lai parādītu vārdu "Roll" Serial.println (val1); // Sērijas drukas izmantošana, lai parādītu vērtību, kas rullim ir iestatīta uz Serial.print ("piķis"); // Serial Print izmantošana, lai parādītu vārdu "Pitch" Serial.println (val3); // Sērijas drukas izmantošana, lai parādītu vērtību, kurā piķis1 ir iestatīts uz Serial.println (val4); // Sērijas drukas izmantošana, lai parādītu vērtību, kurai pitch2 ir iestatīta vērtība Serial.print ("yaw"); // Serial Print izmantošana, lai parādītu vārdu "Yaw" Serial.println (val6); // Serial Print izmantošana, lai parādītu vērtību, kas yaw1 ir iestatīta uz Serial.println (val7); // Sērijas drukas izmantošana, lai parādītu vērtību, kurai yaw2 ir iestatīta uz}
3. solis: shēma
Pievienots zemūdens kuģa ķēdes fotoattēls.
Es izveidoju pielāgotu vairogu Arduino, lai vienkāršotu elektroinstalāciju. Esmu augšupielādējis Eagle Shematic & Board failus vairogam. Plātnes frēzēšanai izmantoju LPKF S63. Servo priekšpusē, kas ir vadības rullis, tiks pievienoti Arduino
pievienots shēmas fotoattēls kontroliera iekšpusē.
4. solis: 3D drukātās detaļas
Es visus šos failus izdrukāju savā Monoprice Maker Select Plus. Es izmantoju Esun ABS 1.75mm pavedienu. Mani drukas iestatījumi bija 105 grādi drukas gultas temperatūrai un 255 grādi ekstrūdera temperatūrai. Nepieciešams tikai 1 no katras daļas, izņemot to, ka jums būs nepieciešami 6 priekšējā spārna eksemplāri. Ņemiet vērā, ka šīs detaļas tika drukātas ar sienas biezumu 1000 mm. Tas tika darīts tā, lai detaļas tiktu drukātas ar 100% pildījumu, lai tās būtu negatīvi peldošas.
5. solis: montāža
********************************* DRĪZUMĀ *************** *******************
Ieteicams:
Super FAST RC zemes efekta transportlīdzeklis (Ekranoplan): 5 soļi (ar attēliem)
Super FAST RC Ground Effect Vehicle (Ekranoplan): Vai jūs zināt, kā nolaišanās laikā lidmašīnas kādu laiku lidinās dažas pēdas virs zemes, pirms to riteņi faktiski sasniegs skrejceļu? Tas ne tikai nodrošina pasažieriem vienmērīgu nosēšanos, bet arī ir dabisks zemes efekta rezultāts, kurā
Bērnu četrinieku uzlaušana pašbraucienā, rindas ievērošana un šķēršļu noteikšanas transportlīdzeklis: 4 soļi
Bērnu četrinieku uzlaušana pašbraucošā, līniju ievērošanas un šķēršļu noteikšanas transportlīdzeklī: Šodienas pamācībā mēs pārvērtīsim 1000 vatu (jā, es to daudz zinu!) Elektrisko bērnu četrinieku par pašbraucošu, rindas sekošanas un šķēršļu novēršanas transportlīdzekli! Demo video: https: //youtu.be/bVIsolkEP1kŠim projektam mums būs nepieciešami šādi materiāli
Iesācēju pašbraucošs robotizēts transportlīdzeklis ar izvairīšanos no sadursmēm: 7 soļi
Iesācēju pašbraucošs robotizēts transportlīdzeklis ar izvairīšanos no sadursmes: Sveiki! Laipni lūdzam manā iesācējiem draudzīgajā pamācībā par to, kā izveidot savu pašbraucošu robotu, izvairoties no sadursmēm un izmantojot GPS navigāciju. Augšpusē ir YouTube videoklips, kas demonstrē robotu. Tas ir paraugs, lai parādītu, kā patiesa autonomija
Iegremdējams 2017: 95 soļi
Iegremdējams 2017: iegremdējams 2017
BTS - 33 - iegremdējams: 11 soļi
BTS - 33 - iegremdējams: šis pamācība iemācīs jums izveidot iegremdējamu ar 3 slēdžu vadību