Doorgaan naar artikel

+49 1626571232

info@openelab.io

🚀Gratis verzending vanaf 50€ in de EU / 80€ wereldwijd

Hoe je je eigen slimme thermostaat maakt

26 Jul 2024 0 Opmerkingen
Slimme Thermostaat is een geavanceerd apparaat voor temperatuurregeling voor gebruik in huis en commerciële omgevingen. Gebruikers kunnen de temperatuurinstellingen altijd en overal aanpassen en op afstand beheren via een smartphone-app of webinterface. Het doel van dit project is om een ​​gebruiksvriendelijke, gebruiksvriendelijke en open-source Slimme Thermostaat te creëren die u kunt creëren op basis van uw specifieke behoeften.
 

Hardwarecomponenten:

  1. Microcontroller: Arduino MKR WiFi 1010 (Microcontroller om sensordata te verwerken en het verwarmingssysteem te regelen. Heeft WiFi- en Bluetooth-mogelijkheden).
  2. Sensoren: Vochtigheids- en temperatuursensor: BME280 Vochtigheidsdruk Temperatuursensoren
  1. OLED-scherm: 0,96 inch OLED SSD1306-scherm I2C 128 x 64 pixels
  2. Relaismodule: 5V/12V-relaismodule , wordt gebruikt als schakelaar om het verwarmingssysteem te regelen.
  3. Real Time Clock: Real Time Clock RTC DS3231 I2C real time clock (voor het nauwkeurig bijhouden van de tijd)
  4. voeding: 5V/2A voedingsadapter
  5. behuizing: 3D-geprint (zie ontwerp in deze notitie) of retrofit-doos om componenten te huisvesten
  6. printplaat
  7. breadboard en jumpers (als je het als prototype wilt gebruiken en eventueel wilt uitbreiden)
  8. op maat gemaakte printplaat (ontwerp deze met KiCad EDA en print deze met Eurocircuits)
 

 

Softwarevereisten:

  1. IDE: Arduino IDE (je kunt elke IDE gebruiken die je leuk vindt, zolang je maar code naar Arduino kunt uploaden)
  2. Programmeren: U heeft alleen een basiskennis van montage en configuratie-tuning nodig. Als u het project wilt uitbreiden, kan enige ervaring met de bovenstaande technologieën nuttig zijn.
  3. Arduino: C++
  4. Database: SQL (MariaDB)
  5. Front-end: TypeScript (Angular17 front-end)
  6. Backend: TypeScript (Node.js, Express)
Bij de meeste verwarmingssystemen regelt de thermostaat de verwarming door de contacten te sluiten (kortsluiten) om het circuit te voltooien en de verwarming te activeren. Deze thermostaat werkt volgens hetzelfde principe, waarbij hij een relais gebruikt om het circuit te sluiten. Als uw huidige thermostaat op deze manier werkt, kunt u deze thermostaat ook gebruiken.
 

Stap 1: 3D-geprinte behuizing  

We hebben een eenvoudige behuizing ontworpen om de thermostaat er verfijnder uit te laten zien en meer op een typische thermostaat te laten lijken. U kunt ons STL-bestand downloaden en importeren in Tinkercad of een ander 3D-modelleringssoftware. Je kunt het naar wens aanpassen en vervolgens in 3D printen. Ons ontwerp is erg basic en kan als prototype worden gebruikt, zodat u het indien nodig kunt verbeteren en aanpassen.
 
Als u de PCB (die wij hebben ontworpen) zo wilt gebruiken dat deze precies in de behuizing past, kunt u de PCB-lay-out vanuit KiCad exporteren als een SVG-bestand en deze in uw 3D-modelleringssoftware importeren. Zo kun je de behuizing rond de print ontwerpen en ervoor zorgen dat alles past. Thermostaat_Huis.stl
 

Stap 2: Print de PCB

 
 

Stap 3: Monteer de hardware en microcontrollerinstallatie

 

Microcontroller Configuratie

Start het assemblageproces door de microcontroller in te stellen. Monteer het op een breadboard, zodat er een prototype van kan worden gemaakt en gemakkelijker kan worden aangesloten. Sluit de microcontroller aan op een stroombron en zorg ervoor dat deze een stabiele 5V/2A-voeding ontvangt. Deze initiële opstelling vormt de basis van de thermostaat en levert de nodige regel- en verwerkingskracht voor de overige componenten.

Sensorintegratie

Integreer vervolgens de temperatuur- en vochtigheidssensoren met de microcontroller. Afhankelijk van het type sensor dat u kiest, volgt u het specifieke bedradingsschema om ze correct aan te sluiten. Voor de hierboven genoemde Adafruit-sensor kun je deze vinden op hun website. De sensor levert realtime gegevens over de omgevingstemperatuur en luchtvochtigheid, die de microcontroller zal gebruiken om het verwarmingssysteem aan te passen. Bevestig de sensor op een plaats waar deze de kamertemperatuur nauwkeurig kan meten.

OLED-displayverbinding

Sluit het OLED-display aan op de microcontroller en zorg ervoor dat de pinnen correct zijn geconfigureerd. Het display zal worden gebruikt als gebruikersinterface om de huidige temperatuur, ingestelde temperatuur en andere relevante informatie weer te geven. Een juiste aansluiting van het display is van cruciaal belang voor een duidelijke en nauwkeurige weergave.

Relay Module-instelling

Stel de relaismodule in die het verwarmingssysteem regelt op basis van temperatuurmetingen en gebruikersinvoer. Sluit het relais aan op de microcontroller om ervoor te zorgen dat deze de belasting van het verwarmingssysteem aankan. Het relais fungeert als schakelaar en de microcontroller kan het in- of uitschakelen om de temperatuur te regelen. Test de werking van het relais om er zeker van te zijn dat deze correct reageert op besturingssignalen van de microcontroller.

Stap 4: De thermostaat programmeren

 
De hoofdlusfunctie is continu actief en voert de volgende taken uit:
  1. stuurt periodiek een hartslag naar de server.
  2. Als de hartslag succesvol is, wordt het verzoek om sensorgegevens in de wachtrij geplaatst.
  3. verwerkt alle openstaande aanvragen in de wachtrij.
  4. probeert opnieuw verbinding te maken als het zich in de fallback-modus bevindt en er voldoende tijd is verstreken.
  5. regelt het verwarmingsrelais op basis van de temperatuur in de fallback-modus.
  6. werk de weergave periodiek bij.
 
Het opzetten van de ontwikkelomgeving
Richt de ontwikkelomgeving op uw computer in door de benodigde software te installeren. Als u Arduino gebruikt, download en installeer dan de Arduino IDE. voor Raspberry Pi: stel de juiste ontwikkelomgeving in. Zorg ervoor dat u over alle bibliotheken beschikt die u nodig heeft voor de temperatuursensor, het LCD-scherm en alle andere componenten die u gebruikt. Deze configuratie biedt de tools die je nodig hebt om je thermostaatcode te schrijven, te uploaden en te debuggen.
 
Code uploaden naar de Arduino MKR WiFi 1010
De Arduino MKR 1010 WiFi verbinden
  1. Sluit het bord aan: Sluit de Arduino MKR 1010 WiFi aan op uw computer met behulp van de USB-kabel.
  2. Selecteer Moederbord: Ga naar Extra->Moederbord en selecteer Arduino MKR WiFi 1010.
  3. Selecteer Poort: Ga naar Extra->Poorten en selecteer de poort die overeenkomt met het bord waarmee u verbinding maakt (bijvoorbeeld COM3, /dev/ttyUSB0).
 
Een schets voorbereiden
  1. Open Sketch: Open het Arduino-schetsbestand (.ino) in de Arduino IDE.
  2. Schets configureren: Pas de schets aan zodat deze overeenkomt met uw server-IP, WiFi-inloggegevens en andere instellingen.
 
Een schets uploaden
  1. Controleer de schets: Klik op het vinkje in de linkerbovenhoek van de Arduino IDE om de code te compileren en te verifiëren. Dit zorgt ervoor dat er geen syntaxisfouten optreden.
  2. Schets uploaden: Klik op het pijltje naar rechts naast het vinkje om de code naar de Arduino MKR 1010 WiFi te uploaden. de IDE compileert de code opnieuw en uploadt deze vervolgens naar het moederbord.
 
Het monitoren van de serie Uitvoer
  1. Seriële monitor inschakelen: Ga naar Extra->Seriële monitor om de seriële monitor in te schakelen.
  2. Baudrate instellen: Zorg ervoor dat de baudrate aan de onderkant van de seriële monitor is ingesteld op 9600, zodat deze overeenkomt met Serial.begin(9600); instelling in de code.
  3. Uitvoer bekijken: U zou uitvoer van de Arduino moeten zien, inclusief foutopsporingsberichten en sensormetingen.
 
De configuratie aanpassen
U moet de WiFi- en serverconfiguraties aanpassen aan uw instellingen. Deze configuraties moeten worden aangepast zodat ze overeenkomen met het IP-adres van de server en het WiFi-netwerk.
 
Optioneel: aanpassing van bedrijfsvariabelen
Deze variabelen en constanten beheren de operationele status, zoals verbindingsstatus, verwarmingsstatus en timingintervallen voor de taken. De FALLBACK_TEMPERATURE wordt gebruikt wanneer de server onbereikbaar is en de thermostaat in de fallback-modus werkt. De HEARTBEAT_INTERVAL bepaalt hoe vaak de Arduino hartslagen naar de server stuurt.
 

Stap 5: Het opzetten van de database, server en front-end

 
Database
Om de Slimme Thermostat-server goed te laten functioneren, heeft deze een database nodig. Hiervoor gebruiken we MariaDB.
Informatie over hoe u dit kunt instellen, vindt u hier: GitHub Repositories - Database Setup
 
Frontend
De frontend is ontwikkeld met Angular17 en stelt de gebruiker in staat gegevens te bekijken en temperatuurinstellingen te configureren.
Informatie over hoe u dit kunt instellen, vindt u hier: GitHub Repository - Frontend-instellingen
 
Achterkant
De backend is ontwikkeld met behulp van Node.js en Express en biedt API's voor sensorgegevens, authenticatie en verwarmingsregeling.
Informatie over hoe u dit kunt instellen, vindt u hier: GitHub Repository - Backend Setup
 

Stap 6: Testen en Kalibratie

Initiële Test
Schakel de thermostaat in en voer een eerste test uit om er zeker van te zijn dat alle componenten goed werken. Controleer of de uitvoer van het OLED-scherm correct is en controleer of de temperatuursensor nauwkeurige metingen levert. Test de relaismodule door verschillende temperatuurdrempels in te stellen en te kijken of het relais het verwarmingssysteem dienovereenkomstig activeert of deactiveert. Deze eerste testfase is van cruciaal belang om eventuele problemen vroegtijdig te identificeren en de nodige aanpassingen door te voeren.
 
Kalibratie
Kalibreer de thermostaat om een ​​nauwkeurige en betrouwbare werking te garanderen. Vergelijk de sensormetingen met een betrouwbare thermometer om de nauwkeurigheid te verifiëren. Pas indien nodig codes of sensorposities aan om de werkelijke temperaturen beter te benaderen. Zorg ervoor dat relais worden geactiveerd en gedeactiveerd bij de juiste temperatuurinstelling voor een nauwkeurige regeling van het verwarmingssysteem. Dit kalibratieproces optimaliseert de prestaties van de thermostaat en zorgt ervoor dat deze aan de vereiste specificaties voldoet.
 
Meer informatie volgt: Bouw uw eigen slimme thermostaat

 

Vorig bericht
Volgende bericht

laat een reactie achter

Alle blogreacties worden vóór publicatie gecontroleerd

Iemand heeft onlangs een gekocht

Bedankt voor het abonneren!

Deze e-mail is geregistreerd!

Shop de look

Kies opties

Bewerk optie
Terug op voorraad melding
this is just a warning
Log in
Winkelmand
0 artikelen
RuffRuff App RuffRuff App by Tsun