Kuinka tehdä oma älykäs termostaatti

 

Älykäs termostaatti on edistynyt lämpötilansäätölaite koti- ja liiketiloihin. Käyttäjät voivat säätää lämpötilaa milloin tahansa ja missä tahansa sekä hallita sitä etänä älypuhelinsovelluksen tai verkkokäyttöliittymän kautta. Tämän projektin tavoitteena on luoda helppokäyttöinen, käyttäjäystävällinen ja avoimen lähdekoodin älykäs termostaatti, jonka voit rakentaa omien tarpeidesi mukaan.
 

Laitteiston osat:

  1. Mikrokontrolleri: Arduino MKR WiFi 1010 (Mikrokontrolleri anturidatan käsittelyyn ja lämmitysjärjestelmän ohjaukseen. Siinä on WiFi- ja Bluetooth-ominaisuudet).
  2. Anturit: Kosteus- ja lämpötila-anturi: BME280 kosteus-, paine- ja lämpötila-anturit
  3. OLED-näyttö: 0,96 tuuman OLED SSD1306 -näyttö I2C 128 x 64 pikseliä
  4. Relemoduuli: 5V/12V relemoduuli, käytetään kytkimenä lämmitysjärjestelmän ohjaukseen.
  5. Reaaliaikakello: Real Time Clock RTC DS3231 I2C reaaliaikakello (tarkan ajan seuraamiseen)
  6. virtalähde: 5V/2A virtasovitin
  7. kotelo: 3D-tulostettu (katso luonnos tässä muistiinpanossa) tai jälkiasennettava kotelo komponenttien majoittamiseksi
  8. piirilevy
  9. leipälauta ja hyppylangat (jos haluat käyttää sitä prototyyppinä ja mahdollisesti laajentaa sitä)
  10. räätälöity piirilevy (suunnittele se käyttäen KiCad EDA ja tulosta Eurocircuitsin kautta)

Ohjelmistovaatimukset:

  1. IDE: Arduino IDE (voit käyttää mitä tahansa IDE:tä, kunhan pystyt lataamaan koodin Arduinoon)
  2. Ohjelmointi: Tarvitset vain perustiedot kokoonpanosta ja asetusten säätämisestä. Jos haluat laajentaa projektia, yllä mainittujen teknologioiden tuntemus voi olla hyödyllistä.
  3. Arduino: C++
  4. Tietokanta: SQL (MariaDB)
  5. Front-end: TypeScript (Angular17 front-end)
  6. Backend: TypeScript (Node.js, Express)
Useimmissa lämmitysjärjestelmissä termostaatti ohjaa lämmitintä sulkemalla (oikosulkemalla) kontaktit piirin sulkemiseksi ja lämmittimen aktivoimiseksi. Tämä termostaatti toimii samalla periaatteella, käyttäen relettä piirin sulkemiseen, ja jos nykyinen termostaattisi toimii tällä tavalla, voit käyttää myös tätä termostaattia.

Vaihe 1: 3D-tulostettu kotelo  

Suunnittelimme yksinkertaisen kotelon, jotta termostaatti näyttäisi tyylikkäämmältä ja enemmän tyypilliseltä termostaatilta. Voit ladata STL-tiedostomme ja tuoda sen Tinkercadiin tai mihin tahansa muuhun 3D-mallinnusohjelmistoon. Voit muokata sitä mieleiseksesi ja sitten tulostaa sen 3D-tulostimella. Suunnittelumme on hyvin perus, ja sitä voi käyttää prototyyppinä, jotta voit parantaa ja räätälöidä sitä tarpeen mukaan.
 
Jos haluat käyttää piirilevyä (jonka suunnittelimme) sopimaan tarkasti koteloon, voit viedä piirilevyn asettelun KiCadista SVG-tiedostona ja tuoda sen 3D-mallinnusohjelmistoosi. Näin voit suunnitella kotelon piirilevyn ympärille ja varmistaa, että kaikki sopii. Thermostat_Case.stl
 

Vaihe 2: Tulosta piirilevy


Vaihe 3: Laitteiston kokoaminen ja mikrokontrollerin asennus


Mikrokontrollerin asennus

Aloita kokoamisprosessi asettamalla mikrokontrolleri. Kiinnitä se leipälaudalle, jotta prototypointi ja liittäminen on helpompaa. Yhdistä mikrokontrolleri virtalähteeseen varmistaen, että se saa vakaan 5V/2A syötön. Tämä alkuasetelma muodostaa termostaatin perustan tarjoten tarvittavan ohjauksen ja laskentatehon muille komponenteille.

Anturien integrointi

Seuraavaksi integroi lämpötila- ja kosteusanturit mikrokontrolleriin. Valitsemasi anturityypin mukaan noudata erityistä kytkentäkaaviota niiden oikeaan liittämiseen. Edellä mainitun Adafruit-anturin löydät heidän verkkosivuiltaan. Anturi tarjoaa reaaliaikaista tietoa ympäristön lämpötilasta ja kosteudesta, joita mikrokontrolleri käyttää lämmitysjärjestelmän säätämiseen. Kiinnitä anturi paikkaan, jossa se voi mitata huoneen lämpötilan tarkasti.

OLED-näytön liitäntä

Yhdistä OLED-näyttö mikrokontrolleriin varmistaen, että nastat on konfiguroitu oikein. Näyttöä käytetään käyttöliittymänä näyttämään nykyinen lämpötila, asetettu lämpötila ja muuta oleellista tietoa. Näytön oikea liitäntä on ratkaisevan tärkeää selkeän ja tarkan näytön tuottamiseksi.

Rele Moduulin asennus

Määritä relemoduuli, joka ohjaa lämmitysjärjestelmää lämpötilalukemien ja käyttäjän syötteiden perusteella. Yhdistä rele mikrokontrolleriin varmistaaksesi, että se kestää lämmitysjärjestelmän kuorman. Rele toimii kytkimenä, ja mikrokontrolleri voi kytkeä sen päälle tai pois säädelläkseen lämpötilaa. Testaa releen toiminta varmistaaksesi, että se reagoi oikein mikrokontrollerin ohjaussignaaleihin.

Vaihe 4: Termostaatin ohjelmointi

Pääsilmukka toimii jatkuvasti ja suorittaa seuraavat tehtävät:
  1. lähettää säännöllisesti sydämenlyönnin palvelimelle.
  2. jos heartbeat onnistuu, laittaa anturidatan pyynnön jonoon.
  3. käsittelee kaikki jonossa olevat pyynnöt.
  4. yrittää yhdistää uudelleen, jos on varatila ja riittävästi aikaa on kulunut.
  5. ohjaa lämmityskytkintä lämpötilan mukaan varatilassa ollessa.
  6. päivitä näyttö säännöllisesti.
Kehitysympäristön asennus
Asenna kehitysympäristö tietokoneellesi asentamalla tarvittava ohjelmisto. Jos käytät Arduinoa, lataa ja asenna Arduino IDE. Raspberry Pi:lle asenna sopiva kehitysympäristö. Varmista, että sinulla on kaikki tarvittavat kirjastot lämpötila-anturille, LCD-näytölle ja muille komponenteille. Tämä asennus tarjoaa työkalut termostaatin koodin kirjoittamiseen, lataamiseen ja virheenkorjaukseen.
 
Ladataan koodi Arduino MKR WiFi 1010:een
Yhdistetään Arduino MKR 1010 WiFi
  1. Yhdistä levy: Kytke Arduino MKR 1010 WiFi tietokoneeseesi USB-kaapelilla.
  2. Valitse emolevy: Mene kohtaan Työkalut->Emolevy ja valitse Arduino MKR WiFi 1010.
  3. Valitse portti: Mene kohtaan Työkalut->Portit ja valitse portti, joka vastaa liitettävää levyä (esim. COM3, /dev/ttyUSB0).
Sketchin valmistelu
  1. Avaa Sketch: Avaa Arduino-sketch-tiedosto (.ino) Arduino IDE:ssä.
  2. Määritä Sketch: Muokkaa sketch vastaamaan palvelimesi IP-osoitetta, WiFi-tunnuksia ja muita asetuksia.
Koodin lataamiseksi
  1. Vahvista koodi: Klikkaa tarkistusmerkkikuvaketta Arduino IDE:n vasemmassa yläkulmassa kääntääksesi ja vahvistaaksesi koodin. Tämä varmistaa, ettei syntaksivirheitä ole.
  2. Lataa koodi: Klikkaa oikealla olevaa nuolikuvaketta tarkistusmerkin vieressä ladataksesi koodin Arduino MKR 1010 WiFi:lle. IDE kääntää koodin uudelleen ja lataa sen sitten emolevylle.
Sarjamonitorin valvonta Lähtö
  1. Kytke sarjamonitori päälle: Mene Työkalut->Sarjamonitori kytkeäksesi sarjamonitorin päälle.
  2. Aseta siirtonopeus: Varmista, että sarjamonitorin alareunassa oleva siirtonopeus on asetettu 9600:aan vastaamaan koodissa olevaa Serial.begin(9600); asetusta.
  3. Näytä tuloste: Näet Arduinon tulosteen, joka sisältää virheenkorjausviestejä ja anturilukemia.
Asetusten säätäminen
Sinun täytyy säätää WiFi- ja palvelinasetukset vastaamaan omia asetuksiasi. Nämä asetukset on mukautettava palvelimen IP-osoitteeseen ja WiFi-verkkoon.
Valinnainen: Toimintamuuttujien säätö
Nämä muuttujat ja vakio hallitsevat toimintatilaa, kuten yhteyden tilaa, lämmityksen tilaa ja tehtävien ajoitusvälejä. FALLBACK_TEMPERATUREa käytetään, kun palvelimeen ei saada yhteyttä ja termostaatti toimii varatilassa. HEARTBEAT_INTERVAL määrittää, kuinka usein Arduino lähettää sydämenlyöntejä palvelimelle.
 

Vaihe 5: Tietokannan, palvelimen ja käyttöliittymän asennus

Tietokanta
Jotta Smart Thermostat -palvelin toimisi oikein, se tarvitsee tietokannan. Tätä varten käytämme MariaDB:tä.
Löydä ohjeet tämän asettamiseen täältä: GitHub Repositories - Tietokannan asetukset
 
Frontend
Frontend on kehitetty Angular17:llä ja sen avulla käyttäjä voi tarkastella dataa ja määrittää lämpötila-asetuksia.
Löydä ohjeet tämän asettamiseen täältä: GitHub-repositorio - Frontendin asetukset
 
Backend
Node.js:llä ja Expressillä kehitetty backend tarjoaa API:t anturidatalle, todennukselle ja lämmityksen ohjaukselle.
Löydä ohjeet tämän asettamiseen täältä: GitHub-repositorio - Backendin asennus
 

Vaihe 6: Testaus ja kalibrointi

Alkutesti
Kytke termostaatti päälle ja suorita alkutesti varmistaaksesi, että kaikki komponentit toimivat oikein. Tarkista, että OLED-näytön tuloste on oikea ja varmista, että lämpötila-anturi antaa tarkkoja lukemia. Testaa relemoduulia asettamalla erilaisia lämpötilarajoja ja tarkkailemalla, aktivoituuko tai deaktivoituuko rele lämmitysjärjestelmän mukaan. Tämä alkutestivaihe on ratkaiseva ongelmien varhaiseksi tunnistamiseksi ja tarvittavien säätöjen tekemiseksi.
Kalibrointi
Kalibroi termostaatti varmistaaksesi tarkan ja luotettavan toiminnan. Vertaa anturin lukemia luotettavaan lämpömittariin tarkkuuden varmistamiseksi. Tarvittaessa säädä koodeja tai anturin sijainteja vastaamaan paremmin todellisia lämpötiloja. Varmista, että releet aktivoituvat ja deaktivoituvat oikeassa lämpötilassa tarkkaa lämmitysjärjestelmän hallintaa varten. Tämä kalibrointiprosessi optimoi termostaatin suorituskyvyn ja varmistaa, että se täyttää vaatimuksesi.
Lisätietoja seuraa: Rakenna oma älykäs termostaatti 

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Sivupalkki

Uusin julkaisu

Tässä osiossa ei ole tällä hetkellä sisältöä. Lisää sisältöä tähän osioon käyttämällä sivupalkkia.

Rekisteröidy uutiskirjeeseemme

Hanki viimeisimmät tiedot tuotteistamme ja erikoistarjouksistamme.