Агуулгын хүснэгт:

GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот: 4 алхам
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот: 4 алхам

Видео: GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот: 4 алхам

Видео: GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот: 4 алхам
Видео: Arduino CNC Shield Tutorial - Control Stepper Motors using CNC Shield V3.0 2024, Арваннэгдүгээр
Anonim
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот
GRBL Stepper Motors Arduino Shield бүхий Mecanum Omni Wheels робот

Mecanum робот - Дежаны gread mechatronics блог дээр харснаас хойш би бүтээхийг хүсч байсан төсөл: howtomechatronics.com

Дежан техник хангамж, 3D хэвлэх, электроник, код, Андройд аппликейшн (MIT -ийн Апп зохион бүтээгч) гэх мэт бүхий л асуудлыг хамарсан сайн ажил хийжээ.

Энэ бол үйлдвэрлэгчийн бүх ур чадварыг сэргээдэг гайхалтай засварын төсөл юм.

Би төслүүдэд хийх цөөн өөрчлөлт байсан

Би түүний ашигладаг захиалгат ПХБ -ийг ашиглахыг хүсээгүй, гэхдээ гэртээ байсан хуучин GRBL бамбай.

Би BlueTooth ашиглахыг хүсч байсан

Тиймээс:

Хангамж

Arduino Uno + GRBL бамбай

Stepper мотор

HC-06 BlueTooth модуль

12V липо батерей

Алхам 1: Техник хангамж

Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж

Дугуйг хэвлээд энд байгаа шиг угсарчээ.

Явах эд ангид 4 Stepper мотор холбогдсон (миний хувьд ашиглаагүй шүүгээ дээш доош харуулсан)

Кабелийг роботын дээд хэсэгт чиглүүлэв.

Алхам 2: Электроник

Электроник
Электроник
Электроник
Электроник
Электроник
Электроник

Би HC-06 BT модулийг ашигласан, Хамгийн хэцүү зүйл бол GRBL бамбайг 4 Stepper мотортой ажиллахаар тохируулах явдал байв.

Бамбайны "багаж" гаралтыг гаргахын тулд stepper моторыг удирдахын тулд хавсрагчийг зураг дээр үзүүлсэн шиг тавих шаардлагатай байна. Мөн "Идэвхжүүлэх" холбогчийг оруулах шаардлагатай

4 stepper -ийн утас, энэ нь.

Би бас 12V батерейгаас тэжээл өгсөн - хоёр студи - нэг нь Arduino, нөгөө нь GRBl Shield

Алхам 3: Arduino код

/* === Arduino Mecanum Wheels Robot === Ухаалаг гар утсыг Bluetooth ашиглан Dejan, www. HowToMechatronics.com номын сан: RF24, www. HowToMechatronics.com AccelStepper by Mike McCauley: www. HowToMechatronics.com

*//* 2019-11-12 Гилад Меллер (https://www.keerbot.com - GRBL arduino моторын бамбайтай ажиллахын тулд кодыг өөрчил. /6 4/7 12/13 A4988 драйвер 12V ашиглан

Dejan -ийн код нь SoftwareSerial -ийг ашигладаг бөгөөд миний хувьд Arduino Uno -ийн стандарт RX, TX тээглүүр (0, 1) -ийг ашиглах болно. Тэмдэглэл: Arduino -д ноорог зурахдаа RX TX тээглүүрийг салгах хэрэгтэй.

*/ #оруулах

// AccelStepper LeftBackWheel (1, 2, 5) -ыг ашиглах stepper мотор ба тээглүүрийг тодорхойлох; // (Төрөл: драйвер, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper 3 AccelStepper RightFrontWheel (1, 12, 13); // Алхам 4

int incomingByte = 0, c; // ирж буй цуваа өгөгдлийн хувьд int wheelSpeed = 100;

void setup () {Serial.begin (9600); // цуваа портыг нээж, өгөгдлийн хурдыг 9600 bps болгож тохируулна // Stepper -ийн анхны үрийн утгыг тохируулах LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// ирж буй байтыг уншина уу: incomingByte = Serial.read ();

c = ирж буй байт; switch (c) {case 71: Serial.println ("Би баруун тийш эргүүлэх W хүлээн авсан"); rotateRight (); завсарлага; тохиолдол 65: Serial.println ("Би зүүн тийш эргүүлэх Q хүлээн авсан"); rotateLeft (); завсарлага; тохиолдол 1: Serial.println ("Би BK/LFT хүлээн авсан"); moveRightBackward (); завсарлага; тохиолдол 2: Serial.println ("Би Б. К -г хүлээн авсан"); moveBackward (); завсарлага; тохиолдол 3: Serial.println ("Би BK/RT хүлээн авсан"); moveRightBackward (); завсарлага; тохиолдол 4: Serial.println ("Би ЗӨВЛӨГӨӨ авсан"); moveSidewaysLeft ();

завсарлага; тохиолдол 5: Serial.println ("Би STOP хүлээн авсан"); stopMoving (); завсарлага; тохиолдол 6: Serial.println ("Би RT хүлээн авсан"); moveSidewaysRight (); завсарлага; тохиолдол 7: Serial.println ("Би FWD/LFT хүлээн авсан"); moveLeftForward (); завсарлага; тохиолдол 8: Serial.println ("Би FWD хүлээн авсан"); урагшлах(); завсарлага; тохиолдол 9: Serial.println ("Би FWD/RT хүлээн авсан"); moveRightForward (); завсарлага; анхдагч: Serial.print ("Тушаал биш"); Serial.println (incomingByte, DEC); завсарлага; }} // moveBackward (); 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: зохион бүтээгч

Янз бүрийн, илүү энгийн функц бүхий шинэ зохион бүтээгч апп (Бичлэг байхгүй)

Msg илгээнэ үү, би танд илгээх болно - байршуулалт амжилтгүй боллоо.

Санаа тавих.

Зөвлөмж болгож буй: