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

IronForge the NetBSD Toaster: 9 خطوات (بالصور)
IronForge the NetBSD Toaster: 9 خطوات (بالصور)

فيديو: IronForge the NetBSD Toaster: 9 خطوات (بالصور)

فيديو: IronForge the NetBSD Toaster: 9 خطوات (بالصور)
فيديو: WoW Classic rogue Iron forge gank 2024, شهر نوفمبر
Anonim
IronForge محمصة NetBSD
IronForge محمصة NetBSD
IronForge محمصة NetBSD
IronForge محمصة NetBSD
IronForge محمصة NetBSD
IronForge محمصة NetBSD

لم يبدأ هذا المشروع كمحمصة خبز في النهاية.

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

www.embeddedarm.com/blog/netbsd-toaster-powered-by-the-ts-7200-arm9-sbc/

محمصة NetBSD الأصلية. هذا المشروع في حد ذاته مزحة مهووسة ، لمن لا يعرف:

"لطالما اعتبر أن نظام التشغيل NetBSD الذي يشبه نظام التشغيل UNIX قابل للنقل إلى كل نوع من الأجهزة باستثناء محمصة المطبخ الخاصة بك."

إذن فلنقم بإنشاء محمصة تشغل NetBSD و:

  • يمكن ضبط درجة الحرارة ووقت التحميص بشكل جيد من قبل المستخدم
  • في حين أنه لا يتم تحميصه ، فإنه يعرض بيانات الطقس من محطتي أرصاد جوية على لوحة معلومات أنيقة
  • عندما يتم تحميصه فإنه يعرض الوقت المتبقي ودرجة الحرارة على الرسم البياني والأرقام
  • عندما لا يتم تحميصه ، يمكن استخدامه أيضًا كمنبه واستماع للموسيقى ، وحتى تشغيل الأفلام عليه
  • يعرض وصفات الطبخ أو يمكن استخدامه للتصفح المنتظم

الخطوة 1: تشغيل المحمصة واختيار الأجهزة

تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة
تشغيل المحمصة واختيار الأجهزة

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

كان أحد معاييري الرئيسية تجاه المحمصة هو أن أتمكن من صنع 4 شرائح من الخبز في وقت واحد وأن تكون تلقائية ، لذلك بعد ساعتين من القشط عبر موقع Ebay الألماني ، قررت بجانب

Severin AT 2509 (1400W) محمصة خبز

www.severin.de/fruehstueck/toaster/automati…

هذه علامة تجارية منتشرة على نطاق واسع في ألمانيا ، وقد تكلفتها حوالي 40-50 يورو في وقت كتابة هذا التقرير باعتبارها علامة تجارية جديدة.

الملامح الرئيسية لما تعلن عنه الشركة المصنعة:

● غلاف من الفولاذ المقاوم للصدأ عازل للحرارة

● مرفق تحميص مدمج

● عمودان طويلان للتحمير لما يصل إلى 4 شرائح خبز

● تحميص الوقت الإلكتروني مع مستشعر درجة الحرارة

● درجة دباغة قابلة للتعديل

● مستوى تذويب مع ضوء المؤشر

● مرحلة إحماء بدون تسمير إضافي مع ضوء تحكم

● زر تحرير منفصل مع مؤشر ضوئي

● تمركز قطاعة الخبز لتحمير جانبي الرغيف

● الإغلاق التلقائي عند انحشار قرص الخبز

● صينية الفتات

● ترجيع الكابل

على الرغم من أن الشركة المصنعة لم تدعي أن درجة الحرارة قابلة للتعديل ، إلا أنها تقدم نقطتين مضللتين:

● مرحلة إحماء بدون تسمير إضافي مع ضوء تحكم

● تحميص الوقت الإلكتروني مع مستشعر درجة الحرارة

للاستشهاد بهذه الادعاءات ، دعونا نرى كيف تعمل الآلة:

1 ، في الحالة العادية ، يتم فصل التيار الكهربائي 230 فولت تمامًا ، ولا يتم تشغيل أي جزء من المحمصة.

2 ، عندما يسحب المستخدم الرافعة (التي تسحب الخبز أيضًا لأسفل) ، فإنها تربط عنصر التسخين على كلا الجانبين.

الآن ما فعلوه هنا هو تصميم رخيص ولكنه ذكي أيضًا. لا يوجد محول داخل المحمصة لذا قد تتساءل كيف تحصل على جهدها المنخفض (10V AC ~) بعد ذلك. يوجد ملف منفصل مقترن بأحد عناصر التسخين على الجانب الأيسر من المحمصة التي تعمل نوعًا ما مثل محول التدريجي الذي ينتج 10 فولت تيار متردد.

ثم تستخدم مقوم الصمام الثنائي الفردي لإنشاء 10V DC والتي تشغل لوحة التحكم الرئيسية للمحمصة.

3 ، ما اعتقدته في البداية - أنه ملف لولبي + محول معًا - تبين أنه ملف لولبي واحد أسفل الرافعة التي يتم تشغيلها الآن بواسطة دائرة التحكم والمسؤولة عن شيء واحد فقط (للحفاظ على هذا الرافعة منسدلة).

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

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

الآن بعد أن أصبحت دائرة التحكم ذات المستوى العسكري بعيدًا عن الطريق ، فلنأخذ التحكم الكامل في المحمصة.

الخطوة 2: قائمة الأجهزة

قائمة الأجهزة
قائمة الأجهزة
قائمة الأجهزة
قائمة الأجهزة
قائمة الأجهزة
قائمة الأجهزة

هذا مرة أخرى ليس بومًا ممتلئًا ، ولا يشمل جميع الأساسيات مثل الأسلاك والبراغي:

  • 1x AT 2509 (1400W) محمصة خبز أو أي محمصة أخرى تختارها
  • عدد 1 منفذ Arduino Pro Micro
  • شاشة عرض LCD تعمل باللمس مقاس 1 × 5 بوصات HDMI لجهاز Raspberry Pi XPT2046 BE
  • 1x Raspberry PI 2 أو Raspberry PI 3
  • 1x SanDisk 16GB 32GB 64GB Ultra Micro SD SDHC Card 80MB / s UHS-I Class10 w محول (لـ PI)
  • 2x SIP-1A05 Reed Switch Relay
  • 1x 1 قطعة MAX6675 وحدة + K نوع الحرارية مستشعر درجة الحرارة لاردوينو (يوصى بشراء قطع غيار)
  • 1x الإخراج 24V-380V 25A SSR-25 DA Solid State Relay PID متحكم في درجة الحرارة
  • 1x Mini DC-DC Buck Converter وحدة تنحى وحدة تزويد الطاقة لتشكيل الطائرات (قم بشراء المزيد منها للاستبدال).
  • 2x وحدة التشفير الروتاري لوحة تطوير مستشعر الطوب لاردوينو (دوار + مفتاح متوسط ، يوصى بشراء المزيد منها للاستبدال)
  • عدد 2 WS2812B 5050 RGB LED Ring 24Bit RGB LED
  • 1x 1 مللي متر A5 شفاف لوح أكريليك برسبيكس بلاستيك شبكي قطع 148x210 مللي متر الكثير
  • محول 1x12V 2A DC (يجب أن يكون 1A أيضًا كافيًا لـ Pi + Screen + Ardu ولكن من الأفضل التأكد في حالة توصيل أجهزة إضافية من خلال USB ، فإنها سوف تستنزف تيارًا إضافيًا)
  • 1x PCS HC-SR501 IR وحدة كاشف مستشعر حركة الأشعة تحت الحمراء الكهروضوئية IR PIR
  • 2x سلك توصيل 5 دبوس أنثى إلى أنثى كابل دوبونت 20 سم لـ Arduino (بالنسبة إلى الدوارات ، يستحق شراء المزيد منها)
  • 2x سبائك الألومنيوم حجم مقبض 38x22mm ل 6mm الجهد رمح الفضة
  • مرحل 1x 230 فولت
  • مجموعة من صف واحد أنثى 2.54 مم + موصلات ذكر قابلة للكسر للوصلات
  • اختياري لـ Xbee mod: 1X10P 10pin 2mm أنثى صف واحد مستقيم دبوس رأس قطاع XBee مقبس
  • اختياري لـ Xbee mod: 1 Xbee
  • اختياري لـ Xbee mod: 1x Jumper Wire 4 Pin Female to Female Dupont Cable 20cm for Arduino (بين Xbee Raspi)

بالنسبة لمصدر الطاقة ، يجب عليك استخدام 12V بدلاً من 5V لأن الملف اللولبي لن يحافظ على مستوى الجهد المنخفض ، ولا تنس إضافة صمام ثنائي flyback على الملف اللولبي.

إذا قررت استخدام مكونات أخرى ، على سبيل المثال: وحدة باك مختلفة لتخفيض الجهد من 12 فولت -> 5 فولت ، يجب عليك إعادة تصميم اللوحة ، فقد تم تصنيعها لمحول باك صغير مربع صغير.

الخطوة 3: تعديل الحالة: الظهر هو الواجهة

تعديل الهيكل: الظهر هو الجبهة
تعديل الهيكل: الظهر هو الجبهة
تعديل الحالة: الظهر هو الجبهة
تعديل الحالة: الظهر هو الجبهة
تعديل الهيكل: الظهر هو الجبهة
تعديل الهيكل: الظهر هو الجبهة

بعد إزالة دائرة التحكم الرئيسية ، كان لا يزال هناك ثقب قبيح كبير ينظر إلى مكان المفاتيح ، لذلك قررت أنني سأستخدم هذا الجانب فقط كظهر خلفي وأثبت صندوق التوصيل الذي يضم SSR (Solid State Relay -> لـ التحكم في التدفئة) + مرحل تيار متردد 230 فولت (للكشف عن الطاقة) + محول 12 فولت يعمل على تشغيل الدائرة بأكملها.

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

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

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

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

كانت أسلاك MAX6675 طويلة بما يكفي لتغذى بسهولة من خلال الجزء السفلي من الماكينة إلى الفتحة حيث تم إخراج الكابلات.

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

  • 1 سلك من عنصر التسخين -> يذهب إلى SSR
  • 1 سلك من 230 فولت (يفضل النقطة البنية الساخنة) -> يذهب إلى SSR
  • سلكان من 230 فولت مع حالة التبديل المغلقة -> يذهب إلى بدء الترحيل
  • سلكان من المدخل الرئيسي 230 فولت -> يذهب إلى محول 12 فولت في الخلف
  • أسلاك محمية من جهاز الاستشعار الحراري

وهذا كل ما تحتاجه للتحكم في المحمصة.

بسبب اللحام الصناعي ، قررت ببساطة قطع السلك بين عنصر التسخين وأحد طرفي الطرف الرئيسي (الذي يأتي بعد المفتاح) ومع الشرائط الطرفية التي قمت بتوصيلها بـ SSR.

ستكون هناك حاجة إلى مرحل يعمل من 230 فولت (جهد التيار الكهربائي). هذا هو مرحل البدء الذي سيتيح لـ Arduino معرفة أن المستخدم قد سحب الرافعة لأسفل والتي يطلق عليها اسم عملية التحميص. لا تنس أن دائرة التحكم لم تعد في مكانها ، الملف اللولبي لا يحصل على الطاقة التي من شأنها أن تثبت الرافعة لأسفل ويتم فصل السخان أيضًا (يتم التحكم فيه من خلال SSR). كل هذا سيكون مهمة Arduino من الآن فصاعدًا.

يتم توصيل محول التيار المتردد بجهد 12 فولت مباشرة بالتيار الرئيسي (لقد أضفت مفتاح تشغيل / إيقاف إضافي في الخلف). سيوفر هذا طاقة ثابتة للدائرة. تستهلك المحمصة في وضع الاستعداد فقط: 5.5 وات مع تشغيل الشاشة و 5.4 وات في وضع الإيقاف.

الخطوة 4: لوح القوس الحلقي الأمامي

مجلس Arcyclic الأمامي
مجلس Arcyclic الأمامي
مجلس Arcyclic الأمامي
مجلس Arcyclic الأمامي
مجلس Arcyclic الأمامي
مجلس Arcyclic الأمامي

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

يمكنك أن ترى أن لوحة plexi بها شقوق صغيرة حول بعض الحفر ، لذلك تعرف ما الذي يجب تجنبه إذا كنت تهدف إلى تصميم مثالي.

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

لم أقم بعمل أي رسومات تصميم مناسبة للصفائح الزجاجية مقاس 148x210mm ، فقط حاولت ضبط كل شيء ليكون متماثلًا ومتوافقًا ، لذا أعتذر لأنني لا أستطيع تقديم أي مخطط لهذا الجزء عليك القيام به بنفسك. ومع ذلك لدي نصيحة واحدة:

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

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

لقد استخدمت فواصل عادية للوحة الأم للكمبيوتر الشخصي بين الدوارات ولوحة plexi ، كما أضفت 2-2 أخرى خلف الدوار لإعطاء بعض الثبات الإضافي عند الضغط على الأزرار.

الخطوة 5: دائرة التحكم في المحمصة

دائرة التحكم في المحمصة
دائرة التحكم في المحمصة
دائرة التحكم في المحمصة
دائرة التحكم في المحمصة
دائرة التحكم في المحمصة
دائرة التحكم في المحمصة

كان هذا أحد تلك المشاريع التي تجاوزت بالفعل جميع دبابيس Arduino:) تم حجز RX و TX لتمديد وحدة الاتصال في المستقبل.

توفر لوحة الدائرة الرئيسية الطاقة لكل شيء من خلال محول باك (Arduino و Raspi و Screen و SSR و Relays). أود هنا أن أشير إلى أن منظم الجهد هذا ليس حالة فنية تمامًا ، ولا يمكنه تجاوز الجهد الوارد بجهد 12 فولت تيار مستمر أكثر من اللازم. إذا قررت استخدام نفس النوع تمامًا ، فتأكد من أن المحول الخاص بك يوفر جهدًا ثابتًا للدارة المفتوحة بجهد 12 فولت (ليس مثل محول WRT54G ، حيث سترى الدخان السحري ينفد في ثوانٍ).

لقد جعلت اللوحة معيارية قدر الإمكان ، باستخدام مآخذ حيثما أمكن ذلك. بعد مرحلتي القصب ، يمكن استبدال كل شيء آخر بسهولة.

يأتي كل من مرحلات الريشة الممتازة هذه مع صمامات ثنائية مدمجة فلا تستهلك أكثر من 7 مللي أمبير بحيث يمكن توصيلها مباشرة بأي دبابيس Arduino (سأستمر في التوصية بها في مشاريعي المستقبلية أيضًا). وظيفة المرحلات:

أحدهما لتشغيل الملف اللولبي في بداية عملية التحميص (للإبقاء على الرافعة مشدودة لأسفل).

واحد هو تشغيل وإيقاف تشغيل الشاشة تلقائيًا في حالة اكتشاف الحركة.

اعتقدت أن تشغيل شاشة HDMI 24/7 لن يوفر عمرًا طويلاً (خاصةً ما أستخدمه هو مجرد مزيف رخيص ، وليس WaveShare الأصلي:

وأيضًا هل يمكن لجهاز الكمبيوتر الخاص بك تشغيل الشاشة عند دخولك للغرفة؟ لا أعتقد ذلك ، يمكن لمحمصة BSD!

تعمل الشاشة بشكل أساسي على مؤقت الانتظار لمدة 10 دقائق والذي يتم ارتداؤه تلقائيًا في أي وقت تكون فيه الحركة مرة أخرى. لنفترض أنه تم تشغيله وهناك حركة مرة أخرى بعد 9 دقائق ، وهذا يعني أنه سيبقى لمدة 10 دقائق إضافية. التشغيل وإيقاف التشغيل ليس صحيًا لأي دائرة باستثناء SSR.

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

في التصميم الأصلي ، كان من الممكن أن يكون هناك تتابع آخر على اللوحة لتشغيل مكبر صوت 2.1 قبل أن يقوم Raspberry pi بتشغيل نغمة التنبيه في الصباح (كما أنه من السهل جدًا إضافة أغنية عند الانتهاء من تحميص الخبز) ولكن نظرًا لأن هذا هو سبب IoT يزعج؟ إنه يطلب فقط من raspi آخر على شبكتي أن يفعل ذلك من أجلي باستخدام محول RCS قياسي 433 ميجاهرتز.

كما هو معتاد ، كانت هناك بعض الأخطاء الصغيرة في الإصدار 0.4 من اللوحة ، ما يمكن رؤيته في الصور. على وجه التحديد ، تم ترك موصلين آخرين 5 فولت وموصل لترحيل الإدخال على Arduino pin 10.

لقد قمت بتصحيح هذه في الإصدار 0.5 وقمت أيضًا بعمل إصدار بخلاف Xbee.

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

الخطوة 6: Xbee Mod

Xbee موجود هنا فقط للتحكم في صانع القهوة مباشرة من خلاله لأنه قريب نسبيًا منه ولا توجد عقبات بين الاثنين.

لا علاقة له مطلقًا بالمحمصة أو رمز المحمصة.

حول Xbee mod: هذا اختياري تمامًا ، ولهذا السبب أقوم بتضمين المخططات الخاصة بهذه اللوحة مع Xbee وبدونه. يتم لحام Xbee مباشرة في منفذ UART لجهاز Raspberry PI's RX / TX (ttyAMA0) والذي على الرغم من أنه تم نقله إلى موصلات الشاشة ، إلا أن الشاشة لا تستخدمها (تستخدم واجهة SPI لتوصيل إحداثيات اللمس بين PI ونفسها).

لقد خصصت منفذًا تسلسليًا منفصلاً على PI لاتصال Xbee بدلاً من تمرير الرسائل عبر Raspberry -> Arduino -> محول 5v3v -> Xbee -> أجهزة أخرى. بهذه الطريقة ، ليست مشكلة أن عملية التحميص تمنع MCU بالكامل.

الخطوة 7: كود التحكم في المحمصة

الكود بسيط إلى حد ما ويرجع ذلك إلى حقيقة وجود اتصال أحادي الاتجاه بين Arduio -> Raspberry PI.

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

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

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

داخل rotary_read_temp () و rotary_read_time () سيتم تغيير المتغيرات global_temp و global_time. هذا هو المكان الوحيد في الكود حيث يمكن تغيير هذه القيم وسيقومون بتخزين قيمها بين أحداث نخب.

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

يتم أيضًا إطفاء مصابيح LED بشكل دوري كل 10 دقائق في حالة عدم وجود حدث دوار حديث.

سيؤدي اقتران هاتين الوظيفتين إلى ما يلي:

1 ، بافتراض حالة الخمول

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

3 ، إذا لم تبدأ عملية التحميص ولم يكن هناك المزيد من أحداث التعديل ، فسوف تنطفئ الأضواء مرة أخرى

لقد قمت أيضًا بنقلها على مؤقت تعليق منفصل من الشاشة لأن الكمبيوتر سيُستخدم كثيرًا لعرض بيانات الطقس ولكني لا أريد استعادة مصابيح LED الدوارة طوال الوقت لأنني لا أريد عمل مليون نخب يوم.

عملية التحميص الرئيسية (جانب اردوينو):

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

1 ، قم بتشغيل الملف اللولبي للضغط باستمرار على الرافعة

2 ، قم بتشغيل SSR للتسخين

3 ، اعتمادًا على الوقت الذي تبدأ فيه حلقة التحميص التي تعد تنازليًا. في كل حلقة أرسل البيانات التالية إلى الكمبيوتر:

-درجة الحرارة (قيمة النقطة العائمة في الأصل ولكن يتم إرسالها كسلاسل 2 CSV)

-تبقى الوقت (بالثواني ، سيتم تحويل هذا مرة أخرى إلى تنسيق mm: ss على الطرف الآخر)

4 ، في كل حلقة اعتمادًا على درجة الحرارة المحددة ، قم بتشغيل أو إيقاف تشغيل SSR للتحكم في عملية التحميص

5 ، في نهاية حلقة التحميص ، سيتم إرسال أمر IRONFORGE_OFF إلى الكمبيوتر

6 ، قم بإيقاف تشغيل SSR وإطلاق الملف اللولبي

7 ، العب لعبة LED للاستعراض (هنا يمكنك أيضًا إضافة موسيقى تشغيل أو أي إجراء آخر تريده)

8 ، المصابيح التعتيم

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

عملية التحميص الرئيسية (Raspberry PI Side):

يدير raspberry pi برنامج التحكم في الرأس C مع مستخدم غير متميز يكون مسؤولاً عن جميع التفاعلات على سطح المكتب.

قررت استخدام Conky لجميع عروض الرسم البياني لأنني أستخدمه منذ عقد من الزمان ويبدو أنه أسهل استخدامًا للوظيفة ، ومع ذلك فهو يحتوي على بعض النقاط:

- لا يمكن تغيير دقة الرسم البياني ، الرسم البياني دقيق للغاية ، حتى بعد وقت التحميص الأقصى (5 دقائق) يصل فقط إلى نصف الشريط

-Conky يحب الانهيار ، خاصة عندما تستمر في قتله وإعادة تحميله

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

يستخدم lua الخامل الأساسي اثنين من الأيقونات المنفصلة (1 لبيانات الطقس والآخر للساعة).

بمجرد أن يبدأ التحميص:

1 ، يشير Arduino إلى برنامج raspberry pi C من خلال المسلسل باستخدام IRONFORGE_ON

2 ، يقوم برنامج التحكم C بإيقاف خيوط 2 conky والأحمال في 3rd conky lua لتحميص الخبز

3 ، يكتب برنامج التحكم C قيم درجة الحرارة والوقت لفصل الملفات النصية الموجودة على ramdisk (وليس للقيام بعمليات RW غير الضرورية على بطاقة SDcard) ، ما تقرأه الأيقونات وتعرضها تلقائيًا. البرنامج مسؤول أيضًا عن إنشاء الوقت المتبقي لتنسيق MM: SS أيضًا.

4 ، في نهاية التحميص ، يوقف برنامج C خيط التحميص الحالي ويعيد تشغيل 2 conkies للعودة إلى الطقس وعرض الوقت مرة أخرى

5 ، للكشف عن التنبيه ، يمكن لبرنامج C أن يوقف مباشرة عملية تشغيل الموسيقى من cron عندما يتم دفع أي من الدوارات في حالة الخمول

الخطوة 8: كل ما تبذلونه من الخبز المحمص ملك لنا: NetBSD مقابل Raspbian

كل ما تبذلونه من الخبز المحمص ملك لنا: NetBSD مقابل Raspbian
كل ما تبذلونه من الخبز المحمص ملك لنا: NetBSD مقابل Raspbian

على الرغم من أن المحمصة قد تم تصنيعها لتشغيل NetBSD بشكل أساسي وشاشة العرض والصوت ، إلا أن Arduino تعمل جميعها معها ولا يوجد دعم لشاشة اللمس. سأكون ممتنًا لأي شخص مهتم بكتابة سائق لهذا الغرض.

شريحة اللمس من شاشة LCD هي XPT2046. تستخدم الشاشة SPI لإرسال إحداثيات إدخال المؤشر مرة أخرى إلى Raspberry.

www.raspberrypi.org/documentation/hardware…

  • 19 إدخال بيانات TP_SI SPI بلوحة اللمس
  • إخراج بيانات 21 TP_SO SPI من لوحة اللمس
  • 22 TP_IRQ Touch Panel ، مستوى منخفض بينما تكتشف TouchPanel اللمس
  • 23 ساعة TP_SCK SPI من لوحة اللمس
  • 26 تحديد شريحة TP_CS التي تعمل باللمس ، منخفضة النشاط

في وقت كتابة هذه السطور ، لم أكن على علم بأي شاشة تعمل باللمس (درع) متوافقة مع Raspberry PI والتي تحتوي على برنامج تشغيل NetBSD يعمل للوحة اللمس.

الخطوة 9: الإغلاق وقائمة المهام

الإغلاق وقائمة المهام
الإغلاق وقائمة المهام

كما هو الحال دائمًا ، نرحب بأي مساعدة أو مساهمة أو إصلاحات في الكود.

كان هذا اختراقًا تم الانتهاء منه مؤخرًا ، لذا سأقوم بتحديث المشروع بأجزاء الكود المفقودة لاحقًا (رمز التحكم Raspberry pi C ، Conky luas ، إلخ). كما أنني أخطط لإنشاء صور بطاقة sdcard سعة 8 جيجابايت / 16 جيجابايت قابلة لتغيير الحجم تلقائيًا والتي تحتوي على كل شيء. نظرًا لحقيقة أن Raspberry PI هو جهاز قياسي ، يمكن لأي شخص يقرر إنشاء المشروع تنزيل الصور وكتابتها على بطاقة sdcard وستعمل المحمصة بعد التمهيد تمامًا مثل لي. يلزم إعداد الشبكة فقط للوقت الصحيح (NTP) وعرض درجة الحرارة.

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

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

موصى به: