Thermostaatkranen aansturen via Raspberry Pi per kamer: uitgebreide handleiding

Een Raspberry Pi is een veelzijd platform voor het aansturen van sensoren, displays en LED-modules. Als je een sensor, display of LED-module aansluit, gebruik je meestal een Python-script om deze onderdelen aan te sturen. Voor simpele schakelingen zoals het in- en uitschakelen van een LED kun je ook het bash prompt commando ‘gpio’ gebruiken. In dit stappenplan leggen we uit hoe je een LED aansluit en direct vanuit de bash prompt kunt aansturen. Door leds te koppelen aan de GPIO kun je ze zelfstandig beheren, wat handig is wanneer leds teveel licht geven in een donkere ruimte. Daarnaast komt het onderwerp van dit artikel aan bod in relatie tot het aansturen van thermostaatkranen per kamer via een Raspberry Pi.

Basis: leds en GPIO op Raspberry Pi

Op de Raspberry Pi kun je meerdere leds aansturen. Op de Raspberry Pi 2 kun je beide leds aansturen, op de Raspberry Pi 3 en Zero kun je alleen de power-led aansturen. Met behulp van een WS2801 RGB-ledstrip kun je op eenvoudige wijze een goedkoop alternatief voor Philips Hue-verlichting in elkaar knutselen. Vandaag gaan we een ledstrip met 32 adresseerbare WS2801 RGB leds aansturen. Je kunt deze strips per meter kopen in elektronica winkels of op chinese webshops. De ledstrip bestaat uit een reeks krachtige SMD5050 leds die zeer helder zijn en een mooie kleurintensiteit hebben.

Displays en microcontrollers: mini OLED en I2C

Je kunt een Raspberry Pi voorzien van verschillende LCD-schermen, wat handig is voor systeemmeldingen of voor het uitvoeren van acties. In dit stappenplan gaan we een mini OLED-display (128×32 pixels) aansluiten op de Raspberry Pi, waarbij we gebruikmaken van enkele speciale Python- libraries om het display aan te kunnen sturen via de I2C-interface.

Wereld van adresseerbare LEDs

In de Raspberry Pi en Arduino wereld is het aansturen van leds zeer populair. De leds worden vaak NeoPixel genoemd. Een NeoPixel bestaat uit een aantal adresseerbare WS2812 5050 RGB leds die worden verkocht als strip, ring of matrix. De aansturing van leds in de WS281x-serie kan op een Raspberry Pi met behulp van Python en speciale hiervoor geschreven Adafruit-library. Er zijn projecten waarin men een Raspberry Pi inzet als thermostaat voor verwarming, waarbij leds en displays tools zijn om status en debugging te tonen.

Project: thermostaat per kamer

Het project draait om een Raspberry Pi inrichten als thermostaat voor een cv-installatie. De Pi heeft hiervoor een aantal GPIO-pinnen (3.3V) die aangestuurd kunnen worden. De cv wordt ingeschakeld door twee draadjes die normaal achter de thermostaat uit de muur komen te verbinden. Deze schakeldraad heeft in de uitgeschakelde toestand een spanning van 20V, en in de ingeschakelde toestand loopt hier ongeveer 8,4 mA doorheen. De grote vraag is of je deze circuits het beste gescheiden houdt (via relais of optocoupler) of dat je volstaat met een simpele NPN-transistor. Het project bevat een schematische aanpak met een transistor (bijvoorbeeld 2N2222) als voorbeeld, waarbij de basis direct de 3.3V van de Pi aan kan. De RasPi_GPIO-schakelaar symboliseert de programmeerbare output-pin op de Raspberry Pi.

Verder beschrijft het hoofdstuk de spannings- en stroomomstandigheden aan de cv-kant (V2 en I1) en hoe je dit moet weergeven in een schema. Er worden vragen gesteld over de noodzaak van weerstanden en of de bronnen hun portie opvragen; het idee van galvanische scheiding wordt aangegeven met optocouplers of relais. Er wordt geadviseerd een relais te gebruiken omdat dit 100% betrouwbaarder lijkt, maar er is ook ruimte voor een optocoupler (bijv. ULN2803) of 4N33 als alternatief. Bij mogelijke crashes is het belangrijk om fail-safes te hebben, zoals het parallel plaatsen van een bestaande thermostaat of het gebruik van een modulerende thermostaat.

Veiligheids- en ontwerpsoverwegingen

Een van de belangrijkste aandachtspunten is het voorkomen van schade aan de Pi bij foutieve bedrading of crashende software. Een veelgehoorde aanbeveling is om galvanische scheiding toe te passen tussen de Pi-uitgangen en de cv-schakeling. Relais of optocouplers zijn gebruikelijke oplossingen. Daarnaast wordt benadrukt dat het verstandig is om, indien mogelijk, een thermostaat te kiezen die je met de Pi kunt aansturen, en dat een modulerende thermostaat vaak betere energieresultaten oplevert dan een simpele aan/uit-regeling.

Infographic: Aansturing van een CV-ketel met relais en optocoupler vs directe transistor

Implementatie: stap-voor-stap opzet

Stap 1: Verbind de relais- of optocoupler-schakeling met de cv-rail en de Pi GPIO. Stap 2: Gebruik een transistor (zoals 2N2222) als schakelaar indien je geen galvanische scheiding gebruikt. Stap 3: Beperk de basisstroom met een weerstand wanneer je een transistor gebruikt. Stap 4: Programmeer de Raspberry Pi met Python om de GPIO-uitgangen te sturen en eventueel een webserver te draaien zodat je op afstand kunt schakelen. Stap 5: Test de fail-safes en controleer of de thermostaat bij storingen in een veilige modus blijft. Stap 6: Verbind het display of LEDs voor statusmeldingen zoals huidige temperatuur, doeltemperatuur en systeemstatus.

In de praktijk zul je vaak beginnen met een eenvoudige aan/uit-schakeling voor de cv, waarna je geleidelijk extra functionaliteit toevoegt zoals geofencing, temperatuurregelingen per kamer en automatische modulering afhankelijk van aanwezigheid en tijd van de dag. De combinatie van een Raspberry Pi, sensoren (temperatuur, vocht) en een betrouwbare schakeling (relais of optocoupler) biedt een robuuste basis voor een kamergewijze thermostaatregeling.

Diagram: Raspberry Pi besturingspunt met GPIO, relais en cv-schakeling

Voorbeeldcomponenten en technologieën

  • Raspberry Pi (model B+/3/4) met Raspbian of Raspberry Pi OS
  • GPIO-uitgangen voor aansturing
  • Relais-module of optocoupler (bijv. ULN2803, 4n33)
  • Transistoren (bijv. 2N2222) met basisweerstand
  • Temperatuursensor en eventueel vochtigheidssensor
  • Displayopties: mini OLED (I2C 128x32) of LCD-schermen
  • LED-strips of NeoPixels voor statusindicatoren
Foto: opstelling van Raspberry Pi met relaismodule en cv-kleppen

Praktische overwegingen bij gebruik per kamer

Bij het per-kamer aansturen van thermostaatkranen is modulariteit centraal. Iedere kamer heeft zijn eigen GPIO-poort of microcontroller-modus, zodat de kamerafhankelijkheid beperkt blijft bij softwarefouten. Het gebruik van een modulerende thermostaat of OpenTherm-compatibele interfaces kan energiekosten drastisch verlagen en zorgt voor fijnmazige controle per kamer. Het combineren van een robuuste veiligheidsschakeling met redundantie (bijv. serie/parallel instellingen, backups) helpt bij voorkomen van schade aan de cv-installatie en onbedoelde verlagen of verhogen van temperatuur.

De praktische aanpak die in dit document wordt beschreven, laat zien hoe je een eenvoudige aan/uit-relay- of optocoupler-spouw gebruikt om de cv-keten via de Pi te schakelen, en hoe je dit uitbreidt naar een volwaardige kamergewijze regeling met sensoren en weergave op een display of via een webserver.

Raspberry Pi: Relais mit GPIO steuern (Verkabelung)

Apparatenlijst en kostenoverzicht

Hoewel kosten sterk kunnen variëren, biedt het opzetten van een kamergewijze thermostaat met Raspberry Pi een combinatie van betaalbare onderdelen en open-source software. Het gebruik van bestaande thermostaten in combinatie met een Pi kan eveneens interessant zijn als back-up of uitbreiding van bestaande systemen, waarbij de modulering van de huidige thermostaat behouden blijft. Het project blijft flexibel en uitbreidbaar met extra sensoren, displays en netwerken.

Technische samenvatting

  1. Configureer en test_GPIO-uitgangen voor elke kamer
  2. Kies voor galvanische scheiding (relais of optocoupler) bij elk aansluitpunt naar de cv-installatie
  3. Implementeer veiligheid: fallback-schema en fail-safes bij software-crashes
  4. Integreer sensoren voor temperatuur, vocht en aanwezigheidsdetectie per kamer
  5. Voeg een display of LED-statusindicatie toe voor realtime feedback
  6. Programmeertaken: Python-scripts voor GPIO-bediening en (optioneel) een webserver voor controle op afstand

tags: #thermostaatkranen #aansturen #via #raspberry #pi #per