| | |
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Autor | Správa |
---|
Registrovaný: 17.02.14 Prihlásený: 31.03.24 Príspevky: 450 Témy: 198 Bydlisko: Poprad-okolie |
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: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: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:Priebeh spracovania zadaných údajov (presmerovanie používateľa):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 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) Dostupné senzory SHT21, SHT31, DHT22, BME280, BMP280 a iné 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: 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.
|
|
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Arduino + Ethernet - Webserver - formuláre - EEPROM v Články | 0 | 793 | 05.04.2020 23:58 martinius96 | | Escape Room - Webclient - Arduino + Ethernet v Články | 0 | 806 | 27.11.2019 22:35 martinius96 | | Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100 v Články | 0 | 736 | 21.02.2020 22:42 martinius96 | | Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266 v Články | 0 | 1072 | 21.02.2020 23:13 martinius96 | | Byt v BA 3 izbový v Život, životný štýl, móda, bývanie | 3 | 616 | 05.09.2014 10:06 ac.milan | | 4-Port Ethernet Switch HWIC with Power Over Ethernet, Cisco, v Siete | 2 | 1251 | 06.01.2009 16:04 Cruel | | Bezdrôtový termostat v Ostatné | 4 | 712 | 10.01.2016 0:37 ivann1 | | Inteligentny termostat z Ciny v Ostatné | 6 | 439 | 27.03.2023 10:40 Johnnny | | Wifi termostat vs Smart zásuvka. v Život, životný štýl, móda, bývanie | 12 | 647 | 22.11.2019 18:29 maiob | | Bezdrôtový termostat k plynovému kotlu v Život, životný štýl, móda, bývanie | 0 | 375 | 16.11.2020 11:51 Joeyeti | | ZigBee termostat na el. podlahove vykurovanie + RPI + SMARTPHONE v Mikropočítače | 3 | 637 | 02.10.2018 15:22 eon5 | | Arduino v Assembler, C, C++, Pascal, Java | 6 | 689 | 05.04.2018 17:25 ado130 | | Arduino komunikácia v Mikropočítače | 0 | 1022 | 27.10.2022 15:39 miluk | | C a arduino v Assembler, C, C++, Pascal, Java | 0 | 587 | 30.04.2018 17:37 Dolpi | | Arduino 8bit computer v Mikropočítače | 1 | 837 | 20.02.2015 13:34 jankalman | | I/K: Arduino Uno v Kúpim | 0 | 427 | 13.12.2015 22:49 werwest |
| 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
|
|