Përmbajtje:

Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield: 4 Hapa
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield: 4 Hapa

Video: Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield: 4 Hapa

Video: Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield: 4 Hapa
Video: Stepper Motors and Arduino - The Ultimate Guide 2024, Nëntor
Anonim
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield
Robot Mecanum Omni Wheels Me GRBL Stepper Motors Arduino Shield

Robot Mecanum - Një projekt që doja ta ndërtoja që kur e pashë në blogun e mekatronikës së tmerrshme të Dejan: howtomechatronics.com

Dejan me të vërtetë bëri një punë të mirë që mbulonte të gjitha aspektet nga hardueri, printimi 3D, elektronika, kodi dhe një aplikacion Android (shpikësi i aplikacionit të MIT)

Ky është një projekt i madh overhoul që rifreskon të gjitha aftësitë e një krijuesi.

Kisha pak ndryshime për të bërë në projekte

Unë nuk doja të përdorja PCB të bërë me porosi që ai përdorte, por një mburojë të vjetër GRBL që kisha në shtëpi.

Doja të përdor BlueTooth

Kështu që:

Furnizimet

Arduino Uno + Mburoja GRBL

Motorët stepper

Moduli HC-06 BlueTooth

Bateri Lipo 12V

Hapi 1: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware

Shtypur rrotat dhe montuar ato si këtu:

Lidhur 4 motorë Stepper me shasinë (në rastin tim një sirtar i papërdorur lart poshtë)

Drejtoi kabllot në krye të robotit.

Hapi 2: Elektronikë

Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë

Kam përdorur modulin tim HC-06 BT, Pjesa më e vështirë ishte të vendosni mburojën GRBL të punojë me 4 motorë Stepper pasi nuk ka udhëzues të mirë për këtë, Ekziston nevoja për të vendosur kërcyesit siç mund të shihet në figurën e bashkangjitur, në mënyrë që dalja "Tool" e mburojës të kontrollojë edhe një motor stepper. gjithashtu duhet të vendosni "Enable" Jumper

instalime elektrike 4 stepat dhe kjo është ajo.

Unë gjithashtu furnizova energjinë nga bateritë 12V - dy stes - një për Arduino dhe një për GRBl Shield

Hapi 3: Kodi Arduino

/* === Roboti Arduino Mecanum Wheels === Kontrolli i smartphone -it përmes Bluetooth nga Dejan, www. HowToMechatronics.com Bibliotekat: RF24, www. HowToMechatronics.com AccelStepper nga Mike McCauley: www. HowToMechatronics.com

*//* 2019-11-12 Gilad Meller (https://www.keerbot.com - modifikoni kodin për të punuar me mburojën motorike GRBL arduino Motorët stepper në mburojë janë të hartuar si (hap/drejtim): 2/5 3 /6 4/7 12/13 duke përdorur shoferin A4988 12V

Kodi i Dejanit përdor SoftwareSerial dhe imi do të përdorë kunjat standarde RX, TX (0, 1) të Arduino Uno Shënim: Sigurohuni që të rimbushni kunjat RX TX kur ngritja e skicës në arduino ose ngarkimi do të dështojë.

*/ #përfshi

// Përcaktoni motorët stepper dhe kunjat që do të përdorin AccelStepper LeftBackWheel (1, 2, 5); // (Lloji: shofer, HAPI, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4

int hyrëseBajt = 0, c; // për të dhënat hyrëse serike int wheelSpeed = 100;

void setup () {Serial.begin (9600); // hap portin serik, vendos shpejtësinë e të dhënave në 9600 bps // Vendos vlerat fillestare të farës për stepat LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// lexoni bajtin hyrës: incomingByte = Serial.read ();

c = hyrjaBajt; kaloni (c) {rasti 71: Serial.println ("Kam marrë Rotate right W"); rotateRight (); pushim; rasti 65: Serial.println ("Kam marrë Rotate left Q"); rotateLeft (); pushim; rasti 1: Serial.println ("Kam marrë BK/LFT"); moveRightBackward (); pushim; rasti 2: Serial.println ("Kam marrë BK"); moveBackward (); pushim; rasti 3: Serial.println ("Kam marrë BK/RT"); moveRightBackward (); pushim; rasti 4: Serial.println ("Kam marrë LEFT"); moveSidewaysLeft ();

pushim; rasti 5: Serial.println ("Kam marrë STOP"); stopMoving (); pushim; rasti 6: Serial.println ("Kam marrë RT"); moveSidewaysRight (); pushim; rasti 7: Serial.println ("Kam marrë FWD/LFT"); moveLeftForward (); pushim; rasti 8: Serial.println ("Kam marrë FWD"); Ec perpara(); pushim; rasti 9: Serial.println ("Kam marrë FWD/RT"); moveRightForward (); pushim; parazgjedhje: Serial.print ("Jo një komandë"); Serial.println (hyrjaByte, DEC); pushim; }} // 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 (-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 (wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); 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 (wheelSpeed); 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); }

Hapi 4: Aplikuesi

Një aplikacion i ri i shpikësit me funksionalitet të ndryshëm dhe më të thjeshtë (pa regjistrime)

Ju lutemi dërgoni mesazh dhe unë ju dërgoj - ngarkimet dështojnë.

Kujdesu.

Recommended: