Tartalomjegyzék:

Mecanum Omni kerekek robotja GRBL léptetőmotorokkal Arduino pajzs: 4 lépés
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal Arduino pajzs: 4 lépés

Videó: Mecanum Omni kerekek robotja GRBL léptetőmotorokkal Arduino pajzs: 4 lépés

Videó: Mecanum Omni kerekek robotja GRBL léptetőmotorokkal Arduino pajzs: 4 lépés
Videó: Как использовать Arduino Nano, чтобы сделать тележку с колесами Mecanum #shorts 2024, November
Anonim
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal
Mecanum Omni kerekek robotja GRBL léptetőmotorokkal, Arduino pajzzsal

Mecanum Robot - Egy projekt, amit építeni akartam, amióta megláttam a Dejan gread mechatronics blogján: howtomechatronics.com

Dejan valóban jó munkát végzett, lefedve a hardver, a 3D nyomtatás, az elektronika, a kód és az Android -alkalmazás minden aspektusát (az MIT App feltalálója)

Ez egy nagyszerű átalakítási projekt, amely felfrissíti a készítő minden készségét.

Kevés változtatásom volt a projekteken

Nem az általa használt egyedi gyártmányú NYÁK -ot akartam használni, hanem egy régi GRBL pajzsot, ami otthon volt.

A BlueTooth -ot akartam használni

Így:

Kellékek

Arduino Uno + GRBL pajzs

Léptetőmotorok

HC-06 BlueTooth modul

12V Lipo akkumulátor

1. lépés: Hardver

Hardver
Hardver
Hardver
Hardver

Nyomtassa ki a kerekeket és szerelje össze őket itt:

Csatlakoztatott 4 léptetőmotor az alvázhoz (esetemben egy fel nem használt fiók felfelé)

A kábeleket a robot tetejére vezette.

2. lépés: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

A HC-06 BT modulomat használtam, A legnehezebb az volt, hogy a GRBL pajzsot 4 léptetőmotorral működtessük, mivel erre nincs jó útmutató, Szükség van a jumperek elhelyezésére, amint az a mellékelt képen látható, annak érdekében, hogy a pajzs "Tool" kimenete egy léptetőmotort is vezéreljen. az "Engedélyezés" jumpert is fel kell tenni

bekötjük a 4 lépcsőt és ennyi.

A tápellátást 12 V -os elemekről is biztosítottam - két darab - egyet az Arduino és egyet a GRBl Shield számára

3. lépés: Arduino kód

/* === Arduino Mecanum Wheels Robot === Okostelefon -vezérlés Bluetooth -on keresztül Dejan, www. HowToMechatronics.com Könyvtárak: RF24, www. HowToMechatronics.com AccelStepper, Mike McCauley: www. HowToMechatronics.com

*//* 2019.12.12. Gilad Meller (https://www.keerbot.com - módosítsa a kódot, hogy működjön a GRBL arduino motorpajzsával) /6 4/7 12/13 A4988 illesztőprogram használatával 12V

Dejan kódja a SoftwareSerial programot használja, és az enyém az Arduino Uno szabványos RX, TX csapjait (0, 1) használja.

*/ #tartalmazza

// Határozza meg a léptetőmotorokat és a csapokat, amelyeket az AccelStepper LeftBackWheel (1, 2, 5) fog használni; // (Típus: driver, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Léptető4

int bejövőByte = 0, c; // bejövő soros adatokhoz int wheelSpeed = 100;

void setup () {Serial.begin (9600); // megnyitja a soros portot, az adatsebességet 9600 bps -ra állítja // Kezdeti magértékek beállítása a léptetők számára LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// olvassa el a bejövő bájtot: inputingByte = Serial.read ();

c = bejövőByte; switch (c) {71. eset: Serial.println ("Megkaptam a jobb oldali elforgatást"); forgasd jobbra(); szünet; 65. eset: Serial.println ("Kaptam balra forgatást Q"); forgasd balra(); szünet; 1. eset: Serial.println ("BK/LFT -t kaptam"); moveRightBackward (); szünet; 2. eset: Serial.println ("BK -t kaptam"); hátrafelé mozogni(); szünet; 3. eset: Serial.println ("BK/RT -t kaptam"); moveRightBackward (); szünet; 4. eset: Serial.println ("LEFT kaptam"); moveSidewaysLeft ();

szünet; 5. eset: Serial.println ("STOP -ot kaptam"); stopMoving (); szünet; 6. eset: Serial.println ("RT -t kaptam"); moveSidewaysRight (); szünet; 7. eset: Serial.println ("FWD/LFT -t kaptam"); moveLeftForward (); szünet; 8. eset: Serial.println ("FWD -t kaptam"); menj tovább(); szünet; 9. eset: Serial.println ("FWD/RT -t kaptam"); moveRightForward (); szünet; alapértelmezett: Serial.print ("Nem parancs"); Serial.println (bejövőByte, DEC); szünet; } } //hátrafelé mozogni(); 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); }

4. lépés: Appinventor

Egy új appinventor alkalmazás más és egyszerűbb funkcióval (felvételek nélkül)

Kérem, küldjön üzenetet, és én elküldöm Önnek - a feltöltések sikertelenek.

Vigyázz magadra.

Ajánlott: