فهرست مطالب:

ترموستات اتاق - آردوینو + اترنت: 3 مرحله
ترموستات اتاق - آردوینو + اترنت: 3 مرحله

تصویری: ترموستات اتاق - آردوینو + اترنت: 3 مرحله

تصویری: ترموستات اتاق - آردوینو + اترنت: 3 مرحله
تصویری: پردازش تصویر با آردوینو :) 2024, جولای
Anonim
ترموستات اتاق - آردوینو + اترنت
ترموستات اتاق - آردوینو + اترنت

از نظر سخت افزاری ، پروژه از موارد زیر استفاده می کند:

  • آردوینو اونو / مگا 2560
  • سپر اترنت Wiznet W5100 / ماژول اترنت Wiznet W5200-W5500
  • سنسور دما DS18B20 در گذرگاه OneWire
  • رله SRD-5VDC-SL-C برای تعویض دیگ بخار استفاده می شود

مرحله 1: توضیحات ترموستات اترنت

توضیحات ترموستات اترنت
توضیحات ترموستات اترنت

آردوینو یک پلت فرم راحت است که می توان از آن برای ساختن ترموستات اتاق استفاده کرد ، که امروز آن را نشان خواهیم داد. ترموستات از طریق شبکه LAN که در آن قرار دارد قابل دسترسی است ، در حالی که مجهز به رابط وب است که برای پیکربندی همه عناصر ترموستات استفاده می شود. رابط وب مستقیماً در حالت سرور وب بر روی آردوینو اجرا می شود. سرور وب امکان اجرای چندین صفحه HTML مستقل را فراهم می کند که می توانند آموزنده یا حتی کاربردی باشند. سرور وب بر روی پورت 80 - HTTP اجرا می شود.

رله الکترومغناطیسی SRD-5VDC-SL-C ، که در پروژه استفاده می شود ، امکان سوئیچ تا 10A در 230V-قدرت 2300W را فراهم می کند. در صورت تعویض مدار DC (بار) امکان تغییر 300W (10A در 30V DC) وجود دارد. از طرف دیگر ، رله OMRON G3MB-202P SSR برای نمودار سیم کشی کاملاً سازگار است که فقط برای بارهای غیر القایی و منحصراً برای مدارهای AC مناسب است. حداکثر قدرت سوئیچینگ 460W (230V ، 2A). مصرف آردوینو با سپر اترنت و سایر لوازم جانبی در سطح 100-120 میلی آمپر با باز شدن رله است. هنگام بسته شدن ، زیر 200 میلی آمپر در منبع تغذیه 5 ولت.

مرحله 2: رابط وب

رابط وب
رابط وب

رابط وب برای ترموستات اجازه می دهد:

  • دمای زمان واقعی را از سنسور DS18B20 مشاهده کنید
  • مشاهده وضعیت رله در زمان واقعی با تغییر خروجی پویا در صفحه
  • دمای هدف (مرجع) را در محدوده 5 تا 50 درجه سانتی گراد با یک مرحله 0.25 درجه سانتی گراد تغییر دهید
  • هیسترزیس را در محدوده 0 تا 10 درجه سانتی گراد با مرحله 0.25 درجه سانتی گراد اصلاح کنید

رابط وب به گونه ای طراحی شده است که صفحه های بزرگتر و کوچکتر را در خود جای دهد. پاسخگو است ، از صفحه نمایش های با وضوح بالا با صفحه نمایش عریض ، و همچنین دستگاه های تلفن همراه پشتیبانی می کند. رابط از سبک های CSS وارد شده از چارچوب Bootstrap از یک سرور CDN خارجی استفاده می کند ، که هنگام باز کردن صفحه ای که در Arduino اجرا می شود ، دستگاه سمت کلاینت را بارگیری می کند. از آنجا که حافظه آردوینو Uno محدود است ، فقط می تواند صفحاتی با حجم چند کیلوبایت اجرا کند. با وارد کردن سبک های CSS از یک سرور خارجی ، عملکرد و بار حافظه Arduino را کاهش می دهد. پیاده سازی نرم افزار (برای Arduine Uno) از 70٪ حافظه فلش (32kB - 4kB Bootloader) و 44٪ حافظه RAM (2kB) استفاده می کند.

قسمتهای ثابت یک صفحه وب (سرصفحه و پاورقی سند HTML ، پیوند Bootstrap CSS ، متا تگ ها ، سرصفحه پاسخ HTTP ، نوع محتوا ، فرم و موارد دیگر) مستقیماً در حافظه فلش آردوینو ذخیره می شوند ، که می تواند میزان RAM مورد استفاده کاربر را به میزان قابل توجهی کاهش دهد. -محتوای تولید شده بنابراین سرور وب از ثبات بیشتری برخوردار است و می تواند چندین اتصال چندین دستگاه را در شبکه به طور همزمان مدیریت کند.

به منظور حفظ مقادیر تنظیم شده حتی پس از قطع برق ، آنها در حافظه EEPROM آردوینو ذخیره می شوند. درجه حرارت مرجع برای افست 10 ، هیسترزیس تا افست 100. هر یک از مقادیر حداکثر 5B را در حافظه EEPROM اشغال می کنند. حد رونویسی EEPROM در سطح 100 ، 000 رونویسی است. فقط در صورت ارسال فرم HTML ، داده ها رونویسی می شوند. در صورتی که دستگاه در اولین راه اندازی هیچ چیزی در جبران EEPROM ذکر شده ذخیره نکند ، نوشتن خودکار با مقادیر پیش فرض انجام می شود - مرجع: 20.25 ، پسماند 0.25 درجه سانتی گراد

متا تگ Refresh هر 10 ثانیه کل صفحه آردوینو را تازه می کند. در این زمان لازم است تغییر را برای ترموستات بنویسید ، در غیر اینصورت هنگام تازه شدن صفحه پنجره های ورودی بازنشانی می شوند. از آنجا که کتابخانه اترنت شامل استفاده از وب سرور ناهمزمان نمی شود ، کل صفحه باید بازنویسی شود. داده های پویا که عمدتا در حال تغییر است مقدار فعلی خروجی - روشن / خاموش است.

مرحله 3: صفحات HTML در حال اجرا در وب سرور ، شماتیک ، کد منبع

صفحات HTML در حال اجرا در وب سرور ، شماتیک ، کد منبع
صفحات HTML در حال اجرا در وب سرور ، شماتیک ، کد منبع

صفحات HTML اجرا شده بر روی آردوینو:

  • / - صفحه اصلی حاوی فرم ، لیست خروجی منطقی فعلی برای رله ، دما
  • /action.html - مقادیر را از فرم پردازش می کند ، آنها را در حافظه EEPROM می نویسد ، کاربر را به صفحه اصلی هدایت می کند
  • / get_data/ - داده های مربوط به دمای فعلی ، دمای مرجع و پسماند را به شخص ثالث (رایانه ، میکروکنترلر ، مشتری دیگر …) با فرمت JSON توزیع می کند.

همچنین نسخه گسترده ای از این ترموستات وجود دارد که شامل موارد زیر است:

  • حالت دستی برای رله ها (زمان نامحدود ، روشن / خاموش سخت)
  • تایمر دیده بان
  • سنسورهای بیشتری موجود است ، برای مثال: SHT21 ، SHT31 ، DHT22 ، BME280 ، BMP280 و سایرین
  • حالت خنک کننده
  • کنترل و پیکربندی از طریق RS232 / UART مستقل از اترنت
  • کنترل دمای PID برای ترموستات
  • امکان استفاده از بسترهای ESP8266 ، ESP32 برای ترموستات

پیاده سازی برنامه برای پروژه را می توانید در آدرس زیر مشاهده کنید: https://github.com/martinius96/termostat-ethernet/ پیاده سازی شامل برنامه هایی برای آدرس IPv4 ایستا/پویا است که به سپر اترنت اختصاص داده شده است.

ترموستات فقط برای دمای محیط داخلی طراحی شده است! (بالاتر از 0 درجه سانتی گراد) ، که منطق سیستم به آن اقتباس شده است. ممکن است ترموستات اتاق موجود را با ترموستات جایگزین کنید ، ممکن است به طور موقت ترموستات را در یخچال جایگزین کنید ، دمای ثابت را در تراریوم و موارد مشابه حفظ کنید.

توصیه شده: