תוכן עניינים:

צג שטח זחילה (aka: אין יותר צינורות קפואים !!): 12 שלבים (עם תמונות)
צג שטח זחילה (aka: אין יותר צינורות קפואים !!): 12 שלבים (עם תמונות)

וִידֵאוֹ: צג שטח זחילה (aka: אין יותר צינורות קפואים !!): 12 שלבים (עם תמונות)

וִידֵאוֹ: צג שטח זחילה (aka: אין יותר צינורות קפואים !!): 12 שלבים (עם תמונות)
וִידֵאוֹ: Part 2 - The Thirty-Nine Steps Audiobook by John Buchan (Chs 6-10) 2024, נוֹבֶמבֶּר
Anonim
צג שטח זחילה (aka: אין עוד צינורות קפואים !!)
צג שטח זחילה (aka: אין עוד צינורות קפואים !!)

מים לביתי מגיעים מבאר שלי דרך חלל זחילה ללא חימום. כל צנרת המטבח וחדר האמבטיה עוברת גם בחלל הזה. (אינסטלציה פנימית הייתה מחשבה לאחור באמצע שנות ה -70 על הבית הזה!) השתמשתי במנורות חום על תקעים תרמוסטטיים "טנק מלאי" כדי לשמור על טמפרטורה מעל ההקפאה. היו כמה בעיות משמעותיות בהסדר זה: 1 - אין נראות. האינדיקציה הראשונה לנורות שנשרפו היא צינורות קפואים! 2 - לפעמים התקעים לא היו נכבים. זה גרם להפתעות מגעילות לבוא חשבון החשמל.3 - אין פירוט. שמרתי 3 נורות "מקוונות" (סה"כ 750 וואט) וזה היה פתרון של הכל או כלום. (2 נורות לא תמיד יסתדרו בזה.) לאחר שהכירתי את ארדואינו וראיתי כמה דברים שאנשים אחרים עושים איתו, החלטתי שאעשה לו מערבולת. אני מודה מיד מתוך המצנח שסגרתי ושפרתי קוד לדוגמא מפרויקטים של אנשים אחרים כדי לגרום לזה לעבוד, אם כי בסופו של דבר כתבתי מחדש את הכל. בתחילה בניתי את "תחנת מזג האוויר WiFi" שמצאתי עליה Adafruit.com ושינתה אותו. במקום לעדכן אתר אינטרנט, השתמשתי בשירותי האינטרנט של אמזון כדי לשלוח לי עדכוני סטטוס SMS. הוספתי גם את השליטה בכמה ממסרי 110V (https://www.adafruit.com/products/268). לאחר מכן הפכתי ל"חכם "והחלטתי" להחמיר "אותו - ובכן - משהו קיצר משהו וקיבלתי נפיחות מהעשן הכחול הקסום. הכל מטוגן … ללא התפרצות WiFi נוספת של CC3000, עשיתי דברים אחרת הפעם. בניתי את זה כדי להיות במעקב אינטראקטיבי באמצעות ממשק סידורי ולאחר מכן הוספתי ממשק EZ-Link Bluetooth FTDI. (לא עוד לגרור את המחשב הנייד מתחת לבית לעדכוני תוכנה !!!) בניתי גם ממשק פייתון שמתחבר ליחידה באמצעות הבלוטות ', מבקש לבדוק אותו באופן קבוע ומציג מידע על המצב ב- Mac שלי. (יש גם "ממשק אנושי" שניתן לגשת אליו באמצעות כל תוכנת אמולציה מסוף). כתוצאה מהכתיבה מחדש והסרה של כל קוד ה- WiFi ו- RTC, הפרויקט התכווץ מגודלו של מעל 29K לקושי 10K. הוא גם שיפר את האמינות במידה שכלב השמירה על החומרה לא הפעיל כלל בשבועות האחרונים שהוא פועל ואני השתפרתי.

17/2/16 עדכון/הערה: בניסיון לקבל עיצוב נכון על חלק מהקוד (במיוחד הכנסת קוד Python), הדברים עברו ממכוערים ללא שימושיים. אני בטוח שהנושא נמצא בקצה שלי איפשהו, ואשתדל להבין אותו. עד אז, הוספתי קישורים לקובצי הקוד באמצעות DropBox. הם צריכים להיות נגישים לכל אחד. אם לא, אנא יידע אותי על מנת שאוכל להביא לך אותך בדרך אחרת!

שלב 1: בעיות לפתרון

המערכת הייתה צריכה לעשות בשבילי את הדברים הבאים: 1 - לפקח על הטמפרטורה בחלל הזחילה.2 - להדליק מנורות חום לפי הצורך כדי לשמור על הטמפרטורה מעל ההקפאה.3 - כאשר היא לא פועלת, בדוק מדי פעם את הנורות ותן לי נראות. של המצב שלהם.4 - תן לי נראות של הטמפרטורה ומצב המערכת, כולל: - האם המערכת פועלת? - מה הטמפרטורה עכשיו? - מה הטמפרטורה הכי קרה שיש? - כמה נורות רצו? - כמה נורות בודקות טוב? - מהו הזמן הכולל שלי ב"דקות אור "(המכונה" זמן צריבה ")? 5 - עשה את כל האמור לעיל מבלי שאצטרך לזחול מתחת לבית !!! החלטתי שהדרך הקלה ביותר לבדיקת פעולת נורה היא באמצעות חיישן אור. עוד כמה נושאים שרציתי להתייחס אליהם היה זמן המחזור באורות. איטי מדי, ואני שורף חשמל מיותר. מהר מדי, ואני מסתכן בשריפתם מכל ההדלקות והכיבוי עם החימום והקירור הקשורים.

שלב 2: החומרה

החומרה
החומרה

2 מנורות חום של 250 וואט 1 מנורת עבודה של 500 וואט (אחת ממנורות החום שלי נעלמה, כך שמדובר במעמד) Arduino UnoDHT22 חיישן טמפרטורה/Humitidy חיישן אור GA1A12S202 PowerSwitch ממסרים 110V בלוז פרי EZ-Link ממשק סידורי ומתכנת מארז היי-טק (אמבט בגומי סנדוויץ ')) בלוטת כבלים לוח לחם בגודל 1/2 בגודל צלחת אקריליק ללוח לחם וארדואינו חוטי מגשר מגוונים. קולמן 5 רצועות "סדנה" השתמשתי גם בתכשיר Adafruit ככלב שמירה על חומרה, אך הוכח שאין צורך (ג'ינקס, כמובן!) ואני כתב על זה הוראה נפרדת כך שאני לא אחזור על זה כאן. הזנב של קולמן היה ממצא נחמד, מכיוון שהוא נתן לי 4 שקעים למנורות החום שלי פלוס מוצא לאספקת החשמל של ארדואינו ללא כל מפצלים או רצועות חשמל נוספות. מדורג ב -15 אמפר מלא עם מתג ומפסק פנימי, הוא יכול להתמודד עם כל מה שיכולתי למשוך דרך שקע יחיד.

שלב 3: הגישה

בזמן שהמערכת בנויה באפליקציה לשבת ולחכות ולעשות כמה דברים לאט יחסית, מה שלא רציתי לעשות זה לבנות מערכת שבה הבקר ישב בעיכובים () שלא הגיבו. רציתי גם להיות מסוגל לשנות את פרמטרי התצורה כמה שיותר קרוב לתנועה-בטח לא באופן שדורש כתיבת קוד מחדש או ביצוע פעולות חיפוש והחלפה המוניות על המקור. מצא את המאמרים המצוינים ביותר של ביל ארל בנושא "ריבוי משימות לארדואינו" (התחל כאן: https://learn.adafruit.com/multi-tasking-the-arduino-part-1) והתעסק. על ידי יצירת שיעורי "טיימר" ו"מחמם "הצלחתי לבצע את כל פונקציות התזמון שרציתי מבלי להשתמש בעיכוב () (עם כמה יוצאים מן הכלל בלבד) ולהגדיר את הנורות (" תנורים ") עם שורת קוד אחת לכל אחת אחד.

שלב 4: חיבור זה

חיבור זה
חיבור זה
חיבור זה
חיבור זה

תרשים ה- Fritzing אינו כולל את Bluefruit EZ-LinkArduino 5V & הקרקע לאוטובוס לוח הלוח DHT22 סיכה 1 עד 5V אוטובוס DHT22 סיכה 2 לסיכה Arduino 7DHT22 סיכה 4 לאוטובוס הקרקע 10K הנגן בין סיכות DHT22 ו- 2GA1A12S202 סיכת VCC ל- 5V busGA1A12S202 סיכת GND לקרקע busGA1A12S202 pin out to Arduino A0 Pin Ardino 3V to Arduino AREF pinRelay Ground leads to ground Bus Relay 1 lead to Arduino A1Relay 2 lead to Arduino A2Relay 3 lead to Arduino A3Relay 4 lead lead to Arduino A4. היחיד שהוא קריטי הוא מוביל OUT על חיישן האור שצריך לעבור לסיכה אנלוגית. סיכה זו תעבוד עם הקוד שלי כפי שהוא כתוב. אם אתה משתמש בכלב שמירה על חומרה, תראה שהקוד שלי מוציא את פעימות הלב על סיכה 2 של Arduino.

שלב 5: קוד הארדואינו, סקיצה ראשית

CrawlSpace_monitor.ino

שלב 6: הערות על הקוד

שורות הקוד הבאות יוצרות את מופעי החימום ומגדירות את פרמטרי ההפעלה: // Heater (relayPin, onTemp (f), offTemp (f), minMinutes, testInterval (minutes), luxDelta) דוד חימום 1 = חימום (A1, 38, 43, 20, 1440, 5); דוד חימום 2 = דוד (A2, 36, 41, 20, 1440, 5); דוד חימום 3 = דוד (A3, 34, 39, 20, 1440, 5); דוד דוד 4 = דוד (A4, 32, 37, 20, 1440, 5); (וכן, הגדרתי את כל 4 המחממים למרות שאני מפעיל רק 3 כרגע. עדיין הייתי צריך להשיג ממסר נוסף, אבל אז הוספת החימום הרביעי הייתה להיות פשוט כמו לחבר אותו לחשמל). אחד הדברים שמצאתי כשהתחלתי לחבר את זה ביחד היה שאני צריך לתת טווח על הטמפרטורה כמו גם להגדיר "זמן צריבה" מינימלי, או שהייתי רוכב את האורות וכיבוי מטורף. כאן אני נותן לכל אחד מהם ממרח של 5 מעלות וכן זמן צריבה מינימלי של 20 דקות. הגדרתי את מרווח הבדיקה ל -24 שעות והגדרתי 5 לוקס כקריאת האור המינימלית שאני צריך כדי לקבוע שהנורה עדיין עובדת. כמעט כל מה שצריך להגדיר נמצא כאן בארבע שורות הקוד האלה.

שלב 7: קוד הארדואינו, שיעורים

יצרתי 3 שיעורים לפרויקט זה. הם היו "טיימר", "מחמם" ו"מצבר ". עם קצת יותר מחשבה אני אמור להיות מסוגל לקפל את המצבר לטיימר, אבל עדיין לא. הנה הם במלואם: heater.h

טיימר.ה

מצבר.ה

שלב 8: ניטור המערכת

ניטור המערכת
ניטור המערכת

יצרתי ממשק יחיד לשני צגים נפרדים. זוהי הפעלה אינטראקטיבית על גבי המסוף הטורי. במקרה שלי אני משתמש ב- Bluefruit EZ-Link כדי שאוכל לגשת למערכת מבלי לזחול מתחת לבית או לנסות לחבר כבל USB בין קורות הרצפה! יתרון נוסף של EZ-Link הוא שאני יכול להעלות קוד תוכנה חדש ל- Arduino גם באמצעות ה- Bluetooth. ניתן לגשת לממשק ה"אנושי "(בלוטות 'או כבל פיזי) עם כל תוכנת אמולציה של מסוף, כולל הסידורי של Arduino IDE לפקח. כאשר אתה מתחבר בתחילה, אין תגובה, אך הקשה על "u" (עבור "עדכון") ו- "t" (עבור "בדיקה") תקבל את הפלט המוצג בצילום המסך. "m" ("צג") ו- "s" ("בדיקת sys") משיגים לך את אותם הנתונים אך בפורמט הרבה פחות קריא. תוכניות אלה נועדו "לגרד" על ידי תוכנית אחרת להצגה אוטומטית. הכנתי תסריט של פייתון שעושה בדיוק את זה. כל מפתח אחר זוכה להודעת השגיאה המוצגת. תראה ערך עבור "זמן צריבה" - תחשוב על זה כמו "דקות נורה" - נורה אחת למשך 10 דקות = 10 דקות, 3 נורות במשך 10 דקות = 30 דקות.

שלב 9: סקריפט Python

סקריפט Python
סקריפט Python

crawlspace_gui.py

שלב 10: עדיין יש לעשות …

זה אולי לא יפה או מושלם, אבל זה יעיל ומוכיח את עצמו כאמין. וגם, עדיין לא היו לי בעיות צינור קפואות בחורף הזה !!! יש לי רשימת להיטים של דברים לעשות. כמובן שעכשיו שזה עובד, אני יכול או אולי לא אצליח להשיג את רוב הפריטים הבאים: הפעל את Bluetooth על אחד מ- Raspberry Pi שלי כדי שאוכל ליצור צג ייעודי. למד עוד פייתון - ואז נקה את ה- Python מִמְשָׁק. ההפרדה בין האלמנטים אינה בכוונה ואני לא מבין מדוע היא קיימת. הוסף ממשק למשהו כמו שירות ה- IO של Adafruit כדי שאוכל לעקוב אחריו מכל מקום. הוסף התראה על הודעות טקסט. עבור לבקר קטן יותר (אולי מטרו מיני או טרינקט פרו?), ממסרים פחות יקרים ואריזה טובה יותר. הורד אותו מלוח הלחם ועל גבי לוח "פרמה פרוטו". פרמטרי תצורה ב- EEPROM. ממשק יותר מפורסם שיצביע על -אילו -נורות טובות, ו אולי אפילו לשרוף זמן לנורות הבודדות. ככל שאני מסיים אותן אני אחזור ואעדכן את המדריך הזה.

שלב 11: עדכון 3/16, Build "קבוע"

עדכון 3/16,
עדכון 3/16,
עדכון 3/16,
עדכון 3/16,
עדכון 3/16,
עדכון 3/16,

לאחר הפסקה טובה במזג האוויר הקר, אחזרתי את היחידה והעברתי אותה לבקר קטן יותר (התכוונתי להשתמש ב- Trinket Pro, אבל יש לי מטרו מיני של Adafruit יושב בלי שום פרויקט אחר), הלחמתי אותו לוח פרמה-פרוטו, ושמו את הכל במקרה טוב יותר. בהתבסס על מידת האמינות שלו, לא החזרתי אליו את כלב השמירה על החומרה. אני עדיין משתמש רק ב -3 מנורות/ממסרים שבהם המערכת תטפל 4. מודול ה- Bluetooth נמצא בכותרת מולחמת, כך שאפשר להסיר אותו אם אני צריך אותו במקום אחר. לא היו צורך בשינויי קוד כדי לעבור לבקר החדש - ריכוז מחדש וטעינה פשוטים גרמו לי לפעול תוך דקות ספורות. (למטרו מיני יש pinout זהה לזה של Arduino Uno והוא גם מעבד ATMega328.)

שלב 12: עדכון 12/1/2018 - ברוכים הבאים ל- IoT

המערכת עבדה עבורנו ללא רבב. לאחר שני חורפים די קשים, ללא צינורות קפואים. למעשה, המערכת הצליחה לתחזק את הצינורות מבלי לשרוף יותר מ -2 נורות. החזקת הנורה השלישית באינטרנט הייתה ביטוח נחמד, אך מעולם לא נזקקנו לה עד היום.

כאשר נכנסו לשנה 3 של המערכת, מודול ה- Bluetooth נכשל. בנינו גם בית חדש, כך שמערכת הניטור נמצאת מחוץ לטווח ה- Bluetooth. (הבית הישן נשאר ער זמן מה, אך לא לנצח.) בינתיים עשיתי הרבה עם מעבד ה- ESP8266 WiFi; הן בפורמט Adafruit Feather והן בפורמט קוד פתוח "NodeMCU". בדרך כלל ניתן למצוא את NodeMCU באמזון בסביבות 5 $ - הרבה פחות אם אתה קונה בכמויות גדולות ו/או ממישהו כמו AliExpress.

גרסה חדשה זו שומרת על הממשק הטורי, כך שעדיין ניתן להשתמש בה עם מודול Bluetooth או חיבור סידורי USB ישיר ותסריט הפייתון הקודם, אולם לגרסה החדשה יש ממשק דף אינטרנט. כפי שנכתב, הוא כולל את התכונה הבאה:

מנהל רשת WiFi לחיסול אישורי WiFi קשיחים.

היכולת לעדכן את הקושחה באוויר באמצעות Arduino IDE (כל עוד אתה באותה רשת WiFi-שים לב שאחרי העלאת USB למכשיר, יש צורך באיפוס לפני עדכוני OTA יפעלו). אנא שנה את סיסמת OTA בשורה 6 כך שתהיה ייחודית עבורך !!

דף אינטרנט המציג את אותם הנתונים שעושה סקריפט הפיתון, עם רענון אוטומטי בכל דקה. לא שמתי שום אבטחה על הדף, כי הוא לתצוגה בלבד.

תוכל למצוא את הקוד החדש כאן. שים לב ששמות הסיכות משתנים בעת מעבר ל- NodeMCU.

מוּמלָץ: