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

תרמוסטט חדר - Arduino + Ethernet: 3 שלבים
תרמוסטט חדר - Arduino + Ethernet: 3 שלבים

וִידֵאוֹ: תרמוסטט חדר - Arduino + Ethernet: 3 שלבים

וִידֵאוֹ: תרמוסטט חדר - Arduino + Ethernet: 3 שלבים
וִידֵאוֹ: Kablosuz Oda Termostat Yapımı 2024, נוֹבֶמבֶּר
Anonim
תרמוסטט חדר - Arduino + Ethernet
תרמוסטט חדר - Arduino + Ethernet

מבחינת חומרה, הפרויקט משתמש ב:

  • Arduino Uno / Mega 2560
  • מגן אתרנט Wiznet W5100 / מודול אתרנט Wiznet W5200-W5500
  • חיישן טמפרטורה DS18B20 באוטובוס OneWire
  • ממסר SRD-5VDC-SL-C המשמש להחלפת דודים

שלב 1: תיאור תרמוסטט אתרנט

תיאור תרמוסטט אתרנט
תיאור תרמוסטט אתרנט

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

הממסר האלקטרומגנטי SRD-5VDC-SL-C, המשמש בפרויקט, מאפשר החלפה של עד 10A ב 230V-הספק 2300W. במקרה של החלפת מעגל DC (עומס) אפשר לעבור 300W (10A ב 30V DC). לחלופין, ממסר ה- SSR OMRON G3MB-202P תואם באופן מלא לתרשים החיווט, המתאים רק לעומסים לא אינדוקטיביים ובלעדי למעגלי AC. הספק מיתוג מרבי 460W (230V, 2A). צריכת Arduino עם מגן אתרנט וציוד היקפי אחר היא ברמה של 100-120mA כשהממסר פתוח. כאשר הוא סגור, מתחת ל 200mA באספקת 5V.

שלב 2: ממשק אינטרנט

ממשק אינטרנט
ממשק אינטרנט

ממשק האינטרנט של התרמוסטט מאפשר:

  • צפה בטמפרטורה בזמן אמת מחיישן DS18B20
  • צפה בסטטוס ממסר בזמן אמת עם שינוי פלט דינאמי בעמוד
  • שנה את טמפרטורת היעד (הפניה) בטווח של 5 עד 50 מעלות צלזיוס עם שלב 0.25 מעלות צלזיוס
  • שנה את ההיסטריה בטווח 0 עד 10 מעלות צלזיוס עם שלב 0.25 מעלות צלזיוס

ממשק האינטרנט נועד להכיל מסכים גדולים וקטנים יותר. הוא רספונסיבי, תומך במסכי בחדות גבוהה במסך רחב, אך גם במכשירים ניידים. הממשק משתמש בסגנונות CSS מיובאים של מסגרת Bootstrap משרת CDN חיצוני, אשר טוען את המכשיר בצד הלקוח בעת פתיחת דף הפועל ב- Arduino. מכיוון שה- Arduino Uno מוגבל בזיכרון, הוא יכול להריץ דפים בגודל של כמה קילוגרמים בלבד. על ידי ייבוא סגנונות CSS משרת חיצוני, הוא יפחית את הביצועים ואת עומס הזיכרון של ה- Arduino. יישום התוכנה (עבור Arduine Uno) משתמש ב -70% מזיכרון הבזק (32kB - 4kB Bootloader) ו -44% מזיכרון ה- RAM (2kB).

חלקים סטטיים של דף אינטרנט (כותרת עליונה ותחתונה של מסמכי HTML, קישור Bootstrap CSS, תגי מטא, כותרת תגובת HTTP, סוג תוכן, טופס ועוד) מאוחסנים ישירות בזיכרון הפלאש של Arduino, מה שיכול להפחית באופן משמעותי את כמות ה- RAM המשמשת למשתמש -תוכן שנוצר. שרת האינטרנט לפיכך יציב יותר ויכול להתמודד עם חיבור מרובה של מספר התקנים ברשת בו זמנית.

על מנת לשמור על הערכים שנקבעו גם לאחר הפסקת חשמל, הם מאוחסנים בזיכרון EEPROM של הארדואינו. טמפרטורת הפניה לקיזוז 10, היסטריה לקיזוז 100. כל אחד מהערכים תופס מקסימום 5B בזיכרון EEPROM. מגבלת התעתיק של EEPROM היא ברמה של 100, 000 תמלילים. הנתונים מוחלפים רק בעת שליחת טופס ה- HTML. במקרה שלמכשיר אין דבר המאוחסן בקיזוזי EEPROM המוזכרים בהפעלה הראשונה, תבוצע כתיבה אוטומטית עם ערכי ברירת מחדל - הפניה: 20.25, היסטריה 0.25 ° C

תג meta Refresh מרענן את כל דף ה- Arduino כל 10 שניות. בשלב זה יש צורך לכתוב את השינוי עבור התרמוסטט, אחרת חלונות הקלט יתאפסו עם רענון הדף. מכיוון שספריית ה- Ethernet אינה כוללת שימוש בשרת אינטרנט אסינכרוני, יש לכתוב את כל הדף מחדש. הנתונים הדינמיים שמשתנים בעיקר הם הערך הנוכחי של הפלט - מופעל / כבוי.

שלב 3: דפי HTML רצים בשרת אינטרנט, סכמטים, קוד מקור

דפי HTML פועלים בשרת אינטרנט, סכמטים, קוד מקור
דפי HTML פועלים בשרת אינטרנט, סכמטים, קוד מקור

דפי HTML הפועלים על Arduino:

  • / - דף שורש המכיל את הטופס, רישום פלט ההיגיון הנוכחי של הממסר, הטמפרטורה
  • /action.html - מעבד ערכים מהטופס, כותב אותם לזיכרון EEPROM, מפנה את המשתמש חזרה לדף השורש
  • / get_data/ - מפיץ נתונים על הטמפרטורה הנוכחית, טמפרטורת ההתייחסות והיסטריזה לצד שלישי (מחשב, מיקרו -בקר, לקוח אחר …) בפורמט JSON

יש גם גרסה מורחבת של תרמוסטט זה הכוללת:

  • מצב ידני לממסרים (זמן בלתי מוגבל, הפעלה / כיבוי קשים)
  • טיימר כלב השמירה
  • חיישנים נוספים זמינים, למשל: SHT21, SHT31, DHT22, BME280, BMP280 ואחרים
  • מצב קירור
  • שליטה ותצורה באמצעות RS232 / UART ללא תלות ב- Ethernet
  • בקרת טמפרטורה PID עבור תרמוסטט
  • אפשרות לשימוש בפלטפורמות ESP8266, ESP32 לתרמוסטט

יישום התוכנית לפרויקט ניתן למצוא בכתובת: https://github.com/martinius96/termostat-ethernet/ ההטמעה מכילה תוכניות עבור כתובת ה- IPv4 הסטטית/דינמית שהוקצתה למגן ה- Ethernet.

התרמוסטט מיועד לטמפרטורות פנימיות בלבד! (מעל 0 ° C), שאליו מותאמת לוגיקת המערכת. אפשר להחליף תרמוסטט קיים קיים עם תרמוסטט, אפשר להחליף זמנית תרמוסטט במקרר, לשמור על טמפרטורה קבועה בטרריום וכדומה.

מוּמלָץ: