Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: Programozás
- 3. lépés: Áramkörök
- 4. lépés: 3D nyomtatott alkatrészek
- 5. lépés: Összeszerelés
Videó: Merülő jármű: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
**************** EZ AZ UTASÍTÁS MÉG FOLYAMATOS MUNKA ****************
Ez az oktatható a Dél -Floridai Egyetem Makecourse (www.makecourse.com) projektkövetelményének teljesítésével jött létre.
Ez az Instructable rövid áttekintést nyújt a merülő jármű létrehozásáról, amelyet a Dél -Floridai Egyetem Makecourse osztályához terveztem és építettem. Ebben az utasításban egy anyagjegyzéket, az általam használt Arduino Uno -hoz létrehozott vezérlőkódot és a merülőberendezés összeállításának áttekintését adom meg.
1. lépés: Anyagok
A használt elektronika, ahol:
1x Arduino Uno
1x mobius akció kamera
1x mobius akció kamera usb-b-A/V kábel
1x mező nézet 777 kijelző
1x turnigy marine 50A ESC (elektronikus sebességszabályozó)
1x turnigy tengeri programozókártya
1x T-Motor Navigator 400kv
1x YEP 20A BEC (akkumulátor -eltávolító áramkör)
6x hobby king HK15139 vízálló szervó
2x párhuzamos T-csatlakozó és kábelköteg
2x 18 hüvelykes szervo hosszabbító vezeték
6x 6 hüvelykes szervo hosszabbító vezeték
2x 1300mah 3s Lipo akkumulátor
2x 2500mah 4s Lipo akkumulátor
1x tápegység 5v és 12v fix kimenettel
Az építőanyagok, ahol:
1x 3/16 hüvelykes rétegelt lemez
1x 6 hüvelykes ID ABS szállítócső
1x szilikon cső
1x doboz flex tömítés
4x orsó ABS 3D nyomtatószál
1x 24 hüvelykes fiókos toló
Hőzsugorító cső
1x 10 láb skót márkájú duraloc tépőzár
1x JB Hegeszthető műanyag epoxi
1x 6,2 hüvelyk átmérőjű akril biztonsági kamera kupola
2x IP68 ethernet áthaladás
2x 24 hüvelykes cat6 ethernet kábel
1x 200 lábas cat6 ethernet kábel
A felhasznált hardver a következő volt:
24x 1/2 hüvelykes sárgaréz fa csavarok
24x ------ csavarok (szervókhoz mellékelve)
A használt eszközök:
Fülöp és laposfejű csavarhúzók
Imbuszkulcs készlet
Forrasztópáka
Hőfegyver
3D nyomtató (Monoprice Maker Select Plus -t használtam)
2. lépés: Programozás
Az alábbiakban bemutatjuk a kódot, amelyet a merülőmotor vezérlésére hoztak létre. Az.ino fájlt is letöltöttem, hogy letölthető legyen.
Ezt a kódot az Arduino Uno számára hozták létre az Arduino fordító használatával.
/**********************************************************************************************************************************************************************
Szerző: Jonah Powers Dátum: 2018.11.9. ************************************************** ************************************************** ************************************/#include // A szervokönyvtár szervo roll1 -ét is beleértve; // A tekercs1 szervo tekercsnek nyilvánítása2; // A roll2 deklarálása szervo szervó elev1; // Az elev1 szervo szervová nyilvánítása Servo elev2; // Az elev2 szervo yaw -nak nyilvánítása1; // Az yaw1 szervóvá nyilvánítása Servo yaw2; // yaw2 szervo szervóvá nyilvánítása Servo esc; // Az esc szervónak nyilvánítása
int pot1 = 0; // A pot1 változó inicializálása egész számként, és 0 -ra való beállítása int pot2 = 1; // A pot2 változó inicializálása egész számként és beállítása 2 int pot3 = 2; // A pot3 változó inicializálása egész számként és beállítása 4 int pot4 = 3; // A pot4 változó inicializálása egész számként, és 5 int val1 értékre állítása; // A val1 változó inicializálása egész számként int val2; // A val2 változó inicializálása egész számként int val3; // A val3 változó inicializálása egész számként int val4; // A val4 változó inicializálása egész számként int val5; // A val5 változó inicializálása egész számként int val6; // A val6 változó inicializálása egész számként int val7; // A val7 változó inicializálása egész számként int val8; // A val8 változó inicializálása egész számként int mspeed; // Az mspeed változó inicializálása egész számként
void setup () {// Arduino inicializációs szakasz Serial.begin (9600); // A soros figyelő inicializálása roll1.attach (2); // Szervohenger1 rögzítése a 2. digitális csaphoz roll2.attach (3); // Szervohenger2 rögzítése a 3. digitális tüskéhez elev1.attach (5); // szervo elev1 csatlakoztatása az 5. digitális tűhöz elev2.attach (6); // A szervo elev2 csatlakoztatása a 6 -os digitális csaphoz yaw1.attach (8); // A szervo yaw1 csatlakoztatása a 8 -as digitális csaphoz yaw2.attach (9); // A szervo yaw2 csatlakoztatása a 9 -es digitális csaphoz, pl. Csat. (11); // Szervo esc csatlakoztatása a 11 -es digitális csaphoz roll1.write (90); // Szervo tekercs1 írása a középpontjába roll2.write (90); // Szervo tekercs2 írása középpontjába elev1.write (90); // Szervo elev1 írása középső helyzetébe elev2.write (90); // A szervo elev2 írása középre, yaw1.write (90); // A szervo yaw1 írása a középpontjába yaw2.write (90); // A servo yaw2 írása középső helyzetébe esc.write (180); // Szervo esc írása a középső pozíció késleltetésére (2500); // Várakozás 2 másodperc esc.write (90); késleltetés (5000); }
void loop () {// A fő kód a végtelen ciklushoz, ha (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// Annak ellenőrzése, hogy a "Joystick" (potenciométer) középen van -e roll1.write (90); // Szervohenger1 írása a középső pozícióba roll2.write (90); // A szervo roll2 írása középhelyzetbe} else {// Mi a teendő, ha a "Joystick" nincs középen val1 = map (val1, 0, 1023, 10, 170); // A val1 leképezése 10 -ről 170 -re, és hozzárendelése a val1 -hez roll1.write (val1); // Servo roll1 írása a val1 roll2.write (val1) által meghatározott pozícióba; // A szervo roll2 írása a val1 által meghatározott pozícióba
val2 = analogRead (pot2); // A pot2 olvasása (analóg pin 2), és az érték mentése val2 -ként, ha (val2> = 485 && val2 <= 540) {// Annak ellenőrzése, hogy a "Joystick" (potenciométer) középre van -e állítva elev1.write (90); // szervo elev1 írása középhelyzetbe elev2.write (90); // Szervo elev2 írása középső pozícióba} else {// Mi a teendő, ha a "Joystick" nincs középen val3 = map (val2, 0, 1023, 10, 170); // A val2 leképezése 10 -ről 170 -re és hozzárendelése a val3 -hoz val4 = map (val2, 0, 1023, 170, 10); // A val2 leképezése 170 -ről 10 -re, és hozzárendelése a val4 -hez elev1.write (val3); // Servo elev1 írása a val3 által definiált pozícióba elev2.write (val4); // Servo elev2 írása a val4 által meghatározott pozícióba
val5 = analogRead (pot3); // A pot3 olvasása (analóg 4 -es érintkező), és az érték mentése val5 -ként, ha (val5> = 485 && val5 <= 540) {// Annak ellenőrzése, hogy a "Joystick" (potenciométer) középre van -e irányítva.write (90); // Servo yaw1 írása yaw2.write középső pozícióba (90); // A szervo yaw2 írása a középső pozícióba} else {// Mi a teendő, ha a "Joystick" nincs középen val6 = map (val5, 0, 1023, 10, 170); // A val5 leképezése 10 -ről 170 -re és hozzárendelése a val6 -hoz val7 = map (val5, 0, 1023, 170, 10); // A val5 leképezése 10 -ről 170 -re, és hozzárendelése a val7 -hez yaw1.write (val6); // Servo yaw1 írása a val6 által meghatározott positonba yaw2.write (val7); // A servo yaw2 írása a val7 által meghatározott pozícióba}
val8 = analogRead (pot4); // Pot4 olvasása (analóg 5 -ös tű) és az érték mentése val8 -ként, ha (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Annak ellenőrzése, hogy a motor nem változtat -e irányt esc.write (80); késleltetés (1000); // Várakozás 1000 ezredmásodperc} esc.write (val8); // Szervo esc írása a val8 által meghatározott sebességre mspeed = val8; // Az aktuális sebesség tárolása összehasonlítás céljából}} Serial.print ("fojtószelep"); // Soros nyomtatás használatával a "Throttle" szó megjelenítése Serial.println (val8); // Soros nyomtatás használata a fojtószelep Serial.print ("roll") értékének megjelenítésére; // Soros nyomtatás használata a "Roll" szó megjelenítésére Serial.println (val1); // Soros nyomtatás használata annak megjelenítésére, hogy a tekercs Serial.print ("pitch") értékre van állítva; // Soros nyomtatás használatával a "Pitch" szó megjelenítése Serial.println (val3); // Soros nyomtatás használata annak az értéknek a megjelenítésére, hogy a pitch1 értéke Serial.println (val4); // Soros nyomtatás használata annak az értéknek a megjelenítésére, hogy a pitch2 Serial.print ("yaw"); // Soros nyomtatás használata a "Yaw" szó megjelenítésére Serial.println (val6); // A Soros nyomtatás használatával megmutatja az yaw1 értékét Serial.println (val7); // Soros nyomtatás használata az yaw2 értékének megjelenítésére}
3. lépés: Áramkörök
A mellékelt fotó a merülőberendezés fedélzetén lévő áramkörről.
Egyedi pajzsot készítettem az Arduino számára, hogy egyszerűsítsem a vezetékezést. Feltöltöttem az Eagle Schematic & Board fájljait a pajzshoz. A tábla marásához LPKF S63 -at használtam. a vezérlőtekercs elülső szervóit az Arduino -hoz csatlakoztatják
csatolva egy fénykép a vezérlőn belüli áramkörről.
4. lépés: 3D nyomtatott alkatrészek
Mindezeket a fájlokat kinyomtattam a Monoprice Maker Select Plus készüléken. Esun ABS 1.75mm szálat használtam. A nyomtatási beállítások 105 ° C voltak a nyomtatóágy hőmérsékletén és 255 ° C az extruder hőmérsékletén. Minden részből csak 1 szükséges, kivéve, hogy 6 példányra lesz szüksége az első szárnyra. Megjegyezzük, hogy ezeket az alkatrészeket 1000 mm falvastagsággal nyomtattuk. Ezt úgy tették, hogy az alkatrészeket 100% -os kitöltéssel nyomtatják, így negatívan lebegnek.
5. lépés: Összeszerelés
********************************* HAMAROSAN *************** *******************
Ajánlott:
Szupergyors RC földi hatású jármű (Ekranoplan): 5 lépés (képekkel)
Szupergyors RC földi hatású jármű (Ekranoplan): Tudja, hogy a leszállások során a repülőgépek egy ideig lebegnek néhány méterrel a talaj felett, mielőtt a kerekeik ténylegesen a kifutópályára ütköznek? Ez nemcsak az utasok zökkenőmentes leszállását biztosítja, hanem a talajhatás természetes eredménye is, amelyben
Merülő 2017: 95 lépés
Búvármerős 2017: Bemeríthető 2017
DIY merülő ROV: 8 lépés (képekkel)
DIY merülő ROV: Milyen nehéz lehet? Kiderült, hogy a merülő ROV készítésének számos kihívása volt. De szórakoztató projekt volt, és azt hiszem, nagyon sikeres volt. A célom az volt, hogy ne kerüljön egy vagyonba, könnyű legyen vezetni, és legyen egy camer
BTS - 33 - Merülő: 11 lépés
BTS - 33 - Merülő: Ez az utasítás megtanítja, hogyan készítsen merülőt 3 kapcsolóval
BTS - 28. csapat (R2 -DTimbs) Merülő/tengeralattjáró: 17 lépés
BTS - 28 -as csapat (R2 -DTimbs) Búvármotor/Tengeralattjáró: Oktató a merülőbútor építéséhez olyan anyagokból, amelyek megtalálhatók a helyi hardverboltban. A végső merülőmotor képes előre, hátra, fordulni, felfelé és mozogni végig az egész vízen