Სარჩევი:

Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield: 4 საფეხური
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield: 4 საფეხური

ვიდეო: Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield: 4 საფეხური

ვიდეო: Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield: 4 საფეხური
ვიდეო: Arduino Mecanum Wheels Robot 2024, ნოემბერი
Anonim
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით
Mecanum Omni Wheels Robot GRBL Stepper Motors Arduino Shield– ით

Mecanum Robot - პროექტი, რომლის აშენებაც მინდოდა მას შემდეგ, რაც ვნახე დეიანის საშინელი მეჩატრონიკის ბლოგში: howtomechatronics.com

დეიანმა მართლაც კარგი სამუშაო გააკეთა, რომელიც მოიცავს ყველა ასპექტს აპარატურის, 3D ბეჭდვის, ელექტრონიკის, კოდისა და Android აპლიკაციისგან (MIT– ის აპლიკაციის გამომგონებელი)

ეს არის დიდი overhoul პროექტი, რომელიც განაახლებს ყველა უნარი შემქმნელი.

რამდენიმე ცვლილება მქონდა პროექტებში გასაკეთებელი

მე არ მინდოდა გამომეყენებინა მისთვის გამოყენებული PCB, მაგრამ ძველი GRBL ფარი მქონდა სახლში.

მე მინდოდა გამოვიყენო BlueTooth

Ისე:

მარაგები

Arduino Uno + GRBL ფარი

სტეპერიანი ძრავები

HC-06 BlueTooth მოდული

12V ლიპო ბატარეა

ნაბიჯი 1: აპარატურა

ტექნიკა
ტექნიკა
ტექნიკა
ტექნიკა

დაბეჭდა ბორბლები და ააწყო როგორც აქ:

შეაერთეთ 4 სტეპერიანი ძრავა შასისთან (ჩემს შემთხვევაში გამოუყენებელი უჯრა ზევით ქვემოთ)

გაყვანილია კაბელები რობოტის თავზე.

ნაბიჯი 2: ელექტრონიკა

ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა

მე გამოვიყენე ჩემი HC-06 BT მოდული, ყველაზე რთული იყო GRBL ფარის დაყენება 4 სტეპერიანი ძრავით, რადგან არ არსებობს კარგი მეგზური, საჭიროა მხტუნავების დაყენება, როგორც ჩანს თანდართულ სურათზე, რათა ფარის "ინსტრუმენტის" გამომავალი ასევე გააკონტროლოს სტეპერიანი ძრავა. ასევე უნდა დააყენოს Jumper "ჩართვა"

4 საფეხურის გაყვანილობა და ეს არის ის.

მე ასევე მივაწოდე ენერგია 12 ვ ბატარეებიდან - ორი სტადი - ერთი არდუინოსთვის და ერთი GRBl ფარისთვის

ნაბიჯი 3: Arduino კოდი

/* === Arduino Mecanum Wheels Robot === სმარტფონის კონტროლი Bluetooth– ის მიერ Dejan, www. HowToMechatronics.com ბიბლიოთეკები: RF24, www. HowToMechatronics.com AccelStepper მაიკ მაკოულის მიერ: www. HowToMechatronics.com

*//* 2019-11-12 Gilad Meller (https://www.keerbot.com - შეცვალეთ კოდი GRBL arduino საავტომობილო ფარის მუშაობისთვის ფარის სტეპერიანი ძრავები ასახულია როგორც (ნაბიჯი/მიმართულება): 2/5 3 /6 4/7 12/13 A4988 დრაივერის გამოყენებით 12V

დეიანის კოდი იყენებს SoftwareSerial- ს და ჩემი გამოიყენებს Arduino Uno- ს სტანდარტულ RX, TX ქინძისთავებს (0, 1) შენიშვნა: დარწმუნდით, რომ გადააკეთეთ RX TX ქინძისთავები, როდესაც არდუინოს ესკიზის განახლება ან ატვირთვა ვერ მოხერხდება.

*/ #მოიცავს

// განსაზღვრეთ სტეპერიანი ძრავები და ქინძისთავები, რომლებსაც გამოიყენებს AccelStepper LeftBackWheel (1, 2, 5); // (ტიპი: მძღოლი, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // სტეპერი 4

int შემომავალიბაიტი = 0, გ; // შემომავალი სერიული მონაცემებისთვის int wheelSpeed = 100;

void setup () {Serial.begin (9600); // ხსნის სერიულ პორტს, ადგენს მონაცემთა სიჩქარეს 9600 ბმ/ წმ./ დააყენეთ საწყისი თესლის მნიშვნელობები სტეპერებისთვის LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// წაიკითხეთ შემომავალი ბაიტი: incomingByte = Serial.read ();

c = შემომავალი ბიტი; გადართვა (გ) {შემთხვევა 71: Serial.println ("მე მივიღე როტაცია მარჯვნივ W"); rotateRight (); შესვენება; საქმე 65: Serial.println ("მე მივიღე როტაცია მარცხნივ 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"); 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 (შემომავალიბაიტი, საოლქო საარჩევნო კომისია); შესვენება; }} // 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: მომხსენებელი

ახალი გამომგონებელი აპლიკაცია განსხვავებული და მარტივი ფუნქციონირებით (ჩანაწერების გარეშე)

გთხოვთ გამომიგზავნოთ შეტყობინება და მე გამოგიგზავნოთ - ატვირთვები ვერ ხერხდება.

Იზრუნოს.

გირჩევთ: