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

Ձեռքի խցիկի կայունացուցիչ ՝ 13 քայլ (նկարներով)
Ձեռքի խցիկի կայունացուցիչ ՝ 13 քայլ (նկարներով)

Video: Ձեռքի խցիկի կայունացուցիչ ՝ 13 քայլ (նկարներով)

Video: Ձեռքի խցիկի կայունացուցիչ ՝ 13 քայլ (նկարներով)
Video: Простые следки на двух спицах без шва. Подробный мастер класс ДЛЯ НАЧИНАЮЩИХ. 2024, Հուլիսի
Anonim
Ձեռքի խցիկի կայունացուցիչ
Ձեռքի խցիկի կայունացուցիչ

Ներածություն

Սա ուղեցույց է GoPro- ի համար 3 առանցքի ձեռքի տեսախցիկի կայունացման սարք ստեղծելու համար `օգտագործելով Digilent Zybo Zynq-7000 զարգացման խորհուրդը: Այս նախագիծը մշակվել է CPE իրական ժամանակի օպերացիոն համակարգերի դասի համար (CPE 439): Կայունացուցիչը օգտագործում է երեք սերվո և IMU ՝ տեսախցիկի մակարդակը պահելու համար օգտագործողի շարժումը շտկելու համար:

Partրագրի համար անհրաժեշտ մասեր

  • Digilent Zybo Zynq-7000 զարգացման խորհուրդ
  • Sparkfun IMU Breakout - MPU 9250
  • 2 HiTec HS-5485HB Servos (գնել 180 աստիճանի շարժում կամ ծրագիր 90-ից 180 աստիճան)
  • 1 HiTec HS-5685MH Servo (գնել 180 աստիճանի շարժում կամ ծրագիր 90-ից 180 աստիճան)
  • 2 ստանդարտ սերվո փակագծեր
  • 1 Հացաթուղթ
  • 15 տղամարդ-տղամարդ ցատկող լար
  • 4 արուից-կին ցատկող լարեր
  • Տաք սոսինձ
  • Բռնակ կամ բռնիչ
  • 5 մմ տրամագծով փայտե գամասեղ
  • GoPro կամ այլ տեսախցիկ և տեղադրման սարքավորում
  • Էլեկտրաէներգիայի մատակարարում, որը կարող է թողնել 5 Վ լարման:
  • Մուտք դեպի 3D տպիչ

Քայլ 1: Vivado Hardware Setup

Vivado Hardware Setup- ի տեղադրում
Vivado Hardware Setup- ի տեղադրում

Եկեք սկսենք նախագծի հիմքում ընկած բլոկի դիզայնի ստեղծմամբ:

  1. Բացեք Vivado 2016.2, կտտացրեք «Ստեղծել նոր նախագիծ» պատկերակին և կտտացրեք «Հաջորդ>»:
  2. Անվանեք ձեր նախագիծը և կտտացրեք «Հաջորդ>»:
  3. Ընտրեք RTL նախագիծը և կտտացրեք «Հաջորդ>»:
  4. Մուտքագրեք որոնման բարում xc7z010clg400-1, այնուհետև ընտրեք հատվածը և կտտացրեք «Հաջորդ>» և «Ավարտել»:

Քայլ 2: Կարգավորեք բլոկի դիզայնը

Այժմ մենք կսկսենք ստեղծել բլոկի դիզայն ՝ ավելացնելով և կարգավորելով Zynq IP բլոկը:

  1. Ձախ ձեռքի վահանակում, IP ինտեգրատորի ներքո, կտտացրեք «Ստեղծել բլոկի ձևավորում», այնուհետև կտտացրեք «Լավ»:
  2. Աջ սեղմեք «Դիագրամ» ներդիրում և ընտրեք «Ավելացնել IP…»:
  3. Մուտքագրեք «ZYNQ7 Processing System» և կտտացրեք ընտրությանը:
  4. Կրկնակի սեղմեք հայտնվող Zynq բլոկի վրա:
  5. Կտտացրեք «Ներմուծեք XPS կարգավորումներ» և ներմուծեք տրամադրված «ZYBO_zynq_def.xml» ֆայլը:
  6. Գնացեք «MIO կոնֆիգուրացիա» և ընտրեք «Դիմումի պրոցեսորային միավոր» և միացրեք «erամաչափ 0» և «Watchdog» ժամաչափերը:
  7. Նույն ներդիրում, «I/O Peripherals» բաժնում, ընտրեք ENET 0 (և փոխեք բացվող ընտրացանկը «MIO 16.. 27», USB 0, SD 0, UART 1, I2C 0:
  8. «GPIO» բաժնում նշեք GPIO MIO, ENET Reset, USB Reset և I2C Reset:
  9. Այժմ անցեք «ockամացույցի կազմաձևում»: Ընտրեք FCLK_CLK0 PL գործվածքների ժամացույցների ներքո: Այնուհետև կտտացրեք «Լավ»:

Քայլ 3: Ստեղծեք հարմարեցված PWM IP բլոկ

Այս IP բլոկը թույլ է տալիս տախտակին ուղարկել PWM ազդանշան `սպասարկողների շարժը վերահսկելու համար: Աշխատանքը մեծապես հիմնված էր Digitronix Nepal- ի ձեռնարկի վրա, որը գտնվել է այստեղ: Տրամաբանությունը ավելացվեց ժամացույցը դանդաղեցնելու համար, որպեսզի զարկերակը դուրս գա ճիշտ արագությամբ: Բլոկը վերցնում է 0-ից 180 թիվը և այն վերածում է զարկերակի 750-2150 օգտագործումից:

  1. Այժմ, վերևի ձախ անկյունում գտնվող Գործիքներ ներդիրում, կտտացրեք «Ստեղծել և փաթեթավորել IP …» և կտտացրեք Հաջորդը:
  2. Այնուհետև ընտրեք «Ստեղծեք նոր AXI4 ծայրամասային սարք» և կտտացրեք Հաջորդը:
  3. Անվանեք ձեր PWM IP բլոկը (մենք այն անվանեցինք pwm_core) և կտտացրեք Հաջորդ, այնուհետև հաջորդ էջին նույնպես կտտացրեք Հաջորդը:
  4. Այժմ կտտացրեք «Խմբագրել IP» և կտտացրեք Ավարտել: Սա կբացի նոր պատուհան ՝ pwm բլոկը խմբագրելու համար:
  5. «Աղբյուրներ» ներդիրում և «Դիզայնի աղբյուրներ» բաժնում ընդլայնեք 'pwm_core_v1_0' (փոխարինեք pwm_core- ը ձեր անունով) և բացեք տեսանելի դարձած ֆայլը:
  6. Copրագրի ներքևում գտնվող zip ֆայլում պատճենեք և տեղադրեք «pwm_core_v1_0_S00_AXI.v» տողով տրված կոդը: Ctrl + Shift + R և փոխարինեք «pwm_core» - ը ձեր անունով ip բլոկի համար:
  7. Հաջորդը բացեք 'name _v1_0' և պատճենեք տրամադրված ծածկագրում 'pwm_core_v1_0.v' ֆայլում: Ctrl + Shift + R և «pwm_core» - ը փոխարինեք անունով:
  8. Այժմ անցեք «Փաթեթի IP - անուն» ներդիրին և ընտրեք «Հարմարեցման պարամետրեր»:
  9. Այս ներդիրում վերևում կլինի դեղին գույն, որը միացված է տեքստին: Ընտրեք սա, և «Թաքնված պարամետրերը» կհայտնվի վանդակում:
  10. Այժմ գնացեք «Անհատականացման GUI» և աջ սեղմեք Pwm Counter Max- ի վրա և ընտրեք «Խմբագրել պարամետրը …»:
  11. Նշեք «Տեսանելի անհատականացման GUI- ում» և «Նշեք տիրույթը» վանդակները:
  12. Փոխեք «Տեսակ.» Բացվող ընտրացանկը ՝ Ամբողջ թվերի տիրույթ և սահմանեք նվազագույնը 0 և առավելագույնը 65535 և նշեք «Rույց տալ տիրույթը» վանդակը: Այժմ կտտացրեք OK:
  13. Քաշեք Pwm Counter Max- ը «Էջ 0» ծառի տակ: Այժմ գնացեք «Վերանայում և փաթեթ» և կտտացրեք «Նոր փաթեթավորում IP» կոճակին:

Քայլ 4. Դիզայնին ավելացրեք PWM IP բլոկ

Դիզայնին ավելացրեք PWM IP բլոկ
Դիզայնին ավելացրեք PWM IP բլոկ

Մենք IP բլոկը կավելացնենք բլոկի ձևավորման մեջ, որպեսզի թույլ տանք օգտվողին մուտք գործել PWM IP բլոկ պրոցեսորի միջոցով:

  1. Աջ սեղմեք դիագրամների ներդիրում և կտտացրեք «IP կարգավորումներ …»: Գնացեք «Պահեստների կառավարիչ» ներդիրին:
  2. Կտտացրեք կանաչ գումարած կոճակը և ընտրեք այն: Այժմ գտեք ip_repo ֆայլերի կառավարիչում և ավելացրեք այն նախագծին: Այնուհետև կտտացրեք Դիմել և այնուհետև OK:
  3. Աջ սեղմեք դիագրամների ներդիրում և կտտացրեք «Ավելացնել IP…»: Մուտքագրեք ձեր PWM IP բլոկի անունը և ընտրեք այն:
  4. Էկրանի վերևում պետք է լինի կանաչ սանդղակ, նախ ընտրեք «Գործարկել միացման ավտոմատացումը» և կտտացրեք OK: Այնուհետև կտտացրեք «Գործարկել արգելափակման ավտոմատացումը» և կտտացրեք OK:
  5. Կրկնակի սեղմեք PWM բլոկի վրա և փոխեք Pwm Counter Max- ը 128 -ից 1024 -ի:
  6. Տեղադրեք ձեր մկնիկի ցուցիչը PWM0- ի վրա PWM բլոկի վրա: Պետք է լինի մի փոքրիկ մատիտ, որը ցույց է տալիս, երբ դա անում եք: Աջ սեղմեք և ընտրեք «Ստեղծել նավահանգիստ…» և կտտացրեք OK, երբ պատուհանը բացվի: Սա ստեղծում է արտաքին նավահանգիստ ազդանշանի փոխանցման համար:
  7. Կրկնեք 6 -րդ քայլը նաև PWM1- ի և PWM2- ի համար:
  8. Գտեք փոքր շրջանաձև կրկնակի սլաքի պատկերակը կողագոտում և կտտացրեք այն: Այն կվերածնի դասավորությունը, և ձեր բլոկի դիզայնը պետք է նման լինի վերը նշված նկարին:

