Sisukord:

Toatermostaat - Arduino + Ethernet: 3 sammu
Toatermostaat - Arduino + Ethernet: 3 sammu

Video: Toatermostaat - Arduino + Ethernet: 3 sammu

Video: Toatermostaat - Arduino + Ethernet: 3 sammu
Video: Отопление частного дома автоматическим пеллетным твердотопливным котлом. Какой расход пеллет? 2024, Juuli
Anonim
Toatermostaat - Arduino + Ethernet
Toatermostaat - Arduino + Ethernet

Riistvara osas kasutab projekt järgmist:

  • Arduino Uno / Mega 2560
  • Etherneti kilp Wiznet W5100 / Etherneti moodul Wiznet W5200-W5500
  • DS18B20 temperatuuriandur OneWire siinil
  • Katelde lülitamiseks kasutatav relee SRD-5VDC-SL-C

Samm: Etherneti termostaadi kirjeldus

Etherneti termostaadi kirjeldus
Etherneti termostaadi kirjeldus

Arduino on mugav imbeeded platvorm, mida saab kasutada näiteks ruumitermostaadi ehitamiseks, mida me täna näitame. Termostaadile pääseb juurde LAN -võrgust, kus see asub, samal ajal kui see on varustatud veebiliidesega, mida kasutatakse kõigi termostaadi elementide konfigureerimiseks. Veebiliides töötab otse Arduino veebiserveri režiimis. Veebiserver võimaldab käivitada mitmeid sõltumatuid HTML -lehti, mis võivad olla informatiivsed või isegi funktsionaalsed. Veebiserver töötab pordil 80 -

Projektis kasutatav elektromagnetiline relee SRD-5VDC-SL-C võimaldab lülitada kuni 10A 230V juures-võimsus 2300W. Alalisvooluahela (koormus) ümberlülitamise korral on võimalik lülitada 300W (10A 30V DC). Teise võimalusena sobib OMRON G3MB-202P SSR relee täielikult elektriskeemi jaoks, mis sobib ainult mitteinduktiivsete koormuste ja eranditult vahelduvvooluahelate jaoks. Maksimaalne lülitusvõimsus 460W (230V, 2A). Arduino tarbimine koos Etherneti kilbi ja muude välisseadmetega on avatud relee korral tasemel 100-120 mA. Kui see on suletud, alla 200 mA 5 V toiteallika korral.

2. samm: veebiliides

Veebiliides
Veebiliides

Termostaadi veebiliides võimaldab:

  • Vaadake reaalajas temperatuuri DS18B20 andurilt
  • Vaadake reaalajas relee olekut koos dünaamilise väljundi muutmisega lehel
  • Muutke soovitud (võrdlus) temperatuuri vahemikus 5 kuni 50 ° C 0,25 ° C sammuga
  • Muutke hüsterees vahemikus 0 kuni 10 ° C 0,25 ° C sammuga

Veebiliides on mõeldud mahutama suuremaid ja väiksemaid ekraane. See on tundlik, toetab laiekraaniga kõrglahutusega ekraane, aga ka mobiilseadmeid. Liides kasutab Bootstrap raamistiku imporditud CSS-stiile välisest CDN-serverist, mis laadib kliendipoolse seadme Arduino-s töötava lehe avamisel. Kuna Arduino Uno on mäluga piiratud, saab sellega käitada vaid mõne kB suuruseid lehti. Kui impordite CSS -stiile välisest serverist, vähendab see Arduino jõudlust ja mälukoormust. Tarkvara juurutamine (Arduine Uno jaoks) kasutab 70% välkmälust (32kB - 4kB Bootloader) ja 44% RAM -i mälu (2kB).

Veebilehe staatilised osad (HTML -dokumendi päis ja jalus, Bootstrap CSS -i linkimine, metasildid, HTTP -vastuse päis, sisutüüp, vorm ja palju muud) salvestatakse otse Arduino välkmällu, mis võib oluliselt vähendada kasutaja jaoks kasutatavat RAM -i -loodud sisu. Veebiserver on seega stabiilsem ja saab korraga hakkama mitme võrgus oleva seadme mitmeühendusega.

Seatud väärtuste säilitamiseks ka pärast voolukatkestust salvestatakse need Arduino EEPROM -i mällu. Võrdlustemperatuur nihkeks 10, hüsterees nihkeks 100. Iga väärtus võtab EEPROM -i mälus maksimaalselt 5B. EEPROMi transkriptsiooni limiit on 100 000 transkriptsiooni tasemel. Andmed kirjutatakse üle ainult HTML -vormi esitamisel. Juhul, kui seadmele pole esmakordsel käivitamisel midagi mainitud EEPROM -nihetele salvestatud, teostatakse automaatne kirjutamine vaikeväärtustega - viide: 20,25, hüsterees 0,25 ° C

Värskenda metasilti värskendatakse kogu Arduino lehte iga 10 sekundi järel. Selleks ajaks on vaja termostaadi muutmine kirja panna, vastasel juhul lähtestatakse sisendaknad lehe värskendamisel. Kuna Etherneti teek ei sisalda asünkroonse veebiserveri kasutamist, tuleb kogu leht ümber kirjutada. Peamiselt muutuvad dünaamilised andmed on väljundi praegune väärtus - sisse / välja.

3. samm: veebiserveris töötavad HTML -lehed, skeemid, lähtekood

Veebiserveris töötavad HTML -lehed, skeemid, lähtekood
Veebiserveris töötavad HTML -lehed, skeemid, lähtekood

Arduinos töötavad HTML -lehed:

  • / - juurleht, mis sisaldab vormi, relee praegust loogikaväljundite loendit, temperatuuri
  • /action.html - töötleb vormilt saadud väärtusi, kirjutab need EEPROM -i mällu, suunab kasutaja tagasi juurlehele
  • / get_data/ - jagab JSON -vormingus kolmandale osapoolele (arvuti, mikrokontroller, muu klient jne) andmeid praeguse temperatuuri, võrdlustemperatuuri ja hüstereeside kohta

Selle termostaadi laiendatud versioon sisaldab ka järgmist:

  • Käsirežiim releedele (piiramatu aeg, raske sisse / välja)
  • Vahtkoera taimer
  • Saadaval on veel andureid, näiteks: SHT21, SHT31, DHT22, BME280, BMP280 ja teised
  • Jahutusrežiim
  • Juhtimine ja konfigureerimine RS232 / UART kaudu, sõltumata Ethernetist
  • PID temperatuuri reguleerimine termostaadile
  • Võimalus kasutada termostaadi jaoks ESP8266, ESP32 platvorme

Projekti programmi rakendamise leiate aadressilt: https://github.com/martinius96/termostat-ethernet/ Rakendus sisaldab programme Etherneti kilbile määratud staatilise/dünaamilise IPv4-aadressi jaoks.

Termostaat on ette nähtud ainult sisetemperatuuride jaoks! (üle 0 ° C), millele on kohandatud süsteemiloogika. Võimalik on asendada olemasolev ruumitermostaat termostaadiga, ajutiselt on võimalik asendada termostaat külmkapis, säilitada terraariumis püsiv temperatuur jms.

Soovitan: