تستخدم آلات تعبئة الزجاجات الأوتوماتيكية بشكل شائع في صناعة المشروبات والمشروبات الغازية. تستخدم هذه الآلات حزام ناقل وهو طريقة اقتصادية وسريعة لملء الزجاجات. تستخدم PLCs في الغالب في آلات تعبئة الزجاجات الأوتوماتيكية ، ولكن يمكنك صنع حشو زجاجة أساسي ومتعدد الاستخدامات باستخدام Arduino. يمكنك برمجة Arduino لاكتشاف الزجاجة تلقائيًا باستخدام مستشعر الأشعة تحت الحمراء أو بالموجات فوق الصوتية والسماح لملء الزجاجة عن طريق إيقاف حزام النقل لبعض الوقت. ثم حرك الحزام مرة أخرى وتوقف عند اكتشاف الزجاجة التالية.
سنقوم هنا بتصميم نموذج أولي لآلة تعبئة الزجاجات الأوتوماتيكية باستخدام Arduino Uno ، وحزام ناقل ، وصمام ملف لولبي ، ومستشعر IR ، ومحرك متدرج. يتم تشغيل ناقل الحزام بواسطة محرك متدرج بسرعة ثابتة محددة مسبقًا. سيستمر محرك السائر في قيادة الحزام حتى يكتشف مستشعر الأشعة تحت الحمراء وجود زجاجة على الحزام. استخدمنا مستشعر الأشعة تحت الحمراء كمحرك خارجي. لذلك كلما ارتفع مستشعر الأشعة تحت الحمراء ، فإنه يرسل مشغلًا إلى Arduino لإيقاف المحرك وتشغيل صمام الملف اللولبي. تم إدخال تأخير مسبق مطلوب في الكود لملء الزجاجة. سيبقي Arduino صمام الملف اللولبي قيد التشغيل ويوقف محرك السائر حتى ذلك الوقت المحدد. بعد ذلك الوقت ، يقوم صمام الملف اللولبي بإيقاف التعبئة ، ويبدأ الناقل في التحرك حتى يمكن ملء الزجاجة التالية.
استخدمنا سابقًا Arduino مع صمام الملف اللولبي ومستشعر الأشعة تحت الحمراء ومحرك السائر ، لذا لمعرفة المزيد حول التفاعل الأساسي لـ Arduino مع هذه المكونات ، يمكنك زيارة الروابط.
المكونات مطلوبة
- اردوينو اونو
- محرك متدرج (نيما 17)
- تناوب
- صمام الملف اللولبي
- مستشعر الأشعة تحت الحمراء
- سائق محرك A4988
- البطارية
مخطط الرسم البياني
فيما يلي مخطط الدائرة لنظام تعبئة الزجاجات الأوتوماتيكي باستخدام Arduino.
لقد استخدمت فريتزينج لرسم مخطط الدائرة. في هذه الدائرة ، يتم توصيل صمام الملف اللولبي بـ Arduino من خلال وحدة الترحيل ويتم استخدام وحدة التشغيل A4988 للتحكم في محرك السائر. يمكنك اتباع البرنامج التعليمي كيفية التحكم في Nema17 باستخدام Arduino و A4988 لمزيد من المعلومات حول وحدة برنامج التشغيل Nema17 و A4988.
يتم توصيل دبوس الإدخال الخاص بوحدة الترحيل بالدبوس 7 في Arduino. يتم توصيل دبابيس التوجيه والخطوة للوحدة A4988 بدبابيس 2 و 4 من Arduino. في هذا المشروع ، يتم استخدام مستشعر الأشعة تحت الحمراء كمقاطعة خارجية لـ Arduino. في Arduino Uno ، يعتبر الدبوس الرقمي 2 و 3 بمثابة دبابيس المقاطعة ، لذلك قم بتوصيل دبوس Out من مستشعر الأشعة تحت الحمراء بالدبوس الثالث من Arduino. يتم تشغيل صمام الملف اللولبي بواسطة مصدر طاقة 24 فولت ، ويتم تشغيل محرك السائر بمصدر طاقة 12 فولت.
برنامج اردوينو للتعبئة التلقائية للزجاجة
يتم تقديم البرنامج الكامل لنظام تعبئة الزجاجات الأوتوماتيكي باستخدام Arduino في النهاية. أنا هنا أشرح بعض الأسطر المهمة.
ابدأ البرنامج بتضمين مكتبة محرك السائر. يمكنك تنزيل مكتبة محرك السائر من هنا.
بعد ذلك ، حدد عدد الخطوات لكل ثورة للمحرك السائر. بالنسبة لـ NEMA ، 17 خطوة لكل ثورة هي 200.
#تضمن
حدد المسامير التي تتصل بها دبابيس الخطوة والاتجاه لوحدة محرك المحرك. نظرًا لأن المحرك متصل من خلال وحدة التشغيل ، حدد نوع واجهة المحرك على أنه Type1 .
السائر (خطوات ، 2 ، 4) ؛ #define motorInterfaceType 1
اضبط سرعة محرك السائر.
stepper.setSpeed (500) ؛
حدد دبابيس التتابع والخطوة والاتجاه كإخراج
pinMode (التتابع ، الإخراج) ؛ pinMode (4 ، الإخراج) ؛ pinMode (2 ، الإخراج) ؛
فيما يلي صيغة المقاطعة الخارجية في Arduino:
attachInterrupt (digitalPinToInterrupt (pin) ، ISR ، الوضع) ؛
أين:
digitalPinToInterrupt (دبوس): يستخدم لتعريف الدبوس الذي تتصل به المقاطعة الخارجية. في Arduino Uno Pin 2 & 3 هي دبابيس خارجية للمقاطعة.
ISR: هي وظيفة يتم استدعاؤها عند استدعاء مقاطعة خارجية.
الوضع: نوع الانتقال الذي يتم تشغيله ، على سبيل المثال ، هبوط ، ارتفاع ، إلخ.
تعرف على المزيد حول مقاطعات Arduino باتباع الرابط.
في وظيفة attachInterrupt () ، يتم تحديد أن الدبوس 3 هو دبوس المقاطعة الخارجي ، ويتم استدعاء وظيفة IR_detected عندما يغير مستشعر الأشعة تحت الحمراء حالته من منخفض إلى مرتفع (مرتفع).
attachInterrupt (digitalPinToInterrupt (3)، IR_detected، HIGH) ؛
IR_detected () void هي إحدى وظائف ISR التي يتم تنفيذها عندما يرتفع مستشعر الأشعة تحت الحمراء. لذلك عندما يرتفع مستشعر الأشعة تحت الحمراء ، تعمل هذه الوظيفة على تشغيل محرك السائر لبضع خطوات ، ثم إيقاف محرك السائر وتشغيل صمام الملف اللولبي.
باطل IR_detected () {stepper.step (150) ؛ الكتابة الرقمية (التتابع ، عالية) ؛ stepper.step (0) ؛
الآن أخيرًا قم بتحميل الكود إلى Arduino عن طريق توصيله بالكمبيوتر المحمول. توضح الصورة أدناه نموذجنا الأولي لنظام تعبئة الزجاجات التلقائي باستخدام Arduino.
الكود الكامل والفيديو التوضيحي معطى أدناه.