Talaan ng mga Nilalaman:
Video: Mecanum Omni Wheels Robot Sa GRBL Stepper Motors Arduino Shield: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Mecanum Robot - Isang proyekto na nais kong buuin mula nang makita ko ito sa blog ng gjan mechatronics ng Dejan: howtomechatronics.com
Si Dejan ay talagang gumawa ng isang mahusay na trabaho na sumasaklaw sa lahat ng mga aspeto mula sa hardware, 3D printing, electronics, code at isang Android app (imbentor ng MIT's App)
Ito ay isang mahusay na overhoul na proyekto na nagre-refresh ng lahat ng mga kasanayan ng isang tagagawa.
Mayroon akong kaunting mga pagbabago na dapat gawin sa mga proyekto
Hindi ko nais na gamitin ang pasadyang ginawang PCB na ginamit niya, ngunit isang matandang kalasag na GRBL na mayroon ako sa bahay.
Nais kong gamitin ang BlueTooth
Kaya:
Mga gamit
Arduino Uno + GRBL Shield
Stepper motor
Module ng HC-06 BlueTooth
12V Lipo Battery
Hakbang 1: Hardware
Nai-print ang mga gulong at pinagsama ang mga ito tulad ng dito:
Nakakonekta ang 4 na mga motor ng Stepper sa tsasis (sa aking kaso isang hindi nagamit na drawer pataas pababa)
Na-redirect ang mga kable sa tuktok ng robot.
Hakbang 2: Elektronika
Ginamit ko ang aking module na HC-06 BT, Ang pinakamahirap na bahagi ay upang itakda ang kalasag ng GRBL upang gumana sa 4 na motor ng Stepper dahil walang magandang gabay para doon, Kailangan ng isang paglagay ng Jumpers tulad ng makikita sa naka-attach na larawan, upang makagawa ang output na "Tool" ng kalasag upang makontrol din ang isang stepper motor. kailangan ding ilagay ang "Paganahin" ang Jumper
kable ng 4 steppers at iyon iyon.
Nagbigay din ako ng kuryente mula sa 12V na baterya - dalawang stes - isa para sa Arduino at isa para sa GRBl Shield
Hakbang 3: Arduino Code
/ * === Arduino Mecanum Wheels Robot === Kontrol ng smartphone sa pamamagitan ng Bluetooth ni Dejan, www. HowToMechatronics.com Library: RF24, www. HowToMechatronics.com AccelStepper ni Mike McCauley: www. HowToMechatronics.com
* / / * 2019-11-12 Gilad Meller (https://www.keerbot.com - baguhin ang code upang gumana kasama ang GRBL arduino motor shield Ang mga motor ng stepper sa kalasag ay nai-map bilang (hakbang / direksyon): 2/5 3 / 6 4/7 12/13 gamit ang A4988 driver 12V
Ang code ni Dejan ay gumagamit ng SoftwareSerial at ang minahan ay gagamitin ang karaniwang RX, TX pin (0, 1) ng Arduino Uno Note: Siguraduhing rempve ang mga pin ng RX TX kapag pinapataas ang sketch sa arduino o mabibigo ang pag-upload.
* / # isama
// Tukuyin ang mga motor ng stepper at ang mga pin na gagamit ng 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 papasok naByte = 0, c; // para sa papasok na serial data int wheelSpeed = 100;
void setup () {Serial.begin (9600); // bubukas ang serial port, nagtatakda ng rate ng data sa 9600 bps // Itakda ang mga paunang halaga ng binhi para sa steppers LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);
}
void loop () {kung (Serial.available ()> 0) {// basahin ang papasok na byte: ComingByte = Serial.read ();
c = papasok naByte; switch (c) {case 71: Serial.println ("Natanggap ko ang Paikutin sa kanan W"); iikot pa puntang kanan(); pahinga; kaso 65: Serial.println ("Natanggap ko ang Paikutin ang kaliwang Q"); paikutin ang Kaliwa (); pahinga; kaso 1: Serial.println ("Nakatanggap ako ng BK / LFT"); ilipatRightBackward (); pahinga; kaso 2: Serial.println ("Nakatanggap ako ng BK"); ilipatBackward (); pahinga; kaso 3: Serial.println ("Nakatanggap ako ng BK / RT"); ilipatRightBackward (); pahinga; kaso 4: Serial.println ("Nakatanggap ako ng KALIWAN"); ilipatSidewaysLeft ();
pahinga; kaso 5: Serial.println ("Nakatanggap ako ng STOP"); stopMoving (); pahinga; kaso 6: Serial.println ("Natanggap ko ang RT"); ilipatSidewaysRight (); pahinga; kaso 7: Serial.println ("Nakatanggap ako ng FWD / LFT"); ilipatLeftForward (); pahinga; kaso 8: Serial.println ("Nakatanggap ako ng FWD"); sumulong(); pahinga; kaso 9: Serial.println ("Nakatanggap ako ng FWD / RT"); ilipatRightForward (); pahinga; default: Serial.print ("Hindi isang utos"); Serial.println (papasok naByte, DEC); pahinga; }} // moveBackward (); ilipatRobot ();
}
void moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.runSpeed (); RightFrontWheel.runSpeed (); RightBackWheel.runSpeed (); }
void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } walang bisa moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } walang bisa moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } walang bisa moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } walang bisa rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } walang bisa rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } walang bisa moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (wheelSpeed); } walang bisa moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (0); } walang bisa 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); }
Hakbang 4: Tagataguyod
Isang bagong appinventor app na may iba at mas simpleng pag-andar (Walang Mga Pag-record)
Mangyaring ipadala ang msg at ipadala ko sa iyo - nabigo ang mga pag-upload.
Ingat.
Inirerekumendang:
Kinokontrol na Modelong Stepper Motor ng Stepper - Stepper Motor Bilang isang Rotary Encoder: 11 Hakbang (na may Mga Larawan)
Kinokontrol na Modelong Stepper Motor ng Stepper | Stepper Motor Bilang isang Rotary Encoder: Sa isa sa mga nakaraang Instructable, natutunan namin kung paano gamitin ang isang stepper motor bilang isang rotary encoder. Sa proyektong ito, gagamitin namin ngayon ang stepper motor na naka-rotary encoder upang makontrol ang isang modelo ng lokomotip gamit ang isang Arduino microcontroller. Kaya, nang walang fu
Kinokontrol ng Stepper Motor na Stepper Motor - Stepper Motor Bilang isang Rotary Encoder: 11 Hakbang (na may Mga Larawan)
Kinokontrol ng Stepper Motor na Stepper Motor | Stepper Motor Bilang isang Rotary Encoder: Magkaroon ng isang pares ng mga stepper motor na nakahiga at nais na gumawa ng isang bagay? Sa Instructable na ito, gumamit tayo ng isang stepper motor bilang isang rotary encoder upang makontrol ang posisyon ng isa pang stepper motor gamit ang isang Arduino microcontroller. Kaya't nang walang pag-aalinlangan, ge
DIY Robot Arm 6 Axis (na may Stepper Motors): 9 Mga Hakbang (na may Mga Larawan)
DIY Robot Arm 6 Axis (na may Stepper Motors): Matapos ang higit sa isang taon ng mga pag-aaral, mga prototype at iba`t ibang pagkabigo ay nagawa kong bumuo ng isang iron / aluminyo robot na may 6 degree na kalayaan na kinokontrol ng mga stepper motor. Ang pinakamahirap na bahagi ay ang disenyo dahil Nais kong makamit ang 3 pangunahing ob
Paano baguhin ang Karaniwang Mga Hot Wheels sa R / C Hot Wheels: D: 6 Mga Hakbang (na may Mga Larawan)
Paano Baguhin ang Karaniwang Mga Hot Wheels sa R / C Mga Hot Wheels: D: Simula noong ako ay isang maliit na bata, gusto ko ng Mga Kotse ng Hot Wheels. Nagbigay ito sa akin ng inspirasyon para sa mga disenyo ng mga sasakyang pantasiya. Sa oras na ito ay nalampasan nila ang kanilang sarili sa Star War Hot Wheels, C-3PO. Gayunpaman, nais ko ng higit pa sa pagtulak o paglalakbay lamang sa isang track, napagpasyahan kong, "L
Kontroladong Wi-fi FPV Rover Robot (kasama ang Arduino, ESP8266 at Stepper Motors): 11 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Wi-fi FPV Rover Robot (kasama ang Arduino, ESP8266 at Stepper Motors): Ipinapakita ng itinuturo na ito kung paano mag-disenyo ng malayuang kontroladong two-wheeled robotic rover sa isang wi-fi network, gamit ang isang Arduino Uno na konektado sa isang module na Wi-fi ng ESP8266 at dalawang stepper motor. Ang robot ay maaaring makontrol mula sa isang ordinaryong browser sa internet