Mundarija:

Xona termostati - Arduino + Ethernet: 3 qadam
Xona termostati - Arduino + Ethernet: 3 qadam

Video: Xona termostati - Arduino + Ethernet: 3 qadam

Video: Xona termostati - Arduino + Ethernet: 3 qadam
Video: Терморегулятор на ESP8266 Часть 3. Устранение Багов и Доработки 2024, Iyul
Anonim
Xona termostati - Arduino + Ethernet
Xona termostati - Arduino + Ethernet

Uskuna nuqtai nazaridan, loyihada quyidagilar qo'llaniladi:

  • Arduino Uno / Mega 2560
  • Wiznet W5100 chekilgan qalqoni / Wiznet W5200-W5500 chekilgan moduli
  • OneWire avtobusidagi DS18B20 harorat sensori
  • Qozonni almashtirish uchun ishlatiladigan SRD-5VDC-SL-C o'rni

1 -qadam: Ethernet termostatni tavsifi

Ethernet termostatni tavsifi
Ethernet termostatni tavsifi

Arduino - bu ko'milgan qulay platforma, masalan, biz bugun ko'rsatadigan xona termostatini qurishda foydalanish mumkin. Termostatni o'zi joylashgan LAN tarmog'idan olish mumkin, u esa termostatning barcha elementlarini sozlash uchun ishlatiladigan veb -interfeys bilan jihozlangan. Veb -interfeys to'g'ridan -to'g'ri Arduino -da veb -server rejimida ishlaydi. Veb -server ma'lumotli yoki hatto funktsional bo'lishi mumkin bo'lgan bir nechta mustaqil HTML -sahifalarni ishga tushirishga imkon beradi. Veb -server 80 -HTTP portida ishlaydi.

Loyihada ishlatiladigan SRD-5VDC-SL-C elektromagnit o'rni 230V-2300 Vt quvvatli 10A gacha o'zgarishga imkon beradi. Agar shahar zanjiri (yuk) o'zgartirilsa, 300 Vt (30V DC da 10A) ni almashtirish mumkin. Shu bilan bir qatorda, OMRON G3MB-202P SSR o'rni faqat induktiv bo'lmagan yuklar uchun va faqat AC davrlari uchun mos keladigan ulanish sxemasiga to'liq mos keladi. Maksimal o'tish quvvati 460W (230V, 2A). Ethernet qalqoni va boshqa tashqi qurilmalar bilan Arduino iste'moli o'rni ochiq holda 100-120mA darajasida. Yopiq bo'lganda, 5V kuchlanishli 200mA dan past.

2 -qadam: veb -interfeys

Veb -interfeys
Veb -interfeys

Termostatni veb -interfeysi quyidagilarga imkon beradi:

  • Haqiqiy vaqtda haroratni DS18B20 sensoridan ko'ring
  • Sahifada dinamik chiqish o'zgarishi bilan real vaqtda o'rni holatini ko'rish
  • Maqsadli (mos yozuvlar) haroratni 5 dan 50 ° C oralig'ida 0,25 ° C qadam bilan o'zgartiring
  • 0,25 ° C qadam bilan 0 dan 10 ° C gacha bo'lgan histerezni o'zgartiring

Veb -interfeys katta va kichik ekranlarni joylashtirish uchun mo'ljallangan. U sezgir, keng ekranli yuqori aniqlikdagi ekranlarni, balki mobil qurilmalarni ham qo'llab-quvvatlaydi. Interfeys tashqi CDN-serverdan Bootstrap ramkasining import qilingan CSS uslublaridan foydalanadi, bu esa Arduino-da ishlayotgan sahifani ochishda mijoz tomonidagi qurilmani yuklaydi. Arduino Uno xotirasi cheklanganligi uchun u faqat bir necha kB hajmdagi sahifalarni ishga tushirishi mumkin. Tashqi serverdan CSS uslublarini import qilish, bu Arduino -ning ishlashi va xotira yukini kamaytiradi. Dasturiy ta'minot (Arduine Uno uchun) 70% flesh -xotiradan (32kB - 4kB Bootloader) va 44% RAM xotirasidan (2kB) foydalanadi.

Veb -sahifaning statik qismlari (HTML hujjat sarlavhasi va altbilgisi, Bootstrap CSS bilan bog'lanish, meta teglar, HTTP javob sarlavhasi, Kontent turi, shakl va boshqalar) to'g'ridan -to'g'ri Arduino flesh xotirasida saqlanadi, bu foydalanuvchi uchun ishlatiladigan RAM hajmini sezilarli darajada kamaytiradi. -yaratilgan tarkib. Shunday qilib, veb-server ancha barqaror va bir vaqtning o'zida tarmoqdagi bir nechta qurilmalarning ko'p ulanishini boshqarishi mumkin.

Elektr uzilishidan keyin ham belgilangan qiymatlarni saqlab qolish uchun ular Arduino EEPROM xotirasida saqlanadi. Havo harorati 10 -ga, histerezis 100 -ga. Har bir qiymat EEPROM xotirasida maksimal 5B ni egallaydi. EEPROM transkripsiya chegarasi 100 000 transkript darajasida. Ma'lumotlar faqat HTML shakli yuborilganda qayta yoziladi. Agar birinchi ishga tushirish vaqtida qurilmada ko'rsatilgan EEPROM ofsetlarida hech narsa saqlanmagan bo'lsa, avtomatik yozish standart qiymatlar bilan bajariladi - havola: 20.25, histerezis 0.25 ° C

Yangilash meta yorlig'i Arduino sahifasini har 10 soniyada yangilaydi. Bu vaqtga kelib, termostatni o'zgarishini yozish kerak, aks holda sahifa yangilanganda kirish oynalari tiklanadi. Ethernet kutubxonasi asenkron veb -serverdan foydalanishni o'z ichiga olmagani uchun, butun sahifani qayta yozish kerak. Dinamik ma'lumotlar, asosan, o'zgarishning joriy qiymati - On / Off.

3 -qadam: veb -serverda ishlaydigan HTML -sahifalar, sxemalar, manba kodlari

HTML -sahifalar veb -serverda ishlaydi, sxemalar, manba kodlari
HTML -sahifalar veb -serverda ishlaydi, sxemalar, manba kodlari

Arduino -da ishlaydigan HTML -sahifalar:

  • / - shaklni o'z ichiga olgan ildiz sahifasi, o'rni uchun joriy mantiqiy chiqish ro'yxati, harorat
  • /action.html - formadagi qiymatlarni qayta ishlaydi, ularni EEPROM xotirasiga yozadi, foydalanuvchini ildiz sahifasiga qaytaradi.
  • / get_data/ - JSON formatida joriy harorat, mos yozuvlar harorati va histerez haqidagi ma'lumotlarni uchinchi tomonga (kompyuter, mikrokontroller, boshqa mijoz …) tarqatadi.

Termostatni kengaytirilgan versiyasi ham mavjud, u quyidagilarni o'z ichiga oladi

  • O'rnimizni uchun qo'lda rejim (cheklanmagan vaqt, qattiq ON / OFF)
  • Kuzatuvchi taymer
  • Boshqa sensorlar mavjud, masalan: SHT21, SHT31, DHT22, BME280, BMP280 va boshqalar.
  • Sovutish rejimi
  • Ethernetdan mustaqil RS232 / UART orqali boshqarish va sozlash
  • Termostat uchun PID haroratni nazorat qilish
  • Termostat uchun ESP8266, ESP32 platformalaridan foydalanish imkoniyati

Loyiha uchun dasturni quyidagi manzilda topish mumkin: https://github.com/martinius96/termostat-ethernet/ Amalga Ethernet qalqoniga tayinlangan statik/dinamik IPv4 manzili uchun dasturlar kiradi.

Termostat faqat ichki harorat uchun mo'ljallangan! (0 ° C dan yuqori), unga tizim mantig'i moslashtirilgan. Mavjud xona termostatini termostat bilan almashtirish mumkin, muzlatgichda termostatni vaqtincha almashtirish, terrariumda va boshqalarda doimiy haroratni saqlash mumkin.

Tavsiya: