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

Arduino - Մնացորդ - Հավասարակշռող ռոբոտ - Ինչպե՞ս պատրաստել: 6 քայլ (նկարներով)
Arduino - Մնացորդ - Հավասարակշռող ռոբոտ - Ինչպե՞ս պատրաստել: 6 քայլ (նկարներով)

Video: Arduino - Մնացորդ - Հավասարակշռող ռոբոտ - Ինչպե՞ս պատրաստել: 6 քայլ (նկարներով)

Video: Arduino - Մնացորդ - Հավասարակշռող ռոբոտ - Ինչպե՞ս պատրաստել: 6 քայլ (նկարներով)
Video: How to Interface Industrial Sensors with Arduino Nano 2024, Նոյեմբեր
Anonim
Image
Image

Այս ձեռնարկում մենք կսովորենք, թե ինչպես պատրաստել Arduino- ն իրեն հավասարակշռող (հավասարակշռող) ռոբոտ: Նախ կարող եք դիտել վերը նշված վիդեո ձեռնարկը:

Քայլ 1: Պահանջվող սարքավորում

Ռոբոտի հավաքում
Ռոբոտի հավաքում

Arduino Board (Uno) -

MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo

DC 6V 210RPM կոդավորիչ փոխանցման շարժիչի հավաքածու -

L298N շարժիչ -

Անջատիչ կոճակ -

M3 Hex Threaded Spacer Պտուտակային ընկույզի հավաքածու -

Ակրիլային Perspex թերթ -

3.7v 18650 Լիցքավորվող Li-ion+Լիցքավորիչ-https://bit.ly/2LNZQcl

9 Վ մարտկոց -

Jumper Wires -

Թեժ սոսինձ ատրճանակ -

Arduino Starter Kit և պարագաներ (ըստ ցանկության). Arduino Board & SCM Supplies #01 -

Arduino Board & SCM պարագաներ #02 -

Arduino Basic Learning Starter Kit #01 -

Arduino Basic Learning Starter Kit #02 -

Arduino Basic Learning Starter Kit #03 -

Mega 2560 Starter Kit with Tutorial -

Սենսորային մոդուլի հավաքածու Arduino #01 -

Սենսորային մոդուլի հավաքածու Arduino #02 -

Քայլ 2: Ռոբոտի հավաքում

Ռոբոտի հավաքում
Ռոբոտի հավաքում
Ռոբոտի հավաքում
Ռոբոտի հավաքում
Ռոբոտի հավաքում
Ռոբոտի հավաքում
  • 3 ակրիլային թերթիկի չորս անկյուն փորեք: (Պատկեր 1 և 2)
  • Յուրաքանչյուր ակրիլային թերթիկի միջև կլինի մոտ 8 ցանաչափ / 3.15 դյույմ: (Պատկեր 3)
  • Ռոբոտի չափերը (մոտավորապես) 15 սմ x 10 սմ x 20 սմ: (Պատկեր 4)
  • DC շարժիչը և անիվները կտեղադրվեն ռոբոտի կենտրոնում (միջին գծում): (Պատկեր 5)
  • L298N Motor Driver- ը կտեղադրվի ռոբոտի առաջին հարկի կենտրոնում (միջին գծում): (Պատկեր 6)
  • Արդուինոյի տախտակը կտեղադրվի ռոբոտի երկրորդ հարկում:
  • MPU6050 մոդուլը կտեղադրվի ռոբոտի վերջին հարկում: (Պատկեր 7)

Քայլ 3: Կապեր

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

Փորձարկեք MPU6050- ը և համոզվեք, որ այն աշխատում է: Սկզբում միացրեք MPU6050- ը Arduino- ին և փորձեք կապը `օգտագործելով ստորև տրված ձեռնարկի ծածկագրերը: Դահան պետք է ցուցադրվի սերիական մոնիտորի վրա:

Instructables Tutorial - MPU6050 GY521 6 Axis Accelerometer+Gyro

YouTube- ի ձեռնարկ - MPU6050 GY521 6 Axis Accelerometer + Gyro

L298N մոդուլը կարող է ապահովել Arduino- ին անհրաժեշտ +5V այնքան ժամանակ, քանի դեռ նրա մուտքային լարումը +7 V կամ ավելի է: Այնուամենայնիվ, ես ընտրեցի շարժիչի համար առանձին էներգիայի աղբյուր ունենալ:

Քայլ 4: Ինչպե՞ս է աշխատում հավասարակշռումը:

Ինչպե՞ս է աշխատում հավասարակշռումը
Ինչպե՞ս է աշխատում հավասարակշռումը
Ինչպե՞ս է աշխատում հավասարակշռումը
Ինչպե՞ս է աշխատում հավասարակշռումը
Ինչպե՞ս է աշխատում հավասարակշռումը
Ինչպե՞ս է աշխատում հավասարակշռումը
  • Ռոբոտը հավասարակշռված պահելու համար շարժիչները պետք է հակազդեն ռոբոտի անկմանը:
  • Այս գործողությունը պահանջում է հետադարձ կապ և ուղղիչ տարր:
  • Հետադարձ կապի տարրը MPU6050- ն է, որը տալիս է և՛ արագացում, և՛ պտույտ բոլոր երեք առանցքներում, որն օգտագործվում է Arduino- ի կողմից ՝ ռոբոտի ընթացիկ կողմնորոշումը իմանալու համար:
  • Ուղղիչ տարրը շարժիչի և անիվի համակցությունն է:
  • Ինքնահավասարակշռող ռոբոտը, ըստ էության, շրջված ճոճանակ է:
  • Այն կարող է ավելի լավ հավասարակշռվել, եթե զանգվածի կենտրոնն ավելի բարձր է անիվների առանցքների համեմատ:
  • Ահա թե ինչու ես մարտկոցը դրեցի վերևում:
  • Ռոբոտի բարձրությունը, սակայն, ընտրվել է ՝ ելնելով նյութերի առկայությունից:

Քայլ 5. Աղբյուրի ծածկագիր և գրադարաններ

Աղբյուրի ծածկագիր և գրադարաններ
Աղբյուրի ծածկագիր և գրադարաններ
Աղբյուրի ծածկագիր և գրադարաններ
Աղբյուրի ծածկագիր և գրադարաններ

Մնացորդային ռոբոտի համար մշակված ծածկագիրը չափազանց բարդ է: Բայց անհանգստանալու կարիք չկա: Մենք կփոխենք միայն որոշ տվյալներ:

Մեզ պետք են չորս արտաքին գրադարաններ `ինքնահավասարակշռող ռոբոտին աշխատեցնելու համար:

  • PID գրադարանը հեշտացնում է P, I և D արժեքների հաշվարկը:
  • LMotorController գրադարանը օգտագործվում է երկու շարժիչներ L298N մոդուլով վարելու համար:
  • I2Cdev գրադարանը և MPU6050_6_Axis_MotionApps20 գրադարանը MPU6050- ից տվյալների ընթերցման համար են:

Ներբեռնեք գրադարաններ

PID -

LMotorController -

I2Cdev -

MPU6050 -

Ստացեք աղբյուրի կոդը `https://goo.gl/RR1XsJ

Ի՞նչ է PID- ը:

  • Հսկողության տեսության մեջ որոշակի փոփոխական (այս դեպքում ՝ ռոբոտի դիրքը) կայուն պահելու համար անհրաժեշտ է հատուկ վերահսկիչ, որը կոչվում է PID:
  • P- ը համամասնականի համար, I- ը `անբաժանելիի համար, և D- ը` ածանցյալի համար: Այս պարամետրերից յուրաքանչյուրն ունի «ձեռքբերումներ», որոնք սովորաբար կոչվում են Kp, Ki և Kd:
  • PID- ն ապահովում է ուղղում ցանկալի արժեքի (կամ մուտքի) և իրական արժեքի (կամ ելքի) միջև: Մուտքի և ելքի միջև տարբերությունը կոչվում է «սխալ»:
  • PID վերահսկիչը նվազեցնում է սխալը հնարավոր ամենափոքր արժեքին ՝ անընդհատ կարգավորելով ելքը:
  • Մեր Arduino ինքնահավասարակշռող ռոբոտում մուտքը (որը ցանկալի թեքությունն է ՝ աստիճաններով) սահմանվում է ծրագրային ապահովման միջոցով:
  • MPU6050- ը կարդում է ռոբոտի ընթացիկ թեքությունը և այն սնուցում PID ալգորիթմով, որը կատարում է հաշվարկներ `շարժիչը կառավարելու և ռոբոտին ուղիղ դիրքում պահելու համար:

PID- ը պահանջում է, որ Kp, Ki և Kd ձեռքբերված արժեքները «կարգավորվեն» օպտիմալ արժեքներին:

Փոխարենը մենք PID- ի արժեքները ձեռքով կկարգավորենք:

  1. Kp, Ki և Kd հավասարեցրեք զրոյի:
  2. Կարգավորել Kp. Չափազանց փոքր Kp- ն ռոբոտին կընկնի (ոչ բավարար ուղղում): Չափից շատ Kp- ն կստիպի ռոբոտին վայրենաբար գնալ -գալ: Բավականին լավ Kp- ն կստիպի ռոբոտին մի փոքր հետ ու առաջ գնալ (կամ մի փոքր տատանվել):
  3. Երբ Kp- ն սահմանվում է, կարգավորեք Kd- ն: Kd- ի լավ արժեքը կնվազեցնի տատանումները, մինչև ռոբոտը գրեթե կայուն լինի: Բացի այդ, Kd- ի ճիշտ քանակությունը ռոբոտին կպահի կանգուն, նույնիսկ եթե այն հրվի:
  4. Վերջապես, սահմանեք Ki- ն: Ռոբոտը տատանվելու է, երբ միացված է, նույնիսկ եթե Kp և Kd կարգավորված են, բայց ժամանակի ընթացքում կայունանալու է: Kiիշտ Ki արժեքը կկրճատի ռոբոտի կայունացման համար անհրաժեշտ ժամանակը:

Ավելի լավ արդյունքների առաջարկ

Ես խորհուրդ եմ տալիս ստեղծել նմանատիպ ռոբոտի շրջանակ ՝ օգտագործելով այս նախագծում օգտագործվող նյութերը, որպեսզի հավասարակշռված ռոբոտի աղբյուրի կոդը կայուն և արդյունավետ աշխատի:

Քայլ 6: Աջակցության համար

Աջակցության համար
Աջակցության համար
  • Դուք կարող եք բաժանորդագրվել իմ YouTube ալիքին ՝ լրացուցիչ ձեռնարկների և նախագծերի համար:
  • Նաև կարող եք բաժանորդագրվել աջակցության համար: Շնորհակալություն.

Այցելեք իմ YouTube ալիք -

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