Քայլ 5. Կարգավորեք HDL Wrapper- ը և սահմանեք սահմանափակումների ֆայլ

Կարգավորեք HDL Wrapper- ը և սահմանեք սահմանափակումների ֆայլ
Կարգավորեք HDL Wrapper- ը և սահմանեք սահմանափակումների ֆայլ

Այժմ մենք ստեղծելու ենք մեր բլոկի դիզայնի բարձր մակարդակի ձևավորում, այնուհետև Zybo տախտակի վրա քարտեզագրում ենք PWM0, PWM1 և PWM2 Pmod կապերը:

  1. Գնացեք «Աղբյուրներ» ներդիրին: Աջ սեղմեք ձեր բլոկի ձևավորման ֆայլին «Դիզայնի աղբյուրներ» բաժնում և կտտացրեք «Ստեղծել HDL Wrapper …»: Ընտրեք «Պատճենել ստեղծված փաթաթանը ՝ օգտվողի խմբագրումները թույլատրելու համար» և կտտացրեք OK: Սա ստեղծում է մեր ստեղծած բլոկային դիզայնի բարձր մակարդակի դիզայն:
  2. Pmod- ը, որտեղ մենք դուրս կգանք, JE է:
  3. Ֆայլում ընտրեք «Ավելացնել աղբյուրներ …» և ընտրեք «Ավելացնել կամ ստեղծել սահմանափակումներ» և կտտացրեք Հաջորդը:
  4. Կտտացրեք ավելացնել ֆայլեր և ընտրեք ներառված «ZYBO_Master.xdc» ֆայլը: Եթե նայեք այս ֆայլում, ապա կնկատեք, որ ամեն ինչ մեկնաբանված չէ, բացառությամբ «#_Pmod Header JE» տակի «set_property» վեց տողերի: Դուք կնկատեք, որ PWM0, PWM1 և PWM2 այս տողերի փաստարկներն են: Նրանք քարտեզագրում են JE Pmod- ի 1 -ին, 2 -րդ և 3 -րդ կապերի վրա:

Քայլ 6: Bitstream- ի ստեղծում

Մենք պետք է ստեղծենք բիթստրիմ, որպեսզի ապարատային դիզայնը SDK- ին արտահանվի, նախքան առաջ շարժվելը:

  1. Կողքի վահանակի «andրագիր և կարգաբերում» բաժնում ընտրեք «Ստեղծել Bitstream»: Սա կգործարկի սինթեզ, այնուհետև կիրառում և այնուհետև կստեղծի դիզայնի բիթստրիմ:
  2. Ուղղեք առաջացած սխալները, բայց նախազգուշացումներն ընդհանուր առմամբ կարող են անտեսվել:
  3. Գնացեք Ֆայլ-> Գործարկել SDK և կտտացրեք OK: Սա կբացի Xilinx SDK- ն:

Քայլ 7: Նախագծի ստեղծում SDK- ում

Այս հատվածը կարող է մի փոքր հիասթափեցնել: Կասկածի դեպքում պատրաստեք նոր BSP և փոխարինեք հինը: Սա փրկեց մեզ մի շարք վրիպազերծման ժամանակ:

  1. Սկսեք ՝ ներբեռնելով FreeRTOS- ի վերջին տարբերակը այստեղ:
  2. Ներբեռնումից հանեք ամեն ինչ և ներմուծեք FreeRTOS- ը SDK ՝ կտտացնելով Ֆայլ-> Ներմուծում, իսկ «Ընդհանուր» բաժնում կտտացրեք «Գոյություն ունեցող նախագծեր աշխատանքային տարածքում», այնուհետև կտտացրեք Հաջորդը:
  3. Անցեք «FreeRTOS/Դեմո/CORTEX_A9_Zynq_ZC702» ՝ FreeRTOS պանակում: Այս վայրից ներմուծեք միայն «RTOSDemo»:
  4. Այժմ ստեղծեք խորհրդի աջակցման փաթեթ (BSP) `կտտացնելով Ֆայլ-> Նոր խորհրդի աջակցության փաթեթ:
  5. Ընտրեք «ps7_cortexa9_0» և նշեք «lwip141» և կտտացրեք OK:
  6. Աջ սեղմեք RTOSDemo կապույտ թղթապանակի վրա և ընտրեք «Նախագծի հղումներ»:
  7. Հեռացրեք «RTOSDemo_bsp» նշումը և ստուգեք մեր ստեղծած նոր BSP- ն:

Քայլ 8: FreeRTOS կոդի փոփոխություններ

Մեր տրամադրած ծածկագիրը կարելի է բաժանել 7 տարբեր ֆայլերի: main.c, iic_main_thread.c, xil_printfloat.c, xil_printfloat.h, IIC_funcs.c, IIC_funcs.h և iic_imu.h: Iic_main_thread.c- ի ծածկագիրը հարմարեցված է Kris Winer- ի գրադարանից, որը կարելի է գտնել այստեղ: Մենք հիմնականում փոխակերպեցինք նրա ծածկագիրը `ներառելով առաջադրանքներ և աշխատեցրեք այն Zybo- ի տախտակի հետ: Մենք նաև ավելացրեցինք ֆոտոխցիկի կողմնորոշման ուղղումը հաշվարկելու գործառույթներ: Մենք թողել ենք մի քանի տպագիր հայտարարություններ, որոնք օգտակար են վրիպազերծման համար: Նրանցից շատերը մեկնաբանվում են, բայց եթե դրա կարիքը զգում եք, կարող եք դրանք մեկնաբանել:

  1. Main.c ֆայլը փոփոխելու ամենադյուրին ճանապարհը մեր ներառված main.c ֆայլից պատճենված ծածկագիրը փոխարինելն է:
  2. Նոր ֆայլ ստեղծելու համար RTOSDemo- ի ներքո սեղմեք src պանակի վրա և ընտրեք C Source File: Անվանեք այս ֆայլը «iic_main_thread.c»:
  3. Պատճենեք ծածկագիրը ներառված «iic_main_thread.c» - ից և տեղադրեք այն ձեր նոր ստեղծված ֆայլում:
  4. Կրկնեք 2 -րդ և 3 -րդ քայլերը մնացած ֆայլերով:
  5. պահանջում է gcc- ում կապող հրահանգ: Կառուցման ուղուն ավելացնելու համար աջ սեղմեք RTOSDemo- ի վրա և ընտրեք «C/C ++ Build Settings»:
  6. Կբացվի նոր պատուհան: Գնացեք ARM v7 gcc linker-> Գրադարաններ: Վերին աջ անկյունում ընտրեք փոքր ավելացնել ֆայլը և մուտքագրեք «m»: Սա նախագծում ներառելու է մաթեմատիկական գրադարանը:
  7. Կառուցեք նախագիծ Ctrl + B- ով `ամեն ինչ աշխատելու համար: Ստուգեք առաջացած նախազգուշացումները, բայց գուցե կարողանաք անտեսել դրանք:
  8. Կան մի քանի վայրեր, որոնք փոփոխության կարիք կունենան ՝ հիմնականում ձեր ներկայիս գտնվելու վայրի մագնիսական անկումը: Մենք կբացատրենք, թե ինչպես փոխել դա ձեռնարկի ճշգրտման մասում:

Քայլ 9. 3D տպագրություն կայունացուցիչի համար

3D տպագրություն կայունացուցիչի համար
3D տպագրություն կայունացուցիչի համար

Այս նախագծի համար անհրաժեշտ է մի քանի մաս 3D տպել: Հավանաբար կարելի է ձեռք բերել այնպիսի մասեր, որոնք ունեն նմանատիպ չափսեր/չափեր մեր տպագիր մասերին:

  1. Օգտագործեք տրամադրված ֆայլերը ՝ GoPro- ի թևը և բռնակները փակելու համար:
  2. . Stl ֆայլում պետք է փայտամածեր ավելացնել:
  3. Տպելուց հետո կտրեք/մաքրեք ավելորդ փայտամածի մասերը:
  4. Woodenանկության դեպքում կարող եք փոխարինել փայտե գավազանը 3D տպիչով:

Քայլ 10: Մասերի հավաքում

Մասերի հավաքում
Մասերի հավաքում

Սրանք կայունացուցիչի հավաքման մի քանի մաս են: Գնված փակագծերը գալիս են 4 ինքնահպման պտուտակով և 4 պտուտակով `ընկույզով: Քանի որ կան 3 սերվո, սերվո եղջյուրներից մեկը պետք է նախապես թակել, որպեսզի 2 պտուտակներից տեղավորվի:

  1. Oldոդեք 8 կապում IMU- ի ճեղքման վրա, յուրաքանչյուրը 4 -ով:
  2. IMU- ն կցված է GoPro- ի եռաչափ տպված բռնակով փակագծին ՝ փակագծի կենտրոնում:
  3. Ուղղեք փակագիծը այնպես, որ servo- ի ամրացման անցքերը լինեն ձեր ձախ կողմում: Տեղադրեք IMU- ն ձեզ ամենամոտ եզրին, իսկ քորոցները կախված են եզրից: Այնուհետև տեղադրեք GoPro լեռը IMU- ի վերևում ՝ կպչելով IMU- ն և ամրակը տեղում փակագծի վրա:
  4. Կցեք HS-5485HB- ն servo փակագծին, որը ինտեգրված է 3D տպված թևին:
  5. Պտուտակեք GoPro փակագիծը թևին ամրացված սերվոյի մեջ ՝ համոզվելով, որ servo- ն այնպես է դրված, որ այն գտնվում է իր շարժման միջակայքի մեջտեղում:
  6. Հաջորդը, HS-5685MH servo- ն կցեք servo փակագծին: Այնուհետև պտուտակներից մեկով հարվածեք սերվոյի եղջյուրին: Այժմ կցեք servo- ն վերջին servo փակագծի ներքևում:
  7. Այժմ ամրացրեք վերջին servo- ն այն փակագծին, որի մեջ պտուտակված է HS-5685MH servo- ն: Այնուհետև պտուտակեք թևն այս սերվոյի մեջ ՝ համոզվելով, որ թևը պտուտակված է, որպեսզի այն կարողանա 90 աստիճան շարժվել ամեն կողմից:
  8. Գիմբալի կառուցումն ավարտելու համար ավելացրեք փայտե դոդի մի փոքր կտոր ՝ GoPro փակագծի և 3D տպված թևի միջև միանալու համար: Այժմ դուք հավաքել եք կայունացուցիչը:
  9. Ի վերջո, կարող եք ավելացնել բռնիչ, որը միացված է ներքևի servo փակագծին:

Քայլ 11: Zybo- ի միացում կայունացուցիչին

Zybo- ի միացում կայունացուցիչին
Zybo- ի միացում կայունացուցիչին

Կան մի քանի բաներ, որոնցից պետք է զգույշ լինել, երբ դա անում եք: Դուք ցանկանում եք համոզվել, որ հոսանքի աղբյուրից 5 Վ -ը երբեք չի մտնում Zybo- ի տախտակ, քանի որ դա կհանգեցնի տախտակի հետ կապված խնդիրների: Համոզվեք, որ կրկնակի ստուգեք ձեր թռիչքները `հաստատելու համար, որ լարերը չեն փոխվում:

  1. Zybo- ն կայունացուցիչին ամրացնելու համար ձեզ հարկավոր կլինի 15 տղամարդ արու թռչկոտող և 4 արու ՝ կին թռչկոտող:
  2. Նախ, միացրեք երկու թռիչք ձեր 5 Վ լարման սնուցման աղբյուրին ՝ տախտակի + և - ռելսերի երկայնքով: Սրանք էներգիան մատակարարելու են սերվոներին:
  3. Այնուհետև 3 զույգ ցատկողներ միացրեք տախտակի + և - ռելսերին: Սրանք կլինեն ուժեր յուրաքանչյուր սպասարկողի համար:
  4. Մուտք գործեք + և - jumper- ների մյուս ծայրը յուրաքանչյուր սերվոսի մեջ:
  5. Մի թռիչք միացրեք տախտակի երկաթուղու և Zybo JE Pmod- ի GND կապում (տես քայլ 5 -ի նկարը): Սա ընդհանուր լեզու կստեղծի Zybo տախտակի և էլեկտրամատակարարման միջև:
  6. Հաջորդը միացրեք ազդանշանային մետաղալարը JE Pmod- ի 1 -ին, 2 -րդ և 3 -րդ կապին: Կցեք 1 քարտեզ ներքևի սերվոյին, 2 քարտեզ ամրացրեք թևի վերջում գտնվող սերվոյին և 3 քարտեզ կապեք միջին սերվոյին:
  7. Միացրեք 4 իգական լարերը IMU ճեղքման GND, VDD, SDA և SCL կապում: GND և VDD միացրեք GND- ին և 3V3- ին JF կապում: Միացրեք SDA- ի կապը 8 -ի կապում և SCL- ը JF- ի 7 -ի մեջ (տես քայլ 5 -ի նկարը):
  8. Վերջապես, միացրեք համակարգիչը տախտակին `օգտագործելով միկրո USB մալուխ: Սա թույլ կտա uart հաղորդակցություն և թույլ կտա ծրագրավորել Zybo տախտակը:

Քայլ 12: Northշմարիտ հյուսիսային ուղղում

Իսկական հյուսիսային ուղղում
Իսկական հյուսիսային ուղղում

IMU- ում մագնիսաչափի ճշգրտումը կարևոր է սարքի ճիշտ աշխատանքի համար: Մագնիսական անկումը, որն ուղղում է մագնիսական հյուսիսը իսկական հյուսիս:

  1. Մագնիսական և իսկական հյուսիսից տարբերությունը շտկելու համար հարկավոր է օգտագործել երկու ծառայությունների համադրություն ՝ Google Քարտեզներ և NOAA- ի մագնիսական դաշտի հաշվիչ:
  2. Օգտագործեք Google Քարտեզները ՝ գտնելու ձեր ընթացիկ գտնվելու վայրի լայնությունը և երկայնությունը:
  3. Վերցրեք ձեր ընթացիկ երկայնությունը և լայնությունը և միացրեք այն մագնիսական դաշտի հաշվիչին:
  4. Վերադարձվածը մագնիսական անկումն է: Միացրեք այս հաշվարկը «iic_main_thread.c» 378 տողի կոդը: Եթե ձեր թեքությունը դեպի արևելք է, ապա հանեք yaw արժեքից, եթե արևմուտք, ապա ավելացրեք yaw արժեքին:

