Мазмұны:

Бөлме термостаты - Arduino + Ethernet: 3 қадам
Бөлме термостаты - Arduino + Ethernet: 3 қадам

Бейне: Бөлме термостаты - Arduino + Ethernet: 3 қадам

Бейне: Бөлме термостаты - Arduino + Ethernet: 3 қадам
Бейне: Термостат на Arduino, до 5 датчиков DS18B20 2024, Шілде
Anonim
Бөлме термостаты - Arduino + Ethernet
Бөлме термостаты - Arduino + Ethernet

Жабдыққа қатысты жоба мыналарды қолданады:

  • 2560. Ардуино -уно
  • Wiznet W5100 Ethernet қалқаны / Wiznet W5200-W5500 Ethernet модулі
  • OneWire шинасындағы DS18B20 температура сенсоры
  • Қазандықты ауыстыру үшін қолданылатын SRD-5VDC-SL-C релесі

1 -қадам: Ethernet термостатының сипаттамасы

Ethernet термостатына сипаттама
Ethernet термостатына сипаттама

Arduino - бұл кіріктірілген ыңғайлы платформа, мысалы, біз бүгін көрсететін бөлме термостатын құруға болады. Термостатқа ол орналасқан LAN желісінен қол жеткізуге болады, ал ол термостаттың барлық элементтерін конфигурациялауға арналған веб -интерфейспен жабдықталған. Веб -интерфейс тікелей Arduino -да веб -сервер режимінде жұмыс істейді. Веб -сервер ақпараттандыратын немесе тіпті функционалды болуы мүмкін бірнеше тәуелсіз HTML беттерін жүргізуге мүмкіндік береді. Веб -сервер 80 - HTTP портында жұмыс істейді.

Жобада қолданылатын SRD-5VDC-SL-C электромагниттік релесі 230 В-қуаты 2300 Вт 10А дейін ауысуға мүмкіндік береді. Тұрақты ток тізбегі (жүктеме) ауысқан жағдайда 300 Вт (30 В тұрақты ток кезінде 10А) ауысуға болады. Сонымен қатар, OMRON G3MB-202P SSR релесі сымдардың схемасына толық сәйкес келеді, ол тек индуктивті емес жүктемелерге жарамды және тек айнымалы ток тізбектері үшін жарамды. Коммутатордың максималды қуаты 460Вт (230В, 2А). Ethernet қалқаны мен басқа перифериялық құрылғылармен Arduino тұтынуы реле ашық болғанда 100-120мА деңгейінде болады. Жабық болғанда, 5В кернеуде 200мА төмен.

2 -қадам: веб -интерфейс

Веб -интерфейс
Веб -интерфейс

Термостаттың веб -интерфейсі мыналарға мүмкіндік береді:

  • Нақты уақыттағы температураны DS18B20 сенсорынан қараңыз
  • Нақты уақыттағы реле күйін динамикалық өзгеріспен бетте қараңыз
  • Мақсатты (эталондық) температураны 5 -тен 50 ° C дейінгі аралықта 0,25 ° C қадаммен өзгертіңіз
  • 0,25 ° C қадаммен 0 -ден 10 ° C -қа дейінгі гистерезияны өзгертіңіз

Веб -интерфейс үлкен және кіші экрандарды орналастыруға арналған. Ол сезімтал, кең ажыратымдылығы жоғары экрандарды, сонымен қатар мобильді құрылғыларды қолдайды. Интерфейс Arduino-де жұмыс істейтін бетті ашқан кезде клиенттік құрылғыны жүктейтін сыртқы CDN серверінен Bootstrap құрылымының импортталған CSS мәнерлерін қолданады. Arduino Uno жады шектеулі болғандықтан, ол бірнеше кБ көлеміндегі беттерді ғана қолдана алады. Сыртқы серверден CSS мәнерлерін импорттау арқылы ол Arduino өнімділігі мен жад жүктемесін төмендетеді. Бағдарламалық қамтамасыз етуді енгізу (Arduine Uno үшін) 70% флэш жадты (32кБ - 4кБ жүктеуші) және 44% жедел жадты (2кБ) пайдаланады.

Веб -беттің статикалық бөліктері (HTML құжатының үстіңгі және астыңғы деректемесі, Bootstrap CSS байланысы, мета тегтер, HTTP жауап тақырыбы, Мазмұн түрі, форма және тағы басқалар) тікелей Arduino флэш -жадында сақталады, бұл пайдаланушыға қолданылатын жедел жад көлемін едәуір азайтады. -құрылған мазмұн. Веб-сервер осылайша тұрақты болып табылады және желідегі бірнеше құрылғылардың бір уақытта қосылуын басқара алады.

Электр қуаты үзілгеннен кейін де орнатылған мәндерді сақтау үшін олар Arduino EEPROM жадында сақталады. Сілтеме температурасы 10 -ға, гистерезис 100 -ге дейін. Әр мән EEPROM жадында максимум 5В алады. EEPROM транскрипциясының шегі 100 000 транскрипт деңгейінде. Деректер тек HTML формасы жіберілген кезде ғана қайта жазылады. Егер құрылғыда алғашқы EEPROM офсетінде ештеңе сақталмаса, автоматты жазу әдепкі мәндермен орындалады - сілтеме: 20.25, гистерезис 0,25 ° C

Refresh мета тегі Arduino бетін әр 10 секунд сайын жаңартады. Осы уақытқа дейін термостаттың өзгеруін жазу қажет, әйтпесе бет жаңартылған кезде кіріс терезелері қалпына келтіріледі. Ethernet кітапханасы асинхронды веб -серверді пайдалануды қамтымайтындықтан, бүкіл бетті қайта жазу керек. Негізінен өзгеретін динамикалық деректер - бұл шығудың ағымдағы мәні - Қосу / Өшіру.

3 -қадам: веб -серверде жұмыс істейтін HTML беттері, схемалар, бастапқы код

Веб -серверде жұмыс істейтін HTML беттері, схемалар, бастапқы код
Веб -серверде жұмыс істейтін HTML беттері, схемалар, бастапқы код

HTML беттері Arduino -да жұмыс істейді:

  • / - формасы бар түбірлік бет, реле үшін ағымдағы логикалық шығыс тізімі, температура
  • /action.html - формадағы мәндерді өңдейді, оларды EEPROM жадына жазады, пайдаланушыны бастапқы бетке қайта бағыттайды
  • / get_data/ - ағымдағы температура, сілтеме температурасы мен гистерезис туралы мәліметтерді үшінші тарапқа (компьютер, микроконтроллер, басқа клиент …) JSON форматында таратады

Бұл термостаттың кеңейтілген нұсқасы бар, ол мыналарды қамтиды:

  • Реле үшін қолмен режим (шектеусіз уақыт, ҚОСУ / ӨШІРУ)
  • Күзетші таймері
  • Басқа сенсорлар бар, мысалы: SHT21, SHT31, DHT22, BME280, BMP280 және басқалары
  • Салқындату режимі
  • Ethernet -тен тәуелсіз RS232 / UART арқылы басқару және конфигурация
  • Термостатқа арналған PID температурасын бақылау
  • Термостат үшін ESP8266, ESP32 платформаларын қолдану мүмкіндігі

Жобаға арналған бағдарламаның орындалуын мына жерден табуға болады: https://github.com/martinius96/termostat-ethernet/ Іске қосу Ethernet қалқанына тағайындалған статикалық/динамикалық IPv4 мекенжайына арналған бағдарламаларды қамтиды.

Термостат тек үй ішіндегі температураға арналған! (0 ° C жоғары), оған жүйелік логика бейімделген. Бөлмедегі бар термостатты термостатпен алмастыруға болады, тоңазытқыштағы термостатты уақытша ауыстыруға, террариумдағы тұрақты температураны ұстап тұруға және т.

Ұсынылған: