Էժան Arduino մարտական ռոբոտների կառավարում. 10 քայլ (նկարներով)
Էժան Arduino մարտական ռոբոտների կառավարում. 10 քայլ (նկարներով)
Anonim
Էժան Arduino մարտական ռոբոտների կառավարում
Էժան Arduino մարտական ռոբոտների կառավարում
Էժան Arduino մարտական ռոբոտների կառավարում
Էժան Arduino մարտական ռոբոտների կառավարում
Էժան Arduino մարտական ռոբոտների կառավարում
Էժան Arduino մարտական ռոբոտների կառավարում

Նահանգներում Battlebots- ի և Մեծ Բրիտանիայի Robot Wars- ի վերածնունդը կրկին բորբոքեց իմ սերը մարտական ռոբոտաշինության նկատմամբ: Այսպիսով, ես գտա բոտերի ստեղծողների տեղական խումբ և անմիջապես սուզվեցի:

Մենք պայքարում ենք Մեծ Բրիտանիայի մրջյունների քաշի սանդղակում (150 գրամ քաշի սահմանափակում), և ես արագ հասկացա RC հանդերձանք, որը ներառում է ռոբոտի կառուցման ավանդական եղանակը. Թանկարժեք RC հաղորդիչ, զանգվածային կամ թանկարժեք ընդունիչ և ESC (արագության էլեկտրոնային կարգավորիչներ), որոնք կախարդական տուփեր են: որը կարող է ավելի ընթացիկ աշխատել, քան անհրաժեշտ է այս չափի բոտի համար:

Նախկինում օգտագործելով Arduino- ն, ես ուզում էի ամեն ինչ այլ կերպ փորձել և ինքս ինձ դրել Arduino համակարգի նպատակ, որը կարող է ստանալ մարտական ազդանշան և կառավարել երկու շարժիչ ՝ մոտ 5 ԱՄՆ դոլարով (էժան ESC- ի արժեքի կեսը):

Այս նպատակին հասնելու համար ես վերափոխեցի այս RC մեքենան հրահանգելի ՝ նվազեցնելով ստացողի քաշը/արժեքը և ստեղծելով 4 PWM ազդանշան `էժան h-Bridge չիպ գործարկելու համար:

Այս հրահանգը կկենտրոնանա Arduino կառավարման համակարգի վրա, բայց ես լրացուցիչ տեղեկություններ կավելացնեմ, որոնք կօգնեն նոր մարդկանց ստեղծել իրենց առաջին բոտը

Հրաժարում.

Նույնիսկ փոքր մասշտաբով մարտական ռոբոտի կառուցումը/մարտը կարող է վտանգավոր լինել, ձեռնարկեք ձեր ռիսկով

Քայլ 1: Այն, ինչ ձեզ հարկավոր է

Նյութեր:

Կառավարման համակարգի համար

  • 1x Arduino pro mini 5v (1.70 ԱՄՆ դոլար)
  • 1x nRF24L01 մոդուլ ($ 1.14)
  • 1x 3.3 վ կարգավորիչ մոդուլ (0.32 դոլար)
  • 1x երկակի h-Bridge մոդուլ* ($ 0.90)

Մնացած հիմնական սեպ բոտի համար

  • 2x միկրո փոխանցման շարժիչներ ** (էժան տարբերակ, հուսալի տարբերակ)
  • 1x 2s լիթիում պոլիմերային մարտկոց
  • 1x մնացորդի լիցքավորիչ
  • 1x լիպո լիցքավորման պայուսակ
  • 1x անջատիչ
  • 1x մարտկոցի միակցիչ
  • misc մետաղալար (ես օգտագործեցի որոշ Arduino jumper լարեր, որոնց շուրջս պառկած էի)
  • փոքր պտուտակներ
  • (ըստ ցանկության) էպոքսիդ
  • (ըստ ցանկության) ալյումին (զովացուցիչ ըմպելիքից)
  • (ըստ ցանկության) լրացուցիչ LED- ներ

Հիմնական վերահսկիչի համար

  • 1x Arduino pro մինի 5 վ
  • 1x nRF24L01 մոդուլ
  • 1x 3.3v կարգավորիչ մոդուլ
  • 1x Arduino-joystick

Գործիքներ:

  • Պտուտակահան
  • Sոդման երկաթ
  • Տափակաբերան աքցան
  • 3D տպիչ (ըստ ցանկության, բայց դա հեշտացնում է կյանքը)

*h-Bridge մոդուլներին նայելիս փնտրեք մոդուլ ՝ ազդանշանի բոլոր 4 մուտքերով մեկը մյուսի կողքին, դա ավելի հեշտ կդարձնի Arduino- ին միանալը հետագայում

** Ստուգեք վերջին քայլը ՝ շարժիչի արագություն ընտրելու որոշ խորհուրդների համար

Քայլ 2: Տպեք շասսի

Տպել շասսի
Տպել շասսի

Նախքան կառավարման համակարգին անցնելը, նայեք կառուցվելիք բոտի դիզայնին: Միշտ լավագույնն է զենքից դուրս բոտ նախագծելը: Սկսնակների համար ես առաջարկում եմ սկսել հիմնական սեպով, դրանք նախատեսված են լինել ամուր և հակառակորդներին դուրս մղել ճանապարհից, ինչը նշանակում է, որ դուք ավելի քիչ հավանական է, որ առաջին մենամարտում ոչնչացվեք, գումարած ՝ ավելի հեշտ է զգալ մեքենա վարելիս, երբ չես անում: Պետք չէ անհանգստանալ ակտիվ զենքի մասին:

Ես նախագծել եմ սեպ բոտ ՝ «Մի փոքր անմշակ», որը մարտական փորձարկումների է ենթարկվել և զրահապատ, և անզեն: Դա լավ առաջին բոտ է, հեշտ է տպել և կարող է միացվել 8 պտուտակով: Ստուգեք այն Thingiverse- ում ՝ այլ լավագույն դիզայնի համար

Եթե դուք չունեք 3D տպիչ, փորձեք տեղական գրադարան, հաքերային տարածք կամ արտադրող տարածք

Լրացուցիչ զրահ ավելացնելը հեշտ է տպիչից թարմացնել, ինչպես սեպը, այնպես էլ զովացուցիչ ըմպելիքը կարող են ալյումին քսել հղկաթուղթով, մաքրել հղկող փոշին, քսել էպոքսիդ ինչպես պլաստիկի, այնպես էլ ալյումինի վրա, սեղմակների կամ ռետինե ժապավենների հետ միասին: 12-24 ժամվա ընթացքում

Ես ներկայումս անիվների հանրային ձևավորում չունեմ, քանի որ ես օգտագործում էի ռետինե անվադողեր կրթական ռոբոտաշինության հավաքածուից ՝ 3D տպագիր հանգույցների վրա: Առաջիկա շաբաթների ընթացքում ես նախագծելու եմ մի հանգույց, որը բռնելու համար կօգտագործի O-rings- ը: Անիվներն ավարտելուց հետո ես կթարմացնեմ այս էջը և Thingiverse էջը

Քայլ 3: Պատրաստեք H կամուրջը

Պատրաստեք H կամուրջը
Պատրաստեք H կամուրջը

Տարբեր h-Bridge շարժիչային վարորդներ տարբեր կարգավորումներով են հանդես գալիս, սակայն սկզբնական ցուցակում միացված մոդուլը թողարկումով ունի 2 տերմինալային բլոկ: Այս տերմինալային բլոկները ծանր և զանգվածային են, ուստի ավելի լավ է դրանք հեռացնել:

Դա անելու ամենահեշտ ձևն այն է, որ միաժամանակ երկու բարձիկները տաքացնեն զոդման երկաթով և զգուշորեն դուրս հանեն բլոկները մի տափակաբերան աքցանով:

Շարունակելուց առաջ որոշեք, արդյոք ցանկանում եք կարողանալ փոխանակել ձեր տեղադրած շարժիչները: Եթե այդպես է, Arduino jumper մալուխները կարող են զոդվել մոդուլի ելքի մեջ, ապա հակառակ մալուխը կարող է կպցվել շարժիչին ՝ դրանք անհրաժեշտության դեպքում դարձնելով շարժական:

Քայլ 4: Մոդուլների միացում

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

Մոդուլների էլեկտրամոնտաժը կարող է իրականացվել 3 տարբեր եղանակներով, այդ իսկ պատճառով նախագծման քայլը կարևոր է: Apենքի ընտրությունը կազդի բոտի ձևի և լարերի ընտրության վրա:

3 ընտրությունն է.

  1. Չամրացված լարեր (թեթև, բայց ավելի փխրուն) (պատկեր 1)
  2. Տախտակամած (1 -ից ավելի ծանր, բայց ավելի ամուր ՝ ավելի մեծ հետքերով) (պատկեր 2)
  3. Պատվերով տպատախտակ (1 -ից ծանր, բայց ամուր ՝ փոքր ոտնահետքով) տախտակի ձևավորում կցված է (պատկեր 3)

անկախ կատարված ընտրությունից, իրական կապերը նույնն են:

Կատարեք հետևյալ միացումները երկու անգամ (մեկ անգամ վերահսկիչի և մեկ անգամ ստացողի համար)

nRF24L01 (PIN համարակալման պատկեր 4 **):

  • Պին 1 -> GND
  • Պին 2 -> 3.3 վ մոդուլի դուրս փին
  • Պին 3 -> Arduino կապ 9
  • Պին 4 -> Arduino կապ 10
  • Պին 5 -> Arduino կապ 13
  • Պին 6 -> Arduino փին 11
  • Պին 7 -> Arduino փին 12

3.3v մոդուլ:

  • Vin քորոց -> Vcc*
  • Ելք պին -> pin 2 nRF (ինչպես վերը նշված)
  • GND քորոց -> GND

Arduino:

  • 9-13 կապում -> միացեք nRF- ին, ինչպես վերևում
  • Հում -> Vcc*
  • GND -> GND

Կատարեք հետևյալ կապերը մեկ անգամ `վերահսկիչն ու ընդունիչը տարբերելու համար

Վերահսկիչի համար

Joystick:

  • +5v -> Arduino 5v
  • vrx -> Arduino քորոց A2
  • vry -> Arduino քորոց A3
  • GND -> GND

Ստացողի համար

h-Bridge մոդուլ:

  • Vcc -> Vcc*
  • B -IB -> Arduino կապ 2
  • B -IA -> Arduino կապ 3
  • A -IB -> Arduino քորոց 4
  • A -IA -> Arduino քորոց 5
  • GND -> GND

Դա ամենահեշտն է ՝ Vcc- ի և GND- ի կապումներն մետաղալարով փոխարինելով, այնուհետև տախտակը գլխիվայր շուռ տալով և կապումներն ուղղակիորեն Arduino- ով զոդելով, սա հեշտացնում է զոդումը և շարժիչի վարորդի համար ապահով ամրացում է ստեղծում:

*մարտական ռոբոտը օրինական լինելու համար մարտկոցի և միացման միջև պետք է ավելացվի մեկուսացման կետ (անջատիչ կամ շարժական կապ): Սա նշանակում է, որ մարտկոցի պոզիտիվը պետք է միացված լինի անջատիչին, այնուհետև անջատիչը միացված լինի Vcc- ին

** պատկերը https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo- ից, որը հիանալի ռեսուրս է nRF24L01 մոդուլի համար

Քայլ 5: Կառավարիչի տեղադրում

Կառավարիչի տեղադրում
Կառավարիչի տեղադրում

Երբ ամեն ինչ միացված է, ժամանակն է ինչ -որ կոդի համար:

Սկսած վերահսկիչից, պոտենցիոմետրի որոշ արժեքներ են անհրաժեշտ `ապահովելու համար, որ ճշգրիտ միացված ջոյսթիկը կաշխատի փոխանցող կոդի հետ:

Բեռնեք «joystickTestVals2» ծածկագրում: Այս ծածկագիրը օգտագործվում է պոտենցիոմետրի արժեքները կարդալու և դրանք սերիայի միջոցով ցուցադրելու համար

Երբ ծածկագիրը գործարկվում է և սերիական պատուհանը բացվում է ՝ նայելով «UP» արժեքին, ջիշտիկը մղեք լիովին առաջ դիրքի, «UP» արժեքը, ամենայն հավանականությամբ, կթռնի մի քանի մեծ թվերի միջև և կընտրի ձեր տեսած արժեքներից ամենափոքրը:, դրանից հանեք 10 -ը (սա կապահովի, որ փայտը մինչև վերջ հրելը կտա լիարժեք ուժ) և գրեք այն որպես «Up Max», ինչը թույլ է տալիս, որ ջոյսթիկը նորից վերադառնա կենտրոն: Այժմ ընտրեք ձեր տեսած ամենամեծ արժեքը, դրան ավելացրեք 20 և գրեք այն որպես «UpRestMax»: Կրկնեք գործընթացը ՝ փայտը ներքև մղելով և հակադարձելով ՝ ավելացնելով/հանելով «UpMin» և «UpRestMin» արժեքները:

Կրկնեք ամբողջ գործընթացը նորից ձախ և աջ ՝ սկսելով փայտը աջ սեղմելով, ձայնագրելով «SideMax» - ը, այնուհետև «SideRestMax» - ը ՝ հետ գալով և ձախը սեղմելով ՝ «SideMin» - ը և «SideRestMin» - ը ձայնագրելու համար:

Այս արժեքները չափազանց կարևոր են, հատկապես «Հանգիստ» բառը պարունակող բոլոր արժեքները: այս արժեքները ստեղծում են «մահացած գոտի» փայտի կենտրոնում այնպես, որ բոտը տեղից չի շարժվի, երբ փայտը կենտրոնում հանգստանում է, համոզվեք, որ երբ փայտը կենտրոնանում է, արժեքները ընկնում են «restMin» - ի և «restMax» - ի միջև: երկու առանցքների համար

Քայլ 6: Կոդ

Կոդ
Կոդ
Կոդ
Կոդ

Տրված ծածկագիրը ամեն ինչ անում է հիմնական կառուցվածքով հիմնական սեպ-բոտի համար, որը թույլ է տալիս նաև զենքի pwm արժեք ուղարկել:

Անհրաժեշտ գրադարաններ

  • nRF24L01 Գրադարան այստեղից ՝ GitHub
  • Softwareրագրային ապահովման PWM այստեղից ՝ Google Code

Կարգավորեք ձեր վերահսկիչը

բացեք txMix կոդը և փոխեք փայտի սահմանային արժեքները վերջին քայլին գրած արժեքներին: Սա կապահովի, որ կոդը ճիշտ արձագանքի ձեր ջոյստիկին (Պատկեր 1)

Անհատականացրեք խողովակը

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

Նկարում խողովակի 2 վեցանիշ թվերն ընդգծված են: Սրանք այն երկու թվանշաններն են, որոնք պետք է փոխվեն `խողովակը հարմարեցնելու համար: Փոխեք «E1» - ը ցանկացած այլ երկնիշ վեցանկյուն արժեքի և գրեք այն, որպեսզի իրադարձության ժամանակ այն հեշտությամբ կարողանաք ստուգել հակառակորդների խողովակներից:

Վերբեռնում

  • txMix- ը վերահսկիչին
  • ստանալ ստացողի մոդուլին

Գործարկեք ծածկագիրը

txMix:

Codeոյսթիկի դիրքում ծածկագիրը կարդացվում է որպես «UP» և «side» արժեք: Այս արժեքները սահմանափակվում են `ելնելով տրամադրված առավելագույն արժեքից` ապահովելու համար, որ ամբողջ հզորությունը կտրվի ձողիկի առավելագույն դիրքում:

Այս արժեքները այնուհետև ստուգվում են `ապահովելու համար, որ ձողը դուրս է եկել չեզոք դիրքից, եթե այն զրո չի ուղարկվում:

Արժեքներն այնուհետև առանձին -առանձին խառնվում են երկու փոփոխականի ՝ մեկը ձախ շարժիչի և աջ շարժիչի արագության համար: Այս փոփոխականներում բացասական արժեք է օգտագործվում նշելու համար, որ շարժիչը հետ է շարժվում, քանի որ այն հեշտացնում է խառնուրդը:

Ձախ և աջ արագության արժեքները բաժանվում են չորս արժեքի pwm արժեքների ՝ մեկը յուրաքանչյուրի համար ՝ շարժիչ աջ առաջ, շարժիչ ձախ առաջ, շարժիչ աջ ետ, շարժիչ ձախ հետընթաց:

Չորս pwm արժեքներն այնուհետ ուղարկվում են ստացողին:

ստանալ:

Պարզապես ազդանշաններ է ստանում վերահսկիչից, ստուգում է, որ ազդանշանը չի պարունակում pwm արժեքներ մեկ շարժիչի վրա առաջ և հետ, այնուհետև կիրառում է pwm- ը:

Ստացողը նաև խափանում է չհրկիզվող պահարանները, երբ ազդանշանը չի ստացվում վերահսկիչից

Քայլ 7: Բոլորը պտտեցրեք Togheter- ում

Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter

Շարժիչներին միացրեք միակցիչները կամ շարժիչները միացրեք ուղղակիորեն h-bridge- ին: (Ես նախընտրում եմ միակցիչները, որպեսզի կարողանամ պարզապես փոխել վարդակները, եթե շարժիչները սխալ եմ միացրել)

Batteryոդեք մարտկոցի միակցիչից ստացված դրական կապը դեպի անջատիչի միջին քորոցը և անջատիչի արտաքին կապակցներից մեկը միացված մոդուլների Vcc- ին:

Theոդեք մարտկոցի միակցիչից բացասական կապը միացված մոդուլների GND- ին:

(Ըստ ցանկության) ավելացնել լրացուցիչ լուսադիոդներ Vcc- ի և GND- ի միջև: Բոլոր մարտական ռոբոտներին անհրաժեշտ է մի լույս, որը միացված է մինչ համակարգի հզորությունը, կախված այն բաղադրիչներից, որոնք այս համակարգն ունի Arduino- ում, 3.3v մոդուլում և h-bridge- ում, քանի դեռ դրանցից առնվազն մեկը տեսանելի է դրսից: բոտ, այս կանոնը պահպանված է: Լրացուցիչ LED- ները կարող են օգտագործվել `համոզվելու համար, որ այս կանոնը պահպանված է և արտաքին տեսքը հարմարեցնելու համար

Slightly Crude- ը հեշտ է պտուտակել, սկզբում ամրացրեք շարժիչի ամրակները, ավելացրեք էլեկտրոնիկան, այնուհետև կափարիչը ամրացրեք տեղում, փոքր քանակությամբ velcro- ն կօգնի անջատիչը պահել կափարիչին:

Կառավարիչը ձերն է ՝ նախագծելու և տպելու համար: Փորձարկման համար ես օգտագործում եմ կցված վերահսկիչը, որը փոփոխվել է Brեյմս Բրուտոնի BB8 V3 վերահսկիչից

Քայլ 8. Խոսք ռոբոտների մարտական կանոնների մասին

Խոսք ռոբոտների մարտական կանոնների մասին
Խոսք ռոբոտների մարտական կանոնների մասին

Տարբեր երկրներ, նահանգներ և խմբեր ռոբոտների մարտական միջոցառումներ են իրականացնում տարբեր կանոններով:

Ես ստեղծել եմ այս համակարգը և գրում եմ, որ հնարավորինս ընդհանրական լինեմ, մինչդեռ հարվածում եմ RC համակարգերին վերաբերող հիմնական կանոններին (ամենակարևորը համակարգը պետք է լինի 2.4 ԳՀց թվային և ունենա մարտկոցի մեկուսացման կետ): Այս համակարգը գործարկելու և ձեր առաջին բոտը նախագծելու համար լավագույնն է կապ հաստատել ձեր տեղական խմբի հետ և ստանալ դրանց կանոնների պատճենը:

Կանոնները, որոնք վարում է ձեր տեղական խումբը, բացարձակ են, մի՛ ընդունեք իմ խոսքը ձեր խմբի կանոնների նկատմամբ:

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

Քայլ 9. Լրացուցիչ տեղեկություններ շարժիչների մասին

Լրացուցիչ տեղեկություններ շարժիչների մասին
Լրացուցիչ տեղեկություններ շարժիչների մասին

Մրջյունների դասում օգտագործվող միկրո շարժիչների շարժիչները գալիս են մեծ արագությամբ և նշվում են RPM կամ Gear հարաբերակցության միջոցով: Ստորև բերված է կոպիտ փոխակերպում:

Բոտերի մեծ մասն օգտագործում է շարժիչներ 75: 1 -ից 30: 1 սահմաններում (որոշ բացառություններով `10: 1): Մեծ պտտվող զենք ունեցող բոտերը կարող են օգուտ քաղել 75: 1 դանդաղ շարժիչներից, քանի որ ավելի դանդաղ արագությունը թույլ է տալիս ավելի շատ վերահսկողություն սահմանել: Imարպիկ սեպերը, բարձրացնողները և թաթերը լավագույնն են 30: 1 -ի դեպքում `հմուտ վարորդի ձեռքում: Ես խորհուրդ եմ տալիս 50: 1 շարժիչներ սեպով առաջին մի քանի մենամարտերի համար `պարզապես համակարգին վարժվելու և մեքենա վարելու համար

  • 12V 2000 RPM (կամ 6V 1000RPM) -> 30: 1
  • 6V 300RPM -> 50: 1

Քայլ 10: Թարմացումներ և բարելավումներ

Մի քանի տարի է, ինչ ես տեղադրել եմ այս «իբլը» և ես շատ բան եմ սովորել այս համակարգի մասին, ուստի ժամանակն է դրանք թարմացնել այստեղ: Ամենակարևորը բաղադրիչների ընտրությունն է, սկզբնական բաղադրիչները համեմատաբար լավ էին աշխատում, բայց երբեմն ձախողվում էին մարտերի ընթացքում: Երկու խոշոր հանցագործներն են H-Bridge- ը և nrf24l01 մոդուլը, ինչի շնորհիվ ես ընտրել եմ բացարձակ ամենաէժան մասերը, որոնք կարող էի գտնել: Դրանք կարող են ամրագրվել ՝

  • 0.5 Ա H կամուրջի բարձրացում մինչև 1.5 Ա H կամուրջ, ինչպես այս մեկը ՝ 1.5 Ա H կամուրջ
  • Nrf24l01 մոդուլի արդիականացում մինչև ամբողջությամբ SMD ձևավորում. Բացեք խելացի NRF24l01

Նոր բաղադրիչի արդիականացման հետ մեկտեղ ես նախագծել եմ մի քանի նոր PCB, որոնք օգնում են կոմպակտ RX- ին և ավելի շատ հնարավորություններ ավելացնել TX- ին

Ես նաև որոշ փոփոխություններ եմ ունենում, այնպես որ հետևեք դրանց

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