Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield: 4 Hatua
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield: 4 Hatua
Anonim
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield
Roboti ya Magurudumu ya Mecanum Omni Pamoja na GRBL Stepper Motors Arduino Shield

Mecanum Robot - Mradi ambao nilitaka kujenga tangu nilipouona kwenye blogi ya Dejan's gread mechatronics: howtomechatronics.com

Dejan kweli alifanya kazi nzuri kufunika mambo yote kutoka kwa vifaa, uchapishaji wa 3D, vifaa vya elektroniki, nambari na programu ya Android (Mvumbuzi wa Programu ya MIT)

Huu ni mradi mzuri wa kupindukia ambao huburudisha ufundi wote wa mtengenezaji.

Nilikuwa na mabadiliko machache ya kufanya kwenye miradi

Sikutaka kutumia PCB iliyotengenezwa kawaida, lakini ngao ya zamani ya GRBL nilikuwa nayo nyumbani.

Nilitaka kutumia BlueTooth

Kwa hivyo:

Vifaa

Ngao ya Arduino Uno + GRBL

Motors za stepper

Moduli ya HC-06 BlueTooth

12V Lipo Betri

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa

Kuchapisha magurudumu na kuyakusanya kama hapa:

Imeunganisha motors 4 za Stepper kwenye chasisi (kwa upande wangu droo isiyotumiwa upande wa chini)

Zilizipeleka nyaya hadi juu ya roboti.

Hatua ya 2: Elektroniki

Umeme
Umeme
Umeme
Umeme
Umeme
Umeme

Nilitumia moduli yangu ya HC-06 BT, Sehemu ngumu zaidi ilikuwa kuweka ngao ya GRBL kufanya kazi na motors 4 za Stepper kwani hakuna mwongozo mzuri wa hiyo, Kuna haja ya kuweka Jumpers kama inavyoonekana kwenye picha iliyoambatanishwa, ili kutengeneza "Zana" pato la ngao kudhibiti pia motor stepper. pia unahitaji kuweka "Wezesha" Jumper

wiring stepper 4 na ndio hiyo.

Pia nilitoa nguvu kutoka kwa betri 12V - stes mbili - moja kwa Arduino na moja kwa GRBl Shield

Hatua ya 3: Msimbo wa Arduino

/ * === Roboti ya Magurudumu ya Arduino Mecanum === Udhibiti wa simu kupitia Bluetooth na Dejan, Maktaba za www. HowToMechatronics.com: RF24, www. HowToMechatronics.com AccelStepper na Mike McCauley: www. HowToMechatronics.com

* / / * 2019-11-12 Gilad Meller (https://www.keerbot.com - rekebisha nambari ili ufanye kazi na GRBL arduino motor shield Stepper motors katika ngao wamepangwa kama (hatua / mwelekeo): 2/5 3 / 6 4/7 12/13 kutumia A4988 dereva 12V

Nambari ya Dejan hutumia SoftwareSerial na yangu itatumia pini za kawaida za RX, TX (0, 1) ya Arduino Uno Kumbuka: Hakikisha kurudisha pini za RX TX wakati wa kuchora mchoro kwa arduino au upakiaji utashindwa.

* / # pamoja

// Fafanua motors za stepper na pini ambazo zitatumia AccelStepper LeftBackWheel (1, 2, 5); // (Aina: dereva, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4

int zinazoingiaByte = 0, c; // kwa data zinazoingia za serial int wheelSpeed = 100;

kuanzisha batili () {Serial.begin (9600); // inafungua bandari ya serial, huweka kiwango cha data hadi 9600 bps // Weka maadili ya mbegu ya kwanza kwa watembeaji LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

kitanzi batili () {if (Serial.available ()> 0) {// soma byte inayoingia: incomingByte = Serial.read ();

c = inayoingiaByte; kubadili (c) {kesi 71: Serial.println ("Nimepokea Zungusha kulia W"); zungushaZaidi (); kuvunja; kesi 65: Serial.println ("Nimepokea Zungusha kushoto Q"); zungushaLeft (); kuvunja; kesi 1: Serial.println ("Nilipokea BK / LFT"); hojaRightBackward (); kuvunja; kesi ya 2: Serial.println ("Nilipokea BK"); songaBackward (); kuvunja; kesi ya 3: Serial.println ("Nilipokea BK / RT"); hojaRightBackward (); kuvunja; kesi ya 4: Serial.println ("Nilipokea KUSHOTO"); songaSidewaysLeft ();

kuvunja; kesi ya 5: Serial.println ("Nilipokea STOP"); kuacha Kusonga (); kuvunja; kesi ya 6: Serial.println ("Nilipokea RT"); hojaSidewaysRight (); kuvunja; kesi ya 7: Serial.println ("Nilipokea FWD / LFT"); songaLeftForward (); kuvunja; kesi ya 8: Serial.println ("Nilipokea FWD"); songa mbele (); kuvunja; kesi 9: Serial.println ("Nilipokea FWD / RT"); songaRightForward (); kuvunja; chaguo-msingi: Serial.print ("Sio amri"); Serial.println (incomingByte, DEC); kuvunja; }} // kusonga nyuma (); hojaRobot ();

}

batili moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.kimbiaSpeed (); RightFrontWheel.kimbiaSpeed (); RightBackWheel.runSpeed (); }

batili moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (gurudumuSpeed); RightFrontWheel.setSpeed (gurudumuSpeed); RightBackWheel.setSpeed (gurudumuSpeed); } batili hojaBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-WheelSpeed); Kasi ya Mbele ya Mbele.setSpeed (-WelelSpeed); RightBackWheel.setSpeed (-WheelSpeed); } batili moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-WheelSpeed); Kasi ya Mbele ya Mbele.setSpeed (-WelelSpeed); RightBackWheel.setSpeed (gurudumuSpeed); } batili moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (gurudumuSpeed); RightFrontWheel.setSpeed (gurudumuSpeed); RightBackWheel.setSpeed (-WheelSpeed); } batili zungukaKushoto () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-WheelSpeed); RightFrontWheel.setSpeed (gurudumuSpeed); RightBackWheel.setSpeed (gurudumuSpeed); } batili rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (gurudumuSpeed); Kasi ya Mbele ya Mbele.setSpeed (-WelelSpeed); RightBackWheel.setSpeed (-WheelSpeed); } batili moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (gurudumuSpeed); } batili moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-WheelSpeed); Kasi ya Mbele ya Mbele.setSpeed (-WelelSpeed); RightBackWheel.setSpeed (0); } batili moveLeftForward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (gurudumuSpeed); RightFrontWheel.setSpeed (gurudumuSpeed); RightBackWheel.setSpeed (0); } batili hojaLeftBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (-WheelSpeed); } batili stopMoving () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (0); }

Hatua ya 4: Appinventor

Programu mpya ya appinventor yenye utendaji tofauti na rahisi (Hakuna Rekodi)

Tafadhali tuma msg na ninakutumia - upakiaji unashindwa.

Kuwa mwangalifu.

Ilipendekeza: