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

Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով ՝ 4 քայլ
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով ՝ 4 քայլ

Video: Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով ՝ 4 քայլ

Video: Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով ՝ 4 քայլ
Video: FORKLIFT WITH MECANUM WHEEL 2024, Նոյեմբեր
Anonim
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով
Mecanum Omni Անիվներ ռոբոտ GRBL Stepper Motors Arduino Shield- ով

Mecanum Robot - Նախագիծ, որը ես ցանկանում էի կառուցել այն պահից, երբ տեսա այն Դեժանի սարսափելի մեխատրոնիկայի բլոգում ՝ howtomechatronics.com

Դեջանն իսկապես լավ աշխատանք կատարեց ՝ ծածկելով ապարատային, 3D տպագրության, էլեկտրոնիկայի, ծածկագրերի և Android հավելվածի բոլոր ասպեկտները (MIT- ի հավելվածի գյուտարար)

Սա հիանալի գերհոգնած նախագիծ է, որը թարմացնում է ստեղծողի բոլոր հմտությունները:

Ես մի քանի փոփոխություն ունեի անելու նախագծերում

Ես չէի ուզում օգտագործել նրա կողմից օգտագործված PCB- ն, այլ հին GRBL վահանը, որն ունեի տանը:

Ես ուզում էի օգտագործել BlueTooth- ը

Այսպիսով,

Պարագաներ

Arduino Uno + GRBL վահան

Տափաստանային շարժիչներ

HC-06 BlueTooth մոդուլ

12 Վ լիպո մարտկոց

Քայլ 1: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Տպեց անիվները և հավաքեց դրանք, ինչպես այստեղ.

4 Stepper շարժիչ միացրեց շասսիին (իմ դեպքում չօգտագործված դարակը վերևից ներքև)

Մալուխներն ուղղեց դեպի ռոբոտի վերև:

Քայլ 2: Էլեկտրոնիկա

Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա

Ես օգտագործել եմ իմ HC-06 BT մոդուլը, Ամենադժվարը GRBL վահանը 4 Stepper շարժիչներով աշխատեցնելն էր, քանի որ դրա համար լավ ուղեցույց չկա, Անհրաժեշտ է թռչկոտիչներ տեղադրել, ինչպես երևում է կից նկարում, որպեսզի վահանի «Գործիք» ելքը նույնպես կառավարի հետընթաց շարժիչը: նաև պետք է տեղադրել «Միացնել» թռիչքը

4 տափաստանային լարերի միացում և վերջ:

Ես նաև էներգիա էի մատակարարում 12 Վ մարտկոցներից `երկու մարտկոց` մեկը Arduino- ի և մեկը GRBl Shield- ի համար

Քայլ 3: Arduino կոդ

/* === Arduino Mecanum Wheels Robot === Սմարթֆոնի կառավարում Bluetooth- ի միջոցով Dejan, www. HowToMechatronics.com Գրադարաններ. RF24, www. HowToMechatronics.com AccelStepper հեղինակ ՝ Մայք Մաքքոլիի կողմից. Www. HowToMechatronics.com

*//* 2019-11-12 Գիլադ Մելլեր (https://www.keerbot.com - փոփոխել GRBL arduino շարժիչի վահանի հետ աշխատելու կոդը վահանի վագոնային շարժիչները քարտեզագրված են որպես (քայլ/ուղղություն). 2/5 3 /6 4/7 12/13 օգտագործելով A4988 վարորդ 12 Վ

Dejan- ի ծածկագիրը օգտագործում է SoftwareSerial- ը, իսկ իմը կօգտագործի Arduino Uno- ի ստանդարտ RX, TX կապերը (0, 1) Նշում. Համոզվեք, որ RX TX կապումներն ուղղեք, երբ արդուինոյի ուրվագիծը թարմացվի, կամ վերբեռնումը ձախողվի:

*/ #ներառում

// Սահմանեք տափաստանային շարժիչները և կապերը, որոնք կօգտագործեն AccelStepper LeftBackWheel (1, 2, 5); // (Տեսակը ՝ վարորդ, ՔԱՅԼ, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Քայլ 4

int մուտքայինԲայթ = 0, գ; // մուտքային սերիական տվյալների համար int wheelSpeed = 100;

void setup () {Serial.begin (9600); // բացում է սերիական նավահանգիստը, տվյալների արագությունը սահմանում է 9600 բիթ/ վրկ // Սահմանել նախնական սերմի արժեքները տափաստանների համար LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// կարդալ մուտքային բայթ: incomingByte = Serial.read ();

c = մուտքայինԲայթ; անջատիչ (գ) {դեպք 71: Serial.println («Ես ստացել եմ Պտտել աջ W»); rotateRight (); ընդմիջում; դեպք 65: Serial.println («Ես ստացել եմ Պտտվել ձախ Q»); rotateLeft (); ընդմիջում; գործ 1: Serial.println («Ես ստացել եմ BK/LFT»); moveRightBackward (); ընդմիջում; դեպք 2: Serial.println («Ես ստացել եմ BK»); moveBackward (); ընդմիջում; դեպք 3: Serial.println («Ես ստացել եմ BK/RT»); moveRightBackward (); ընդմիջում; դեպք 4: Serial.println («Ես ստացել եմ ՁԱՅՆ»); moveSidewaysLeft ();

ընդմիջում; դեպք 5: Serial.println («Ես ստացա STOP»); stopMoving (); ընդմիջում; դեպք 6: Serial.println («Ես ստացել եմ RT»); moveSidewaysRight (); ընդմիջում; դեպք 7: Serial.println («Ես ստացել եմ FWD/LFT»); moveLeftForward (); ընդմիջում; դեպք 8: Serial.println («Ես ստացել եմ FWD»); առաջ ընթանալ(); ընդմիջում; դեպք 9: Serial.println («Ես ստացել եմ FWD/RT»); moveRightForward (); ընդմիջում; լռելյայն ՝ Serial.print («Հրաման չէ»); Serial.println (մուտքային բայթ, DEC); ընդմիջում; }} // moveBackward (); moveRobot ();

}

void moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.runSpeed (); RightFrontWheel.runSpeed (); RightBackWheel.runSpeed (); }

void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (անիվի արագություն); RightBackWheel.setSpeed (wheelSpeed); } void moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (անիվի արագություն); RightBackWheel.setSpeed (-wheelSpeed); } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (անիվի արագություն); RightBackWheel.setSpeed (wheelSpeed); } void rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (wheelSpeed); } void moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (0); } void moveLeftForward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (անիվի արագություն); RightBackWheel.setSpeed (0); } void moveLeftBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (-wheelSpeed); } void stopMoving () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (0); }

Քայլ 4: Appinventor

Նոր appinventor ծրագիր ՝ տարբեր և ավելի պարզ ֆունկցիոնալությամբ (Առանց ձայնագրությունների)

Խնդրում եմ ուղարկել msg, և ես կուղարկեմ ձեզ - վերբեռնումները ձախողվում են:

Հոգ տանել.

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