Innehållsförteckning:
Video: Mecanum Omni Wheels Robot With GRBL Stepper Motors Arduino Shield: 4 Steps
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
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
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
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:
Arduino Mega Stepper Shield för en Rubiks kublösare: 4 steg
Arduino Mega Stepper Shield för en Rubiks kublösare: För ett tag sedan arbetade jag på en maskin som automatiskt löser alla krypterade 3x3 Rubiks kub. Du kan se mina instruktioner om det här. I projektet användes stegdrivrutiner från polulu för att driva sex motorer. För att två ska ansluta dessa
Hur man ändrar vanliga Hot Wheels till R/C Hot Wheels: D: 6 steg (med bilder)
Hur man ändrar vanliga Hot Wheels till R/C Hot Wheels: D: Sedan jag var liten älskar jag Hot Wheels Cars. Det gav mig inspiration för designfantastiska fordon. Den här gången överträffade de sig själva med Star War Hot Wheels, C-3PO. Jag vill dock mer än att bara skjuta eller resa på ett spår, jag bestämde mig,”L
Omni Wheel Mobile Robot - IoT: 4 steg
Omni Wheel Mobile Robot - IoT: I denna instruktion kommer jag att presentera dig design av omni wheel mobil robot som styrs via wi -fi. Den väsentliga skillnaden jämfört med konventionell kontroll som bluetooth eller radiokontroll är att roboten är ansluten till ett lokalt nätverk (LAN) och
Wi-fi-kontrollerad FPV Rover Robot (med Arduino, ESP8266 och Stepper Motors): 11 steg (med bilder)
Wi-fi-kontrollerad FPV Rover Robot (med Arduino, ESP8266 och Stepper Motors): Denna instruerbara visar hur man designar en fjärrstyrd tvåhjulig robotrover över ett wi-fi-nätverk med en Arduino Uno ansluten till en ESP8266 Wi-fi-modul och två stegmotorer. Roboten kan styras från vanliga webbläsare
Mecanum Wheel Robot - Bluetooth -kontrollerad: 5 steg (med bilder)
Mecanum Wheel Robot - Bluetooth -kontrollerad: Eftersom jag kan minnas har jag alltid velat bygga en mecanum -hjulrobot. Robotplattformarna för mecanum -hjul som var tillgängliga på marknaden var lite för dyra för mig så jag bestämde mig för att bygga min robot från början. Som ingen annan robot -meacanum -hjulrobot