Mündəricat:

Otaq Termostatı - Arduino + Ethernet: 3 addım
Otaq Termostatı - Arduino + Ethernet: 3 addım

Video: Otaq Termostatı - Arduino + Ethernet: 3 addım

Video: Otaq Termostatı - Arduino + Ethernet: 3 addım
Video: How to Check your mirrors at airbnb 2024, Iyul
Anonim
Otaq termostatı - Arduino + Ethernet
Otaq termostatı - Arduino + Ethernet

Donanım baxımından, layihə istifadə edir:

  • Arduino Uno / Mega 2560
  • Ethernet qalxanı Wiznet W5100 / Ethernet modulu Wiznet W5200-W5500
  • OneWire avtobusundakı DS18B20 temperatur sensoru
  • Qazan keçid üçün istifadə olunan SRD-5VDC-SL-C rölesi

Addım 1: Ethernet Termostatının Təsviri

Ethernet Termostatının təsviri
Ethernet Termostatının təsviri

Arduino, məsələn, bu gün göstərəcəyimiz bir otaq termostatı qurmaq üçün istifadə edilə bilən lazımlı bir bağlama platformasıdır. Termostata, yerləşdiyi LAN şəbəkəsindən daxil olmaq mümkündür, eyni zamanda termostatın bütün elementlərini konfiqurasiya etmək üçün istifadə olunan bir veb interfeysi ilə təchiz edilmişdir. Veb interfeysi birbaşa veb server rejimində Arduino üzərində işləyir. Veb server məlumatlandırıcı və ya hətta funksional ola biləcək bir neçə müstəqil HTML səhifəsinin işləməsinə imkan verir. Veb server 80 portunda işləyir -

Layihədə istifadə olunan SRD-5VDC-SL-C elektromaqnit rölesi 230V-2300W gücündə 10A-a qədər keçid etməyə imkan verir. Bir DC dövrəsinin (yükünün) dəyişdirilməsi halında 300W (30V DC -də 10A) keçid etmək mümkündür. Alternativ olaraq, OMRON G3MB-202P SSR rölesi, yalnız induktiv olmayan yüklər üçün və yalnız AC sxemləri üçün uyğun olan kabel sxeminə tam uyğundur. Maksimum keçid gücü 460W (230V, 2A). Ethernet qalxanı və digər ətraf qurğuları olan Arduino istehlakı, röleyi açıq vəziyyətdə 100-120mA səviyyəsindədir. Bağlandıqda, 5V təchizatda 200mA -dan aşağı.

Addım 2: Veb interfeysi

Veb İnterfeysi
Veb İnterfeysi

Termostat üçün veb interfeysi imkan verir:

  • DS18B20 sensorundan real vaxt temperaturuna baxın
  • Səhifədə dinamik çıxış dəyişikliyi ilə real vaxt rölesinin vəziyyətinə baxın
  • Hədəf (istinad) temperaturunu 5 ilə 50 ° C aralığında 0,25 ° C addım ilə dəyişdirin
  • 0,25 ° C addım ilə 0 ilə 10 ° C aralığında histerezis dəyişdirin

Veb interfeysi daha böyük və kiçik ekranları yerləşdirmək üçün hazırlanmışdır. Həssasdır, geniş ekran yüksək keyfiyyətli ekranları dəstəkləyir, həm də mobil cihazları dəstəkləyir. İnterfeys, Arduino-da işləyən bir səhifəni açarkən müştəri tərəfindəki cihazı yükləyən xarici bir CDN serverindən Bootstrap çərçivəsinin idxal edilmiş CSS üslublarından istifadə edir. Arduino Uno yaddaşı məhdud olduğu üçün yalnız bir neçə kB ölçülü səhifələr işlədə bilər. Xarici bir serverdən CSS üslublarını idxal edərək, Arduinonun performansını və yaddaş yükünü azaldacaq. Proqram təminatı (Arduine Uno üçün) 70% flash yaddaşdan (32kB - 4kB Bootloader) və 44% RAM yaddaşından (2kB) istifadə edir.

