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

UCL - Տեղադրված - Ընտրեք և տեղադրեք ՝ 4 քայլ
UCL - Տեղադրված - Ընտրեք և տեղադրեք ՝ 4 քայլ

Video: UCL - Տեղադրված - Ընտրեք և տեղադրեք ՝ 4 քայլ

Video: UCL - Տեղադրված - Ընտրեք և տեղադրեք ՝ 4 քայլ
Video: Փաշինյանը Լեոնիդի պես 300 սպարտացի պիտի ընտրի, ոչ թե կիսատ պռատների հավաքի շուրջը․ Աղասի Ղազարյան 2024, Նոյեմբեր
Anonim
UCL - Տեղադրված - Ընտրեք և տեղադրեք
UCL - Տեղադրված - Ընտրեք և տեղադրեք

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

Քայլ 1: Կոմպունետներ

Կոմպունետներ
Կոմպունետներ

1x Ադրիո Մեգա

2x քայլային շարժիչ (մենք օգտագործում էինք JLB Stepper Motor, մոդել 17H1352-P4130)

2x Stepper Motor Drive Controller Board Module L298N Dual H Bridge DC Arduino- ի համար

1x servo շարժիչ (մենք դրա վրա բիծ չունենք)

3x 10k ohm դիմադրողներ

2x նեյլոնե պտուտակներ

1x 12v էլեկտրամատակարարում

Շրջանակի համար մի փոքր փայտ

Լարերը

Քայլ 2: Շինարարություն

Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն

Շինարարության ընթացքում առաջինը ընտրելը և տեղադրելու մեքենայի չափի և ձևի որոշումն էր

Սկզբում մենք կառուցում ենք հիմնական ձևի փայտ: Մենք կառուցեցինք մեր ընտրության և տեղադրման շրջանակը 50 սմ 25 սմ 30 սմ: Ամեն ինչ, բացի շրջանակից, կամուրջից և բարձրացնող թևից, արտադրվել է լազերահատ սարքով:

Ահա հղում դեպի բոլոր ֆայլերը ՝

Հետո մենք ուզում էինք ճախարակների համակարգ: Այստեղ մենք գնացինք երկու 50 մմ օղակով և մեկ 20 մմ օղակով: Այնուհետև 20 մմ -ի կողքին մի սոսինձ տեղադրեցինք պարապմունք: Դրանից հետո մենք սեղմեցինք երկու 50 մմ օղակները 20 մմ օղակի երկու կողմերում:

20 մմ

50 մմ

Այնուհետեւ մենք պետք է նախագծենք սլայդերի ուղեցույց դեպի թեւը: Այստեղ մենք պատրաստեցինք երկու կողմ և մեկ հետևի ափսե:

Որն այնուհետեւ սոսնձված էր U տեսքով: Հետո մենք դա միացրեցինք կամրջին:

Կողային ափսե

Հետևի ափսե

Այժմ, երբ ձեռքը վեր ու վար տեղափոխելու մասերը պատրաստ են: Պետք է այն հետ ու առաջ տանել:

Սա նախագծելիս մենք համոզվեցինք, որ ատամները համընկնում են միմյանց: Այսպիսով, երկու տարրերն էլ ստեղծվել են նույն նախագծի վայրում:

Քայլ 3: Կոդ

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

Theրագրավորումը բավականին պարզ է և բաղկացած է 5 մասից

  1. Գրադարանների ներառումը և փոփոխականների տեղադրումը ներքին և IO օգտագործման համար
  2. Տեղադրեք մուտքերը Ram- ում
  3. Սեկվենս, ընտրելով ձեր ուզած շարժումը:
  4. Stepper/servo դիրքի հսկողություն
  5. Ելք աշխարհին

Մենք լայն բացատրություններով կբացատրենք յուրաքանչյուր մաս, բայց հիշեք, որ սա բազմաթիվ լուծումներից միայն մեկն է:

1: Նախքան դատարկ կարգավորումը մենք ներառեցինք այս նախագծի համար մեզ անհրաժեշտ 2 գրադարանները: Ստեփեր և Սերվո: Օգտագործելով ներառված գրադարանները ՝ կփրկի ձեզ stepper և servo շարժիչների մասին ամեն մանրամասն սովորելուց:

#ներառում

#ներառում

const int stepsPerRevolution = 200; // փոխեք սա `ձեր շարժիչի համար մեկ պտույտի քայլերի քանակին համապատասխան

// նախաստորագրեք stepper գրադարանը 8 -ից 11 -րդ կապում.

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Սերվո Գրիպեր; // ստեղծել servo օբյեկտ `servo- ն վերահսկելու համար

Gripper- ը պետք է կցվի դատարկ կարգավորմանը

void setup () {// սկզբնականացնել սերիալային պորտը ՝ Serial.begin (9600); Griper.attach (9); // ամրացնում է servo- ն 9 -րդ կապի վրա servo օբյեկտին

Այս բաժնի մնացած մասը պարզապես փոփոխականների և հաստատունների տեղադրումն է:

2: Առաջին բանը Void Loop- ում այն է, որ օգտագործված բոլոր մուտքերը բեռնել փոփոխականի վրա: Դա արվում է երկու պատճառով. Առաջին պատճառն այն է, որ սահմանափակվի ներածման ընթերցման պրոցեսորի ծանր առաջադրանքները: Երկրորդ պատճառը, որն ամենակարևորն է, համոզվելն է, որ եթե Մուտքն օգտագործվում է մեկից ավելի անգամ, այն կունենա նույն արժեքը ամբողջ սկանավորման ընթացքում: Սա հեշտացնում է հետևողական կոդ գրել: Սա շատ տարածված պրակտիկա է PLC ծրագրավորման մեջ, բայց այն վերաբերում է նաև ներդրված ծրագրավորմանը:

// ------------------------- Մուտք դեպի RAM -------------------- Xend = digitalRead (34); Յենդ = digitalRead (35); Ena = digitalRead (36);

3: Կոդի sekvens մասում մենք պարզապես sekvens ենք պատրաստել Switch և case հրահանգներով: Sekvens հատվածը պարզապես ազդանշաններ է տալիս ծածկագրի Position control մասին: Այս մասը հեշտությամբ կարող է հարմարեցվել ձեր ծրագրին կամ օգտագործվել այնպես, ինչպես կա:

4. Սերվոյի դիրքը պարզապես վերահսկվում է servo liberi- ի կողմից, և gripper- ի if հայտարարությունը բաց և փակ է:

Stepper Control- ը մի փոքր ավելի բարդ է: Ֆունկցիան համեմատում է Setpoint- ը (Այն դիրքը, որին ցանկանում եք, որ թևը գնա) և Ընթացիկ դիրքը: Եթե ընթացիկ դիրքը ավելի սիրելի է, ապա գործառույթը ավելանում է դիրքին և խնդրում է Stepper liberi գործառույթը կատարել դրական քայլ: Հիգիենայի դիրքի դեպքում հակառակը ճիշտ է: եթե դիրքը նույնն է, ինչ Setpoint- ը, XinPos բիթը նստած է, և քայլը դադարում է:

// SP կոնտրոլ X

եթե (XstepCountXsp և ոչ տուն) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } if (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: Ավելացրեք ծածկագրի վերջը, շարժիչները վերահսկվում են liberi գործառույթներով:

// -------------------- Ելք ---------------------- // քայլ մեկ քայլ ՝ XStepper.step (Xstep); // քայլ մեկ քայլ ՝ YStepper.step (Ystep);

Griper.write (GripSp);

Քայլ 4: Պատրաստված է

casp6099 - Կասպեր Հարթունգ Քրիստենսեն

rasm616d - Ռասմուս Հանսեն

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