Obsah:
Video: Kolový robot Mecanum Omni s krokovými motory GRBL Arduino Shield: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Mecanum Robot - projekt, který jsem chtěl vybudovat od chvíle, kdy jsem ho viděl na blogu Dejan's gread mechatronics: howtomechatronics.com
Dejan opravdu odvedl dobrou práci pokrývající všechny aspekty od hardwaru, 3D tisku, elektroniky, kódu a aplikace pro Android (vynálezce aplikace MIT)
Jedná se o skvělý overhoul projekt, který osvěžuje všechny dovednosti tvůrce.
Na projektech jsem musel udělat několik změn
Nechtěl jsem použít PCB na zakázku, který použil, ale starý GRBL štít, který jsem měl doma.
Chtěl jsem použít BlueTooth
Tak:
Zásoby
Arduino Uno + GRBL štít
Krokové motory
Modul HC-06 BlueTooth
12V Lipo baterie
Krok 1: Hardware
Vytiskněte kola a sestavte je zde:
K podvozku jsou připojeny 4 krokové motory (v mém případě nepoužívaná zásuvka vzhůru nohama)
Vedl kabely k horní části robota.
Krok 2: Elektronika
Použil jsem modul HC-06 BT, Nejtěžší bylo nastavit štít GRBL tak, aby fungoval se 4 krokovými motory, protože na to neexistuje dobrý průvodce, Existuje potřeba umístit propojky, jak je vidět na přiloženém obrázku, aby výstup „štítu“nástroje také ovládal krokový motor. také je třeba dát propojku "Povolit"
zapojení 4 stepperů a je to.
Také jsem dodával energii z baterií 12V - dva stes - jeden pro Arduino a jeden pro GRBl Shield
Krok 3: Arduino kód
/* === Arduino Mecanum Wheels Robot === Ovládání smartphonu přes Bluetooth od Dejan, www. HowToMechatronics.com knihovny: RF24, www. HowToMechatronics.com AccelStepper od Mike McCauley: www. HowToMechatronics.com
*//* 2019-11-12 Gilad Meller (https://www.keerbot.com - upravte kód tak, aby fungoval se štítem motoru GRBL arduino Krokové motory ve štítu jsou mapovány jako (krok/směr): 2/5 3 /6 4/7 12/13 pomocí ovladače A4988 12V
Dejanův kód používá SoftwareSerial a můj bude používat standardní piny RX, TX (0, 1) Arduino Uno Poznámka: Ujistěte se, že jste odstranili piny RX TX, když uplading skica na arduino nebo nahrávání selže.
*/ #zahrnout
// Definujte krokové motory a piny, které budou používat 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; // pro příchozí sériová data int wheelSpeed = 100;
neplatné nastavení () {Serial.begin (9600); // otevírá sériový port, nastavuje rychlost přenosu dat na 9600 bps // Nastavuje počáteční počáteční hodnoty pro steppery LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);
}
void loop () {if (Serial.available ()> 0) {// přečte příchozí bajt: incomingByte = Serial.read ();
c = incomingByte; přepínač (c) {případ 71: Serial.println ("Obdržel jsem Otočit doprava W"); rotateRight (); přestávka; případ 65: Serial.println („Obdržel jsem Otočit doleva Q“); rotateLeft (); přestávka; případ 1: Serial.println („Obdržel jsem BK/LFT“); moveRightBackward (); přestávka; případ 2: Serial.println („Obdržel jsem BK“); jít zpět(); přestávka; případ 3: Serial.println („Obdržel jsem BK/RT“); moveRightBackward (); přestávka; případ 4: Serial.println („Obdržel jsem VLEVO“); moveSidewaysLeft ();
přestávka; případ 5: Serial.println („Obdržel jsem STOP“); stopMoving (); přestávka; případ 6: Serial.println („Obdržel jsem RT“); moveSidewaysRight (); přestávka; případ 7: Serial.println („Obdržel jsem FWD/LFT“); moveLeftForward (); přestávka; případ 8: Serial.println („Obdržel jsem FWD“); moveForward (); přestávka; případ 9: Serial.println („Obdržel jsem FWD/RT“); moveRightForward (); přestávka; výchozí: Serial.print ("Není to příkaz"); Serial.println (incomingByte, DEC); přestávka; } } //jít zpět(); moveRobot ();
}
void moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.runSpeed (); RightFrontWheel.runSpeed (); RightBackWheel.runSpeed (); }
void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (speedSpeed); RightFrontWheel.setSpeed (speedSpeed); 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 (speedSpeed); RightFrontWheel.setSpeed (speedSpeed); RightBackWheel.setSpeed (-wheelSpeed); } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (speedSpeed); RightBackWheel.setSpeed (wheelSpeed); } void rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (speedSpeed); 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 (speedSpeed); RightFrontWheel.setSpeed (speedSpeed); RightBackWheel.setSpeed (0); } neplatný tahLeftBackward () {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); }
Krok 4: Appinventor
Nová aplikace appinventor s jinou a jednodušší funkčností (žádné záznamy)
Zašlete prosím zprávu a já vám ji pošlu - nahrávání se nezdaří.
Opatruj se.
Doporučuje:
3D robotické rameno s krokovými motory ovládanými Bluetooth: 12 kroků
3D robotické rameno s krokovými motory ovládanými Bluetooth: V tomto tutoriálu uvidíme, jak vyrobit 3D robotické rameno s krokovými motory 28byj-48, servomotorem a 3D tištěnými díly. Deska s plošnými spoji, zdrojový kód, elektrické schéma, zdrojový kód a spousta informací jsou obsaženy na mých webových stránkách
DIY otočný se dvěma motory: 10 kroků (s obrázky)
Kutilství se dvěma motory: Zpočátku jsem vždy chtěl mít střelecký gramofon a nedávno jsem zjistil, že se stalo, že existují dva motory s volnoběžným převodem. A tak mě napadlo, jestli bych s nimi mohl udělat obrat. Bez dalších okolků to zkusím! Princip: Snížení r
Vibrační motory: 5 kroků
Vibrační motory: Vibrační motor je v podstatě motor, který je nesprávně vyvážený. Jinými slovy, k rotačnímu hřídeli motoru je připojeno vycentrované závaží, které způsobuje kolébání motoru. Množství kolísání lze změnit množstvím váhy
Wi-Fi ovládaný robot FPV Rover (s Arduino, ESP8266 a krokovými motory): 11 kroků (s obrázky)
Wi-Fi ovládaný robot Rover FPV (s Arduino, ESP8266 a krokovými motory): Tento návod ukazuje, jak navrhnout dálkově ovládaný dvoukolový robotický rover přes wi-fi síť pomocí Arduino Uno připojeného k Wi-fi modulu ESP8266 a dva krokové motory. Robota lze ovládat z běžného internetového obočí
Kolový robot Mecanum - ovládaný Bluetooth: 5 kroků (s obrázky)
Mecanum Wheel Robot - Bluetooth Controlled: Protože si pamatuji, vždy jsem chtěl postavit robot s kolečkem mecanum. Robotické platformy s kolečky mecanum, které jsou k dispozici na trhu, byly pro mě trochu příliš drahé, a tak jsem se rozhodl postavit svého robota od nuly. Jako žádný jiný robotový robot s kolečkovým robotem