Jak si vyrobit vlastní chytrý termostat

 

Smart Thermostat je pokročilé zařízení pro řízení teploty určené pro domácí i komerční prostředí. Uživatelé mohou kdykoli a odkudkoli upravovat nastavení teploty a spravovat jej na dálku prostřednictvím aplikace pro chytrý telefon nebo webového rozhraní. Cílem tohoto projektu je vytvořit snadno použitelný, uživatelsky přívětivý a open-source Smart Thermostat, který si můžete přizpůsobit podle svých specifických potřeb.
 

Hardwarové komponenty:

  1. Mikrokontrolér: Arduino MKR WiFi 1010 (Mikrokontrolér pro zpracování dat ze senzorů a řízení topného systému. Má WiFi a Bluetooth schopnosti).
  2. Senzory: Senzor vlhkosti a teploty: BME280 senzory vlhkosti, tlaku a teploty
  3. OLED displej: 0,96 palcový OLED SSD1306 displej I2C 128 x 64 pixelů
  4. Reléový modul: 5V/12V reléový modul, používaný jako spínač pro ovládání topného systému.
  5. Reálný časový hodinový modul: Reálný časový hodinový modul RTC DS3231 I2C (pro sledování přesného času)
  6. napájení: 5V/2A napájecí adaptér
  7. kryt: 3D tištěný (viz návrh v této poznámce) nebo dodatečná krabička pro umístění komponent
  8. deska plošných spojů
  9. breadboard a propojovací vodiče (pokud chcete spustit prototyp a případně jej rozšířit)
  10. vlastní tištěný spoj (navrhněte ho pomocí KiCad EDA a vytiskněte ho pomocí Eurocircuits)

Požadavky na software:

  1. IDE: Arduino IDE (můžete použít jakékoli IDE, které chcete, pokud jste schopni nahrát kód do Arduino)
  2. Programování: Potřebujete pouze základní znalosti assembleru a ladění konfigurace. Pokud chcete projekt rozšířit, může být užitečná nějaká zkušenost s výše uvedenými technologiemi.
  3. Arduino: C++
  4. Databáze: SQL (MariaDB)
  5. Front-end: TypeScript (Angular17 front-end)
  6. Backend: TypeScript (Node.js, Express)
Ve většině topných systémů termostat ovládá topení tím, že zavírá (zkratováním) kontakty k dokončení obvodu a aktivaci topení. Tento termostat funguje na stejném principu, používá relé k uzavření obvodu, a pokud váš současný termostat funguje tímto způsobem, můžete použít i tento termostat.

Krok 1: 3D tištěný kryt  

Navrhli jsme jednoduchý kryt, aby termostat vypadal sofistikovaněji a více jako typický termostat. Můžete si stáhnout náš STL soubor a importovat ho do Tinkercadu nebo jakéhokoli jiného 3D modelovacího softwaru. Můžete ho upravit podle svých představ a poté vytisknout na 3D tiskárně. Náš design je velmi základní a může být použit jako prototyp, který můžete podle potřeby vylepšit a přizpůsobit.
 
Pokud chcete použít PCB (které jsme navrhli) tak, aby přesně sedělo v pouzdře, můžete exportovat rozvržení PCB z KiCadu jako SVG soubor a importovat ho do vašeho 3D modelovacího softwaru. Tímto způsobem můžete navrhnout pouzdro kolem PCB a ujistit se, že vše sedí. Pouzdro_termostatu.stl
 

Krok 2: Vytiskněte PCB


Krok 3: Sestavení hardwaru a nastavení mikrokontroléru


Nastavení mikrokontroléru

Začněte montážní proces nastavením mikrokontroléru. Namontujte jej na nepájivé pole (breadboard), aby bylo možné jej snadněji prototypovat a připojit. Připojte mikrokontrolér k napájení, přičemž zajistěte, aby dostával stabilní napájení 5V/2A. Toto počáteční nastavení tvoří základ termostatu a poskytuje nezbytnou kontrolu a výpočetní výkon pro zbývající komponenty.

Integrace senzorů

Dále integrujte teplotní a vlhkostní senzory s mikrokontrolérem. V závislosti na typu senzoru, který si vyberete, postupujte podle konkrétního schématu zapojení, abyste je správně připojili. Pro výše uvedený senzor Adafruit jej najdete na jejich webových stránkách. Senzor poskytne aktuální údaje o okolní teplotě a vlhkosti, které mikrokontrolér použije k úpravě topného systému. Upevněte senzor na místo, kde může přesně měřit teplotu v místnosti.

Připojení OLED displeje

Připojte OLED displej k mikrokontroléru a ujistěte se, že jsou piny správně nakonfigurovány. Displej bude použit jako uživatelské rozhraní pro zobrazení aktuální teploty, nastavené teploty a dalších relevantních informací. Správné připojení displeje je klíčové pro jasný a přesný výstup zobrazení.

Relé Nastavení modulu

Nastavte reléový modul, který bude řídit topný systém na základě teplotních měření a uživatelských vstupů. Připojte relé k mikrokontroléru, aby bylo zajištěno, že zvládne zátěž topného systému. Relé funguje jako spínač a mikrokontrolér jej může zapínat nebo vypínat pro regulaci teploty. Otestujte provoz relé, aby bylo zajištěno, že správně reaguje na řídicí signály z mikrokontroléru.

Krok 4: Programování termostatu

Hlavní smyčka běží nepřetržitě a provádí následující úkoly:
  1. pravidelně odesílá signál heartbeat na server.
  2. pokud je heartbeat úspěšný, zařadí požadavek na data ze senzoru do fronty.
  3. zpracovává všechny čekající požadavky ve frontě.
  4. pokusy o opětovné připojení, pokud je v režimu zálohy a uplynula dostatečná doba.
  5. řídí relé topení na základě teploty během režimu zálohy.
  6. pravidelně aktualizujte displej.
Nastavení vývojového prostředí
Nastavte vývojové prostředí na svém počítači instalací potřebného softwaru. Pokud používáte Arduino, stáhněte a nainstalujte Arduino IDE. Pro Raspberry Pi nastavte odpovídající vývojové prostředí. Ujistěte se, že máte všechny knihovny potřebné pro teplotní senzor, LCD displej a další komponenty, které používáte. Toto nastavení vám poskytne nástroje potřebné k psaní, nahrávání a ladění kódu termostatu.
 
Nahrávání kódu do Arduino MKR WiFi 1010
Připojení Arduino MKR 1010 WiFi
  1. Připojte desku: Připojte Arduino MKR 1010 WiFi k počítači pomocí USB kabelu.
  2. Vyberte základní desku: Přejděte na Nástroje->Základní deska a vyberte Arduino MKR WiFi 1010.
  3. Vyberte port: Přejděte na Nástroje->Porty a vyberte port, který odpovídá desce, ke které se připojujete (např. COM3, /dev/ttyUSB0).
Příprava náčrtu
  1. Otevřít Sketch: Otevřete soubor Arduino sketch (.ino) v Arduino IDE.
  2. Nakonfigurujte Sketch: Upravte sketch tak, aby odpovídal IP vaší serveru, přihlašovacím údajům WiFi a dalším nastavením.
Nahrání náčrtu
  1. Ověřte náčrt: Klikněte na ikonu zaškrtnutí v levém horním rohu Arduino IDE pro kompilaci a ověření kódu. Tím se zajistí, že nejsou žádné syntaktické chyby.
  2. Nahrát náčrt: Klikněte na ikonu pravé šipky vedle zaškrtnutí pro nahrání kódu do Arduino MKR 1010 WiFi. IDE kód znovu zkompiluje a poté nahraje na základní desku.
Monitorování sériového portu Výstup
  1. Zapněte sériový monitor: Přejděte na Nástroje->Sériový monitor pro zapnutí sériového monitoru.
  2. Nastavte přenosovou rychlost: Ujistěte se, že přenosová rychlost v dolní části sériového monitoru je nastavena na 9600, aby odpovídala nastavení Serial.begin(9600); v kódu.
  3. Zobrazit výstup: Měli byste vidět výstup z Arduina, který zahrnuje ladicí zprávy a údaje ze senzorů.
Úprava konfigurace
Budete muset upravit konfigurace WiFi a serveru tak, aby odpovídaly vašim nastavením. Tyto konfigurace musí být upraveny tak, aby odpovídaly IP adrese serveru a WiFi síti.
Volitelné: Úprava provozních proměnných
Tyto proměnné a konstanty řídí provozní stav, jako je stav připojení, stav vytápění a časové intervaly pro úkoly. FALLBACK_TEMPERATURE se používá, když je server nedostupný, a termostat pracuje v záložním režimu. HEARTBEAT_INTERVAL určuje, jak často Arduino odesílá signály "heartbeat" serveru.
 

Krok 5: Nastavení databáze, serveru a front-endu

Databáze
Aby server Smart Thermostat správně fungoval, potřebuje databázi. Pro tento účel používáme MariaDB.
Najděte informace o tom, jak to nastavit zde: GitHub Repositories - Nastavení databáze
 
Frontend
Frontend byl vyvinut pomocí Angular17 a umožňuje uživateli zobrazovat data a konfigurovat nastavení teploty.
Najděte informace o tom, jak to nastavit zde: GitHub Repository - Nastavení Frontendu
 
Backend
Vyvinuto pomocí Node.js a Express, backend poskytuje API pro data ze senzorů, autentizaci a řízení vytápění.
Najděte informace o tom, jak to nastavit zde: GitHub Repository - Backend Setup
 

Krok 6: Testování a kalibrace

Počáteční test
Zapněte termostat a proveďte počáteční test, abyste zajistili, že všechny komponenty fungují správně. Zkontrolujte, zda je výstup OLED displeje správný, a ověřte, že teplotní senzor poskytuje přesná měření. Otestujte reléový modul nastavením různých teplotních prahů a sledujte, zda relé aktivuje nebo deaktivuje topný systém podle potřeby. Tato počáteční testovací fáze je klíčová pro včasné odhalení případných problémů a provedení nezbytných úprav.
Kalibrace
Kalibrujte termostat, aby byla zajištěna přesná a spolehlivá funkce. Porovnejte hodnoty ze senzoru s hodnotami spolehlivého teploměru pro ověření přesnosti. V případě potřeby upravte kódy nebo polohu senzoru tak, aby co nejpřesněji odpovídaly skutečným teplotám. Zajistěte, aby relé byla aktivována a deaktivována při správném nastavení teploty pro přesnou kontrolu topného systému. Tento kalibrační proces optimalizuje výkon termostatu a zajistí, že splní vaše požadované specifikace.
Více informací bude následovat: Postavte si vlastní chytrý termostat

Zanechte komentář

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

Přihlaste se k odběru našeho newsletteru

Získejte nejnovější informace o našich produktech a speciálních nabídkách.