Orodha ya maudhui:

Thermostat ya Chumba - Arduino + Ethernet: Hatua 3
Thermostat ya Chumba - Arduino + Ethernet: Hatua 3

Video: Thermostat ya Chumba - Arduino + Ethernet: Hatua 3

Video: Thermostat ya Chumba - Arduino + Ethernet: Hatua 3
Video: How to use W1209 Temperature relay controller and program the thermostat 2024, Julai
Anonim
Thermostat ya Chumba - Arduino + Ethernet
Thermostat ya Chumba - Arduino + Ethernet

Kwa upande wa vifaa, mradi hutumia:

  • Arduino Uno / Mega 2560
  • Ngao ya Ethernet Wiznet W5100 / moduli ya Ethernet Wiznet W5200-W5500
  • Sensor ya joto ya DS18B20 kwenye basi ya OneWire
  • Relay SRD-5VDC-SL-C inayotumika kwa ubadilishaji wa boiler

Hatua ya 1: Maelezo ya Thermostat ya Ethernet

Maelezo ya Thermostat ya Ethernet
Maelezo ya Thermostat ya Ethernet

Arduino ni jukwaa linalopunguzwa linaloweza kutumika, kwa mfano, kujenga thermostat ya chumba, ambayo tutaonyesha leo. Thermostat inapatikana kutoka kwa mtandao wa LAN ambayo iko, wakati ina vifaa vya kiolesura cha wavuti ambavyo hutumiwa kusanidi vitu vyote vya thermostat. Kiolesura cha wavuti kinaendesha moja kwa moja kwenye Arduino katika hali ya seva ya wavuti. Seva ya wavuti inaruhusu kuendeshwa kwa kurasa kadhaa huru za HTML, ambazo zinaweza kuwa za kuelimisha au hata kufanya kazi. Seva ya wavuti inaendesha bandari ya 80 -

Relay ya umeme ya umeme SRD-5VDC-SL-C, ambayo hutumiwa katika mradi huo, inaruhusu kubadili hadi 10A saa 230V - nguvu 2300W. Katika kesi ya kubadili mzunguko wa DC (mzigo) inawezekana kubadili 300W (10A kwa 30V DC). Vinginevyo, relay ya OMRON G3MB-202P SSR inaendana kabisa na mchoro wa wiring, ambayo inafaa tu kwa mizigo isiyo ya kushawishi na kwa mizunguko ya AC tu. Upeo wa nguvu ya kubadili 460W (230V, 2A). Matumizi ya Arduino na ngao ya Ethernet na vifaa vingine ni katika kiwango cha 100-120mA na upeanaji wazi. Wakati imefungwa, chini ya 200mA kwenye usambazaji wa 5V.

Hatua ya 2: Kiolesura cha Wavuti

Kiolesura cha Wavuti
Kiolesura cha Wavuti

Muunganisho wa wavuti wa thermostat inaruhusu:

  • Tazama joto la wakati halisi kutoka kwa sensa ya DS18B20
  • Tazama hali ya kupeleka wakati halisi na mabadiliko ya pato yenye nguvu kwenye ukurasa
  • Rekebisha lengo (kumbukumbu) ya joto katika kiwango cha 5 hadi 50 ° C na hatua ya 0.25 ° C
  • Badilisha hysteresis katika kiwango cha 0 hadi 10 ° C na hatua ya 0.25 ° C

Muundo wa wavuti umeundwa kutoshea skrini kubwa na ndogo. Ni msikivu, inasaidia skrini pana za ufafanuzi wa juu, lakini pia vifaa vya rununu. Muunganisho hutumia mitindo ya nje ya CSS ya mfumo wa Bootstrap kutoka kwa seva ya nje ya CDN, ambayo inabeba kifaa cha upande wa mteja wakati wa kufungua ukurasa unaotumia Arduino. Kwa sababu Arduino Uno ina kumbukumbu ndogo, inaweza tu kuendesha kurasa chache za kB kwa saizi. Kwa kuagiza mitindo ya CSS kutoka kwa seva ya nje, itapunguza utendaji na mzigo wa kumbukumbu ya Arduino. Utekelezaji wa programu (kwa Arduine Uno) hutumia 70% ya kumbukumbu ya flash (32kB - 4kB Bootloader) na 44% ya kumbukumbu ya RAM (2kB).

Sehemu tulivu za ukurasa wa wavuti (kichwa na hati ya hati ya HTML, Kuunganisha Bootstrap CSS, meta tag, kichwa cha majibu ya HTTP, Aina ya Maudhui, fomu na zaidi) huhifadhiwa moja kwa moja kwenye kumbukumbu ya Arduino, ambayo inaweza kupunguza kwa kiasi kikubwa kiwango cha RAM kinachotumiwa kwa mtumiaji yaliyomo ndani. Seva ya wavuti hivyo ni thabiti zaidi na inaweza kushughulikia unganisho anuwai ya vifaa kadhaa kwenye mtandao kwa wakati mmoja.

Ili kuweka maadili yaliyowekwa hata baada ya kufeli kwa umeme, zinahifadhiwa kwenye kumbukumbu ya EEPROM ya Arduino. Joto la rejeleo kukabiliana na 10, hysteresis ya kukabiliana na 100. Kila moja ya maadili huchukua kiwango cha juu cha 5B kwenye kumbukumbu ya EEPROM. Kikomo cha usajili wa EEPROM kiko katika kiwango cha nakala 100,000. Takwimu zimeandikwa tu wakati fomu ya HTML imewasilishwa. Ikiwa kifaa hakina chochote kilichohifadhiwa kwenye malipo yaliyotajwa ya EEPROM mwanzoni mwa kuanza, uandishi wa moja kwa moja utafanywa na maadili ya msingi - rejeleo: 20.25, hysteresis 0.25 ° C

Lebo ya meta ya Refresh huburudisha ukurasa wote wa Arduino kila sekunde 10. Kwa wakati huu ni muhimu kuandika mabadiliko ya thermostat, vinginevyo windows windows itawekwa upya wakati ukurasa umeburudishwa. Kwa sababu maktaba ya Ethernet haijumuishi utumiaji wa seva ya wavuti inayofanana, ukurasa wote lazima uandikwe tena. Takwimu zenye nguvu zinazobadilika haswa ni thamani ya sasa ya pato - Washa / Zima.

Hatua ya 3: Kurasa za HTML zinazoendesha kwenye Webserver, Schematics, Msimbo wa Chanzo

Kurasa za HTML zinazoendesha kwenye Webserver, Schematics, Msimbo wa Chanzo
Kurasa za HTML zinazoendesha kwenye Webserver, Schematics, Msimbo wa Chanzo

Kurasa za HTML zinazoendesha Arduino:

  • / - ukurasa wa mizizi ulio na fomu, orodha ya pato la mantiki ya sasa kwa relay, joto
  • /action.html - inasindika maadili kutoka kwa fomu, huwaandika kwenye kumbukumbu ya EEPROM, inamuelekeza mtumiaji kwenye ukurasa wa mizizi
  • / get_data / - inasambaza data juu ya joto la sasa, joto la kumbukumbu na hysteresis kwa mtu wa tatu (kompyuta, mdhibiti mdogo, mteja mwingine…) katika muundo wa JSON

Pia kuna toleo lililopanuliwa la thermostat hii ambayo ni pamoja na:

  • Njia ya mwongozo ya kupelekwa (wakati usio na kikomo, ngumu ON / OFF)
  • Kipima muda cha mwangalizi
  • Inapatikana sensorer zaidi, kwa mfano: SHT21, SHT31, DHT22, BME280, BMP280 na zingine
  • Hali ya baridi
  • Udhibiti na usanidi kupitia RS232 / UART huru ya Ethernet
  • Udhibiti wa joto la PID kwa thermostat
  • Uwezekano wa kutumia ESP8266, majukwaa ya ESP32 ya thermostat

Utekelezaji wa mpango wa mradi unaweza kupatikana kwa: https://github.com/martinius96/termostat-ethernet/ Utekelezaji una programu za anwani ya tuli / ya nguvu ya IPv4 iliyopewa ngao ya Ethernet.

Thermostat imekusudiwa tu joto la ndani! (juu ya 0 ° C), ambayo mantiki ya mfumo imebadilishwa. Inawezekana kuchukua nafasi ya thermostat ya chumba iliyopo na thermostat, inawezekana kuchukua nafasi ya thermostat kwa muda kwenye jokofu, kudumisha joto la kila wakati kwenye terriamu na kadhalika.

Ilipendekeza: