Innehållsförteckning:

Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: 4 Steps
Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: 4 Steps

Video: Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: 4 Steps

Video: Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: 4 Steps
Video: Arduino Mecanum Wheels Robot 2024, November
Anonim
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield
Mecanum Omni Wheels Robot med GRBL Stepper Motors Arduino Shield

Mecanum Robot - Ett projekt jag ville bygga ända sedan jag såg det på Dejans gread mekatronikblogg: howtomechatronics.com

Dejan gjorde verkligen ett bra jobb som täcker alla aspekter från hårdvara, 3D -utskrift, elektronik, kod och en Android -app (MITs App uppfinnare)

Detta är ett fantastiskt överkroppsprojekt som uppdaterar alla färdigheter hos en tillverkare.

Jag hade få förändringar att göra i projekten

Jag ville inte använda den skräddarsydda PCB han använde, men en gammal GRBL -sköld hade jag hemma.

Jag ville använda BlueTooth

Så:

Tillbehör

Arduino Uno + GRBL Shield

Stegmotorer

HC-06 BlueTooth-modul

12V Lipo -batteri

Steg 1: Hårdvara

Hårdvara
Hårdvara
Hårdvara
Hårdvara

Tryckt hjulen och monterat dem som här:

Ansluten 4 stegmotorer till chassit (i mitt fall en oanvänd låda upp och ner)

Dra kablarna till toppen av roboten.

Steg 2: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik

Jag använde min HC-06 BT-modul, Det svåraste var att ställa in GRBL -skölden för att fungera med 4 stegmotorer eftersom det inte finns någon bra guide för det, Det finns ett behov av att sätta Jumpers som kan ses på den bifogade bilden, för att få "Tool" -utgången från skölden att också styra en stegmotor. måste också sätta "Enable" Jumper

koppling av de fyra stegarna och det är det.

Jag levererade också ström från 12V batterier - två st - en för Arduino och en för GRBl Shield

Steg 3: Arduino -kod

/* === Arduino Mecanum Wheels Robot === Smartphone -kontroll via Bluetooth av Dejan, www. HowToMechatronics.com Libraries: RF24, www. HowToMechatronics.com AccelStepper av Mike McCauley: www. HowToMechatronics.com

*** /6 4/7 12/13 med A4988 -drivrutin 12V

Dejans kod använder SoftwareSerial och min kommer att använda standard RX, TX -stiften (0, 1) på Arduino Uno Obs! Se till att rempve RX TX -stiften när du laddar upp skiss till arduino eller att uppladdningen misslyckas.

*/ #inkludera

// Definiera stegmotorerna och stiften som kommer att använda AccelStepper LeftBackWheel (1, 2, 5); // (Typ: driver, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4

int incomingByte = 0, c; // för inkommande seriell data int wheelSpeed = 100;

void setup () {Serial.begin (9600); // öppnar seriell port, ställer in datahastigheten till 9600 bps // Ställ in initiala frövärden för stegarna LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// läs inkommande byte: incomingByte = Serial.read ();

c = inkommandeByte; switch (c) {case 71: Serial.println ("Jag fick Rotera höger W"); vrid höger(); ha sönder; fall 65: Serial.println ("Jag fick Rotera vänster Q"); rotera vänster(); ha sönder; fall 1: Serial.println ("Jag fick BK/LFT"); moveRightBackward (); ha sönder; fall 2: Serial.println ("Jag fick BK"); flytta bakåt(); ha sönder; fall 3: Serial.println ("Jag fick BK/RT"); moveRightBackward (); ha sönder; fall 4: Serial.println ("Jag fick VÄNSTER"); moveSidewaysLeft ();

ha sönder; fall 5: Serial.println ("Jag fick STOPP"); sluta röra dig(); ha sönder; fall 6: Serial.println ("Jag fick RT"); moveSidewaysRight (); ha sönder; fall 7: Serial.println ("Jag fick FWD/LFT"); moveLeftForward (); ha sönder; fall 8: Serial.println ("Jag fick FWD"); gå framåt(); ha sönder; fall 9: Serial.println ("Jag fick FWD/RT"); moveRightForward (); ha sönder; default: Serial.print ("Inte ett kommando"); Serial.println (incomingByte, DEC); ha sönder; } } //flytta bakåt(); 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); }

Steg 4: Appinventor

En ny appinventor -app med olika och enklare funktionalitet (inga inspelningar)

Skicka meddelande så skickar jag till dig - uppladdningarna misslyckas.

Ta hand om dig.

Rekommenderad: