תחנת מזג אויר יציבה – עדכון.

החלטתי לכתוב עדכון קצר כדי להתפנות לדברים אחרים, במשך השבוע שנתקלתי בבעיות רציניות בתחנת מזג האויר, הבקר כל הזמן קרס, עם שגיאה של fatal exception.
חיפשתי וחיפשתי וכל דבר שמצאתי היה קשור או לבעיות מתח או לבעיות קושחה.
בעיות מתח? יכול להיות! הוספתי קבל על היציאה של המתח המיוצב כדי להבטיח הגנה מפני קפיצות רציניות, בהתחלה שמתי קבל 4.7uF, שזה יותר ממה שמבקשים בדף נתונים של המייצב, אחרי שזה לא עזר, נדלקה לי הנורה של האוברקיל, שמתי קבל 100uF, אבל עדיין קיבלתי קריסות ראנדומלייות.
עשיתי stress test למערכת מבחינת טמפרטורה ומתח, וקיבלתי תוצאות מעניינות:
חיממתי הכל טוב טוב עד לטמפרטורה של 56 מעלות למשך כרבע שעה ושיניתי זמן עידכון לפעם ב2 שניות, ובמשך רבע שעה – כלום! יציב כמו שור.
בשלב מסויים בטמפרטורה כזאת הסוללה הסינית המזוייפת התחילה להתרוקן מהר, המתח נפל, וגם עדכון פעם ב 2 שניות תרם להתרוקנות שלה, והתוצאה המפתיעה היא שהבקר הצליח להתחבר לראוטר ולשרת ולעדכן במתח סוללה 2.47V, עם עוד dropout voltage של 0.5V של המייצב, זה אומר שהבקר הצליח לעבוד במתח קצת פחות מ 2V, מרשים =O

אז מתח זאת לא הבעיה, וגם לא זרם, וגם לא טמפרטורה.

cap

אז זה חייב להיות משהו בקושחה, נכנסתי לgithub של הesp8266 Arduino IDE, ראיתי שיש שינויים שוטפים בקוד ועדכונים שלא מתקבלים דרך הBoards Manager הפשוט, אז הורדתי גרסא ידנית ואיחדתי אותה עם גרסא 1.6.4 standalone של Arduino IDE.

צרבתי את הקוד לבקר מחדש, ומפתיע, כבר 48 שעות שהבקר לא נתקע או קרס, טפו טפו טפו..
הוא עובד כל כך טוב! שאפילו משחרר בטעות 2-3 עידכונים בפעם 😛 .. גם את זה אצתרך לסדר.

תהליך ידני (כי הקוראים ביקשו):
1. להוריד Windows ZIP file for non admin install מהאתר Arduino.cc
2. להוריד את הקבצים המעודכנים של esp8266 מGitHub, בלחיצה על Download ZIP בצד ימין.
3. לחלץ את הקבצים של הIDE לתקייה מסויימת.
4. לחלץ את הקבצים של הesp8266 לתוך אותה תקייה.
5. להפעיל arduino.exe ולבדוק שיש esp8266 ברשימה של הלוחות.
6. סיימנו. Profit!

הטעינה הסולארית עובדת!

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

הקופסא לא טובה.

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

graphs

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

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

תחנת מזג האויר עוברת שדרוג – Work in progress.

מה עכשיו? ובכן צ'יינג' לוג קצר:

  1. הבקר הוחלף ל esp8266-201 עם מוד למייצב 3.3V onboard (שאכתוב עליו עוד מעט).
  2. הוחלף החיישן DHT11 התקול לאחד חדש, טרם שודרג לDHT22.
  3. טעינה סולארית!!
  4. ההתקן עבר לגור לביתו החדש.

אז נתחיל משדרוג הבקר, עברתי ל esp8266-201 כי הוא יותר נוח, יותר לבן, יותר מגניב ויותר יורה לייזרים מהעיניים, וברצינות הוא נוח, ועשיתי לו מוד קטן והחלמתי על הלוח מייצב MIC5219 3.3v, מייצב פצפון באריזת sot-223-5 ויש לו ultra low quiescent current, כלומר הוא עצמו צורך מעט מאוד זרם, מה שתורם לשינה מאוד חסכונית באנרגיה של כל ההתקן, כמה חסכונית? 74 מיקרו-אמפר בלבד כאשר מקור המתח הוא סוללת ליטיום יון 3.7V. (בבדיקה הקודמת קיבלתי 18.8 מיקרו-אמפר וזה נראה לי נמוך מידי ולא תקין, 74 כבר יותר דומה למציאות).

על הDHT11 אין יותר מידי מה לפרט, הוא היה דפוק, כל קריאה קפצה, אז החלפתי, בעתיד הוא ישודרג לDHT22, כי הוא יותר מדוייק, וטווח הלחות שהוא מסוגל למדוד הוא מלא, יחסית ל20%-80% של הDHT11.

טעינה סולארית

זה החלק המעניין, הוספתי לו פאנל סולארי, שנתוניו הם 5V ו0.2W, בטח תגידו, מה זה? זה כלום! זה לא מספיק! ובכן, זה גם מה שאני חושב, אבל עשיתי כל מיני חישובים:
במצב ער כל המעגל צורך בממוצע 80mA עם קפיצות.
הוא ער כל פעם 8 שניות ומתעורר כל רבע שעה אז זה 0.00888889 של שעה.
במצב ישן בשעשועון "הצריכה הרנדומלית בכל פעם שאני מקרב מלחם לדבר הזה" כרגע הבקר צורך 0.141mA וזה קורה בזמן של 0.99111111 של שעה.
אז בממוצע מקבלים צריכה של 0.85mA.
במתח 3.3v נקבל הספק של 0.002805W.
הפאנל הסולארי בעל הספק מקסימלי של 0.2W, אז זה פי 71.3 יותר מהספק ההתקן.
כאשר מומלץ פי 5 מהספק המערכת.

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

אגב למי שעוקב, הסוללה הספיקה לשבוע, היא מתה היום, בגלל זה כל השדרוג, אז? 150mAh אולי.. גם את זה נבדוק בפעם אחרת.

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

בית חדש אבל זמני.

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

יחד עם זאת זה לא מושלם:
– הוא לא באמת מגן על האלקטרוניקה מפני גשם חזק (אולי רק טיפטוף) אז נקרא לזה בית קיץ 😀
– אני לא בטוח מה יהיו ההשלכות של הפוליקרבונט לגבי אילו קרניים הוא חוסם שיפריעו לפאנל הסולארי לנצל 100% ממה שהוא אמור לקבל.
– האוורור – לא בטוח לגביו…

והרי התוצאות:

enclosurebuild result

מקווה שנהנתם וקיבלתם רעיונות 🙂

 

עשה זאת בעצמך: חיישן לחות אדמה קיבולי.

הבעיה:

regsensorsזאת הבעיה! כמו שאתם רואים על מזלגי הלחות שלי מאיביי שחיו כ4 חודשים בתוך אדמת עציץ, יש קורוזיה, מתכות ומים לא באמת אוהבים אחד את השני, וזאת התוצאה.
הם עדיין פעילים – חוץ מהתחתון שהצפתי את העציץ והסוללה לא אהבה את את זה בכלל, אבל מכיין שפני השטח של המוליך השתנו גם ההתנגדות שלו השתנתה וכך גם הקריאות שאני מקבל השתנו, וכדי להבטיח דיוק אני נאלץ לעשות כיול פעם בכמה זמן (מזל ששמתי כפתור כיול 🙂 ).

הפיתרון:

חיישן לחות אדמה קיבולי.
זה לא משהו חדש, זה קיים, ויש אפילו חברות שמוכרות את זה, בדרך כלל זה קווים על פני PCB שמרכיבים 2 לוחות – 2 קטבים של קבל, מה זה שונה מקבל רגיל? בקבל רגיל יש 2 לוחות שממש מקבילים אחד לשני עם מבודד ביניהים, ששומר שלא יגעו אחד בשני כדי ליצור קיבול, מגולגלים ומוכנסים לתוך מעטפת צילינדרית וכך הלאה … חפשו קבל בויקיפדיה.

בחיישן שלנו הלוחות לא מקבילים אחד מעל השני אלא אחד לצד השני והמבודד הוא לא רק הSolder Mask שעל הPCB אלא גם הסביבה שלו – ובמקרה שלנו המבודד הולך להיות מים (מוזר הא?)
המים לא באמת מבודדים בין הלוחות, אין להם מגע עם הלוחות בכלל.
אבל מים בתור מבודד יכולים להגדיל את הקיבול עד פי 100 מאשר בחומר אחר. 

מתוך An Open Access Biomedical Image Search Engine

נתקלתי חיישן מסוג כזה לראשונה לא מזמן באחת הקבוצות בפייסבוק עם הקישור פוסט בבלוג Zero Characters Left, בו המחבר יוצר חיישן כזה בעזרת יצירת PCB שכזה.
origואז אמרתי לעצמי, זה כולה 2 מוליכים מקבילים בתוך מבודד בוא נבנה כזה לבד.

כמה קשה זה יכול להיות

החומרים:

  • סרט קפטון – אפשר גם סלוטייפ אבל קפטון הוא יותר עמיד ונוח לעבוד איתו
  • תבנית אלומיניום חד פעמית לאפיה – חומר עבה וקל לעבוד איתו
  • מספריים
  • דבק חם
  • חוטי חשמל

materials

 

עם קצת מאמצים, ניסיונות שונים עם שטחים ואורכים שונים זאת התוצאה:
detailשני פסי אלומיניום מקבילים ( לא נוגעים אחד בשני) עם רווח כמה שיותר קטן ביניהים, בתוך מעטפת סרט קפטון משני הצדדים, 2 גידים מחוברים מחוברים לכל קוטב ומאובטחים ע"י דבק חם כדי שלא תחדור לחות לתוך החיישן ותקצר בין שני הפסים.

מה עושים עם זה?

כל זה מגניב, בניתי קבל, אבל מה עושים איתו?
זה קבל! צריך למדוד את הקיבוליות שלו! ניקח ארדואינו לעזרתינו, ונבנה מעגל טעינה ופריקה של הקבל, נתזמן את העניין ונדע מה הקיבול של הקבל בכל רגע נתון.
בשביל זה טעינה ופריקה של קבל זה חומר של כיתה י' בשיעור פיזיקה, צריך נגד לטעינה.
את המעגל שהשתמשתי בו ניתן לראות כאן: http://www.arduino.cc/en/Tutorial/CapacitanceMeter
בשביל העבודה, שמתי קבל טעינה של 4.7 מגה אוהם, הקיבול של הקבל יהיה קטן ולכן כדי למדוד את זמן הטעינה אני צריך שהוא יהיה ארוך, לפריקה השתמשתי בנגד 220 כמו שמופעי באתר.

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

הקוד:

בדיקות:

2

מהבדיקות שנערכו קיבלתי את התוצאות הבאות:
זמן טעינה כאשר החיישן יבש: 600 מיקרו-שניות
זמן טעינה כאשר החיישן מושרה במים: 4000 מיקרו-שניות

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

מה שנשאר לעשות הוא לנסות את זה בתוך אדמה אמיתית… המשך יבוא.