Veb səhifənin statik hissələri (HTML sənəd başlığı və altbilgisi, Bootstrap CSS bağlantısı, meta etiketlər, HTTP cavab başlığı, Məzmun Növü, forma və daha çox) birbaşa Arduino flash yaddaşında saxlanılır ki, bu da istifadəçi üçün istifadə olunan RAM miqdarını əhəmiyyətli dərəcədə azalda bilər. -yaradılan məzmun. Veb server daha sabitdir və eyni anda şəbəkədəki bir neçə cihazın çoxlu əlaqəsini idarə edə bilir.

Elektrik kəsildikdən sonra da müəyyən edilmiş dəyərləri saxlamaq üçün Arduinonun EEPROM yaddaşında saxlanılır. İstifadə temperaturu 10 -a, histerezis 100 -ə qədərdir. Dəyərlərin hər biri EEPROM yaddaşında maksimum 5B tutur. EEPROM transkripsiya limiti 100.000 transkript səviyyəsindədir. Məlumat yalnız HTML forması təqdim edildikdə yazılır. Cihazın ilk açılışda qeyd olunan EEPROM ofsetlərində heç bir şeyin olmaması halında, avtomatik yazma standart dəyərlərlə yerinə yetiriləcək - istinad: 20.25, histerezis 0.25 ° C

Yenile meta etiketi, hər 10 saniyədə bütün Arduino səhifəsini yeniləyir. Bu vaxta qədər termostatın dəyişməsini yazmaq lazımdır, əks halda səhifə yeniləndikdə giriş pəncərələri sıfırlanacaq. Ethernet kitabxanasında asinxron veb serverin istifadəsi olmadığı üçün bütün səhifə yenidən yazılmalıdır. Əsasən dəyişən dinamik məlumatlar çıxışın cari dəyəridir - Açma / Kapatma.

Addım 3: Web Serverdə işləyən HTML Səhifələr, Şemalar, Mənbə Kodu

Web Serverdə işləyən HTML Səhifələr, Şemalar, Mənbə Kodu
Web Serverdə işləyən HTML Səhifələr, Şemalar, Mənbə Kodu

Arduino üzərində işləyən HTML səhifələri:

  • / - formanı ehtiva edən kök səhifə, röle üçün mövcud məntiqi çıxış siyahısı, temperatur
  • /action.html - dəyərləri formadan emal edir, EEPROM yaddaşına yazır, istifadəçini yenidən kök səhifəyə yönləndirir
  • / get_data/ - mövcud temperatur, istinad temperaturu və histerezis haqqında məlumatları üçüncü tərəfə (kompüter, mikrokontrolör, digər müştəri …) JSON formatında paylayır

Bu termostatın genişləndirilmiş versiyası da var:

  • Röleler üçün əl rejimi (məhdudiyyətsiz vaxt, çətin ON / OFF)
  • Gözətçi sayğacı
  • Daha çox sensorlar mövcuddur, məsələn: SHT21, SHT31, DHT22, BME280, BMP280 və başqaları
  • Soyutma rejimi
  • Ethernetdən asılı olmayan RS232 / UART vasitəsilə idarəetmə və konfiqurasiya
  • Termostat üçün PID temperatur nəzarət
  • Termostat üçün ESP8266, ESP32 platformalarından istifadə imkanı

Layihə üçün proqramın tətbiqini aşağıdakı ünvanda tapa bilərsiniz: https://github.com/martinius96/termostat-ethernet/ Tətbiq Ethernet qalxanına təyin edilmiş statik/dinamik IPv4 ünvanı üçün proqramları ehtiva edir.

Termostat yalnız daxili temperatur üçün nəzərdə tutulmuşdur! (0 ° C -dən yuxarı), sistem məntiqinin uyğunlaşdırıldığı. Mövcud bir otaq termostatını bir termostatla əvəz etmək mümkündür, bir soyuducuda termostatı müvəqqəti olaraq dəyişdirmək, terrariumda və sairədə sabit bir temperatur saxlamaq mümkündür.

Tövsiyə: