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

موزع الشعيرات الآلي لاردوينو: 8 خطوات (بالصور)
موزع الشعيرات الآلي لاردوينو: 8 خطوات (بالصور)

فيديو: موزع الشعيرات الآلي لاردوينو: 8 خطوات (بالصور)

فيديو: موزع الشعيرات الآلي لاردوينو: 8 خطوات (بالصور)
فيديو: اسرع طريقة لعلاج دوالى الساقين والاوردة العنكبوتية / التخلص من الشعيرات الدمويه البارزة في أيام ... 2024, يوليو
Anonim
Image
Image

لماذا أداة آلية

يتم سحب فتيل الطابعات ثلاثية الأبعاد - قويًا تقريبًا - بواسطة الطارد أثناء وضع البكرة بالقرب من الطابعة ، ويمكن تدويرها مجانًا. لقد لاحظت اختلافات ذات مغزى في سلوك المواد اعتمادًا على مستوى الاستخدام ، المشار إليها في لفات الفتيل 1 كجم. يتدفق البكرة الخيطية الجديدة (الكاملة) بشكل جيد تقريبًا ولكن القوة المطبقة بواسطة الطارد يجب أن تكون ملائمة نسبيًا: الوزن لا يقل عن 1.5 كجم.

يمتلك محرك الطارد (معظم الحالات محرك Nema17 السائر) طاقة كافية للقيام بالمهمة ولكن تروس الطارد تدفع الفتيل إلى الجانب الساخن أثناء العمل بجمع جزيئات الفتيل بسبب القوى المطبقة ؛ هذا يتطلب صيانة الطارد بشكل متكرر لتجنب انسداد الفوهة. تميل هذه الجسيمات إلى الانفصال والاختلاط مع الفتيل النظيف أثناء التغذية ، مما يزيد من مشاكل الفوهة وتآكل الفوهة بشكل متكرر ؛ يحدث هذا بشكل متكرر مع فوهات قطرها 0.3 مم.

عندما يتم استخدام نصف لفة الفتيل أو أكثر ، تصبح حلزوناتها أصغر وفي بعض الظروف البيئية تميل الفتيل إلى الانكسار بشكل متكرر. أصبحت مهام الطباعة الطويلة أقل موثوقية ومرهقة ؛ لا يمكنني ترك الطابعة تعمل بمفردها لمدة ليلة كاملة دون التحكم فيها. وبالتالي ، فإن التحكم في تغذية الشعيرات بواسطة الشخصيات الحركية يحل سلسلة من المشكلات.

الطقم متاح على Tindie.com

الخطوة 1: محتوى المجموعة

محتوى الكيت
محتوى الكيت
محتوى الكيت
محتوى الكيت

تتضمن المجموعة جميع الأجزاء والميكانيكا المطبوعة ثلاثية الأبعاد لتجميع موزع الفتيل الآلي. هناك جزءان اختياريان بدلاً من ذلك: المحرك ولوحة التحكم في المحرك.

في الإعداد الخاص بي ، استخدمت محركًا ناعمًا من طراز McLennan بقوة 12 فولت ، لكن أي محرك بقطر 37 مم يمكن أن يتلاءم بشكل صحيح مع دعامة المحرك.

يتم الوصول إلى أفضل العروض مع TLE94112LE Arduino shield من Infineon (مراجعة كاملة هنا) ؛ يمكن أن تدعم لوحة التحكم في محرك التيار المستمر ما يصل إلى 6 مجموعات موزع آلي مختلفة في نفس الوقت.

لقد اختبرت النظام بأكمله على كل من Arduino UNO R3 ومجموعة التمهيد XMC1100 المتوافقة مع Arduino من Infineon وكان النظام مستجيبًا بشكل جيد للغاية مع كل من لوحات التحكم الصغيرة.

يُقترح استخدام درع TLE94112LE ولكنه ليس ضروريًا. أي وحدة تحكم في محرك DC لـ Arduino - بما في ذلك مشروعك الخاص! - يمكن أن تعمل بشكل جيد مع هذه الأداة

تنقسم المجموعة إلى مجموعتين من المكونات حيث تم تصميم جزأين للعمل معًا. ستدعم المنصة الأساسية أسطوانة الفتيل التي تدور على محامل العجلات الأربعة الحرة. يتم تثبيت القاعدة على حساس الوزن للتحكم في آلية الدوران التي تؤدي إلى تفعيلها وكذلك مراقبة ظروف الفتيل: الوزن والعداد والنسبة المئوية. يمكن الوصول إلى الكثير من المعلومات بالإضافة إلى مجموعة أوامر كاملة من Arduino من خلال محطة تسلسلية.

الأدوات التي تحتاجها

لإكمال التجميع ، تحتاج إلى بعض الغراء البلاستيكي القوي لبعض الأجزاء ، ومفك البراغي ومجموعة من براغي ألين.

الخطوة الثانية: المشروع والتصميم

المشروع والتصميم
المشروع والتصميم
المشروع والتصميم
المشروع والتصميم
المشروع والتصميم
المشروع والتصميم

هذا المشروع هو التطور الثالث لسلسلة موزع خيوط الطابعة ثلاثية الأبعاد في بعض الأوقات ، قمت بإنشاء قاعدة دوارة لتحسين تدفق الفتيل عند سحبه بواسطة آلة بثق الطابعة ثلاثية الأبعاد.

تضمن النموذج الثاني مستشعرًا للوزن لمراقبة استخدام الفتيل في الوقت الفعلي باستخدام لوحة Arduino. يتضمن هذا المشروع الأخير التحرير التلقائي للفتيل اعتمادًا على احتياجات وظيفة الطابعة ثلاثية الأبعاد. يعتمد على تباين الوزن الافتراضي عندما يبدأ الطارد في سحب الفتيل. يؤدي هذا الحدث إلى تشغيل وحدة التحكم الدقيقة من خلال مستشعر الوزن وتبدأ لفة الفتيل الآلية في إطلاق بعض بوصات من المواد ثم تتباطأ وتتوقف.

تم تصدير المكونات بتنسيق STL وطباعتها ثلاثية الأبعاد ، ثم صقلها وتجميعها معًا. لقد قمت بإنشاء دعم مخصص لمحاذاة جزء الحركة مع القاعدة. كما تم استخدام سكة الألمنيوم الأطول لدعم Arduino ودرع المحرك لجعل الأداة بأكملها مضغوطة وسهلة الحركة.

عند إنشاء التصميم اتبعت سلسلة من الافتراضات:

  • جعل المحرك الآلي بسيطًا تقريبًا وسهل التكاثر
  • قلل قدر الإمكان عدد المكونات غير القابلة للطباعة ثلاثية الأبعاد لجعلها
  • قلل قدر الإمكان الضغط المطبق على الطارد أثناء الطباعة
  • استخدم لوحة تحكم صغيرة منخفضة التكلفة وسهلة البرمجة
  • استخدم مستشعر حمل الوزن للتحكم في استهلاك الفتيل وتغذية الفتيل إدارة الضوضاء البيئية التي تتداخل مع مقاييس وزن الفتيل

هذه هي النتيجة التي توصلت إليها.

الخطوة 3: تجميع القاعدة

تجميع القاعدة
تجميع القاعدة
تجميع القاعدة
تجميع القاعدة
تجميع القاعدة
تجميع القاعدة

الخطوة الأولى هي تجميع القاعدة بجهاز استشعار الوزن.

  1. أدخل أنبوب محور المحمل الصغير في فتحة المحمل
  2. ضع قرصي الفاصل على جانبي المحمل
  3. أدخل المكونات الموجودة داخل دعامة المحمل بحجم "U" لمحاذاة الثقوب
  4. أدخل برغي Allen على جانب واحد والغسالة والصمولة على الجانب الآخر لإغلاق الجوز دون بذل الكثير من الجهد

يجب عليك تكرار العملية على جميع دعامات المحامل الأربعة. ثم اختبر التجميع: يجب أن تدور المحامل بحرية.

قم الآن بإصلاح دعامات المحامل الأربعة على القاعدة العلوية بفتحات التنظيم الأربعة باستخدام مسامير Allen. قم بمحاذاة دعامات المحامل لإبقائها متوازية. قم بتنظيم المسافة حسب عرض لفات الفتيل.

تتمثل الخطوة التالية في تجميع شريط مستشعر الوزن الذي يربط القاعدة السفلية والعلوية معًا. يحتوي مستشعر الوزن على برغيين مختلفين من Allen على كلا الجانبين ويجب عليك توجيهه بحيث يمكن قراءة ملصق الوزن الأقصى عندما يتم وضع القاعدة بشكل صحيح. تحتوي القاعدة السفلية على فتحتين جانبيتين إضافيتين لإصلاح مضخم A / D لمستشعر الوزن. سيتم تشغيل مكبر الصوت المعتمد على HX711 IC وتوصيله بلوحة Arduino من خلال الأسلاك الأربعة كما هو موضح في ورقة بيانات المستشعر المرفقة.

تتمثل الخطوة الأخيرة في تجميع القاعدة العلوية الكاملة فوق مستشعر الوزن المثبت بالفعل في الجزء السفلي.

تم إعداد المكون الأول!

الخطوة 4: تجميع أجزاء محرك التخزين المؤقت

تجميع أجزاء محرك حركة البكرة
تجميع أجزاء محرك حركة البكرة
تجميع أجزاء محرك حركة البكرة
تجميع أجزاء محرك حركة البكرة
تجميع أجزاء محرك حركة البكرة
تجميع أجزاء محرك حركة البكرة

الإجراء الأسهل لتجميع محرك حركة التخزين المؤقت هو تجميع المكونات الأربعة الأكثر أهمية بشكل منفصل ثم إكمال المبنى النهائي:

محرك DC الموجه في صندوق نقل المحرك

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

التروس الكبيرة المدفوعة

يجب أن يكون الترس الكبير مشدودًا بالكتلة المخروطية المقطوعة بمسامير ألين الأربعة. سيتم حظر هذا الترس على المحور الدوار بواسطة المكسرات ؛ سيحتوي الجزء المخروطي على بكرة الفتيل التي يتم قفلها على الجانب الآخر بواسطة صواميل قفل مماثلة داخل كتلة مخروطية أخرى مقطوعة. لا يحافظ هذا الحل على آلية الحركة في مكانها فحسب ، بل يوجه كل الوزن إلى القاعدة وهو الوزن الفارغ للنظام.

حامل قفل التخزين المؤقت

هذه هي الكتلة المخروطية المقطوعة التي ستعمل جنبًا إلى جنب مع جانب القفل المماثل مع الترس المدفوع على تثبيت آلية الحركة على بكرة الفتيل. من باب اللباقة ، فإن لفة الخيوط هي التي تكمل المبنى بينما تكون الحركة ذات الذراعين حرًا في التحرك على الجانب الآخر.

كما هو موضح في الصور ، تم بناء حامل قفل التخزين المؤقت في جزأين. أولاً ، أدخل الجوز M4 في الجزء الأكبر من الكتلة ثم الصق الجزء الثاني (الغطاء) مع إبقاء الكتل معًا. يظل الجوز محبوسًا داخل حامل القفل الذي سيتم ربطه بمحور القيادة الملولب.

صندوق المحامل

صندوق المحمل له وظيفتان: منح دعم جيد لتروس ناقل الحركة وحركة سلسة وصامتة. لتجميع صندوق المحمل ، اتبع هذه الخطوات السهلة:

  1. قم بربط أول صمولة M4 بأحد طرفي محور حامل البكرة الملولب
  2. أدخل المحمل الأول
  3. أدخل الفاصل
  4. أدخل المحمل الثاني
  5. برغي الجوز الثاني وقفله بشكل معتدل. سوف يعارض فاصل البلاستيك الداخلي القوة الكافية للحفاظ على الأشياء في مكانها أيضًا للاستخدام لفترة طويلة.
  6. أدخل المحامل المجمعة في صندوق المحمل. يجب أن يتم ذلك بشكل إجباري لمنح نتائج أفضل ، لذا لا توسع الجزء الداخلي للصندوق كثيرًا عند تكرير الأجزاء البلاستيكية.

نحن جاهزون لتجميع المكونات النهائية!

الخطوة الخامسة: استكمال تجميع محرك الحركة

استكمال تجميع محرك الحركة
استكمال تجميع محرك الحركة
استكمال تجميع محرك الحركة
استكمال تجميع محرك الحركة
استكمال تجميع محرك الحركة
استكمال تجميع محرك الحركة

نحن على وشك الانتهاء من تجميع الهيكل ثم يمكننا الانتقال لاختبار الحركة. الآن أنت بحاجة مرة أخرى إلى بعض الغراء. يجب إدخال صندوق المحمل - الذي تم تجميعه في الخطوة السابقة - في فتحة حامل الصندوق في دعامة المحرك ثنائية الذراعين وربما يتم لصقها قبل ربط غطاء الصندوق.

تحذير: لا تلصق غطاء الصندوق ، فقط قم بلفه. يعتبر الغطاء مهمًا للحماية من الغبار ويجب إزالته لأي عملية صيانة مستقبلية.

عند اكتمال هذا الإعداد قبل إضافة الترس المدفوع (الأكبر) ، أضف حلقة الفصل الصغيرة: فهي تحافظ على محاذاة الترس الكبير مع ترس المحرك الذي يعمل كغسالة لإصلاح التجميع المتحرك المدفوع.

ثم أدخل ترس السائق (الصغير) في عمود المحرك. لاحظ أن هناك جانبًا مسطحًا في المحرك أيضًا في الفتحة المركزية للترس للحفاظ على دوران الترس مدفوعًا بمحرك DC.

الخطوة الأخيرة ، أدخل الترس الكبير المدفوع كما هو موضح في الصور وقم بتثبيته على المحور الملولب باستخدام صامولتين M4.

اكتمل بناء الميكانيكا!

الخطوة 6: المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة

المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة
المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة
المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة
المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة
المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة
المكافأة: كيف قمت بتخصيص الدعم لإدارة المجموعة

للحفاظ على المجموعة في مكانها ، صنعت هيكلًا بسيطًا للغاية يعتمد على أنبوبين مربعين من الألومنيوم لدعم كل من القاعدة وهيكل الحركة. تم تثبيت القاعدة بأربعة مسامير في القضبان (طولها حوالي 25 سم) ومع زوج من الدعامات الصغيرة المطبوعة ثلاثية الأبعاد لديّ إصلاحات لمحرك الحركة بحرية ليتم تحريكه لتسهيل إدخال وإزالة لفة الفتيل.

يمكن لأي شخص اختيار الحل الخاص به اعتمادًا على كيفية تنظيم طاولة العمل الخاصة به.

الخطوة 7: توصيل الأسلاك والتوصيل بـ Arduino

Image
Image
الأسلاك والتوصيل إلى Arduino
الأسلاك والتوصيل إلى Arduino

كما هو موضح في خطوة محتوى Kit ، فقد استخدمت غطاء محرك Infineon TLE94112LE DC لـ Arduino واختبرت المحرك على كل من Arduino UNO R3 و Infineon XMC110 Boot Kit.

إذا كنت ستتحكم في المحرك (تحتاج إلى ميزات PWM) باستخدام لوحة تحكم DC من اختيارك ، فما عليك سوى تكييف التعليمات وفقًا للمواصفات الفنية للدرع الخاص بك.

ملاحظة على TLE04112LE Arduino Shield

أحد الحدود التي واجهتها مع دروع التحكم في المحركات الأخرى لـ Arduino هو أنها تستخدم ميزات نفس وحدة التحكم الصغيرة (مثل دبابيس PWM و GPIO) ؛ هذا يعني أن منتداك يصبح مخصصًا لهذه المهام بينما لا يتوفر سوى عدد قليل من الموارد الأخرى (MPU و GPIO) لاستخدامات أخرى.

مع إمكانية وضع اليدين على TLE94122LE Arduino shield لاختبار الطريق ، فإن الميزة الأكثر وضوحًا للوحة IC التي تعتمد عليها اللوحة هي اكتمالها فقط. تتصل لوحة Arduino بالدرع عبر بروتوكول SPI باستخدام دبابيس فقط. تتم معالجة كل أمر ترسله إلى الدرع بشكل مستقل بواسطة TLE94112LE IC بدون استهلاك موارد MPU. ميزة أخرى رائعة للوحة Infineon هي إمكانية التحكم في ما يصل إلى ستة محركات مصقولة بثلاث قنوات PWM قابلة للبرمجة. هذا يعني أن Arduino يمكنه إعداد محرك واحد أو أكثر ، وتشغيله ومواصلة العمل في مهام أخرى. تم الكشف عن هذا الدرع بشكل مثالي لدعم ما يصل إلى ست لفات خيوط مختلفة في نفس الوقت ، فإن الحركة ليست سوى واحدة من المهام المسؤولة عن MPU ، مع الأخذ في الاعتبار إمكانية إدارة ستة بكرات خيوط مختلفة باستخدام Arduino + واحد يحمي تأثيرات تكلفة وحدة التحكم الجزئية على كل وحدة تحكم خيوط واحدة بأقل من 5 يورو.

جهاز استشعار الوزن

بعد إجراء بعض التجارب ، رأيت أنه من الممكن التحكم في النظام بأكمله - المراقبة والتغذية التلقائية - باستخدام مستشعر واحد ؛ يمكن لخلية الحمل (مستشعر الوزن) أن تقيس ديناميكيًا اختلافات وزن بكرة الفتيل لتوفير جميع المعلومات التي نحتاجها.

لقد استخدمت خلية تحميل غير مكلفة في النطاق 0-5 كجم مع لوحة صغيرة تعتمد على HX711 AD Amplifier ، وهو IC مخصص لإدارة مستشعرات خلايا التحميل. لم تكن هناك مشاكل في التواصل حيث أنها متوفرة بمكتبة Arduino تعمل بشكل جيد.

ثلاث خطوات لإعداد الجهاز

  1. أدخل الدرع أعلى لوحة Arduino أو Infineon XMC110 Boot Kit
  2. قم بتوصيل أسلاك المحرك بموصلات Out1 و Out2 الملولبة للدرع
  3. قم بتوصيل الطاقة والإشارات من مضخم مستشعر الوزن HX711 AD إلى دبابيس Arduino. في هذه الحالة ، استخدمت الدبابيس 2 و 3 ولكن جميع الدبابيس المجانية جيدة.

تحذير: يتم حجز p ins 8 و 10 بواسطة درع TLE94113LE لاتصال SPI

هذا كل شئ! جاهز لإعداد البرنامج؟ تفضل.

الخطوة 8: مجموعة أوامر البرنامج والتحكم

مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم
مجموعة أوامر البرنامج والتحكم

يمكن تنزيل البرنامج الموثق بالكامل من مستودع جيثب 3DPrinterFilamentDispenserAndMonitor

هنا ننظر فقط في الأجزاء الأكثر أهمية وأوامر التحكم.

هناك سبب يفرضه عدد المسامير المتاحة على Arduino UNO قررت التحكم في النظام عبر طرف USB التسلسلي ؛ نظرًا لأن كل وحدة آلية تعتمد على مستشعر الوزن ، فإن التحكم في ستة موزعات خيوط مختلفة يتطلب قراءة البيانات من ستة مستشعرات للوزن. كل خلية تحميل "تستهلك" دبابيس ، يتم حجز الدبوس 0 و 1 (Tx / Rx) للتسلسل والدبابيس 8 و 10 محجوزة لقناة SPI التي تربط درع TLE94112LE.

حالة النظام

يعمل برنامج التحكم من خلال أربع حالات مختلفة ، محددة في الفتيل. h:

#define SYS_READY "جاهز" // جاهز للنظام

#define SYS_RUN "قيد التشغيل" // خيوط قيد الاستخدام #define SYS_LOAD "تحميل" // تحميل Roll #define SYS_STARTED "بدأ" // بدأ التطبيق // أكواد الحالة #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_RUN 3

الحالة: بدأت

تحدث هذه الحالة بعد إعادة تعيين الجهاز أو عند تشغيل النظام. تقوم عملية التشغيل (واستدعاء الإعداد () عند بدء الرسم التخطيطي) بتهيئة القيم الافتراضية الداخلية ويجب أن تبدأ بدون وزن إضافي على النظام الأساسي كجزء من تسلسل التهيئة وهو الحصول على الفارغ المطلق للوصول إلى الوزن الصفري المادي.

الحالة: جاهز

تحدث حالة الاستعداد بعد إعادة ضبط بسيطة (يتم إرسالها من المحطة التسلسلية). إنه مشابه للاستئصال الجسدي ولكن لا يتم حساب الفارغة ؛ يمكن تشغيل أمر إعادة التعيين أيضًا عند تشغيل النظام.

الحالة: تحميل

تحدث حالة التحميل عندما يتم إرسال أمر التحميل بواسطة الجهاز الطرفي. هذا يعني أنه تم تحميل لفة الفتيل وتم حساب الفارغة الديناميكية. يتم الحصول على الوزن الدقيق للفتيل من خلال نوع إعداد البكرة مطروحًا منه وزن وحدة المحرك والبكرة الفارغة.

الحالة: قيد التشغيل

تتيح هذه الحالة الحساب التلقائي للوزن وموزع الفتيل التلقائي.

الرسائل الطرفية

يقوم الإصدار الحالي من البرنامج بإرجاع رسائل يمكن قراءتها بواسطة الإنسان إلى الجهاز بناءً على الأوامر. يتم تعريف رسائل السلسلة في ملفي رأس: commands.h (الرسائل والاستجابات المتعلقة بالأوامر) و filament.h (السلاسل التي يستخدمها المحلل اللغوي لإنشاء رسائل مركبة).

أوامر

يتم تضمين ملفين مختلفين في إدارة الأوامر: command.h بما في ذلك جميع الأوامر والمعلمات ذات الصلة والخيوط. h بما في ذلك جميع الثوابت والتعريفات المستخدمة من قبل نظام الترجيح والمحلل.

أثناء إجراء الحسابات الداخلية تلقائيًا بواسطة البرنامج ، قمت بتنفيذ سلسلة من الأوامر لضبط سلوك النظام والتحكم يدويًا في بعض المعلمات.

الكلمات الرئيسية للأوامر حساسة لحالة الأحرف ويجب إرسالها فقط من الجهاز. إذا كان الأمر غير مناسب للحالة الحالية لم يتم التعرف عليه ، يتم إرجاع رسالة أمر خاطئ وإلا يتم تنفيذ الأمر.

أوامر الحالة

قم بتغيير الوضع الحالي للنظام ويتم تكييف السلوك أيضًا

أوامر الفتيل

باستخدام أوامر منفصلة ، من الممكن إعداد خصائص الخيوط واللفائف بناءً على الوزن والأحجام الأكثر شيوعًا المتاحة اليوم في السوق

أوامر الوحدات

هذان أمران لضبط تصور وحدات القياس بالجرام أو السنتيمتر. في واقع الأمر ، من الممكن إلغاء هذه الأوامر وتمثيل البيانات دائمًا في كلتا الوحدتين.

أوامر المعلومات

إظهار مجموعات من المعلومات بناءً على حالة النظام

أوامر المحرك

التحكم في المحرك لتغذية الفتيل أو السحب.

تتبع جميع أوامر المحرك مسار التسارع / التباطؤ. ينفذ الأمرين التغذية والسحب تسلسلًا قصيرًا كما هو محدد في المحرك. h بواسطة الثابت FEED_EXTRUDER_DELAY بينما يعمل الأمران feedc و pullc إلى أجل غير مسمى حتى لا يتم تلقي أمر الإيقاف.

أوامر وضع التشغيل

تقبل حالة التشغيل وضعين ؛ يقوم رجل الوضع بقراءة الوزن بشكل دوري ويتحرك المحرك حتى لا يتم إرسال أمر التحكم في المحرك. يقوم الوضع التلقائي بدلاً من ذلك بتنفيذ أمري تغذية عندما يحتاج الطارد إلى مزيد من الفتيل.

يعتمد المبدأ على قراءات الوزن ، في سياق هذه البيئة المعينة. نتوقع أن يكون استهلاك الفتيل بطيئًا نسبيًا ، وأن الطابعات ثلاثية الأبعاد بطيئة تقريبًا وتعتمد اهتزازات الوزن الطبيعية على اهتزاز البيئة (أفضل إذا لم تضع كل الأشياء على الطابعة ثلاثية الأبعاد)

عندما يسحب الطارد الفتيل بدلاً من ذلك ، يزداد فرق الوزن بشكل كبير (50 جم أو أكثر) في وقت قصير جدًا ، عادةً بين قراءتين أو ثلاث قراءات. يتم تصفية هذه المعلومات بواسطة البرنامج الذي "يقتطع" أن الفتيل الجديد مطلوب. لتجنب القراءات الخاطئة ، يتم تجاهل الاختلافات في الوزن أثناء تشغيل المحرك على الإطلاق.

منطق التطبيق

يتم توزيع منطق التطبيق في.ino main (مخطط Arduino) على طول ثلاث وظائف: setup () و loop () و parseCommand (commandString)

يستخدم الرسم فئتين منفصلتين: فئة FilamentWeight لإدارة جميع حسابات الفتيل وقراءة المستشعر عبر HX711 IC وفئة MotorControl التي تتعامل مع طرق المستوى المنخفض لدرع Arduino TLE94112LE.

اقامة()

يتم التشغيل مرة واحدة عند التشغيل أو بعد إعادة تعيين الأجهزة ، قم بتهيئة مثيلات الفئات وإعداد الأجهزة والاتصال الطرفي.

حلقة()

تقوم وظيفة الحلقة الرئيسية بإدارة ثلاثة شروط مختلفة.

في حين أن هناك فئتين لمستشعر الوزن والمحركات معقدة نسبيًا ، إلا أن هناك ميزة تتمثل في أن الرسم الناتج يسهل حقًا فهمه وإدارته.

  1. تحقق (في الوضع التلقائي) إذا كان الطارد يحتاج إلى مزيد من الفتيل
  2. إذا كان المحرك قيد التشغيل ، تحقق من وجود أخطاء في الأجهزة (يتم إرجاعها بواسطة TLE94112LE)
  3. إذا كانت هناك بيانات تسلسلية متوفرة ، فقم بتحليل الأمر

parseCommand (commandString)

تقوم وظيفة التحليل بالتحقق من السلاسل الواردة من المسلسل وعندما يتم التعرف على أحد الأوامر ، تتم معالجته على الفور.

يعمل كل أمر كآلة حالة تؤثر على بعض معلمات النظام ؛ باتباع هذا المنطق ، يتم تقليل جميع الأوامر إلى ثلاثة إجراءات متسلسلة:

  1. أرسل أمرًا إلى فئة FilamentWeight (أوامر الوزن) أو إلى فئة MotorControl (أوامر المحرك)
  2. ينفذ عملية حسابية لتحديث قيم الوزن أو تحديث إحدى المعلمات الداخلية
  3. اعرض على الجهاز وإخراج المعلومات عند اكتمال التنفيذ

قم بتثبيت مكتبة HX711 Arduino ، وقم بتنزيل البرنامج من GitHub وقم بتحميله على لوحة Arduino الخاصة بك ثم استمتع!

موصى به: