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

RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum Telemetry- ի հետ) `7 քայլ
RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum Telemetry- ի հետ) `7 քայլ

Video: RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum Telemetry- ի հետ) `7 քայլ

Video: RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum Telemetry- ի հետ) `7 քայլ
Video: RC Airplane 1st time pilot 2024, Հունիսի
Anonim
RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum հեռաչափության հետ)
RC ինքնաթիռի բարձրաչափ (համատեղելի Spektrum հեռաչափության հետ)

Ես արեցի այս բարձրաչափը, որպեսզի օդաչուն իմանա, որ նրանք գտնվում են ԱՄՆ -ում RC ինքնաթիռների 400 ոտնաչափ սահմանի տակ: Իմ ընկերը մտահոգված էր, քանի որ նա չէր կարող հստակ ասել, որ ինքը միշտ գտնվում էր 400 ոտնաչափի տակ, և ցանկանում էր ունենալ լրացուցիչ երաշխիք, որ կտա հեռաչափության տվյալներով սենսորը: Այո, դուք կարող եք ձեռք բերել սենսոր Spektrum- ից, բայց կարող եք կառուցել այս նախագիծը 20 դոլարից պակաս գնով ՝ բեկումնային տախտակներով (որոնք արդեն իսկ ուռճացված են գներով): Եթե արդեն ունեք J-link ծրագրավորող, կարող եք այն կառուցել սովորական տախտակի վրա ՝ մի քանի դոլարով: Էլ չասած, երբ հասկանում եք Xbus արձանագրությունը, կարող եք կատարել ցանկացած այլ օժանդակ սենսոր: Բայց այս նախագծում ես պարզապես բարձրաչափ եմ ծածկելու…

Մասերի ցուցակ.

  • Այս նախագծի համար ես օգտագործեցի Seeeduino XIAO միկրոկառավարիչ տախտակ, քանի որ այն փոքր է, օգտագործում է M0 պրոցեսոր, որն այս նախագծի համար ունի շատ հզորություն, և I2C և SPI- ն պատրաստ է տուփից դուրս գալու համար, և օգտագործում է 3.3 վ տրամաբանություն, այնպես որ մակարդակի փոփոխություն չկա: պահանջվում է:

    https://www.seeedstudio.com/Seeeduino-XIAO-Arduino…

  • Օդի ճնշումը զգալու համար ես Adafruit- ից գնել եմ BMP388 ճեղքման տախտակ: Տախտակն ունի I2C և SPI կոտրված, և կարող է աշխատել 3.3v կամ 5v տրամաբանությամբ:

    https://www.adafruit.com/product/3966

  • Protoboard սխեման միացնելու համար
  • Sոդման/զոդման երկաթ
  • Արական/իգական կապի վերնագրեր, որպեսզի ես հեշտությամբ անջատեմ սենսորը/միկրոկոնտրոլերը:
  • Փոքր կոճակ: Ես օգտագործում եմ սա սկզբնական բարձրությունը վերականգնելու համար:
  • 10k դիմադրություն կոճակը քաշելու համար:
  • JST-XH 4 փին իգական միակցիչ ՝ Spektrum ստացողի հեռաչափության պորտին միանալու համար
  • SEGGER J-Link EDU ծրագրավորող ՝ M0- ն առանց բեռնիչ բեռնաթափելու համար:

    https://www.adafruit.com/product/3571

  • Adafruit SWD 10-պինտ բեկումնային տախտակ

    www.adafruit.com/product/2743

Պարագաներ

  • Ես նաև 3D- ով տպեցի փոքր պարիսպ իմ բարձրաչափի համար, բայց դրա կարիքը չկա:
  • Օսլիլոսկոպ- Եթե դուք չունեք մեկը, ես խորհուրդ եմ տալիս այս մեկը.

    https://store.digilentinc.com/analog-discovery-2-1…

Քայլ 1: Իմացեք Spektrum հեռաչափության արձանագրությունը

Իմացեք Spektrum հեռաչափության արձանագրությունը
Իմացեք Spektrum հեռաչափության արձանագրությունը
Իմացեք Spektrum հեռաչափության արձանագրությունը
Իմացեք Spektrum հեռաչափության արձանագրությունը
Իմացեք Spektrum հեռաչափության արձանագրությունը
Իմացեք Spektrum հեռաչափության արձանագրությունը

Սա ինձ համար հիմնականում արեց Ռեյմոնդ Դոմինգոն: Նրանք արդեն սարքել էին Spektrum- ի հետ համատեղելի բարձրաչափ, այնպես որ այդ աղբյուրի կոդին հետևելը իսկապես օգնեց: Spektrum հեռաչափության տվյալների թերթիկը լրացրեց մնացած բացերը: Ընդունիչից տվյալների մակարդակները չափելը ցույց տվեց, որ ինձ անհրաժեշտ կլինի 3.3 վ տրամաբանություն:

Ստացողը ուղարկում է սարքի հասցեն, այնուհետև ակնկալում է 16 բայթ պատասխան: Տվյալների թերթիկը ցույց է տալիս բոլոր տարբեր սենսորների կառուցվածքները: Նույնիսկ եթե կառուցվածքը 16 բայթ չէ, ստացողը ամեն անգամ 16 բայթ հետ է ակնկալում:

Spektrum Datasheet:

www.spektrumrc.com/ProdInfo/Files/SPM_Tele…

Ռայմոնդ Դոմինգոյի նախագիծը.

www.aerobtec.com/download/altisSpektrumInte…

Քայլ 2: Ընտրեք Սարքաշար

Ընտրեք Սարքաշար
Ընտրեք Սարքաշար
Ընտրեք Սարքաշար
Ընտրեք Սարքաշար
Ընտրեք Սարքաշար
Ընտրեք Սարքաշար

Ես օգտագործել եմ Adafruit- ից BMP388 ճեղքման տախտակը ճնշման զգայացման համար: Բեկումն ապահովում է I2C և SPI ճեղքումներ և աշխատում է 3.3v կամ 5v տրամաբանությամբ: Adafruit- ը միշտ զարմանալի աշխատանք է կատարում իր ջարդման տախտակների հետ, այնպես որ ես այն գնել եմ: Ես դրա փոխարեն օգտագործեցի DFRobot Gravity BMP388 տախտակ, քանի որ իմ Adafruit տախտակն արդեն օգտագործվում էր:

Հաշվի առնելով, որ ընդունող I2C սարքը օգտագործում է 3.3v տրամաբանություն, ինձ անհրաժեշտ էր 3.3v միկրոկոնտրոլեր, և ես ուզում էի, որ այն փոքր լիներ: Ես պատրաստվում էի օգտագործել Adafruit Trinket M0- ը, բայց դրանք համեմատաբար թանկ են, և շատ քորոցներ չունեն: Հետո ես գտա Seeeduino XIAO տախտակը: Դա M0 տախտակ է ՝ I2C- ով և SPI- ով, որոնք պատրաստ են գործարկման, USB-C միակցիչով: Բացի այդ, դա իսկապես շատ փոքր է: Ընդհանուր առմամբ, ես իսկապես սիրում եմ այս խորհուրդը (չնայած դանդաղ գործարկման բյուրեղը ինձ ընդմիշտ տևեց պարզելու համար):

Spektrum- ն ընդունիչի վրա օգտագործում է JST-XH չափի 4-փին արական միակցիչ «Xbus» պորտի համար, որին մենք կպչենք: Ես բարձրաչափի վրա օգտագործեցի 4-պինյա JST-XH կանացի խրոց, և այն կատարյալ աշխատեց:

Քայլ 3: Գրեք ծրագրակազմ

Ես օգտագործել եմ Arduino IDE- ն ՝ ամբողջ ծածկագիրը գրելու համար: Ես պատճենեցի Spektrum հեռաչափության արձանագրությունը դրանց տվյալների թերթից և այն ավելացրեցի իմ Arduino գրադարանում: Քանի որ Adafruit- ն միշտ ունի գեղեցիկ գրադարաններ իրենց ճեղքման համար, ես օգտագործեցի նրանց BMP3XX գրադարանը BMP388 սենսորի համար:

Իմ դիզայնի հիմնական արդյունքները հետևյալն են.

  • Կարգավորեք I2C- ն, որ իրեն պահի որպես հաճախորդի սարք և արձագանքի Spektrum բարձրաչափի հասցեին (0x12):
  • Կարդացեք BMP388 բարոմետրը SPI- ի միջոցով:
  • Պահպանեք բարձրության տվյալները երկու տարբեր բուֆերներում, որպեսզի ստացողից I2C- ի հարցումը չփչացնի տվյալները և տվյալների բեռնման ժամանակ փոխարինեք երկու բուֆերների միջև: Սա համոզված է, որ ստացողին ուղարկված տվյալները միշտ ամբողջական են:
  • Օգտագործում է բարձրությունը չափող զրոյական կոճակ:

Լրացուցիչ մանրամասների և ծածկագրերի վերլուծության համար դիտեք տեսանյութը:

Քայլ 4: Մալուխը միացրեք

Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան
Հաղորդալար շղթան

Ես օգտագործում էի նախատախտակ, բայց եթե ցանկանում եք ժամանակ հատկացնել ՝ մշակելու համար հարմարեցված աղացած տախտակ, կարող եք միացումն ավելի մաքուր դարձնել:

JST-XH միակցիչը միացրեցի XIAO- ի I2C կապումներին: Քանի որ ստացողը 5 վոլտ է թողարկում հեռաչափության ավտոբուսին, ավտոբուսից դրականը գնաց դեպի XIAO- ի VCC պին: Այդ կերպ, 3.3v կարգավորիչը օգտագործվում է BMP388 սենսորը սնուցելու համար:

Քայլ 5: Կազմեք առանց բեռնախցիկի

Կազմել առանց բեռնախցիկի
Կազմել առանց բեռնախցիկի
Կազմել առանց բեռնախցիկի
Կազմել առանց բեռնախցիկի
  1. Գտեք ձեր boards.txt ֆայլը (ինչ տախտակի համար էլ օգտագործեք):

    Իմ դեպքում, այն գտնվում էր այստեղ ՝ C: / Users / AppData / Local / Arduino15 / packages / Seeeduino / hardware / samd / 1.7.7 / boards.txt

  2. Պատճենեք ձեր տախտակը և վերանվանեք առաջին բանալին ՝ առանց բեռնախցիկի տարբերակ նշելու համար: Ես պարզապես ավելացրել եմ _nbl սկզբնական անվանմանը:

    • Հին ՝ seeed_XIAO_m0
    • Նոր ՝ seeed_XIAO_m0_nbl
  3. Փոխել.name արժեքը.

    • Հին ՝ seeed_XIAO_m0_nbl.name = Տեսածուինո XIAO
    • Նոր ՝ seeed_XIAO_m0_nbl.name = Seeeduino XIAO առանց բեռնիչ
  4. Փոփոխեք կապող սարքը `առանց bootloader- ի բռնկման` փոխելով շինարարի ld սցենարը.

    • Հին: seeed_XIAO_m0_nbl.build.ldscript = linker_scripts/gcc/flash_with_bootloader.ld
    • Նոր ՝ seeed_XIAO_m0_nbl.build.ldscript = linker_scripts/gcc/flash_with _bootloader.ld
  5. Վերագործարկեք Arduino IDE- ն:
  6. Տախտակների ընտրացանկից ընտրեք նոր «Seeeduino XIAO No Bootloader» տախտակը:
  7. Ընտրեք «Արտահանել կազմված երկուական»
  8. Կազմվելուց հետո.bin ֆայլը կլինի ձեր Arduino նախագծի պանակում:

Քայլ 6. Flash MCU J-Link- ով

Flash MCU J-Link- ով
Flash MCU J-Link- ով
Flash MCU J-Link- ով
Flash MCU J-Link- ով
Flash MCU J-Link- ով
Flash MCU J-Link- ով

Adafruit- ն ունի ֆանտաստիկ ուղեցույց M0/M4 սարքի վրա բեռնախցիկ ծրագրավորելու վերաբերյալ: Մեր դեպքում մենք ցանկանում ենք ազատվել bootloader- ից, բայց այն աշխատում է նույն կերպ:

learn.adafruit.com/how-to-program-samd-boo…

Դա անելուց հետո դուք չեք կարողանա վերբեռնել ծածկագիրը USB- ի միջոցով: Կարող եք հետևել վերը նշված ուղեցույցին ՝ բեռնախցիկը նորից սարքի վրա նորից տեղադրելու համար ՝ USB- ի միջոցով նորից վերբեռնելու կոդ, ինչպես կարող էիք գործարանից:

Adafruit ուղեցույցը շատ մանրակրկիտ է, բայց դրանք հիմնական քայլերն են.

  1. Oldոդման jumper լարերը դեպի հետեւի XIAO խորհրդի.

    • Adafruit- ի ուղեցույցը չի ասում, որ 2x5 ճեղքման տախտակի վրա RST- ի քորոցը պետք է միացված լինի Adafruit- ի տախտակների վերակայման քորոցին: Բայց XIAO- ի համար ինձ անհրաժեշտ էր միանալ տախտակի հետևի բոլոր չորս բարձիկներին:
    • VREF կապը պետք է միացված լինի XIAO 3.3v քորոցին: Սա վրիպազերծողին ասում է, որ սարքի տրամաբանությունը 3.3 վ է: Առանց դրա, եթե սխալ տարբերակ եք ընտրում, կարող եք վնասել միկրոկոնտրոլերը:
  2. Միացրեք jumper լարերը J-Link- ին:
  3. Միացրեք XIAO տախտակին USB մալուխով:
  4. Բացեք Atmel Studio- ն:
  5. Ընտրեք Գործիքներ Սարքի ծրագրավորում
  6. Ընտրեք ձեր M0 տախտակը: Այս դեպքում `ATSAMD21G18A
  7. Ընտրեք SWD:
  8. Կարդացեք կազմաձևը թիրախից:
  9. Եթե օգտվում եք EDU J-Link- ից, համաձայնեք օգտագործման պայմաններին (եթե հետևում եք օգտագործման պայմաններին):
  10. Ստուգեք, որ լարման ընթերցումը ճիշտ է վերին աջ անկյունում: Եթե դա 3.3 վ չէ, կարող եք կոտրել ձեր տախտակը:
  11. Մաքրել boot protection ապահովիչը (տեղադրեք bootloader- ի չափը 0 բայթ), ապա ընտրեք ծրագիրը:
  12. Հիշողությունների բաժնում ընտրեք ձեր կազմած.bin կամ.hex ֆայլը և ընտրեք ծրագիրը:

Խնդիրների նկարահանում.

Սարքի կազմաձևը կարդալիս, եթե լարման միջակայքից սխալ եք ստանում, ապա համոզվեք, որ MCU- ն միացված է հոսանքին և J-Link VREF կապը միացված է 3.3 վոլտ լարման:

Քայլ 7: Վերակազմավորեք առանց արտաքին բյուրեղի

Հավաքեք առանց արտաքին բյուրեղի
Հավաքեք առանց արտաքին բյուրեղի

XIAO- ի տախտակն ունի արտաքին բյուրեղ, որի մեկնարկը երկար ժամանակ է պահանջում: Spektrum ստացողը սարքի հայտնագործություն է կատարում հեռաչափի ավտոբուսում 350 միլիվայրկյան հզորացումից հետո, ուստի մենք պետք է ասենք, որ կոմպիլյատորը փոխարենը օգտագործի ներքին տատանողական սարքը, որը գործարկումը կդարձնի գրեթե ակնթարթային:

  1. Գտեք boards.txt ֆայլը, որը դուք ավելի վաղ փոփոխել եք (այո, ես կարող էի ձեզ պահել այս քայլը ավելի վաղ, բայց սա ուսուցման գործընթաց էր ինձ համար)
  2. Ավելացրեք «-DCRYSTALLESS» ՝ sawed_XIAO_m0_nbl.build.extra_flags տողին: Սա կոմպիլյատորին կասի օգտագործել ներքին տատանումները:
  3. Վերակազմակերպեք ծածկագիրը:
  4. Կրկին բռնկեք MCU- ն:
  5. Ստուգեք, որ գործարկման ժամանակը բավականաչափ արագ է ՝ օգտագործելով օսլիլոսկոպ:

Ինչպես տեսնում եք նկարից, դեղին 1 ալիքը էլեկտրասնուցումն է: Cիրանագույն ալիքը 2 -ը միկրոկառավարիչի պատրաստ քորոցն է: Միացումից մոտ 10 միլիվայրկյան անց, երկրորդ ալիքը միկրոկոնտրոլերի կողմից բարձր է քաշվում, ինչը ցույց է տալիս, որ այն գտնվում է կարգավորման օղակում: Կարգավորումն ավարտվելուց հետո MCU- ն կոդավորված է, որ քորոցը ցածր է քաշում ՝ նշելով, որ հիմնական հանգույցը սկսվում է: Շրջանակը ցույց է տալիս, որ կարգավորումը տևում է մոտ 3 միլիվայրկյան: Ընդհանուր առմամբ, միկրոկառավարիչին 13 միլիվայրկյան տևում է միացումից հետո `պատրաստ լինելու համար:

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