المؤقت - ابدأ

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

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

ثم على علي ، صادفت صمام الكرة العادي بمحرك. هنا مثل هذا الرجل الوسيم:



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

كانت الفكرة بسيطة. كان هناك منديل مع وحدة WiFi ESP8266 ينتظر في درج الطاولة. تقرر التخلي عن توفير الطاقة لصالح بطارية سيارة مستعملة ، والتي ، وفقًا للحسابات ، كان يجب أن تكون كافية لمدة شهر على الأقل من عمر البطارية. حتى لا تفوت لحظة تفريغ البطارية ، وفرت الدائرة مقسمًا يقوم من خلاله ESP8266 المدمج بقياس جهد الإمداد بشكل مستمر . كان يجب أن تعمل وحدة DS3231 مع البطارية كساعة في الدائرة ، ويجب أن يكون منديل لكل متر / ثانية MP1584EN قد خفض الجهد من 12V إلى 3.3V.

هنا رسم تخطيطي لنموذج أولي:


وهنا صورة عن تنفيذها


بالفعل تنفيذ مفكك قليلاً - دخلت وحدة DC-DC في الرافعة ، وحدة الساعة على ظهر اللوح

تم التحكم في محرك الرافعة هنا ببساطة - أي الترانزستورات التي تم العثور عليها في درج الطاولة ، تم تثبيتها. في الواقع ، يمكن التحكم في المحرك ، على سبيل المثال ، عبر m / s ULN2003 عن طريق تشغيل عدة قنوات بالتوازي إما مع الترانزستورات ذات التأثير الميداني مع التحكم المنطقي أو بشكل عام من خلال وحدة الترحيل مع العزل البصري. من الضروري فقط أن تأخذ في الاعتبار أن المحرك ، بتيار تشغيل يبلغ حوالي 70 مللي أمبير ، لديه تيار تدفق (وحالي في وقت منع الدوران) من 300-350 مللي أمبير.

سيتم كتابة رسم سريع في Arduino مع واجهة ويب بسيطة:



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

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



في هذا الصنبور الذي تم استخدامه في النموذج الأولي ، تحت الغطاء كانت لوحة دائرة صغيرة مع مرحل ، والتي قدمت منطق التحكم. وفي الصورة هناك رافعة بمؤشر CR05. لا يوجد منطق أو لوحة دائرة في هذه الصنابير. يتم سحب أسلاك التحكم في المحركات وأسلاك مفتاح الحد ببساطة. وتحتاج إلى التحكم في هذه الرافعات عن طريق تغيير قطبية الجهد على المحرك. في الوقت نفسه ، يُنصح بشدة بالتحكم في لحظات الإغلاق / الافتتاح عند نقاط نهاية TC ، ونتذكر أن التيار في هذه اللحظات هو بالفعل 300-350mA.

بدأ مخطط الكتلة يلوح على النحو التالي:



الآن نأخذ الفرجار ، ورقة في أيدينا ونبدأ في أخذ القياسات ، ونرسم الخطوط العريضة للوحة الدوائر المطبوعة ونحاول وضع المكونات عليها. تم التخلي عن بطارية CR2032 كبيرة وتم استخدام CR1220 صغيرة (أو 1225). لفترة طويلة جدًا ، تم اختيار شريحة H-Bridge للتحكم في المحرك. يبدو أن الاختيار كبير ، ولكن الكثير من هذه الدوائر المصغرة إما لا يمكنها العمل بجهد إمداد 12V ، أو أنها تستخدم ترانزستورات ثنائية القطب مع انخفاض جهد كبير جدًا ، أو أن الحالة غير ناجحة. لم تلتقط شريحة TB6612 في البداية عيني لفترة طويلة ، ثم بدت زائدة عن الحاجة وغير ملائمة للحام. ولكن في النهاية ركزت عليها - فهي ميسورة التكلفة وغير مكلفة على علي. تم بناء الجسر H على الترانزستورات ذات التأثير الميداني ويمكنه العمل بجهد يصل إلى 15 فولت. تم ترك وحدة تحويل DC-DC (MP1584EN) من قبل الوحدة - وتبين أنها ببساطة أرخص في التفاصيل وكان من السهل لحامها. الشيء الرئيسي ، من أجل الموثوقية ، هو استبدال مقاوم الضبط فيه بآخر ثابت (27 كيلو أوم - سيعطي جهد خرج 3.4V). يمكن استخدام الدائرة الدقيقة للساعة في حالة أكثر إحكاما ، ولكن كان هناك تحذير واحد - كنت سأطلب جميع المكونات لـ علي وكان هناك خطر من الحصول على دوائر وهمية أو مكسورة. لذلك ، في المرحلة الأولية ، تم التخطيط لشراء جميع الدوائر المصغرة كجزء من الوحدات النهائية واللحام إلى اللوحة المتطورة. وفي الوحدات ، كانت الساعة فقط في حالة SO16. في الواقع ، تبين أن دائرة ساعة واحدة صغيرة فقط معيبة أو مزيفة - كان تردد الكوارتز 32727 مع مجموعة 32768 كيلو هرتز.

بعد كل الأعمال التحضيرية ، نأخذ KiKad ، google قليلاً بحثًا عن المقاعد المفقودة ، ونرسم بعض المكونات بأنفسنا ونبدأ في تربية اللوحة:



نتحقق منها عن طريق الطباعة على مقياس 1: 1. نعلق أجزاء ووحدات ، وإذا كانت جميع المطابقات ، نقوم بإعداد ملفات Gerber للإنتاج وإرسالها إلى EasyEda. بعد 3 أسابيع ، نحصل على 10 منديل لطيف ونجمعها.


هناك 5 اليسار في الصورة ، والباقي كل العمل


تجميع الوحدة

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



فيما يلي زوجان من الرافعات في الخدمة القتالية في البلد:

في البريد


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

وهنا يبدأ تحويل نقرة Wi-Fi بسيطة إلى ما يطلق عليه SHAPEsp - اختصارًا لـ Esp 8266 القائم على منصة S mart H ome A utomation P latform. كما هو مخطط ، يجب أن يصبح هذا وحدة عالمية غير مكلفة لأتمتة المنزل. وكل هذا يجب أن يكون موثوقًا ويبدو كمنتج نهائي بعد التجميع في حالة ميسورة التكلفة.

والمثير للدهشة ، اتضح أنه في الحالة الصينية مع Aliexpress على 2DIN ، فإن الوحدة على ما يرام ، والجسم في الجسم ، ومحول HiLink AC / DC 220V / 12V الشهير (جيدًا ، أو استنساخه) ، والمرحل وموصل الطاقة ، وبالطبع الوحدة النمطية التي تم تحويلها قليلاً مع ESP8266 وساعة وجسر H.

افعلها مرة واحدة


قم بعمل اثنين


قم بثلاثة

يمكن تثبيت الوحدة في جسم الرافعة وفي غلاف رف DIN

ونحصل على:



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



جمعت نموذجين أوليين من هذا القبيل ووضعتهما في الكوخ للتحكم في تضمين المسخنات الحرارية لوصول الشتاء:

في منشور آخر

إحدى الوحدات في اللوحة ، بجانب زوج من الموصلات التي تحتوي على مسخنات

ولكن بعد ذلك قرر تحسينه وجعله أكثر عالمية. للحصول على برنامج ثابت أكثر موثوقية وملاءمة ، وضعت نظام البرامج الثابتة من NodeMcu على الوحدة النمطية. استنتج جميع الدبابيس الممكنة وأضاف منصات اتصال لربط أجهزة الاستشعار المختلفة. يتم وضع جميع دبابيس الحواف بزيادات 2.54 مم ، بحيث يمكن إدخال الوحدة في لوحة توصيل اللوحة. بطبيعة الحال ، اختبرت اتصال مقياس الحرارة ds1820 ، ومستشعر BME280 المدمج ومستشعر الرطوبة في المقارنة. اتضح أنه ، بالإضافة إلى جهاز توقيت بسيط مع مرحل أو رافعة ، يمكنك بسهولة بناء محطة أرصاد جوية أو على سبيل المثال نظام aquastop. حسنًا ، جميع أنواع أنظمة الإخطار والتحكم الأخرى ...

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



يوجد رابط لنموذج GitHub في أسفل المقالة.

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

لذلك ، تقرر معرفة ما هي البرامج الثابتة الجاهزة التي يمكنك من خلالها إضافة دعم للوحدة النمطية الخاصة بك. كنقطة انطلاق ، تم أخذ برامج ثابتة بديلة لمنتجات Sonoff: Sonoff-Tasmota ، ESPurna ، ESPEasy. يمكن أن يجد البحث مراجعات مقارنة لهذه البرامج الثابتة.

على سبيل المثال:

https://lobradov.imtqy.com/FOSS-Firmware-comparison-overview/

https://lobradov.imtqy.com/FOSS-Firmware-comparison-developers/

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

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

لقد بدأت بدعم الساعة. في البرامج الثابتة ESPurna ، عمل كل شيء من خلال NTP ومكتبة الوقت لـ Arduino - حسنًا ، من الناحية التاريخية ، تحتاج إلى معرفة الوقت ، ولكن منتجات Sonoff لا تحتوي على ساعة مستقلة ويفترض أن لديهم دائمًا الوصول إلى الإنترنت. لدعم ساعة RTC ، كتبت وحدة بسيطة ، إذا رغبت في ذلك ، استبدلت وظيفة مزود الوقت من NTP النقي إلى NTP + RTC. كان المبدأ بسيطًا - إذا كانت مزامنة NTP غير متوفرة ، فإننا نحاول قراءة الوقت من ساعة RTC المحلية. عندما يظهر الوصول إلى خوادم NTP ، فإننا نستعيد التزامن ونقوم بمزامنة الساعة المحلية إذا رغبت في ذلك. لذا بدأت الساعة في وحدتي في العمل. تم قبول طلب السحب بسرعة كبيرة ، ولكنه ذهب إلى فرع منفصل من espurna-rtc.

التالي كان طلب سحب تافه. نظرًا لأنني أقيس جهد الإمداد إلى محول DC-DC لتتبع تفريغ البطارية ، فقد كنت بحاجة إلى مراقبة ليس جهد الإمداد لوحدة ESP8266 ، ولكن بعض الجهد المحدد من قبل المستخدم. التي صممتها كطلب سحب "إضافة دعم لرصد VCC مخصص". لكن هذا الطلب معلق بطريقة ما في الهواء ... وتراجعت الرغبة في المساهمة بطريقة أو بأخرى.

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

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

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

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

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

قائمة الروابط:

  1. نموذج Fritzing وكيف ألتقي أعتقد أنه سيكون هناك تخطيط للدائرة والوحدة النمطية في Kikad
  2. اختبار البرامج الثابتة بسيط للوحدة النمطية
  3. شوكة ESPurna الثابتة مع دعم الوحدة النمطية
  4. مستودع ESPurna البرامج الثابتة الرئيسي

Source: https://habr.com/ru/post/ar422435/


All Articles