جدول المحتويات:

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 خطوات
فيديو: How To Make Three Wheel Omni Robot At Home || Ajay Inventions 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 - مشروع كنت أرغب في بنائه منذ أن رأيته على مدونة Dejan's gread mechatronics blog: howtomechatronics.com

قام Dejan بعمل جيد حقًا في تغطية جميع الجوانب من الأجهزة والطباعة ثلاثية الأبعاد والإلكترونيات والرمز وتطبيق Android (مخترع تطبيق MIT)

هذا مشروع إصلاح كبير ينعش جميع مهارات صانع.

كان لدي القليل من التغييرات للقيام بها في المشاريع

لم أكن أرغب في استخدام ثنائي الفينيل متعدد الكلور المصنوع حسب الطلب الذي استخدمه ، لكن درع GRBL قديم كان لدي في المنزل.

كنت أرغب في استخدام BlueTooth

وبالتالي:

اللوازم

اردوينو أونو + درع GRBL

السائر المحركات

وحدة HC-06 BlueTooth

بطارية ليبو 12 فولت

الخطوة 1: الأجهزة

المعدات
المعدات
المعدات
المعدات

قم بطباعة العجلات وتجميعها كما هو موضح هنا:

4 محركات متدرجة متصلة بالهيكل (في حالتي ، يوجد درج غير مستخدم لأعلى لأسفل)

قم بتوجيه الكابلات إلى أعلى الروبوت.

الخطوة الثانية: الإلكترونيات

إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات

لقد استخدمت وحدة HC-06 BT الخاصة بي ،

كان الجزء الأصعب هو ضبط درع GRBL للعمل مع 4 محركات Stepper حيث لا يوجد دليل جيد لذلك ،

هناك حاجة لوضع وصلات القفز كما يمكن رؤيته في الصورة المرفقة ، من أجل جعل إخراج "الأداة" للدرع للتحكم أيضًا في محرك متدرج. تحتاج أيضا إلى وضع العبور "تمكين"

الأسلاك 4 السائر وهذا كل شيء.

لقد قمت أيضًا بتزويد الطاقة من بطاريات 12 فولت - درجتان - واحدة لـ Arduino والأخرى لـ GRBl Shield

الخطوة 3: كود اردوينو

/ * === Arduino Mecanum Wheels Robot === التحكم في الهاتف الذكي عبر البلوتوث بواسطة Dejan ، www. HowToMechatronics.com المكتبات: RF24 ، www. HowToMechatronics.com AccelStepper بواسطة مايك ماكولي: www. HowToMechatronics.com

* / / * 2019-11-12 جلعاد ميلر (https://www.keerbot.com - تعديل الكود للعمل مع GRBL اردوينو موتور درع يتم تعيين محركات السائر في الدرع على النحو (الخطوة / الاتجاه): 2/5 3 / 6 4/7 12/13 باستخدام برنامج تشغيل A4988 12V

يستخدم كود Dejan SoftwareSerial وسيستخدم لي دبابيس RX و TX القياسية (0 ، 1) من Arduino Uno ملاحظة: تأكد من إعادة تشكيل دبابيس 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 ؛

إعداد باطل () {Serial.begin (9600) ؛ // يفتح المنفذ التسلسلي ، يحدد معدل البيانات إلى 9600 بت في الثانية // تعيين قيم أولية للخطوات LeftFrontWheel.setMaxSpeed (600) ؛ LeftBackWheel.setMaxSpeed (600) ، RightFrontWheel.setMaxSpeed (600) ؛ RightBackWheel.setMaxSpeed (600) ،

}

حلقة باطلة () {if (Serial.available ()> 0) {// قراءة البايت الوارد: incomingByte = Serial.read () ؛

ج = بايت وارد ؛ التبديل (ج) {الحالة 71: Serial.println ("لقد تلقيت تدوير لليمين W") ؛ rotateRight () ، استراحة؛ الحالة 65: Serial.println ("استلمت استدارة لليسار Q") ؛ استدر يسارا()؛ استراحة؛ الحالة 1: Serial.println ("استلمت BK / LFT") ؛ moveRightBackward () ، استراحة؛ الحالة 2: Serial.println ("استلمت BK") ؛ moveBackward () ، استراحة؛ الحالة 3: Serial.println ("استلمت BK / RT") ؛ moveRightBackward () ، استراحة؛ الحالة 4: Serial.println ("لقد تلقيت LEFT") ؛ 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 (واردةByte ، DEC) ؛ استراحة؛ }} // moveBackward () ؛ moveRobot () ؛

}

void moveRobot () {LeftBackWheel.runSpeed () ، LeftFrontWheel.runSpeed () ، RightFrontWheel.runSpeed () ، RightBackWheel.runSpeed () ، }

void moveForward () {LeftFrontWheel.setSpeed (wheelSpeed) ؛ LeftBackWheel.setSpeed (wheelSpeed) ؛ RightFrontWheel.setSpeed (عجلة السرعة) ؛ RightBackWheel.setSpeed (wheelSpeed) ؛ } void moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed) ؛ LeftBackWheel.setSpeed (-WheelSpeed) ، RightFrontWheel.setSpeed (-سرعة العجلة) ، RightBackWheel.setSpeed (-wheelSpeed) ، } void moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed) ؛ LeftBackWheel.setSpeed (-WheelSpeed) ، RightFrontWheel.setSpeed (-سرعة العجلة) ، RightBackWheel.setSpeed (wheelSpeed) ؛ } void moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed) ؛ LeftBackWheel.setSpeed (wheelSpeed) ؛ RightFrontWheel.setSpeed (عجلة السرعة) ؛ RightBackWheel.setSpeed (-wheelSpeed) ، } void rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed)؛ LeftBackWheel.setSpeed (-WheelSpeed) ، RightFrontWheel.setSpeed (عجلة السرعة) ؛ RightBackWheel.setSpeed (wheelSpeed) ؛ } void rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed)؛ LeftBackWheel.setSpeed (wheelSpeed) ؛ RightFrontWheel.setSpeed (-سرعة العجلة) ، 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 (-سرعة العجلة) ، RightBackWheel.setSpeed (0) ، } void moveLeftForward () {LeftFrontWheel.setSpeed (0) ؛ LeftBackWheel.setSpeed (wheelSpeed) ؛ RightFrontWheel.setSpeed (عجلة السرعة) ؛ 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: Appinventor

تطبيق appinventor جديد بوظائف مختلفة وأبسط (بدون تسجيلات)

الرجاء إرسال رسالة وأنا أرسلها لك - فشل التحميل.

يعتني.

موصى به: