
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00


************
Энэхүү зааварчилгаа нь Өмнөд Флоридагийн их сургуулийн Макекурсын төслийн шаардлагыг биелүүлэх зорилгоор бүтээгдсэн болно (www.makecourse.com).
Энэхүү зааварчилгаа нь Өмнөд Флоридагийн их сургуулийн Макекурс ангидаа зориулан бүтээсэн, шумбагч машин бүтээсэн тухай товч танилцуулга болно. Энэхүү гарын авлагад би нэхэмжлэх материал, өөрийн ашиглаж байсан Arduino Uno -д зориулж хийсэн хяналтын код, гүний төхөөрөмжийг хэрхэн угсрах талаархи тоймыг өгөх болно.
Алхам 1: Материал



Электроникийг дараах тохиолдолд ашигладаг.
1 удаа Arduino Uno
1х mobius үйлдлийн камер
1х mobius үйлдлийн камер usb-b to A/V кабель
1х талбар харах 777 дэлгэц
1х турник далайн 50А ESC (электрон хурдны хяналт)
1x turnigy далайн програмчлалын карт
1х T-Motor Navigator 400kv
1x YEP 20A BEC (батерейг арилгах хэлхээ)
6x хобби хаан HK15139 ус нэвтэрдэггүй servos
2 удаа зэрэгцээ T холбогч у бэхэлгээ
2х18 инчийн servo өргөтгөлийн утас
6х6 инчийн servo өргөтгөлийн утас
2x 1300mah 3s Lipo батерей
2x 2500mah 4s Lipo батерей
5х ба 12в тогтмол гаралттай 1х цахилгаан хуваарилах самбар
Барилгын материалууд:
1х 3/16 инчийн фанер хуудас
1x 6 инчийн ID ABS тээврийн хоолой
1х силикон хоолой
1х лааз уян тамга
ABS 3D принтерийн 4 ширхэг дамар
1х24 инчийн шургуулгын шураг
Дулаан багасгах хоолой
1х 10 фут скотч брэнд duraloc velcro
1x JB Weld хуванцар эпокси
1x 6.2 инчийн диаметр бүхий нийлэг хамгаалалтын камерын бөмбөгөр
2 удаа IP68 ethernet дамжуулалт
2х24 инчийн cat6 ethernet кабель
1x 200 фут cat6 ethernet кабель
Хэрэглэсэн тоног төхөөрөмж нь:
24x 1/2 инчийн гуулин модон эрэг
24x ------ эрэг (servos багтсан)
Хэрэглэсэн хэрэгслүүд:
Филип ба Хавтгай толгойтой шураг жолооч
Аллен түлхүүрийн багц
Гагнуурын төмөр
Дулааны буу
3D принтер (Би Monoprice Maker Select Plus ашигласан)
Алхам 2: Програмчлал




