Sisukord:

Mecanum Omni rataste robot koos GRBL samm -mootoritega Arduino kilp: 4 sammu
Mecanum Omni rataste robot koos GRBL samm -mootoritega Arduino kilp: 4 sammu

Video: Mecanum Omni rataste robot koos GRBL samm -mootoritega Arduino kilp: 4 sammu

Video: Mecanum Omni rataste robot koos GRBL samm -mootoritega Arduino kilp: 4 sammu
Video: Three-wheeled Omni wheel holonomic drive test all drivetrain test/demo using a REV Robotics #robot 2024, November
Anonim
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp
Mecanum Omni rataste robot koos GRBL samm -mootoriga Arduino kilp

Mecanum Robot - projekt, mida tahtsin ehitada alates sellest ajast, kui nägin seda Dejani gread mehhatroonika ajaveebis: howtomechatronics.com

Dejan tegi tõesti head tööd, hõlmates kõiki riistvara, 3D -printimise, elektroonika, koodi ja Androidi rakenduse aspekte (MIT -i rakenduse leiutaja)

See on suurepärane kapitaalremondi projekt, mis värskendab kõiki tegija oskusi.

Mul oli projektides vähe muudatusi teha

Ma ei tahtnud kasutada tema kasutatud eritellimusel valmistatud PCB -d, vaid vana GRBL -kilp, mis mul kodus oli.

Tahtsin kasutada BlueToothi

Niisiis:

Tarvikud

Arduino Uno + GRBL kilp

Sammumootorid

HC-06 BlueTooth moodul

12V Lipo aku

Samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara

Printige rattad ja pange need kokku nagu siin:

Ühendatud šassiiga 4 samm -mootorit (minu puhul kasutamata sahtel ülespoole allapoole)

Juhtis kaablid roboti ülaossa.

2. samm: elektroonika

Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika
Elektroonika

Kasutasin oma HC-06 BT moodulit, Kõige raskem oli panna GRBL -kilp tööle nelja samm -mootoriga, kuna selleks pole head juhendit, On vaja panna džemprid, nagu on näha lisatud pildil, et muuta kilbi "Tool" väljund ka astmemootori juhtimiseks. Samuti tuleb panna "Luba" hüppaja

ühendage 4 astmelist juhtmestikku ja ongi kõik.

Toitsin ka toite 12 V akudest - kaks stesi - üks Arduino ja teine GRBl Shield jaoks

Samm: Arduino kood

/* === Arduino Mecanumi rataste robot === Dejani nutitelefoni juhtimine Bluetoothi kaudu, www. HowToMechatronics.com Raamatukogud: RF24, www. HowToMechatronics.com AccelStepper, autor Mike McCauley: www. HowToMechatronics.com

*//* 11.12.2019 Gilad Meller (https://www.keerbot.com - muutke koodi, et see töötaks koos GRBL arduino mootorikilbiga. Kilbi samm -mootorid on kaardistatud järgmiselt (samm/suund): 2/5 3 /6 4/7 12/13, kasutades A4988 draiverit 12V

Dejani kood kasutab SoftwareSerialit ja minu oma kasutab Arduino Uno standardseid RX-, TX -nööpnõelu (0, 1) Märkus. Veenduge, et visandi arduinole üleslaadimisel keerake RX TX -tihvtid uuesti, vastasel juhul ei õnnestu üleslaadimine nurjuda.

*/ #kaasake

// Määrake samm -mootorid ja tihvtid, mida kasutab AccelStepper LeftBackWheel (1, 2, 5); // (Tüüp: juht, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4

int sissetulev bait = 0, c; // sissetulevate seeriaandmete jaoks int wheelSpeed = 100;

void setup () {Serial.begin (9600); // avab jadaporti, määrab andmeedastuskiiruseks 9600 bps // Määrake sammude algväärtused LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// loe sissetulevat baiti: inputingByte = Serial.read ();

c = sissetulev bait; lüliti (c) {juhtum 71: Serial.println ("Sain Pööra paremale W"); rotateRight (); murda; juhtum 65: Serial.println ("Sain Pööra vasakule Q"); rotateLeft (); murda; juhtum 1: Serial.println ("Sain BK/LFT"); moveRightBackward (); murda; juhtum 2: Serial.println ("Ma sain BK"); moveBackward (); murda; juhtum 3: Serial.println ("Ma sain BK/RT"); moveRightBackward (); murda; juhtum 4: Serial.println ("Sain LEFT"); moveSidewaysLeft ();

murda; juhtum 5: Serial.println ("Ma sain STOP"); stopMoving (); murda; juhtum 6: Serial.println ("Ma sain RT"); moveSidewaysRight (); murda; juhtum 7: Serial.println ("Sain FWD/LFT"); moveLeftForward (); murda; juhtum 8: Serial.println ("Sain FWD"); edasi liikuma(); murda; juhtum 9: Serial.println ("Sain FWD/RT"); moveRightForward (); murda; vaikimisi: Serial.print ("Pole käsk"); Serial.println (sissetulev bait, DEC); murda; }} // moveBackward (); moveRobot ();

}

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

void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-ratta kiirus); RightFrontWheel.setSpeed (-ratta kiirus); RightBackWheel.setSpeed (-ratta kiirus); } void moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-ratta kiirus); RightFrontWheel.setSpeed (-ratta kiirus); RightBackWheel.setSpeed (wheelSpeed); } void moveSidewaysLeft () {LeftFrontWheel.setSpeed (-ratta kiirus); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (-ratta kiirus); } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-ratta kiirus); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } void rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (-ratta kiirus); RightBackWheel.setSpeed (-ratta kiirus); } void moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (wheelSpeed); } void moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-ratta kiirus); RightFrontWheel.setSpeed (-ratta kiirus); RightBackWheel.setSpeed (0); } void moveLeftForward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (0); } void moveLeftBackward () {LeftFrontWheel.setSpeed (-ratta kiirus); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (-ratta kiirus); } void stopMoving () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (0); }

Samm 4: Appinventor

Uus appinventori rakendus, millel on erinevad ja lihtsamad funktsioonid (salvestusi pole)

Palun saatke sõnum ja ma saadan teile - üleslaadimine ebaõnnestub.

Ole tubli.

Soovitan: