Indholdsfortegnelse:

Mecanum Omni Wheels Robot Med GRBL Stepper Motors Arduino Shield: 4 trin
Mecanum Omni Wheels Robot Med GRBL Stepper Motors Arduino Shield: 4 trin

Video: Mecanum Omni Wheels Robot Med GRBL Stepper Motors Arduino Shield: 4 trin

Video: Mecanum Omni Wheels Robot Med GRBL Stepper Motors Arduino Shield: 4 trin
Video: CLY Robotics: Stepper motors speeding up then slowing down 2024, November
Anonim
Mecanum Omni hjul robot med GRBL steppermotorer Arduino Shield
Mecanum Omni hjul robot med GRBL steppermotorer Arduino Shield
Mecanum Omni hjul robot med GRBL steppermotorer Arduino Shield
Mecanum Omni hjul robot med GRBL steppermotorer Arduino Shield
Mecanum Omni hjul robot med GRBL stepper motorer Arduino Shield
Mecanum Omni hjul robot med GRBL stepper motorer Arduino Shield

Mecanum Robot - Et projekt, jeg har ønsket at bygge lige siden jeg så det på Dejans gread mechatronics blog: howtomechatronics.com

Dejan gjorde virkelig et godt stykke arbejde med at dække alle aspekter fra hardware, 3D -print, elektronik, kode og en Android -app (MIT's App -opfinder)

Dette er et fantastisk overhoul -projekt, der opdaterer alle en færdigheds færdigheder.

Jeg havde få ændringer til projekterne

Jeg ville ikke bruge den specialfremstillede print, han brugte, men et gammelt GRBL -skjold, jeg havde derhjemme.

Jeg ville bruge BlueTooth

Så:

Forbrugsvarer

Arduino Uno + GRBL Shield

Steppermotorer

HC-06 BlueTooth-modul

12V Lipo batteri

Trin 1: Hardware

Hardware
Hardware
Hardware
Hardware

Trykte hjulene og monterede dem som her:

Tilsluttede 4 trinmotorer til chassiset (i mit tilfælde en ubrugt skuffe med forsiden nedad)

Førte kablerne til toppen af robotten.

Trin 2: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik

Jeg brugte mit HC-06 BT-modul, Det sværeste var at indstille GRBL -skjoldet til at fungere med 4 trinmotorer, da der ikke er nogen god vejledning til det, Der er et behov for at sætte Jumpere, som det kan ses på det vedhæftede billede, for at få "Tool" -udgangen fra skjoldet til også at styre en trinmotor. skal også sætte "Enable" Jumper

tilslutning af de 4 stepper og det er det.

Jeg leverede også strøm fra 12V batterier - to stes - en til Arduino og en til GRBl Shield

Trin 3: Arduino -kode

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

*** /6 4/7 12/13 ved hjælp af A4988 driver 12V

Dejans kode bruger SoftwareSerial, og min vil bruge standard RX, TX -benene (0, 1) i Arduino Uno Bemærk: Sørg for at rempve RX TX -stifterne, når du uploader skitse til arduinoen, eller uploaden mislykkes.

*/ #include

// Definer trinmotorer og benene, som vil bruge AccelStepper LeftBackWheel (1, 2, 5); // (Type: 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; // for indgående serielle data int wheelSpeed = 100;

ugyldig opsætning () {Serial.begin (9600); // åbner seriel port, indstiller datahastighed til 9600 bps // Indstil startfrøværdier for stepperne LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// læs den indgående byte: incomingByte = Serial.read ();

c = incomingByte; switch (c) {case 71: Serial.println ("Jeg modtog Rotate right W"); rotateRight (); pause; case 65: Serial.println ("Jeg modtog Rotate left Q"); rotateLeft (); pause; sag 1: Serial.println ("jeg modtog BK/LFT"); moveRightBackward (); pause; sag 2: Serial.println ("jeg modtog BK"); moveBackward (); pause; sag 3: Serial.println ("jeg modtog BK/RT"); moveRightBackward (); pause; sag 4: Serial.println ("jeg modtog VENSTRE"); moveSidewaysLeft ();

pause; sag 5: Serial.println ("jeg modtog STOP"); stopMoving (); pause; sag 6: Serial.println ("jeg modtog RT"); moveSidewaysRight (); pause; sag 7: Serial.println ("jeg modtog FWD/LFT"); moveLeftForward (); pause; sag 8: Serial.println ("jeg modtog FWD"); komme videre(); pause; sag 9: Serial.println ("jeg modtog FWD/RT"); moveRightForward (); pause; standard: Serial.print ("Ikke en kommando"); Serial.println (incomingByte, DEC); pause; }} // 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); }

Trin 4: Appinventor

En ny appinventor -app med anderledes og enklere funktionalitet (ingen optagelser)

Send venligst besked, og jeg sender til dig - uploads mislykkes.

Pas på.

Anbefalede: