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 : 21.02.2020 22:42

Dnes bližšie predstavím posledný realizovaný projekt, ktorý je dosť komplexný, čo sa týka funkčnosti, počtu využitých senzorov, Arduino dosiek, využitých dátových zberníc. Projekt sa skladá z dvoch modulov. Fyzicky je každý z modulov zložený zo samostatného Arduina Mega 2560, Ethernet shieldu W5100 (R3 kompatibilný) a senzorov, ktoré využíva.

Každý modul komunikuje s webovým rozhraním na internete HTTP POST požiadavkami, ktorými webserveru predávajú dáta, prípadne si nejaké dáta vyžiadajú, napríklad cez GET požiadavku (iba modul 2). Webové rozhranie je doplnené a login systém, pričom do systému môže pristupovať celá rodina, ktorá sa do systém zaregistruje, každý so svojim menom a heslom. Jedná sa teda o multiuser aplikáciu, pričom každý člen rodiny má prehľad o oboch moduloch a môže vykonávať rôzne akcie - nastavenie referenčnej teploty, riadiaci teplomer, atď. Webové rozhranie je naprogramované v PHP, dáta sú ukladané do MySQL databázy. Každý z modulov má samostatnú tabuľku v databáze pre dáta.
Predstavme si bližšie jednotlivé moduly.
Modul 1 - BYT - hardvér:
    Arduino Mega 2560
    Ethernet shield Wiznet W5100
    8x teplotný senzor DS18B20 na OneWire zbernici - rozdelené na 4 OneWire zbernice (2,4,1,1)
    2x digitálny senzor teploty a vlhkosti DHT22 (AM2302)
    1x senzor teploty a vlhkosti SENSIRION SHT21 (Si7021)
    1x senzor teploty a vlhkosti (a tlaku vzduchu) BOSCH BME280

Odosiela dáta zo všetkých senzorov naraz v niekoľko minútových intervaloch (možno modifikovať)
Celý modul 1- BYT slúži iba ako monitor teplôt v jednotlivých miestnostiach, nemá žiadnu inú úlohu. Senzory DHT22 sa použili na dlhšiu vzdialenosť s využitím vhodného 10kohm pullup rezistora pre záznam vlhkosti v kúpelniach. Nakoľko BME280 a SHT21 komunikujú po I2C zbernici a tá je značne limitovaná, čo sa týka dĺžky vodičov zbernice, senzory sa používajú v blízkosti Arduina v miestnostiach.

Teplotné senzory DS18B20 boli rozdelené na 4 zbernice, nakoľko sa využívajú dva senzory vo vonkajšom vyhotovení, preto je jednoduchšie pripojiť ich na samostatné vývody Arduina a pri prípadnom vypadnutí senzora je ľahšia aj jeho výmena, nakoľko neochromí funkčnosť systému pri priradení nového senzora na zbernicu.

Napríklad v prípade jednej z týchto OneWire zberníc, na ktorej sú 4 senzory sú rozlíšené podľa indexu. Index sa viaže s fyzickou adresou teplomerov, teda v prípade zámeny jedného zo senzorov môže nový senzor figurovať na indexe 0 - začiatočnom, alebo aj 2, 3, či poslednom. Redukovaním počtu senzorov na zberniciach sa teda môžeme vyhnúť takejto komplikácii, ktorá môže nastať pri výmene senzora.

Modul 2 - KOTOLŇA - hardvér:
    Arduino Mega 2560
    Ethernet shield Wiznet W5100
    16x teplotný senzor DS18B20 na OneWire zbernici - rozdelené na 7 OneWire zberníc (2,2,2,2,2,2,4)
    8x digitálny vstup
    8x digitálny výstup - pre solenoid / relé

Odosiela dáta zo všetkých senzorov naraz v niekoľko minútových intervaloch (možno modifikovať)
Číta z webového rozhrania stavy jednotlivých výstupov, aplikuje ich
Odosiela stavy digitálnych vstupov
Modul 2 - KOTOLŇA má okrem funkcie monitora aj dôležitejšiu úlohu a to ovládanie solenoidov, respektíve relé pre ovládanie ventilov radiátorov. Modul pracuje nezávisle na kúrení v domácnosti. Modul nespína kúrenie, či kotol. Modul sa stará iba o otvorenie, uzavretie ventilu radiátorov, ak je v miestnosti požadovaná teplota nižšia / vyššia, ako nastavená - tzv. referenčná teplota.

Ku každej miestnosti, kde sa riadi ventil radiátora je možné priradiť špecifický teplomer z modulu. Okrem tohto - automatického režimu existuje aj manuálny režim, kedy je možné ventil otvoriť / zatvoriť manuálne z webového rozhrania na dobu neurčitú - natvrdo. Digitálne vstupy môžu slúžiť na overenie, či sa daný solenoid / relé / ventil otvoril / zatvoril na základe požiadavky s Arduina - možnosť porovnať, či sa výstup rovná vstupu.

Pri oboch moduloch existuje aj grafická reprezentácia čiarovým grafom pre vývoj jednotlivých veličín - teplota, vlhkosť vzduchu za 24 hodín, 7 dní. Webové rozhranie ponúka aj prezretie maximálnej / minimálnej, priemernej hodnoty za 24 hodín, 7 dní pre každý teplomer / vlhkomer. V module 1 sa pôvodne uvažovalo o dvojici senzorov SHT21, ale nakoľko nemajú možnosť zmeny I2C adresy, bolo by nutné využiť multiplexer pre komunikáciu po jednej zbernici od dvoch senzorov s rovnakou I2C adresou. V prípade chybných dát zo senzorov sa uloží meno senzoru do logu, ktorý si môže správca systému kedykoľvek otvoriť a vykonať servisný zásah na OneWire zbernici a vymeniť napríklad chybný senzor.

Do Arduino programov bol implementovaný Watchdog, ktorý Arduino pri chybnej inicializácii, "zamrznutí", inej chybe bezpečne reštartuje a na začiatku programu vypne všetky výstupy až do nadviazania spojenia s webovým rozhraním, kde sa plne synchronizuje, čo sa týka výstupov, ktoré následne aplikuje.
Ďalšie zaujímavé projekty môžete nájsť na: https://arduino.php5.sk/monitor-teploty-vlhkosti-v-domacnosti.php
Na záver fotogaléria častí systému:
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Schémy zapojenia pre modul BYT:
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
Schémy zapojenia pre modul KOTOLŇA:
Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100


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. HTTP parser s Ethernet Wiznet W5100

v Mikropočítače

6

531

06.01.2018 18:11

martinius96 Zobrazenie posledných príspevkov

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

v Články

0

971

10.07.2020 12:26

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

802

27.11.2019 22:35

martinius96 Zobrazenie posledných príspevkov

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

v Články

0

791

05.04.2020 23:58

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

1069

21.02.2020 23:13

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. P: Hladinomer - Monitor výšky hladiny - Arduino + ultrazvuk

v Predám

2

806

10.11.2021 12:44

martinius96 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

1250

06.01.2009 16:04

Cruel Zobrazenie posledných príspevkov

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

v AMD čipové sady

2

444

25.10.2011 11:58

MilanYX Zobrazenie posledných príspevkov

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

v Benchmarky a diagnostické programy

8

650

31.03.2013 23:17

Filips Zobrazenie posledných príspevkov

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

v Benchmarky a diagnostické programy

2

594

18.08.2011 21:23

Skolacik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Posúdenie teplôt PC

v Chladiče a všetky druhy chladenia

8

536

26.04.2015 20:20

dino12321 Zobrazenie posledných príspevkov

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

v Ostatné programy

5

2270

18.09.2009 18:33

roocoX Zobrazenie posledných príspevkov

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

v Ostatné programy

3

512

09.08.2010 22:11

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie dvoch posledných teplôt

v PHP, ASP

5

491

29.12.2016 23:39

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zvysovanie teplot CPU po pripojeni HDD

v Intel - Integrated Electronics

23

1109

25.01.2010 21:43

Ferinciatko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Intel Core i5 3570K - veľký rozdiel teplôt

v Intel - Integrated Electronics

13

1196

20.08.2012 20:52

Sinky 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