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

UCL - مضمن - انتقاء ومكان: 4 خطوات
UCL - مضمن - انتقاء ومكان: 4 خطوات

فيديو: UCL - مضمن - انتقاء ومكان: 4 خطوات

فيديو: UCL - مضمن - انتقاء ومكان: 4 خطوات
فيديو: 5 تقنيات خفية مهمة جدا يجهلها المحترفين PES 2020 2024, يوليو
Anonim
UCL - مضمن - انتقاء ومكان
UCL - مضمن - انتقاء ومكان

سيتناول هذا التوجيه كيفية عمل وحدة اختيار ومكان ثنائي الأبعاد وكيفية ترميزها.

الخطوة 1: Compunets

كومبونيتس
كومبونيتس

1x Adrio Mega

2x محرك متدرج (استخدمنا JLB Stepper Motor ، موديل 17H1352-P4130)

2x محرك متدرج وحدة تحكم في لوحة التحكم L298N Dual H Bridge DC لاردوينو

1x محرك سيرفو (ليس لدينا بقعة على هذا واحد)

3x 10 كيلو أوم مقاومات

2x شرو نايلون

1x 12 فولت امدادات الطاقة

بعض الخشب للإطار

الأسلاك

الخطوة الثانية: البناء

بناء
بناء
بناء
بناء
بناء
بناء

كان أول شيء خلال وجه البناء هو تحديد حجم وشكل الانتقاء ووضع الهريس

أولاً نبني الشكل الأساسي للخشب. قمنا ببناء إطار الاختيار والمكان 50 سم × 25 سم × 30 سم. كل شيء باستثناء الإطار والجسر وذراع الرفع ، تم تصنيعه باستخدام جهاز الليزر.

هنا رابط لجميع الملفات

ثم أردنا نظام البكرة. ذهبنا هنا بحلقتين مقاس 50 مم وحلقة واحدة مقاس 20 مم. ثم نضع باراكورد بجانب 20 مم مع بعض الغراء. بعد ذلك قمنا بضغط الحلقتين مقاس 50 مم على جانبي الحلقة 20 مم.

20 ملم

50 ملم

ثم نحتاج إلى تصميم دليل شريحة للذراع. هنا صنعنا وجهين ولوحة خلفية واحدة.

والتي تم لصقها بعد ذلك في شكل U. ثم ربطنا ذلك بالجسر.

طبق جانبي

لوحة الظهر

الآن بعد أن تم الانتهاء من أجزاء تحريك الذراع لأعلى ولأسفل. نحن بحاجة إلى تحريكه ذهابًا وإيابًا.

عند تصميم هذا ، تأكدنا من محاذاة الأسنان مع بعضها البعض. لذلك تم إنشاء كلا العنصرين في نفس مكان المشروع.

الخطوة 3: الكود

الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة

البرمجة بسيطة جدًا وتتكون من 5 أجزاء

  1. إدراج المكتبات وإعداد المتغيرات للاستخدام الداخلي والاستخدام الداخلي
  2. تحميل المدخلات إلى ذاكرة الوصول العشوائي
  3. Sekvens ، واختيار الحركة التي تريدها.
  4. التحكم في موضع السائر / المؤازرة
  5. الإخراج إلى العالم

سنشرح كل جزء بضربات عريضة ، لكن تذكر أن هذا مجرد واحد من العديد من الحلول.

1: قبل إعداد الفراغ ، قمنا بتضمين المكتبتين اللتين نحتاجهما لهذا المشروع. السائر والمؤازرة. باستخدام المكتبات المضمنة ، يحميك من تعلم كل التفاصيل حول السائر والمحركات المؤازرة.

#يشمل

#يشمل

const int stepsPerRevolution = 200 ؛ // غيّر هذا ليناسب عدد الخطوات لكل ثورة لمحركك

// تهيئة مكتبة السائر على المسامير من 8 إلى 11:

Stepper XStepper (stepsPerRevolution ، 22 ، 23 ، 24 ، 25) ؛ Stepper YStepper (stepsPerRevolution ، 28 ، 29 ، 30 ، 31) ؛ مؤازرة قابض // إنشاء كائن مؤازر للتحكم في المؤازرة

القابض بحاجة إلى إرفاق في إعداد الفراغ

إعداد باطل () {// تهيئة المنفذ التسلسلي: Serial.begin (9600) ؛ قابض (9) ؛ // يعلق المؤازرة على الدبوس 9 بجسم المؤازرة

الجزء المتبقي من هذا القسم هو مجرد إعداد للمتغيرات والثابتة.

2: أول شيء في Void Loop هو تحميل جميع المدخلات المستخدمة إلى متغير. ويتم ذلك لسببين. السبب الأول هو الحد من المهام الثقيلة لوحدة المعالجة المركزية لقراءة المدخلات. السبب الثاني ، وهو الأكثر أهمية ، هو التأكد من أنه إذا تم استخدام أحد المدخلات أكثر من مرة ، فسيكون له نفس القيمة طوال عملية الفحص بأكملها. هذا يجعل كتابة طريقة كود متسقة أسهل. هذه ممارسة شائعة جدًا في برمجة PLC ، ولكنها تنطبق أيضًا على البرمجة المضمنة.

// ------------------------- إدخال إلى ذاكرة الوصول العشوائي -------------------- Xend = digitalRead (34) ؛ Yend = digitalRead (35) ؛ إينا = digitalRead (36) ؛

3: في الجزء sekvens من الكود ، قمنا للتو بعمل sekvens باستخدام أوامر التبديل والحالة. يعطي الجزء sekvens إشارات إلى جزء التحكم في الموضع من الكود. يمكن تخصيص هذا الجزء بسهولة لتطبيقك أو استخدامه كما هو.

4: يتم التحكم في موضع المؤازرة فقط بواسطة servo liberi ، وبيان if للمقبض مفتوح ومغلق.

يعد التحكم في السائر أكثر صعوبة قليلاً. تقارن الوظيفة نقطة الضبط (الموضع الذي تريد أن يذهب الذراع إليه) والموضع الحالي. إذا كان الموضع الحالي محبوبًا ، فإن الوظيفة تضيف إلى الموضع وتطلب من وظيفة Stepper liberi اتخاذ خطوة إيجابية. العكس هو الصحيح بالنسبة للوضع المرتفع. إذا كان الموضع هو نفسه نقطة الضبط ، فإن بت XinPos تكون مرتفعة ، ويتوقف السائر.

// SP controal X

إذا (XstepCountXsp وليس الصفحة الرئيسية) {

XstepCount = XstepCount-1 ، Xstep = -1 ؛ إكسينبوس = 0 ؛ } إذا (XstepCount == Xsp) {Xstep = 0 ؛ إكسينبوس = 1 ؛ }

5: إضافة نهاية الكود يتم التحكم في المحركات بوظائف Liberi.

// -------------------- إخراج ---------------------- // step one step: XStepper.step (Xstep) ؛ // الخطوة الأولى: YStepper.step (Ystep) ؛

Griper.write (GripSp) ؛

الخطوة 4: صنع بواسطة

casp6099 - كاسبر هارتونج كريستنسن

rasm616d - راسموس هانسن

موصى به: