Mecanum Omni Wheels роботу GRBL Stepper Motors Arduino Shield менен: 4 кадам
Mecanum Omni Wheels роботу GRBL Stepper Motors Arduino Shield менен: 4 кадам
Anonim
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 роботу GRBL Stepper Motors Arduino Shield менен

Mecanum роботу - Дежандын гей мехатроникасы блогунда көргөндөн бери кургум келген долбоор: howtomechatronics.com

Дежан чындыгында аппараттык, 3D басып чыгаруу, электроника, код жана Android тиркемесинин бардык аспектилерин камтыган жакшы жумуш жасады (MITдин App ойлоп табуучусу)

Бул жаратуучунун бардык көндүмдөрүн жаңырта турган чоң жаңылоо долбоору.

Мен долбоорлорго бир аз өзгөртүүлөрдү киргизген жокмун

Мен ал колдонгон ПКБны колдонгум келбеди, бирок үйдө эски GRBL калканы бар болчу.

Мен BlueTooth колдонууну кааладым

Ошентип:

Жабдуулар

Arduino Uno + GRBL Shield

Кадам моторлору

HC-06 BlueTooth модулу

12V липо батареясы

1 -кадам: Аппараттык

Аппараттык
Аппараттык
Аппараттык
Аппараттык

Дөңгөлөктөрдү басып чыгарды жана бул жердегидей чогултту:

Шассиге 4 Stepper моторлору туташкан (менин учурда колдонулбаган суурма өйдө жакты карайт)

Кабелдерди роботтун чокусуна жеткирди.

2 -кадам: Электроника

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

Мен HC-06 BT модулумду колдондум, Эң кыйын бөлүгү GRBL калканчын 4 Stepper моторлору менен иштөөгө орнотуу болду, анткени бул үчүн жакшы жетекчилик жок, Тиркелген сүрөттө көрүнүп тургандай, секиргичтерди "курал" чыгарууну, ошондой эле тепкичтүү моторду көзөмөлдөө үчүн орнотуу керек. ошондой эле "Иштетүү" Jumper коюу керек

4 степперди зым менен жабуу жана бул.

Мен дагы 12 В батареяларынан кубат бердим - эки стеа - бири Arduino үчүн, бири GRBl Shield үчүн

3 -кадам: Arduino коду

/* === Arduino Mecanum Wheels роботу === Смартфонду Bluetooth аркылуу Дежан, www. HowToMechatronics.com китепканалары: RF24, www. HowToMechatronics.com AccelStepper by Майк МакКоули: www. HowToMechatronics.com

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

Дежандын коду SoftwareSerialди колдонот, меники Arduino Uno стандарттык RX, TX казыктарын (0, 1) колдонот Эскертүү: arduino эскизин көтөрүп жатканда RX TX казыктарын тазалап салыңыз же жүктөө ишке ашпайт.

*/ #include

// Stepper моторлорун жана казыктарын аныктагыла, бул AccelStepper LeftBackWheelди колдонот (1, 2, 5); // (Түрү: айдоочу, КАДАМ, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // Stepper4

int incomingByte = 0, c; // кирүүчү сериялык маалыматтар үчүн int wheelSpeed = 100;

void setup () {Serial.begin (9600); // сериялык портту ачат, маалымат ылдамдыгын 9600 бит/ сек деп коет // Stepper үчүн баштапкы үрөн баалуулуктарын коюңуз LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

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

c = incomingByte; switch (c) {case 71: Serial.println ("Мен W оңго буруу алдым"); rotateRight (); тыныгуу; 65 -жагдай: Serial.println ("I Rotate left Q"); rotateLeft (); тыныгуу; 1 -жагдай: Serial.println ("Мен BK/LFT алдым"); moveRightBackward (); тыныгуу; 2 -жагдай: Serial.println ("BK алдым"); moveBackward (); тыныгуу; 3 -жагдай: Serial.println ("Мен BK/RT алдым"); moveRightBackward (); тыныгуу; 4 -жагдай: Serial.println ("Мен СОЛДУ алдым"); moveSidewaysLeft ();

тыныгуу; 5 -жагдай: Serial.println ("STOP алдым"); токтошун(); тыныгуу; учурда 6: Serial.println ("Мен RT алдым"); moveSidewaysRight (); тыныгуу; 7 -жагдай: Serial.println ("Мен FWD/LFT алдым"); moveLeftForward (); тыныгуу; учурда 8: Serial.println ("Мен FWD алдым"); moveForward (); тыныгуу; учурда 9: Serial.println ("Мен FWD/RT алдым"); moveRightForward (); тыныгуу; демейки: Serial.print ("Команда эмес"); Serial.println (incomingByte, DEC); тыныгуу; }} // moveBackward (); moveRobot ();

}

жараксыз 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 жөнөтүңүз, мен сизге жөнөтөм - жүктөөлөр ишке ашпай калды.

Кам көрүүгө.

Сунушталууда: