Բովանդակություն:
Video: Սուզվող մեքենա `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
**************** ԱՅՍ ՀԱՍՈUCTՍԱԿԱԼԸ ԴԵՌ ԱՇԽԱՏԱՆՔԱՅԻՆ GRԱՐԳԱՄԱՆ Է ****************
Այս հրահանգը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com):
Այս Instructable- ը կլինի հակիրճ պատկերացում այն սուզվող մեքենայի ստեղծման մասին, որը ես նախագծել և կառուցել եմ Հարավային Ֆլորիդայի համալսարանի Makecourse դասի համար: Այս Ուղեցույցում ես կտրամադրեմ նյութերի օրինագիծ, իմ օգտագործած Arduino Uno- ի կառավարման ծածկագիրը և ակնարկ, թե ինչպես հավաքել սուզվողը:
Քայլ 1: Նյութեր
Էլեկտրոնիկան օգտագործվում է այնտեղ, երբ.
1x Arduino Uno
1x mobius գործողության տեսախցիկ
1x mobius գործողության տեսախցիկ usb-b to A/V մալուխ
1x դաշտային տեսք 777 ցուցադրման էկրան
1x turnigy marine 50A ESC (էլեկտրոնային արագության կառավարում)
1x turnigy ծովային ծրագրավորման քարտ
1x T-Motor Navigator 400 կՎ
1x YEP 20A BEC (մարտկոցի վերացման միացում)
6x հոբբի արքա HK15139 անջրանցիկ սպասարկողներ
2x զուգահեռ T- միակցիչ y ամրագոտիներ
2x 18 դյույմ servo երկարացման լարեր
6 x 6 դյույմ servo երկարացման լարեր
2x 1300mah 3s Lipo մարտկոցներ
2x 2500mah 4s Lipo մարտկոցներ
1x էներգաբաշխիչ տախտակ ՝ 5 վ և 12 վ ֆիքսված ելքերով
Շինանյութեր, որտեղ `
Նրբատախտակի 1x 3/16 դյույմ թերթիկ
1x 6 դյույմ ID ABS առաքման խողովակ
1x սիլիկոնե խողովակ
Ճկուն կնիքի 1 x տարա
ABS 3D տպիչի թելիկի 4 անգամ պտուտակ
1x 24 դյույմ գզրոցի սահիկ
Heերմային նեղացման խողովակ
1x 10 ոտնաչափ շոտլանդական ապրանքանիշի duraloc velcro
1x JB Weld պլաստիկ էպոքսիդ
1x 6,2 դյույմ տրամագծով ակրիլային անվտանգության տեսախցիկի գմբեթ
2x IP68 Ethernet անցում
2x 24 դյույմ cat6 ethernet մալուխ
1x 200 ոտնաչափ cat6 ethernet մալուխ
Օգտագործված սարքավորումն էր.
24x 1/2 դյույմ փողային փայտի պտուտակներ
24x ------ պտուտակներ (ներառված են սերվերի հետ)
Օգտագործված գործիքները.
Philip's և Flat head պտուտակահաններ
Ալենի բանալիների հավաքածու
Oldոդման երկաթ
Heերմային ատրճանակ
3D տպիչ (ես օգտագործել եմ Monoprice Maker Select Plus)
Քայլ 2: mingրագրավորում
Ստորև բերված է ծածկագիրը, որը ստեղծվել է սուզվողը կառավարելու համար: Ես նաև կցել եմ.ino ֆայլը, որպեսզի այն ներբեռնվի:
Այս կոդը ստեղծվել է Arduino Uno- ի համար ՝ օգտագործելով Arduino կոմպիլյատորը:
/**********************************************************************************************************************************************************************
Հեղինակ ՝ Jonah Powers Ամսաթիվ ՝ 11/9/2018 Նպատակ ՝ Հեռակառավարվող ստորջրյա տրանսպորտային միջոցի կառավարման կոդ **************************** *********************************************** *********************************************** ********************************** # #ներառել // Ներառյալ Servo Library Servo roll1; // Roll1- ը սերվո Servo roll2 հռչակելը; // roll2- ը սերվո հայտարարելը Servo lift1; // վերելքը հռչակելով որպես սերվո Servo lift2; // lift2- ը սերվո հայտարարելը Servo yaw1; // yaw1- ին սերվո հայտարարելը Servo yaw2; // yaw2- ին servo Servo esc հայտարարելը; // esc- ի սերվո հայտարարելը
int pot1 = 0; // Փոփոխական pot1- ի ինտիտալացում որպես ամբողջ թիվ և այն հավասար 0 int pot2 = 1; // Փոփոխական pot2- ի ինտիտալացում որպես ամբողջ թիվ և այն հավասար 2 int pot3 = 2; // Փոփոխական pot3- ի ինտերիլիզացում որպես ամբողջ թիվ և այն հավասար 4 int pot4 = 3; // Փոփոխական pot4- ի ինտերիլիզացում որպես ամբողջ թիվ և այն հավասար 5 int val1; // փոփոխական արժեքի intitializing որպես integer int val2; // Val2 փոփոխականի ինտիտալիզացում ՝ որպես ամբողջական int val3; // փոփոխական արժեքի intitializing որպես ամբողջական int val4; // փոփոխական արժեքի intitializing որպես integer int val5; // փոփոխականի ինտիտալիզացիա ՝ որպես ամբողջական int val6; // փոփոխական միջամտություն val6 որպես ամբողջություն int val7; // փոփոխականի ինտիտալիզացիա որպես ամբողջական int val8; // փոփոխականի ինտիտալիզացիա ՝ որպես ամբողջական int mspeed; // փոփոխական mspeed- ի ինտիտալիզացիա որպես ամբողջ թիվ
void setup () {// Arduino- ի սկզբնավորման փուլ Serial.begin (9600); // Սերիական մոնիտորի roll1.attach- ի մեկնարկավորում (կցել (2); // servo roll1- ի ամրացում թվային կապում 2 roll2.attach (3); // servo roll2- ի ամրացում թվային 3 -րդ pin1 lift1.attach (5); // servo lift1- ի ամրացում թվային 5 -րդ pin2 lift2.attach (6); // servo lift2- ի ամրացում թվային փին 6 yaw1.attach (8); // servo yaw1- ի ամրացում 8 yaw2.attach թվային կապին (9); // servo yaw2- ի ամրացում թվային 9 -րդ կապին esc.attach (11); // servo esc- ի ամրացում թվային քորոց 11 roll1.write (90); // servo roll1 գրել կենտրոնացված դիրքում roll2.write (90); // servo roll2 գրելը իր կենտրոնացված դիրքում lift1.write (90); // servo lift1 գրել իր կենտրոնացված դիրքում lift2.write (90); // servo lift2 գրել կենտրոնացված դիրքում 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) {// Ստուգում ՝ արդյոք «oyոյստիկ» (պոտենցիոմետր) կենտրոնացած է roll1.write (90); // servo roll1 գրել կենտրոնական դիրքում roll2.write (90); // servo roll2 գրել կենտրոնական դիրքի վրա} այլ {{ինչ անել, եթե «oyոյստիկը» կենտրոնացված չէ val1 = քարտեզ (val1, 0, 1023, 10, 170); // val1 քարտեզագրում 10 -ից 170 -ի և val1 roll1.write- ին նշանակելը (val1); // գրել servo roll1- ին val1 roll2.- ով սահմանված պոզիտոնի վրա; գրել (val1); // գրել servo roll2 դեպի poziton, որը սահմանվում է val1} - ով
val2 = analogRead (pot2); // Կարդում ենք pot2 (անալոգային քորոց 2) և պահում արժեքը որպես val2, եթե (val2> = 485 && val2 <= 540) {// Ստուգում ՝ տեսնելու, թե արդյոք «oyոյստիկ» (պոտենցիոմետր) կենտրոնացած է բարձր1.գրեք (90); // servo lift1 գրել կենտրոնական դիրքի lift2.write (90); // servo lift2 գրել կենտրոնական դիրքի վրա} else {// Ինչ անել, եթե «oyոյստիկը» կենտրոնացված չէ val3 = քարտեզ (val2, 0, 1023, 10, 170); // val2 քարտեզագրում 10 -ից 170 -ի և val3 val4- ին նշանակել = քարտեզ (val2, 0, 1023, 170, 10); // val2 քարտեզագրումը 170 -ից 10 -ը և val4 lift1.- ին նշանակելը (val3); // գրել servo lift1 դեպի poziton, որը սահմանվում է val3 lift2.write- ով (val4); // գրել servo lift2- ին valit- ով սահմանված poziton- ին
val5 = analogRead (pot3); // Կարդում ենք pot3 (անալոգային քորոց 4) և պահում արժեքը որպես val5, եթե (val5> = 485 && val5 <= 540) {// Ստուգում ՝ արդյոք «oyոյստիկ» (պոտենցիոմետր) կենտրոնացած է yaw1.write (90); // servo yaw1 գրել կենտրոնական դիրքի yaw2.write (90); // servo yaw2 գրել կենտրոնական դիրքին} else {// Ինչ անել, եթե «oyոյստիկ» -ը կենտրոնացված չէ val6 = քարտեզ (val5, 0, 1023, 10, 170); // val5- ի քարտեզագրում 10 -ից 170 -ի և val6- ի համար val7 = քարտեզի (val5, 0, 1023, 170, 10); // val5 քարտեզագրում 10 -ից 170 -ի համար և val7 yaw1.write- ին նշանակելը (val6); // servo yaw1 գրել valit ya62.write (val7) սահմանած դիրքի վրա; // servo yaw2 գրել val7- ով սահմանված դիրքի վրա
val8 = analogRead (pot4); // Կարդում ենք pot4 (անալոգային փին 5) և պահում արժեքը որպես val8, եթե (val8> 470 && val8 80 && val8 <80) || (mspeed80)) {// Ստուգում ՝ տեսնելու, թե արդյոք շարժիչը պատրաստվում է փոխել ուղղությունը esc.write (80); ուշացում (1000); // Սպասում է 1000 միլիվայրկյան} esc.write (val8); // servo esc գրել val8 mspeed = val8- ով սահմանված արագությամբ; // Համեմատության համար ընթացիկ արագության պահպանում}} Serial.print («շնչափող»); // Օգտագործելով Serial Print- ը «Throttle» բառը ցուցադրելու համար Serial.println (val8); // Օգտագործելով Serial Print ՝ ցուցադրելու այն արժեքը, որը շնչափողը սահմանում է Serial.print («գլորում»); // Օգտագործելով Serial Print ՝ «Roll» բառը ցուցադրելու համար Serial.println (val1); // Օգտագործելով Serial Print ՝ ցուցադրելու այն արժեքը, որը գլանված է Serial.print («սկիպիդար»); // Օգտագործելով Serial Print ՝ «Pitch» բառը ցուցադրելու համար Serial.println (val3); // Օգտագործելով Serial Print ՝ ցույց տալու արժեքը, որը pitch1- ը սահմանել է Serial.println (val4); // Օգտագործելով Serial Print ՝ ցույց տալու արժեքը, որը pitch2- ը սահմանել է Serial.print («yaw»); // Օգտագործելով Serial Print ՝ «Yaw» բառը ցուցադրելու համար Serial.println (val6); // Օգտագործելով Serial Print ՝ ցույց տալու արժեքը, որը yaw1- ը սահմանել է Serial.println (val7); // Serial Print- ի օգտագործումը `yaw2- ի սահմանած արժեքը ցույց տալու համար}
Քայլ 3: Շղթա
Կից տեղադրված է սուզվող նավի վրա գտնվող շղթայի լուսանկարը:
Ես Arduino- ի համար ստեղծեցի հատուկ վահան `իմ էլեկտրագծերը պարզեցնելու համար: Ես վերբեռնել եմ Eagle Schematic & Board ֆայլերը վահանի համար: Ես օգտագործել եմ LPKF S63 տախտակը ֆրեզերելու համար: առջևի Servos- ը, որը վերահսկում է գլանը, միացված կլինի Arduino- ին
կցված է հսկիչի ներսում շղթայի լուսանկարը:
Քայլ 4: 3D տպագիր մասեր
Այս բոլոր ֆայլերը ես տպել եմ Monoprice Maker Select Plus- ում: Ես օգտագործել եմ Esun ABS 1.75 մմ թել: Տպման իմ կարգավորումները 105 աստիճան C էին `տպագիր մահճակալի ջերմաստիճանի և 255 աստիճան C, արտամղիչ ջերմաստիճանի համար: Յուրաքանչյուր մասից միայն 1 -ն է անհրաժեշտ, բացի այն, որ ձեզ հարկավոր է առջևի թևի 6 օրինակ: Ուշադրություն դարձրեք, որ այս մասերը տպագրվել են 1000 մմ պատի հաստությամբ: Դա արվել է այնպես, որ մասերը տպվեն 100% լցվածով, որպեսզի դրանք բացասական լիցքավորվեն:
Քայլ 5: Հավաքում
********************************* ՇՈՒՏՈՎ *************** *******************
Խորհուրդ ենք տալիս:
Rանկացած մեքենա/մեքենա դարձնել Bluetooth հավելվածի վերահսկման մեքենա ՝ 9 քայլ
Rանկացած R/C մեքենա վերածել Bluetooth ծրագրի կառավարման R/C մեքենայի. Այս նախագիծը ցույց է տալիս սովորական հեռակառավարման մեքենան Bluetooth (BLE) կառավարման մեքենայի Wombatics SAM01 ռոբոտաշինական տախտակով, Blynk App- ով և MIT App Inventor- ով փոխելու քայլերը: շատ ցածր գնով RC մեքենաներ են `բազմաթիվ հնարավորություններով, ինչպիսիք են LED լուսարձակները և
Սուզվող ընդդեմ աղբյուրի հոսանքի Արդուինոյում. 3 քայլ
Սուզվող ընդդեմ աղբյուրի հոսանքի Արդուինոյում
DIY սուզվող ROV. 8 քայլ (նկարներով)
DIY սուզվող ROV. Որքա՞ն դժվար կարող է լինել: Պարզվում է, որ սուզվող ROV- ի պատրաստման մի քանի մարտահրավեր կար: Բայց դա զվարճալի նախագիծ էր, և ես կարծում եմ, որ այն բավականին հաջողված էր: Իմ նպատակն այն էր, որ դրա համար մի ամբողջ կարողություն չարժենար, մեքենա վարելը դյուրին լիներ և մեքենա ունենալ
BTS - 33 - Սուզվող ՝ 11 քայլ
BTS - 33 - սուզվող. Այս հրահանգը կսովորեցնի ձեզ, թե ինչպես սուզվել 3 անջատիչով
BTS - Թիմ 28 (R2 -DTimbs) Սուզվող/սուզանավ ՝ 17 քայլ
BTS - Թիմ 28 (R2 -DTimbs) Սուզվող/սուզանավ. Տեղական շինանյութի խանութում հայտնաբերվող նյութերից սուզվող սարքելու ձեռնարկ ներքև ամբողջ ջրով