Բովանդակություն:

Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս. 9 քայլ
Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս. 9 քայլ

Video: Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս. 9 քայլ

Video: Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս. 9 քայլ
Video: Երբեք մի նվիրեք և մի ընդունեք այս նվերները. ահա թե ինչու… 2024, Հուլիսի
Anonim
Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս
Ուղեցույց, որը ես կցանկանայի ունենալ Arduino անօդաչու թռչող սարք կառուցելիս

Այս փաստաթուղթը մի տեսակ «Ինչպես ուղղորդել» կտրված փաստաթղթերն են, որոնք անցնում են այն գործընթացով, որն ինձանից պահանջեց հասկանալ այն հասկացությունները, որոնք կհասնեն պարզ քառակուսու կառուցման իմ նպատակին, որը կարող եմ կառավարել իմ բջջային հեռախոսից:

Այս նախագիծն իրականացնելու համար ես ուզում էի պատկերացում կազմել, թե ինչ է իրականում անօդաչու թռչող սարքը, իմ դեպքում `քառակուսի ուղղաթիռը, ուստի սկսեցի որոշակի հետազոտություններ կատարել: Ես դիտեցի YouTube- ի շատ տեսանյութեր, կարդացի մի շարք հոդվածներ և Անուղղելի էջեր, և ահա թե ինչ ստացա:

Ըստ էության, դուք կարող եք անօդաչու թռչող սարքը բաժանել երկու մասի: Ես այն անվանեցի «Ֆիզիկական» և «Վերահսկիչ»: The Physical- ը, ըստ էության, այն ամենն է, ինչ կապված է մեխանիկի հետ, որը ստիպում է անօդաչու թռչել: Սրանք այնպիսի բաներ են, ինչպիսիք են շարժիչը, շրջանակը, մարտկոցը, պտուտակները և ամեն այլ բան, որը ֆիզիկապես անօդաչու թռչողությանը հնարավորություն է տալիս թռչել:

Կառավարիչը, ըստ էության, թռիչքի վերահսկիչն է: Ինչն է վերահսկում ֆիզիկականը, որպեսզի անօդաչուն կարողանա թռչել որպես ամբողջ միավոր ՝ առանց ընկնելու: Ըստ էության, միկրոկառավարիչը, դրա վրա տեղադրված ծրագրակազմը և այն տվիչները, որոնք օգնում են այն եռանկյունացնել իր առանցքակալները: Այսպիսով, անօդաչու թռչող սարք ունենալու համար ինձ անհրաժեշտ էր վերահսկիչ և մի շարք ֆիզիկական մասեր, որպեսզի վերահսկիչը «վերահսկեր»:

Պարագաներ

Նախագծի բյուջեն ՝ $ 250

Timeամկետ ՝ 2 շաբաթ

Գնելու բաներ

  • Ֆիզիկական շրջանակ ՝ 20 դոլար
  • Շեղբեր 0 $ (գալիս է շրջանակով)
  • Մարտկոցի փաթեթ 25 դոլար
  • ESC (էլեկտրոնային արագության կարգավորիչներ) $ 0 (գալիս է շարժիչներով)
  • Շարժիչներ ՝ 70 դոլար

Թռիչքի վերահսկիչ

  • Arduino nano 20 դոլար
  • Arduino USB մալուխ 2 դոլար
  • Bluetooth մոդուլ (HC-05) 8 դոլար
  • 3 մմ LED և 330 Օմ դիմադրիչներ և լարեր ՝ 13 դոլար
  • GY-87 (արագացուցիչ, գիրոսկոպ) 5 դոլար
  • Նախատիպի տախտակ 10 դոլար
  • Արական և իգական վերնագրեր ՝ 5 դոլար

Այլ

  • Sոդման հավաքածու 10 դոլար
  • Մուլտիմետր 20 դոլար

Ես ցանկանում էի վայելել այս նախագծի կառուցումը որպես ինժեներ, ուստի գնեցի որոշ այլ իրեր, որոնց կարիքը չունեի:

Ընդհանուր `$ 208

Քայլ 1: Իմ սկզբնական փորձը

Իմ բոլոր բաղադրամասերը գնելուց հետո ես բոլորը միասին հավաքեցի, այնուհետև փորձեցի գործարկել անօդաչու թռչող սարքը ՝ օգտագործելով Multiwii (ծրագրակազմ, որը շատ DIY անօդաչու թռչող սարքեր են օգտագործում), սակայն արագ հասկացա, որ լիովին չեմ հասկանում, թե ինչ եմ անում էր, քանի որ շատ սխալներ կային, և ես գաղափար չունեի, թե ինչպես դրանք շտկել:

Դրանից հետո ես որոշեցի առանձնացնել անօդաչու թռչող սարքը և հասկանալ յուրաքանչյուր բաղադրիչ մաս առ մաս և վերակառուցել այն այնպես, որ ես լիովին հասկանամ այն ամենը, ինչ կատարվում էր:

Հաջորդ բաժիններում ես կանցնեմ գլուխկոտրուկը միասին կազմելու գործընթացը: Մինչ այդ եկեք արագ ակնարկ ստանանք:

Ֆիզիկական

Ֆիզիկականի համար մենք պետք է ունենանք `շրջանակ, պտուտակներ, մարտկոց և escs: Սրանք բավականին հեշտ կլինի համատեղել: Այս մասերը հասկանալու և որոնք պետք է ձեռք բերեք, կարող եք այցելել այս հղումը: Նա բացատրում է այն, ինչ դուք պետք է իմանաք ՝ իմ թվարկված մասերից յուրաքանչյուրը գնելու մասին: Դիտեք նաև Youtube- ի այս տեսանյութը: Դա կօգնի ձեզ, եթե խրված լինեք մասերը միացնելով իրար:

Քայլ 2. Խորհուրդներ ֆիզիկական մասերը պառակտելու և կարգաբերելու վերաբերյալ

Ֆիզիկական մասերի մասնատման և կարգաբերման վերաբերյալ խորհուրդներ
Ֆիզիկական մասերի մասնատման և կարգաբերման վերաբերյալ խորհուրդներ

Պտուտակներ և շարժիչներ

  • Ստուգելու համար, թե արդյոք ձեր պտուտակները ճիշտ կողմնորոշման մեջ են (շրջված է, թե ոչ), երբ դրանք պտտում եք շարժիչների նշած ուղղությամբ (շարժիչների մեծ մասում սլաքներ կան, որոնք ցույց են տալիս, թե ինչպես պետք է պտտվեն), դուք պետք է քամի զգաք պտուտակների տակ և ոչ վերևում:.
  • Հակառակ պտուտակների պտուտակները պետք է լինեն նույն գույնի:
  • Հարակից պտուտակների գույնը պետք է լինի նույնը:
  • Նաև համոզվեք, որ շարժիչները այնպես եք դասավորել, որ նրանք պտտվեն այնպես, ինչպես վերևում պատկերված է:
  • Եթե փորձում եք շրջել շարժիչի ուղղությունը, պարզապես փոխեք լարերը հակառակ ծայրերում: Սա կշրջի շարժիչի ուղղությունը:

Մարտկոց և էներգիա

  • Եթե ինչ -ինչ պատճառներով ինչ -որ բան կայծում է, և դուք չեք կարող պարզել, թե ինչու, ապա ամենայն հավանականությամբ դա տեղի է ունենում այն պատճառով, որ փոխվել են դրական և բացասական կողմերը:
  • Եթե վստահ չեք, թե երբ եք լիցքավորելու մարտկոցները, կարող եք օգտագործել վոլտմետր ՝ լարումը ստուգելու համար: Եթե այն մարտկոցի բնութագրերից ցածր է, ապա այն պետք է լիցքավորվի: Ստուգեք ձեր մարտկոցները լիցքավորելու այս հղումը:
  • LIPO մարտկոցների մեծ մասը չի գալիս մարտկոցի լիցքավորիչով: Դուք դրանք առանձին եք գնում:

Քայլ 3: Arduino վերահսկիչ

Arduino վերահսկիչ
Arduino վերահսկիչ

Սա, անկասկած, այս նախագծի ամենաբարդ մասն է: Շատ հեշտ է պայթեցնել բաղադրիչները, և կարգաբերումը կարող է չափազանց հիասթափեցնող լինել, եթե չգիտեք, թե ինչ եք անում: Նաև այս նախագծում ես վերահսկեցի իմ անօդաչուն ՝ օգտագործելով bluetooth և ծրագիր, որը ես ձեզ ցույց կտամ, թե ինչպես կառուցել: Սա հատկապես դժվարացրեց նախագիծը, քանի որ այնտեղի ձեռնարկների 99% -ը օգտագործում է ռադիոկառավարիչներ (սա իրականություն չէ), բայց մի անհանգստացեք, ես հիասթափության միջով եմ անցել ձեզ համար:

Այս ճանապարհորդությունը սկսելուց առաջ խորհուրդներ

  • Օգտագործեք տախտակ, նախքան ձեր սարքը PCB- ում վերջնական տեսքի բերելը: Սա թույլ է տալիս հեշտությամբ փոփոխություններ կատարել:
  • Եթե դուք բաղադրիչը լայնորեն փորձարկել եք և այն չի աշխատում, հավանաբար այն չի աշխատում:
  • Նայեք, թե ինչ լարումներ կարող է ունենալ սարքը միացնելուց առաջ:

    • Arduino- ն կարող է աշխատել 6 -ից 20 Վ, բայց փորձեք այն 12 Վ -ով սահմանել, որպեսզի այն չպայթեցնեք: Դրա բնութագրերի մասին ավելին կարող եք կարդալ այստեղ:
    • HC-05- ը կարող է աշխատել մինչև 5 Վ, բայց որոշ կապումներն աշխատում են 3.3 Վ-ով, այնպես որ զգուշացեք դրանից: Այդ մասին կխոսենք ավելի ուշ:
    • IMU- ն (GY-521, MPU-6050) աշխատում է նաև 5 Վ-ով:
  • Մենք կօգտագործենք RemoteXY ՝ մեր ծրագիրը կառուցելու համար: Եթե ցանկանում եք այն կառուցել iOS սարքի վրա, ապա պետք է օգտագործեք այլ Bluetooth մոդուլ (The HM-10): Այս մասին ավելին կարող եք իմանալ RemoteXY կայքում:

Հուսանք, որ կարդացել եք խորհուրդները: Այժմ եկեք փորձարկենք յուրաքանչյուր բաղադրիչ, որը վերահսկիչի մաս կլինի առանձին:

Քայլ 4: MPU-6050

MPU-6050
MPU-6050

Այս սարքն ունի գիրոսկոպ և արագացուցիչ, ուստի այն էապես պատմում է ձեզ արագացումն ուղղությամբ (X, Y, Z) և անկյունային արագացումն այդ ուղղություններով:

Սա ստուգելու համար մենք կարող ենք օգտագործել այս ձեռնարկը, կարող ենք օգտագործել այս ձեռնարկը Arduino կայքում: Եթե այն աշխատում է, դուք պետք է ստանաք արագացուցիչի և գիրոսկոպի արժեքների հոսք, որոնք փոխվում են կարգաբերման թեքման, պտտման և արագացման ընթացքում: Բացի այդ, փորձեք փոփոխել և շահարկել ծածկագիրը, որպեսզի իմանաք, թե ինչ է կատարվում:

Քայլ 5: HC-05 Bluetooth մոդուլ

HC-05 Bluetooth մոդուլ
HC-05 Bluetooth մոդուլ
HC-05 Bluetooth մոդուլ
HC-05 Bluetooth մոդուլ
HC-05 Bluetooth մոդուլ
HC-05 Bluetooth մոդուլ

Պետք չէ անել այս մասը, բայց կարևոր է կարողանալ անցնել AT ռեժիմ (կարգավորումների ռեժիմ), քանի որ, ամենայն հավանականությամբ, ստիպված կլինեք փոխել մոդուլի պարամետրերից մեկը: Սա այս նախագծի ամենահիասթափեցնող հատվածներից մեկն էր: Ես այնքան հետազոտություն կատարեցի ՝ պարզելու համար, թե ինչպես կարող եմ մոդուլս միացնել AT ռեժիմի, քանի որ իմ սարքը չէր պատասխանում իմ հրամաններին: Ինձանից 2 օր պահանջվեց եզրակացնելու, որ իմ մոդուլը խախտված է: Ես պատվիրեցի ևս մեկը, և այն աշխատեց: Ստուգեք AT ձեռնարկի անցնելու այս ձեռնարկը:

HC-05- ը գալիս է տարբեր տեսակների, կան կոճակներով, իսկ ոմանք `առանց և բոլոր տեսակի դիզայնի փոփոխականներով: Այս մեկը, սակայն, հաստատուն է, այն է, որ նրանք բոլորն ունեն «34 կապ»: Ստուգեք այս ձեռնարկը:

Բաներ, որոնք դուք պետք է իմանաք

  • AT ռեժիմին անցնելու համար բավական է 5V պահել Bluetooth մոդուլի 34 -ը ամրացնելու համար, նախքան այն միացնելը:
  • Միացրեք պոտենցիալ բաժանարարը մոդուլի RX կապին, քանի որ այն աշխատում է 3.3 Վ -ով: Դուք դեռ կարող եք օգտագործել այն 5 Վ լարման դեպքում, բայց այն կարող է տապակել, եթե ինչ -որ բան այն չլինի:
  • Եթե օգտագործում եք Pin 34 -ը (կոճակի կամ առցանց գտած այլ եղանակի փոխարեն), մոդուլը bluetooth- ի բաուդ արագությունը կդարձնի 38400: Այդ իսկ պատճառով վերևի ձեռնարկի հղման մեջ ծածկագրում կա մի տող, որն ասում է.

BTSerial.begin (38400); // HC-05- ի կանխադրված արագությունը AT հրամանում ավելին

Եթե մոդուլը դեռ չի պատասխանում «OK» - ով, փորձեք միացնել tx և rx կապերը: Այն պետք է լինի

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Եթե դա դեռ չի աշխատում, ընտրեք կոդի կապում փոխել Arduino- ի այլ կապում: Փորձարկեք, եթե այն չի աշխատում, փոխեք tx և rx կապերը, ապա նորից փորձեք:

SoftwareSerial BTSerial (10, 11); // RX | TX

Փոխեք վերը նշված տողը: Կարող եք փորձել RX = 2, TX = 3 կամ ցանկացած այլ վավեր համակցություններ: Դուք կարող եք դիտել Arduino- ի կապի համարները վերևի պատկերում:

Քայլ 6: Մասերի միացում

Մասերի միացում
Մասերի միացում

Այժմ, երբ վստահ ենք, որ ամեն ինչ աշխատում է, ժամանակն է սկսել դրանք համատեղել: Դուք կարող եք միացնել մասերը այնպես, ինչպես ցույց է տրված սխեմայում: Ես դա ստացել եմ Electronoobs- ից: Նա իսկապես օգնեց ինձ այս նախագծում: Ստուգեք նախագծի նրա տարբերակը այստեղ: Եթե հետևում եք այս ձեռնարկին, ապա պետք չէ անհանգստանալ ընդունիչի միացումների մասին ՝ input_Yaw, input_Pitch և այլն: Այդ ամենը կկարգավորվի bluetooth- ով: Բացի այդ, միացրեք bluetooth- ը այնպես, ինչպես մենք արել ենք նախորդ բաժնում: Իմ tx և rx կապումներն ինձ մի փոքր դժվարություն էին պատճառում, այնպես որ ես օգտագործեցի Արդուինոյի.

RX- ը `2, իսկ TX- ը` 3, սովորական քորոցների փոխարեն: Հաջորդը, մենք պետք է գրենք մի պարզ ծրագիր, որը մենք կշարունակենք կատարելագործել մինչև վերջնական արտադրանքը ունենալը:

Քայլ 7. RemoteXY- ի գեղեցկությունը

RemoteXY- ի գեղեցկությունը
RemoteXY- ի գեղեցկությունը

Ամենաերկար ժամանակ ես մտածում էի օգտագործելի Հեռակառավարվող ծրագիր ստեղծելու հեշտ ճանապարհի մասին, որը թույլ կտար ինձ կառավարել անօդաչու թռչող սարքը: Մարդկանց մեծ մասն օգտագործում է MIT App Inventor- ը, սակայն UI- ն այնքան գեղեցիկ չէ, որքան ես կցանկանայի, և ես նաև պատկերային ծրագրավորման երկրպագու չեմ: Ես կարող էի այն նախագծել Android Studio- ի միջոցով, բայց դա պարզապես շատ աշխատանք կլիներ: Ես չափազանց ոգևորված էի, երբ գտա RemoteXY- ի միջոցով ձեռնարկ: Ահա կայքի հղումը: Դա չափազանց հեշտ է օգտագործել, և փաստաթղթերը շատ լավ են: Մենք կստեղծենք պարզ UI մեր անօդաչուի համար: Դուք կարող եք հարմարեցնել ձերն այնպես, ինչպես ցանկանում եք: Պարզապես համոզվեք, որ դուք գիտեք, թե ինչ եք անում: Հետևեք հրահանգներին այստեղ:

Դա անելուց հետո մենք կխմբագրենք ծածկագիրը, որպեսզի կարողանանք փոխել բեռնախցիկի շնչափողը: Ձեր ծածկագրին ավելացրեք այն տողերը, որոնք ունեն / **** և ինչ պետք է անեք, և ինչու *** /:

Եթե այն չի հավաքվում, համոզվեք, որ գրադարանը ներբեռնված է: Նաև բացեք էսքիզների օրինակ և համեմատեք, թե ինչ ունի այն, ինչը ձերն ունի:

////////////////////////////////////////////////// RemoteXY- ը ներառում է գրադարան // //////////////////////////////////////////////

// RemoteXY ընտրեք կապի ռեժիմը և ներառեք գրադարանը

#սահմանեք REMOTEXY_MODE_HC05_SOFTSERIAL

#ներառել #ներառել #ներառել

// RemoteXY կապի կարգավորումներ

#սահմանել REMOTEXY_SERIAL_RX 2 #սահմանել REMOTEXY_SERIAL_TX 3 #սահմանել REMOTEXY_SERIAL_SPEED 9600

// Պտուտակներ

Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;

// RemoteXY կազմաձևված

#պրագմայի փաթեթ (հրում, 1) uint8_t Հեռակա XY_CONF = {255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0}; // այս կառուցվածքը սահմանում է ձեր կառավարման ինտերֆեյսի կառուցվածքի բոլոր փոփոխականները {

// մուտքային փոփոխական

int8_t Joystick_x; // -100..100 x- կոորդինատային ջոյստիկի դիրքը int8_t Joystick_y; // -100..100 y- կոորդինատային ջոյսթիկի դիրքը int8_t ThrottleSlider; // 0..100 սահիչի դիրքորոշում

// այլ փոփոխական

uint8_t Connect_flag; // = 1, եթե լարը միացված է, այլապես = 0

} RemoteXY;

#պրագմայի փաթեթ (փոփ)

/////////////////////////////////////////////

// END RemoteXY- ն ներառում է // //////////////////////////////////////// /

/********** Ավելացրեք այս տողը `շնչափողի արժեքը պահելու համար **************/

int մուտք_THROTTLE;

void setup () {

RemoteXY_Init ();

/********** Շարժիչները կցեք կապում Փոխեք արժեքները `ձեր ձայներին համապատասխան **************

L_F_prop.attach (4); // ձախ առջևի շարժիչ

L_B_prop.attach (5); // ձախ հետևի շարժիչ R_F_prop.attach (7); // աջ առջևի շարժիչ R_B_prop.attach (6); // աջ հետևի շարժիչ

/************* Կանխել esc- ի մուտքը ծրագրավորման ռեժիմ *******************/

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); ուշացում (1000);

}

դատարկ շրջան () {

RemoteXY_Handler ();

/*

input_THROTTLE = քարտեզ (RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);

L_F_prop.writeMicroseconds (input_THROTTLE);

L_B_prop.writeMicroseconds (input_THROTTLE); R_F_prop.writeMicroseconds (input_THROTTLE); R_B_prop.writeMicroseconds (input_THROTTLE); }

Քայլ 8: Փորձարկում

Եթե ամեն ինչ ճիշտ եք արել, դուք պետք է կարողանաք ստուգել ձեր բեռնատարը ՝ սահեցնելով շնչափողը վեր և վար: Համոզվեք, որ դա անում եք դրսում: Նաև մի պահեք պտուտակները, քանի որ դա կհանգեցնի թռիչքի թռիչքի: Մենք դեռ չենք գրել ծածկագիրը հավասարակշռելու համար, այնպես որ դա ՎԱ IDԱՅԻՆ ԻԴԵԱ կլինի, որ սա փորձարկվի հրթիռների հետ: Ես դա արեցի միայն այն պատճառով, որ լամո:

Ույցը պարզապես ցույց տալու համար է, որ մենք պետք է կարողանանք վերահսկել շնչափողը հավելվածից: Դուք կնկատեք, որ շարժիչները կակազում են: Դա պայմանավորված է նրանով, որ ESC- ները ճշգրտված չեն: Դա անելու համար նայեք այս Github էջի հրահանգներին: Կարդացեք հրահանգները, բացեք ESC-Calibration.ino ֆայլը և հետևեք այդ հրահանգներին: Եթե ցանկանում եք հասկանալ, թե ինչ է կատարվում, ստուգեք Electronoobs- ի այս ձեռնարկը:

Theրագիրը գործարկելիս համոզվեք, որ անօդաչուն կապում եք լարերով, քանի որ այն կշարունակի լիարժեք շնչափողը: Նաև համոզվեք, որ պտուտակները միացված չեն: Ես իմը թողեցի միայն այն պատճառով, որ կիսով չափ խենթ եմ: ՄԻ ԹՈ LԵՔ ՁԵՐ ՀՐԱՊԵՏՆԵՐԻՆ !!! Այս ցուցադրումը ցուցադրվում է երկրորդ տեսանյութում:

Քայլ 9. Ես աշխատում եմ օրենսգրքի վրա: Ուսուցիչը կավարտի մի քանի օրվա ընթացքում:

Պարզապես ուզում էի ավելացնել, որ եթե դուք օգտագործում եք այս ձեռնարկը և սպասում եք ինձ, ես դեռ աշխատում եմ դրա վրա: Պարզապես իմ կյանքում այլ բաներ են ի հայտ եկել, որոնց վրա ես նույնպես աշխատում եմ, բայց մի անհանգստացեք, շուտով կտեղադրեմ: Ասենք ամենաուշը մինչև 2019 թվականի օգոստոսի 10 -ը:

Օգոստոսի 10 -ի թարմացում. Ես չէի ուզում ձեզ կախ թողնել: Unfortunatelyավոք, անցյալ շաբաթ ժամանակ չունեի նախագծի վրա աշխատելու համար: Շատ զբաղված են եղել այլ բաներով: Ես չեմ ուզում քեզ առաջ տանել: Հուսով եմ մոտ ժամանակներս կավարտեմ ուսուցողականը: Եթե ունեք որևէ հարց կամ օգնության կարիք ունեք, կարող եք մեկնաբանություն ավելացնել ստորև, և ես կպատասխանեմ ձեզ:

Խորհուրդ ենք տալիս: