Բովանդակություն:
Video: 28BYJ-48 Stepper Motor- ի անկյունային դիրքի վերահսկում Arduino- ով և անալոգային ջոյսթիկով `3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Սա 28BYJ-48 տիպի շարժիչի կառավարման սխեման է, որը ես մշակել եմ վերջին տարվա ատենախոսության նախագծի շրջանակներում օգտագործելու համար: Ես նախկինում չեմ տեսել, որ դա արվի, ուստի մտածեցի, որ կբեռնեմ այն, ինչ հայտնաբերեցի: Հուսով եմ, որ դա կօգնի մեկ ուրիշին այնտեղ:
Հիմնականում ծածկագիրը թույլ է տալիս քայլող շարժիչին «պատճենել» անալոգային ջիստիկի անկյունային դիրքը, այսինքն ՝ եթե ջոյսթիկը առաջ եք մղում, շարժիչը ցույց է տալիս դեպի «հյուսիս»: մղել ջոյսթիկը դեպի արևմուտք, շարժիչը պտտվում է նույն ուղղությամբ դեպի կետ:
Իմ իրականացման համար ես պահանջեցի, որ եթե ջոյսթիկը բաց թողնեն, այսինքն ՝ անկյունային դիրք չունենա, շարժիչը վերադառնա «տան» ուղղությամբ: Տան ուղղությունը ուղղված է դեպի արևելք, և շարժիչը (կամ վարձակալության ցանկացած ցուցիչ / սարք, որը կցել եք ելքային լիսեռին) նույնպես պետք է ուղղված լինի այս ուղղությամբ, երբ միացված է:
Պարագաներ
Arduino Uno կամ նմանատիպ
տախտակ և թռիչքային լարերի ընտրություն (արականից արական, արականից իգական)
5 Վ էլեկտրամատակարարում
Anոյսթիկի անալոգային մոդուլ (իդեալականորեն մի ակնթարթային կոճակի գործառույթով, դա հեշտացնում է «տան» դիրքի հանգիստը)
28BYJ-48 տիպի շարժիչով և ULN2003 սլաքի վարորդով
Գրիչ, թուղթ և blu-tac (կամ շարժիչին ամրացնող ցանկացած այլ ցուցիչ սարք):
Քայլ 1: Քայլ 1: Կարգավորում
Կապիչ շարժիչը միացրեք սլաքի վարորդին և կապեք կապերը հետևյալ կերպ.
IN1 - Arduino կապ 8
IN2 - Arduino կապ 9
IN3 - Arduino քորոց 10
IN4 - Arduino քորոց 11
Միացրեք ձեր 5 վ էլեկտրամատակարարումը ձեր տախտակի մատակարարման ռելսերին և միացրեք ULN2003 5 վ մուտքերը մատակարարման ռելսերին: միացրեք գետնին ձեր Arduino- ի գետնին:
ջոյսթիկի համար միացրեք հետևյալ կերպ.
Անջատիչ քորոց - Arduino կապ 2
X առանցք - Arduino A0 (անալոգ 0 -ում)
Y առանցք - Arduino A1
+5V - Arduino 5V ելք
GND - Arduino GND
Վերջապես միացրեք ձեր տախտակի հիմքը Arduino GND- ի մյուս քորոցին
Քայլ 2: Քայլ 2. Բացատրեք օրենսգիրքը
Ներառել եմ Arduino- ի ամբողջական կոդը, որը կարող եք ներբեռնել և օգտագործել: Բայց կանեմ ամեն ինչ, որպեսզի այստեղ բացատրեմ համապատասխան մասերը:
Այս ծածկագրի հիմքում ընկած տեսությունն այն է, որ ջոիստիկով զբաղեցրած տարածքը բաժանված է գրաֆիկի ՝ 0, 0 կենտրոնում: Այնուամենայնիվ, ջոյսթիկի մուտքերը գտնվում են կենտրոնում (մոտավորապես) 512 -ի սահմաններում, ուստի այս երկու գործառույթները հաղթահարելու համար օգտագործվում են X և Y առանցքներից կարդացված արժեքը «զրոյացնելու» համար: կախված օգտագործվող էներգիայի աղբյուրից, ձեզ կարող է անհրաժեշտ լինել փոխել ZeroX և ZeroY գործառույթների արժեքները, որպեսզի ձեր ջոյսթիկը հանգստանալու ժամանակ 0 -ի հուսալի ցուցանիշ է տալիս:
Երբ X, Y արժեքները կարդացվում են, դրանք առաջին հերթին վերածվում են ռադիաների ՝ օգտագործելով math.h գրադարանում atan2 () գործառույթը: Այս գործառույթի բացատրությունը դուրս է այս ուսանելիի շրջանակից, բայց խնդրում եմ, գնացեք փնտրելու այն. Դա բավականին պարզ երկրաչափության հնարք է:
Ի վերջո, մեզանից այն մարդկանց համար, ովքեր ավելի շուտ աշխատում էին աստիճաններով, այլ ոչ թե ռադներով, ռադի արժեքը, որը հաշվարկվում է atan2 () - ով, փոխակերպվում է աստիճանի:
Օղակի վերևում ծածկագրի մի փոքր հատված է, որը թույլ է տալիս սեղմել ջոյսթիկի պահի կոճակի վրա ՝ «տուն» վայրը տեղափոխելու համար: Սա աներևակայելի օգտակար էր ծածկագիրը փորձարկելիս, բայց ես այն թողել եմ, քանի որ տեսնում եմ, թե ինչպես կարող է այն օգտակար լինել որոշ դեպքերում:
Այժմ անցեք ծածկագրի հիմնական զանգվածին: մենք սկսում ենք կարդալ ջոյսթիք X- ը, Y կոորդինատները երկու անգամ բաժանվել են 10 մգ ուշացումով, այնուհետև ստուգել, թե արդյոք դրանք նույնն են, ես գտա, որ ջոյսթիկը երբեմն մեկ -մեկ սպորադիկ ընթերցումներ է թողնում, և այս աննշան ձգձգումը բավական էր, որպեսզի դրանց հիման վրա շարժիչը կանգնեցվեր:. Դա նաև բավական կարճ ձգձգում է, որը, կարծես, չի խանգարում դիտավորյալ մուտքերին:
Մնացած կոդը բավականին ինքնաբացատրելի է, և ես ամեն ինչ արել եմ դրա փաստաթղթավորման համար. IF- ի մի շարք հայտարարություններ համեմատում են ընթացիկ ջոյսթիկի անկյունը շարժիչի անկյան հետ և շարժիչը շարժում են այդ անկյան տակ: 28BYJ-48- ը ունի 5,689 քայլ մեկ աստիճանի համար, ուստի դրա համար մենք անհրաժեշտ շարժումը բազմապատկում ենք այս թվացյալ տարօրինակ թվով:
Կոդի մի մասը, որն ամենից շատ բացատրություն է պահանջում, այն է, ինչ ես անվանել եմ «փաթաթված գործ»: Նույնիսկ այն դեպքում, երբ ջոյսթիկը և շարժիչը գտնվում էին, օրինակ, +175 °, իսկ ջոյսթիկը հետագայում տեղափոխվեց -175 ° (շարժում ՝ ընդամենը 10 ° ջոյսթիկի վրա, արևմուտքից հյուսիսից արևմուտք), շարժիչը 350 % -ով կշարժվի ՍԽԱԼ Ուղղությամբ: դրա համար գրվել է հատուկ դեպքը:
Շրջափակման գործը սկսվում է ՝ ստուգելով, որ շարժիչն ու ջոյսթիկը հակառակ նշաններ ունեն, այսինքն ՝ շարժիչը դրական է, իսկ ժոյսթիկը ՝ բացասական, կամ հակառակը: Այն նաև ստուգում է, որ ջոյսթիկի և շարժիչի բացարձակ (այսինքն ՝ դրական արժեքների) գումարը 180 ° -ից բարձր է:
Եթե այս երկու պնդումներն էլ ճշմարիտ են, ապա ֆունկցիան ստուգում է ՝ արդյոք շարժիչը պետք է շարժվի ժամացույցի սլաքի ուղղությամբ (շարժիչի արժեքը բացասական է), թե՞ հակառակ ուղղությամբ (եթե շարժիչի արժեքը դրական է):
Շարժիչի անկյունի և ջոյսթիկի անկյունի բացարձակ արժեքները ընդհանուր են և հանվում են 360 ° -ից `շարժման հեռավորությունը որոշելու համար: Վերջապես, շարժիչի անկյունը (որն այժմ արտացոլում է ջոյսթիկի անկյունը) թարմացվում է որպես այդպիսին:
Քայլ 3: ԱՎԱՐՏՎԱ:
Այսպիսով, մնում է միայն վերբեռնել կոդը ձեր Arduino- ում և գործարկել այն: Seeրագրի գործառույթի լավ պատկերացման համար տե՛ս վերևի տեսանյութը: Սա օգտակար կլինի տեսախցիկի գիմբալների, ռոբոտային ձեռքերի և շատ այլ ծրագրերի համար:
Եթե օգտագործում եք ծածկագիրը, խնդրում եմ ինձ տեղյակ պահեք, և եթե որևէ տեղ տեսնում եք, որտեղ կարելի է կատարելագործել կոդը, ես կցանկանայի լսել ձեր կարծիքը:
Խորհուրդ ենք տալիս:
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց. 6 քայլ (նկարներով)
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով միայն մեկ անալոգային մուտքի քորոց:
Stepper Motor վերահսկվող Stepper Motor առանց միկրոկոնտրոլերի: 6 քայլ
Stepper Motor Controlled Stepper Motor առանց Microcontroller. Այս նախագիծը չի պահանջում բարդ միացում կամ միկրոկոնտրոլեր: Այսպիսով, առանց ավելորդ քայլի, եկեք սկսենք:
Հեշտ է իրականացնել UI -- OLED էկրան `ջոյսթիկով և կոճակներով` 6 քայլ
Հեշտ է իրականացնել UI || OLED էկրան `ջոյսթիքով և կոճակներով. Այս մոդուլն ունի OLED էկրան` երկու կոճակով, 5-ճանապարհի ջոյստիկով և 3 առանցքի արագացուցիչով: Սա օգտակար է նախագծի համար UI ստեղծելու համար: Հեյ, ինչ կա տղերք: Աքարշ այստեղ CETech- ից: Այսօր մենք մտադիր ենք դիտել համընդհանուր մոդուլը, որը
Raspberry Pi GPIO սխեմաներ. Օգտագործելով LDR անալոգային սենսոր առանց ADC (անալոգային թվային փոխարկիչի). 4 քայլ
Raspberry Pi GPIO սխեմաներ. Օգտագործելով LDR անալոգային տվիչ ՝ առանց ADC (անալոգային թվային փոխարկիչի). կամ Lowածր. Բայց ի՞նչ անել, եթե ցանկանում եք օգտագործել ձեր Raspberry Pi- ն անալոգային սենսորով: Եթե մենք ցանկանում ենք օգտագործել
Սենսորային անկյունային Java + Arduino: 5 քայլ
Սենսորային անգլալեզու Java + Arduino. En este apartado les explicare como usar un sensor angle rotatorio, mediante una interfaz en java y arduino