Усанд шумбагчийг хянахын тулд бүтээсэн кодыг доор харуулав. Би бас.ino файлыг татаж аваад татаж авлаа.
Энэ кодыг Arduino Uno -д зориулж Arduino хөрвүүлэгч ашиглан бүтээсэн болно.
/**********************************************************************************************************************************************************************
Зохиогч: Жона Пауэрс Огноо: 11/9/2018 Зорилго: Алсын удирдлагатай гүний тээврийн хэрэгслийн хяналтын код ****************************** ************************************************ ************************************************ **********************************/#include // Servo Library Servo roll1 багтсан болно; // Roll1 -ийг servo Servo roll2 гэж зарлаж байна; // Roll2 -ийг servo Servo elev1 гэж зарлаж байна; // elev1 -ийг servo Servo elev2 гэж зарлах; // elev2 -ийг servo Servo yaw1 гэж тунхаглах; // yaw1 -ийг servo Servo yaw2 гэж тунхаглах; // yaw2 -ийг servo Servo esc гэж тунхаглах; // esc -ийг servo гэж тунхаглаж байна
int pot1 = 0; // pot1 хувьсагчийг бүхэл тоо болгон эхлүүлж, 0 int pot2 = 1; // pot2 хувьсагчийг бүхэл тоо болгон эхлүүлж, 2 int pot3 = 2; // pot3 хувьсагчийг бүхэл тоогоор эхлүүлж, 4 int pot4 = 3; // pot4 хувьсагчийг бүхэл тоо болгон эхлүүлж, 5 int val1 -тэй тэнцүү болгох; // val1 хувьсагчийг int val2 бүхэл тоо болгон эхлүүлэх; // val2 хувьсагчийг int val3 бүхэл тоо болгон эхлүүлэх; // val3 хувьсагчийг int val4 бүхэл тоо болгон эхлүүлэх; // val4 хувьсагчийг int val5 бүхэл тоо болгон эхлүүлэх; // val5 хувьсагчийг int val6 бүхэл тоо болгон эхлүүлэх; // val6 хувьсагчийг int val7 бүхэл тоо болгон эхлүүлэх; // val7 хувьсагчийг int val8 бүхэл тоо болгон эхлүүлэх; // val8 хувьсагчийг int mspeed бүхэл тоо болгон эхлүүлэх; // mspeed хувьсагчийг бүхэл тоо болгон эхлүүлэх
void setup () {// Arduino эхлүүлэх үе шат Serial.begin (9600); // Цуваа мониторыг эхлүүлэх roll1.attach (2); // Servo roll1 -ийг дижитал зүү 2 roll2.attach (3) -д холбох; // Servo roll2 -ийг дижитал зүү 3 elev1.attach (5) -д холбох; // Servo elev1 -ийг дижитал зүү 5 elev2.attach (6) -д холбох; // Servo elev2 -ийг тоон зүү 6 yaw1.attach (8) -д холбох; // Servo yaw1 дижитал зүү 8 yaw2.attach (9) -д холбох; // Servo yaw2 -ийг тоон зүү 9 -д залгах esc.attach (11); // Servo esc -ийг дижитал зүү 11 өнхрөхөд залгах1.write (90); // Servo roll1 -ийг түүний төвлөрсөн байрлалд бичих2.write (90); // Servo roll2 -ийг төв байрлал руу бичих elev1.write (90); // Servo elev1 -ийг төв байрлал руу бичих elev2.write (90); // Servo elev2 -ийг төв байрлал руу бичих yaw1.write (90); // Servo yaw1 -ийг yaw2 төвлөрсөн байрлалд бичих.write (90); // Servo yaw2 -ийг төв байрлалд бичих esc.write (180); // Servo esc бичих нь түүний төвлөрсөн байрлал дахь саатал (2500); // 2 секунд хүлээх esc.write (90); саатал (5000); }
void loop () {// Үндсэн код нь хязгааргүй хүрд хийх бол (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// "Joystick" (потенциометр) төвд өнхрөх эсэхийг шалгах1.write (90); // Servo roll1 -ийг төв байрны өнхрүүлэгт бичих2.write (90); // Servo roll2 -ийг төв байрлалд бичих} өөр {// "Joystick" төвгүй бол яах вэ val1 = map (val1, 0, 1023, 10, 170); // val1 -ийг 10 -аас 170 хүртэл зурж, val1 roll1.write (val1) руу хуваарилах; // val1 roll2.write (val1) -ээр тодорхойлогдсон позитон руу servo roll1 бичих. // val1 тодорхойлсон позитон руу servo roll2 бичих
val2 = analogRead (pot2); // pot2 унших (аналог 2 -р зүү) ба хэрэв утгыг val2 гэж хадгалвал (val2> = 485 && val2 <= 540) {// "Joystick" (потенциометр) нь elev1.write (90) төвтэй эсэхийг шалгаж байна. // Servo elev1 -ийг төвийн байрлал руу бичих2. Бичих (90); // Servo elev2 -ийг төв байрлалд бичих} өөр {// "Joystick" төвгүй бол яах вэ val3 = map (val2, 0, 1023, 10, 170); // val2 -ийг 10 -аас 170 хүртэл зурж, val3 -д шилжүүлэх val4 = газрын зураг (val2, 0, 1023, 170, 10); // val2 -ийг 170 -аас 10 хүртэл зурж, val4 -д хуваарилах elev1.write (val3); // val3 elev2 тодорхойлсон позитон руу servo elev1 бичих. Бичих (val4); // val4 тодорхойлсон позитон руу servo elev2 бичих
val5 = analogRead (pot3); // Унших pot3 (аналог 4 -р зүү) ба val5 гэж хадгалсан тохиолдолд val5 гэж хадгална уу (val5> = 485 && val5 <= 540) {// "Joystick" (потенциометр) yaw1.write (90) төвтэй эсэхийг шалгаж байна. // Seraw yaw1 -ийг төв байр руу бичих yaw2.write (90); // Servo yaw2 -ийг төв байрлалд бичих} өөр {// "Joystick" төвд ороогүй бол яах вэ val6 = map (val5, 0, 1023, 10, 170); // val5 -ийг 10 -аас 170 хүртэл зурж, val6 -д хуваарилах val7 = газрын зураг (val5, 0, 1023, 170, 10); // val5 -ийг 10 -аас 170 хүртэл зурж, val7 -д хуваарилах yaw1.write (val6); // val6 yaw2.write (val7) -ээр тодорхойлогдсон позитонд yaw1 servo бичих. // val7 тодорхойлсон позитонд yaw2 servo бичих
val8 = analogRead (pot4); // Pot4 унших (5 -р аналог зүү) ба хэрэв val8> 470 && val8 80 && val8 <80) байвал val8 болгон хадгална уу || 80); саатал (1000); // 1000 миллисекунд хүлээж байна} esc.write (val8); // Val8 mspeed = val8 тодорхойлсон хурд руу servo esc бичих. // Харьцуулахын тулд одоогийн хурдыг хадгалах}} Serial.print ("тохируулагч"); // Serial.println (val8) "Throttle" гэсэн үгийг харуулахын тулд Serial Print ашиглан; // Serial.print ("өнхрөх") тохируулагчийн утгыг харуулахын тулд Serial Print -ийг ашиглах; // "Roll" Serial.println (val1) гэсэн үгийг харуулахын тулд Serial Print ашиглан; // Цуваа хэвлэхийг ашиглан өнхрүүлгийг Serial.print ("давирхай") болгож тохируулсан утгыг харуулах; // Serial.println (val3) "Pitch" гэсэн үгийг харуулахын тулд Serial Print ашиглан; // Serial Print ашиглан pitch1 -ийг Serial.println (val4) болгож тохируулсан утгыг харуулна. // pitch2 -ийг Serial.print ("yaw") болгож тохируулсан утгыг харуулахын тулд Serial Print -ийг ашиглах; // "Yaw" Serial.println (val6) гэсэн үгийг харуулахын тулд Serial Print ашиглан; // Serial Print ашиглан yaw1 -ийг Serial.println (val7) болгож тохируулсан утгыг харуулна. // yaw2 -ийг тохируулсан утгыг харуулахын тулд Serial Print -ийг ашиглана уу}
Алхам 3: Цахилгаан хэлхээ
Усанд шумбагч онгоцны тойрог замын зургийг хавсаргав.
Би Arduino -д утсаа хялбарчлах зориулалттай бамбай хийсэн. Би Eagle Schematic & Board файлуудыг бамбайнд байршуулсан. Би самбарыг тээрэмдэхийн тулд LPKF S63 ашигласан. Хяналтын өнхрөх урд талын servos Arduino -д залгагдах болно
хянагчийн доторх хэлхээний зургийг хавсаргав.
Алхам 4: 3D хэвлэсэн эд анги
Би эдгээр бүх файлыг Monoprice Maker Select Plus дээрээ хэвлэсэн. Би Esun ABS 1.75mm судалтай утас ашигласан. Миний хэвлэх тохиргоо нь хэвлэх орны температур 105 градус, экструдерийн температур 255 градус байв. Хэсэг тус бүрээс зөвхөн 1 ширхэг хэрэгтэй бөгөөд зөвхөн урд далавчны 6 хувь хэрэгтэй болно. Эдгээр хэсгүүдийг ханын зузаан нь 1000 мм байхаар хэвлэсэн болохыг анхаарна уу. Энэ нь эд ангиудыг 100% дүүргэгчээр хэвлэхийн тулд сөрөг хөвөх чадвартай байхаар хийгдсэн юм.
Алхам 5: Чуулган
********************************* ТУН УДАХГҮЙ *************** *******************
Зөвлөмж болгож буй:
OMeJI - 15 баг SubBob Squarepants Усанд шумбах: 37 алхам

OMeJI - 15 -р баг SubBob Squarepants шумбагч: Энэ бол 1/2 инчийн 40 -р схемд суурилсан PVC гүний/алсын удирдлагатай машин юм. Энэ нь давхар дэгээ бүхий есөн футын усан сангийн ёроолд хоёр туг авахаар зохион бүтээгдсэн байв. Энэхүү тугнууд нь Академийн ахлах сургуулийн сурагчдын дунд зохион байгуулсан тэмцээний нэг хэсэг байв
BTS - Нерди надтай шумбагч онгоцоор ярина: 11 алхам

BTS-Нерди надтай ярилц шумбагч онгоц: Материал: 12 ширхэг 6 инчийн PVC хоолой 2 ширхэг 3 инчийн PVC хоолой 1 ширхэг 18 инчийн PVC хоолой 8 ширхэг 3 талын тохой 1 t тохой 3, 2 фут утас 3 унтраалга 3 хөдөлгүүр 3 сэнс 1 цахилгаан хангамж
Усанд сэлэгч: 6 алхам (зурагтай)

Усанд сэлэгч: Номхон далайн алтан хошуу гэгддэг Колеаг ахмад Күүк Таитид, дараа нь таван жилийн дараа Арктикийн үржлийн газарт харжээ. Энэхүү аяллыг GPS -ээр хянах нь 4.0 gm -ийн дэд төхөөрөмжтэй болох хүртэл саяхан болтол боломжгүй байсан
BTS SES шумбагч онгоц: 38 алхам

BTS SES шумбагч онгоц: шумбагч онгоцыг эхлүүл
BTS - Баг 28 (R2 -DTimbs) Усанд шумбагч/шумбагч онгоц: 17 алхам

BTS - 28 -р баг (R2 -DTimbs) Усанд шумбагч/шумбагч онгоц: Орон нутгийн тоног төхөөрөмжийн дэлгүүрээс авах боломжтой материалаар шумбагч бүтээх заавар. Эцсийн шумбагч нь урагш, хойшоо, эргэх, дээш өргөх, хөдөлгөх боломжтой болно. усан даяар