Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 10.07.2020 12:26

Arduino je šikovná embeeded platforma, ktorú je možné využiť napríklad aj na stavbu izbového termostatu, ktorý si dnes ukážeme. Termostat je prístupný z LAN siete v ktorej sa nachádza, pričom je vybavený webovým rozhraním ktoré slúži na konfiguráciu všetkých prvkov termostatu. Webové rozhranie beží priamo na Arduine v režime webservera. Webserver umožňuje beh niekoľkých na sebe nezávislých HTML stránok, ktoré môžu mať informatívny, alebo aj funkcionálny charakter. Webserver beží na porte 80 - HTTP.

Po hardvérovej stránke projekt využíva:
    Arduino Uno / Mega 2560
    Ethernet shield Wiznet W5100 / Ethernet modul Wiznet W5200-W5500
    Teplotný senzor DS18B20 na OneWire zbernici
    Relé SRD-5VDC-SL-C slúžiace na spínanie kotla
Elektromagnetické relé SRD-5VDC-SL-C, ktoré je v projekte použité umožňuje spínať až 10A pri 230V - výkon 2300W. V prípade spínania jednosmerného obvodu (záťaže) je možné spínať 300W (10A pri 30V DC). Prípadne je pre schému zapojenia plne kompatibilné aj SSR relé OMRON G3MB-202P, ktoré je vhodné iba pre neindukčnú záťaž a výhradne pre obvod so striedavým napätím. Maximálny spínaný výkon 460W (230V, 2A). Spotreba Arduina s Ethernet shieldom a ostatnými perifériami je na úrovni 100-120mA pri rozopnutom relé. Pri zopnutom stave pod 200mA pri 5V napájaní.

Webové rozhranie pre termostat umožňuje:
    Prehliadať v reálnom čase teplotu zo senzora DS18B20
    Prehliadať v reálnom čase stav relé s dynamickou zmenou výstupu na stránke
    Modifikovať cieľovú (referenčnú) teplotu v rozsahu 5 až 50°C s 0,25°C krokom
    Modifikovať hysterézu v rozsahu 0 až 10°C s 0,25°C krokom

ZAP/VYP regulácia kotla v čase:
Izbový termostat - Arduino + Ethernet

Webové rozhranie je navrhnuté pre prispôsobenie sa väčším i menším obrazovkám. Je reponzívne, podporuje širokouhlé obrazovky s vysokým rozlíšením, ale aj mobilné zariadenia. Rozhranie využíva importované CSS štýly Bootstrap frameworku z externého CDN servera, ktorý načíta client-side zariadenie pri otvorení stránky bežiacej na Arduine. Nakoľko je Arduino Uno limitované pamäťou, dokáže spustiť iba stránky s veľkosťou pár kB. Importovaním CSS štýlov z externého servera umožní žnížiť výkonové a pamäťové zaťaženie Arduina. Programová implementácia (pri Arduine Uno) využíva 70% flash pamäte (32kB - 4kB Bootloader) a 44% RAM pamäte (2kB).

Statické časti webovej stránky (hlavička a pätička HTML dokumentu, linkovanie Bootstrap CSS, meta tagy, HTTP response hlavička, Content Type, formulár a ďalšie) sú uložené priamo vo flash pamäti Arduina, čo dokáže výrazne redukovať veľkosť používanej RAM pamäte pre obsah generovaný používateľovi. Webserver je tak stabilnejší a zvláda aj multi-pripojenie viacerých zariadení v sieti súčasne.

Aby ostali nastavené hodnoty zachované aj po výpadku napájania, sú uložené do EEPROM pamäte Arduina. Referenčná teplota na offset 10, hysteréza na offset 100. Každá z hodnôt zaberá maximálne 5B v EEPROM pamäti. Limit prepisov EEPROM je na úrovni 100-tisíc prepisov. Dáta sa prepisujú iba pri odoslaní HTML formulára. V prípade, že zariadenie pri prvom spustení nemá nič uložené na spomenutých EEPROM offsetoch, vykoná sa automatický zápis s predvolenými hodnotami - referencia: 20,25, hysteréza 0,25°C

Prostredníctvom meta tagu Refresh vykonáva obnovu celej stránky Arduino každých 10 sekúnd. Do tohto času je potrebné stihnúť zapísať zmenu pre termostat, inak sa input okná resetujú pri obnovení stránky. Nakoľko knižnice Ethernet neobsahuje využitie asynchrónneho webservera, je nutné prepisovať celú stránku. Dynamický údaj, ktorý sa predovšetkým mení je aktuálna hodnota výstupu- Zapnutý / Vypnutý.

Formulár pre zápis cieľovej - referenčnej teploty a hysterézy:
Izbový termostat - Arduino + Ethernet
Izbový termostat - Arduino + Ethernet

Priebeh spracovania zadaných údajov (presmerovanie používateľa):
Izbový termostat - Arduino + Ethernet

Ukážkový výstup do Serial (UART) monitoru:
    Používateľ na stránke action.html vykoná zmenu pre termostat (relé prechádza zo stavu VYP do ZAP).
    Logika relé sa vykonáva nezávisle na webovom rozhraní každých 10 sekúnd
Izbový termostat - Arduino + Ethernet

HTML stránky bežiace na Arduine:
    / - root stránka obsahujúca formulár, aktuálny výpis logického výstupu pre relé, teplotu
    /action.html - spracúvava hodnoty z formulára, zapisuje ich do EEPROM pamäte, presmeruje používateľa späť na root stránku
    /get_data/ - distribuuje dáta o aktuálnej teplote, referenčnej teplote a hysteréza tretej strane (počítač, mikrokontróler, iný klient...) v JSON formáte

Rozšírená verzia tohto termostatu obsahuje navyše:
    Manuálny režim pre relé (neobmedzená doba, natvrdo ZAP/VYP)
    Watchdog timer
    Dostupné senzory SHT21, SHT31, DHT22, BME280, BMP280 a iné
    Režim chladenia
    Ovládanie a konfigurácia po RS232 / UART nezávisle na Ethernete
    PID regulácia teploty pre termostat
    Možnosť využitia platforiem ESP8266, ESP32 pre termostat

Schéma zapojenia:
Izbový termostat - Arduino + Ethernet

Programovú implementáciu pre základnú verziu projektu je možné nájsť na: https://github.com/martinius96/termostat-ethernet/ Implmentácia obsahuje programy pre statickú / dynamickú IPv4 adresu priradenú k Ethernet shieldu Wiznet W5100 / modulu Wiznet W5200 - W5500.

Termostat je určený iba pre interiérové teploty! (nad 0°C), čomu je prispôsobená aj logika systému. Termostatom je možné nahradiť už existujúci izbový termostat, možno dočasne nahradiť termostat v chladničke, udržiavať stálu teplotu v teráriu a podobne.


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Arduino + Ethernet - Webserver - formuláre - EEPROM

v Články

0

793

05.04.2020 23:58

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Escape Room - Webclient - Arduino + Ethernet

v Články

0

806

27.11.2019 22:35

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100

v Články

0

736

21.02.2020 22:42

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266

v Články

0

1072

21.02.2020 23:13

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Byt v BA 3 izbový

v Život, životný štýl, móda, bývanie

3

616

05.09.2014 10:06

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 4-Port Ethernet Switch HWIC with Power Over Ethernet, Cisco,

v Siete

2

1251

06.01.2009 16:04

Cruel Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bezdrôtový termostat

v Ostatné

4

712

10.01.2016 0:37

ivann1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Inteligentny termostat z Ciny

v Ostatné

6

439

27.03.2023 10:40

Johnnny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wifi termostat vs Smart zásuvka.

v Život, životný štýl, móda, bývanie

12

647

22.11.2019 18:29

maiob Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bezdrôtový termostat k plynovému kotlu

v Život, životný štýl, móda, bývanie

0

375

16.11.2020 11:51

Joeyeti Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ZigBee termostat na el. podlahove vykurovanie + RPI + SMARTPHONE

v Mikropočítače

3

637

02.10.2018 15:22

eon5 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Arduino

v Assembler, C, C++, Pascal, Java

6

689

05.04.2018 17:25

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Arduino komunikácia

v Mikropočítače

0

1022

27.10.2022 15:39

miluk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C a arduino

v Assembler, C, C++, Pascal, Java

0

587

30.04.2018 17:37

Dolpi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Arduino 8bit computer

v Mikropočítače

1

837

20.02.2015 13:34

jankalman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. I/K: Arduino Uno

v Kúpim

0

427

13.12.2015 22:49

werwest Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra