Sisällysluettelo:

Huonetermostaatti - Arduino + Ethernet: 3 vaihetta
Huonetermostaatti - Arduino + Ethernet: 3 vaihetta

Video: Huonetermostaatti - Arduino + Ethernet: 3 vaihetta

Video: Huonetermostaatti - Arduino + Ethernet: 3 vaihetta
Video: Как создать NAS из старых жестких дисков 2024, Heinäkuu
Anonim
Huonetermostaatti - Arduino + Ethernet
Huonetermostaatti - Arduino + Ethernet

Laitteiston osalta projekti käyttää:

  • Arduino Uno / Mega 2560
  • Ethernet-suoja Wiznet W5100 / Ethernet-moduuli Wiznet W5200-W5500
  • DS18B20 -lämpötila -anturi OneWire -väylässä
  • Rele SRD-5VDC-SL-C, jota käytetään kattilan kytkemiseen

Vaihe 1: Ethernet -termostaatin kuvaus

Ethernet -termostaatin kuvaus
Ethernet -termostaatin kuvaus

Arduino on kätevä embeeded -alusta, jota voidaan käyttää esimerkiksi huonetermostaatin rakentamiseen, jonka esittelemme tänään. Termostaattiin pääsee LAN -verkosta, jossa se sijaitsee, ja se on varustettu verkkoliitännällä, jota käytetään kaikkien termostaatin elementtien konfigurointiin. Verkkokäyttöliittymä toimii suoraan Arduinolla verkkopalvelintilassa. Verkkopalvelin mahdollistaa useiden itsenäisten HTML -sivujen käytön, jotka voivat olla informatiivisia tai jopa toimivia. Verkkopalvelin toimii portilla 80 -

Projektissa käytettävä sähkömagneettinen rele SRD-5VDC-SL-C mahdollistaa kytkennän jopa 10 A 230 V: n teholla-2300 W: n teholla. Jos vaihdat tasavirtapiiriä (kuormaa), on mahdollista vaihtaa 300 W (10 A 30 V DC). Vaihtoehtoisesti OMRON G3MB-202P SSR -rele on täysin yhteensopiva kytkentäkaavion kanssa, joka soveltuu vain ei-induktiivisille kuormille ja yksinomaan vaihtovirtapiireille. Suurin kytkentäteho 460W (230V, 2A). Arduinon kulutus Ethernet-suojauksella ja muilla oheislaitteilla on 100-120 mA: n tasolla, kun rele on auki. Suljettuna alle 200mA 5V jännitteellä.

Vaihe 2: Web -käyttöliittymä

Web -käyttöliittymä
Web -käyttöliittymä

Termostaatin verkkokäyttöliittymä mahdollistaa:

  • Tarkastele reaaliaikaista lämpötilaa DS18B20-anturista
  • Tarkastele reaaliaikaisen releen tilaa dynaamisen lähdön muutoksen avulla sivulla
  • Muuta tavoitelämpötilaa (vertailulämpötila) alueella 5 - 50 ° C 0,25 ° C: n portaalla
  • Muuta hystereesiä välillä 0-10 ° C 0,25 ° C: n portaalla

Verkkokäyttöliittymä on suunniteltu isommille ja pienemmille näytöille. Se on responsiivinen, tukee laajakuvanäyttöjä, mutta myös mobiililaitteita. Käyttöliittymä käyttää Bootstrap-kehyksen tuettuja CSS-tyylejä ulkoiselta CDN-palvelimelta, joka lataa asiakaspuolen laitteen avattaessa Arduinolla suoritettavaa sivua. Koska Arduino Uno on muistirajoitettu, se voi ajaa vain muutaman kB: n kokoisia sivuja. Tuomalla CSS -tyylejä ulkoiselta palvelimelta se vähentää Arduinon suorituskykyä ja muistikuormitusta. Ohjelmistototeutus (Arduine Unolle) käyttää 70% flash -muistista (32 kB - 4 kb Bootloader) ja 44% RAM -muistista (2 kb).

Verkkosivun staattiset osat (HTML -asiakirjan ylätunniste ja alatunniste, Bootstrap CSS -linkitys, sisällönkuvauskentät, HTTP -vastausotsikko, sisältötyyppi, lomake ja paljon muuta) tallennetaan suoraan Arduinon flash -muistiin, mikä voi vähentää merkittävästi käyttäjän käyttämän RAM -muistin määrää. -luoma sisältö. Verkkopalvelin on siten vakaampi ja pystyy käsittelemään useiden verkon laitteiden yhdistämistä samanaikaisesti.

Jotta asetetut arvot säilyisivät myös sähkökatkon jälkeen, ne tallennetaan Arduinon EEPROM -muistiin. Vertailulämpötila siirtymään 10, hystereesi 100. EEPROM -transkriptioraja on 100 000 transkription tasolla. Tiedot korvataan vain, kun HTML -lomake lähetetään. Jos laitteeseen ei ole tallennettu mitään mainittuihin EEPROM -siirtoihin ensimmäisen käynnistyksen yhteydessä, automaattinen kirjoitus suoritetaan oletusarvoilla - viite: 20,25, hysterees 0,25 ° C

Päivitä -sisällönkuvauskenttä päivittää koko Arduino -sivun 10 sekunnin välein. Tähän mennessä sinun on kirjoitettava termostaatin muutos, muuten syöttöikkunat nollataan, kun sivu päivitetään. Koska Ethernet -kirjasto ei sisällä asynkronisen verkkopalvelimen käyttöä, koko sivu on kirjoitettava uudelleen. Pääasiassa muuttuva dynaaminen data on lähdön nykyinen arvo - Päällä / Pois.

Vaihe 3: HTML -sivut, jotka toimivat verkkopalvelimessa, kaaviot, lähdekoodi

Verkkopalvelimessa käynnissä olevat HTML -sivut, kaaviot, lähdekoodi
Verkkopalvelimessa käynnissä olevat HTML -sivut, kaaviot, lähdekoodi

Arduinolla toimivat HTML -sivut:

  • / - juurisivu, joka sisältää lomakkeen, releen nykyisen logiikan lähtöluettelon, lämpötilan
  • /action.html - käsittelee lomakkeen arvot, kirjoittaa ne EEPROM -muistiin, ohjaa käyttäjän takaisin juurisivulle
  • / get_data/ - jakaa tietoja nykyisestä lämpötilasta, vertailulämpötilasta ja hystereesistä kolmannelle osapuolelle (tietokone, mikro -ohjain, muu asiakas…) JSON -muodossa

Tästä termostaatista on myös laajennettu versio, joka sisältää:

  • Manuaalinen tila releille (rajoittamaton aika, kova ON / OFF)
  • Vahtikoiran ajastin
  • Saatavilla lisää antureita, esimerkiksi: SHT21, SHT31, DHT22, BME280, BMP280 ja muita
  • Jäähdytystila
  • Ohjaus ja kokoonpano RS232 / UART -liitännän kautta Ethernetistä riippumatta
  • PID -lämpötilan säätö termostaatille
  • Mahdollisuus käyttää ESP8266, ESP32 -alustoja termostaatille

Projektin ohjelman toteutus löytyy osoitteesta: https://github.com/martinius96/termostat-ethernet/ Toteutus sisältää ohjelmia Ethernet-suojalle määritetylle staattiselle/dynaamiselle IPv4-osoitteelle.

Termostaatti on tarkoitettu vain sisäilman lämpötiloihin! (yli 0 ° C), johon järjestelmälogiikka on sovitettu. On mahdollista korvata olemassa oleva huonetermostaatti termostaatilla, on mahdollista vaihtaa tilapäisesti jääkaapin termostaatti, ylläpitää vakiolämpötila terraariossa ja vastaavat.

Suositeltava: