[ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 07.08.22
Príspevky: 441
Témy: 194 | 194
Bydlisko: Poprad-okolie

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


 [ Príspevok: 1 ] 


Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100



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

389

06.01.2018 18:11

martinius96

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

Izbový termostat - Arduino + Ethernet

v Články

0

512

10.07.2020 12:26

martinius96

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

Arduino + Ethernet - Webserver - formuláre - EEPROM

v Články

0

377

05.04.2020 23:58

martinius96

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

Escape Room - Webclient - Arduino + Ethernet

v Články

0

384

27.11.2019 22:35

martinius96

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

416

21.02.2020 23:13

martinius96

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

P: Hladinomer - Monitor výšky hladiny - Arduino + ultrazvuk

v Predám

2

606

10.11.2021 12:44

martinius96

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

538

06.01.2009 16:04

Cruel

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

Zmeranie teplot

v Benchmarky a diagnostické programy

2

504

18.08.2011 21:23

Skolacik

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

Zistenie teplot

v AMD čipové sady

2

363

25.10.2011 11:58

MilanYX

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

Kontrola teplôt

v Benchmarky a diagnostické programy

8

534

31.03.2013 23:17

Filips

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

426

26.04.2015 20:20

dino12321

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

Merac teplot na plochu

v Ostatné programy

5

2168

18.09.2009 18:33

roocoX

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

Porovnanie dvoch posledných teplôt

v PHP, ASP

5

400

29.12.2016 23:39

walther

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

Program na meranie teplot

v Ostatné programy

3

422

09.08.2010 22:11

Fico

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

Zvysovanie teplot CPU po pripojeni HDD

v Intel - Integrated Electronics

23

995

25.01.2010 21:43

Ferinciatko

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

program na zobrazenie teplot a otacok ventilatorov

v Benchmarky a diagnostické programy

10

1304

29.03.2008 11:32

Luks



© 2005 - 2022 PCforum, edited by JanoF