*լուսանկարը վերցված է Sparkfun- ի MPU 9250 կապի ուղեցույցից, որը գտնվում է այստեղ:

Քայլ 13: ningրագրի գործարկում

Runրագրի վարում
Runրագրի վարում

Այն պահը, որին դուք սպասում էիք: Րագրի լավագույն մասը տեսնելն է, որ այն աշխատում է: Մեր նկատած խնդիրներից մեկն այն է, որ շեղում կա IMU- ից զեկուցված արժեքներից: Lowածր անցումային ֆիլտրը կարող է օգնել ուղղել այս շեղումը, իսկ մագնիսաչափով, արագացմամբ և գիրո չափագրումներով ջնջվելը նույնպես կօգնի ուղղել այս շեղումը:

  1. Նախ, կառուցեք բոլորը SDK- ում, դա կարելի է անել `սեղմելով Ctrl + B:
  2. Համոզվեք, որ սնուցման աղբյուրը միացված է և սահմանել 5 Վ: Կրկնակի ստուգեք, որ բոլոր լարերը գնում են իրենց ճիշտ տեղերը:
  3. Այնուհետև ծրագիրը գործարկելու համար սեղմեք առաջադրանքի տողի վերին կենտրոնում գտնվող կանաչ եռանկյունին:
  4. Երբ ծրագիրը գործարկվի, սերվերը բոլորը կվերականգնվեն իրենց 0 դիրքերում, այնպես որ պատրաստ եղեք սարքավորման տեղաշարժին: Initialրագիրը գործարկվելուց հետո սերվոները կվերադառնան իրենց 90 աստիճանի դիրքերին:
  5. Գործարկելու է մագնիսաչափի չափաչափման գործառույթը, և ուղղությունները տպվելու են UART տերմինալին, որին կարող եք միանալ սերիական մոնիտորի միջոցով, ինչպիսին է «մածիկը» կամ SDK- ում ներկայացված սերիական մոնիտորը:
  6. Calշգրտման արդյունքում սարքը մոտ 8 վայրկյան տեղափոխեք 8 -րդ պատկերով: Դուք կարող եք հեռացնել այս քայլը ՝ մեկնաբանելով «iic_main_thread.c» 273 տողը: Եթե այն մեկնաբանում եք, ապա պետք է մեկնաբանեք 323 - 325 «iic_main_thread.c» տողերը: Այս արժեքները սկզբում հավաքվել էին վերևի մագնիսաչափի չափաբերումից և այնուհետև միացվել որպես արժեքներ:
  7. Կալիբրացումից հետո կայունացման ծածկագիրը կսկսի գործարկվել, և սարքը կայուն կպահի տեսախցիկը:

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