blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
3
SLEDUJETE BLOG
Programátor
deadawp



Monitor teplôt, vlhkostí - Arduino Mega + Ethernet W5100
pridal deadawp 25.1. 2020 o 21:56



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 2. 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.

Schémy zapojenia, programové implementácie pre Arduino Mega, technický popis modulov a zberníc je možné nájsť na adrese projektu: https://martinius96.github.io/Monitor-teploty-vlhkosti-kurenie/

Prispieť na kávu môžete na: https://www.paypal.me/chlebovec

Na záver fotogaléria častí systému:








Schémy zapojenia pre jednotlivé moduly BYT, KOTOLŇA:




Prístupov 10915
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Oplatí sa teplovodivá pasta z Aliexpress...
[ 4.4.2024] (príspevkov 0)
Recenzia 3D podznačky BEZ KOMPRESE
[ 4.4.2024] (príspevkov 0)
GTA IV fix spustenia na Windowse 10 N
[ 24.3.2024] (príspevkov 0)
RFID DOMINATOR licencia na predaj
[ 4.1.2024] (príspevkov 0)
ATtiny85 Digispark - programovanie, použ...
[ 28.12.2023] (príspevkov 0)
Prečo by som si už nekúpil ESPD-35 2.0 /...
[ 26.12.2023] (príspevkov 0)
ATtiny85 - programovanie Arduino as ISP
[ 19.12.2023] (príspevkov 0)
MasterTherm - webscraper ESP32
[ 25.11.2023] (príspevkov 0)
RFID DOMINATOR 2.0 - rozdiely s 1.0
[ 15.11.2023] (príspevkov 0)
Rozšírená realita (AR) - IoT dashboard
[ 29.10.2023] (príspevkov 0)