Raspberry Pi - Koelsysteem met DS18B20 Temperatuursensor

Deze handleiding legt uit hoe u de temperatuur regelt met behulp van een Raspberry Pi, een ventilator en een DS18B20 temperatuursensor.

Als u liever een DHT11 of DHT22 sensor gebruikt in plaats van de DS18B20, zie dan Raspberry Pi - Koelsysteem met DHT Sensor.

Hardware Benodigd

1×Raspberry Pi 5
1×DS18B20 Temperatuursensor (MET adapter)
1×DS18B20 Temperatuursensor (ZONDER adapter)
1×4,7 kΩ weerstand
1×Relais
1×12V DC Koelventilator
1×(Alternatief) 5V DC Koelventilator
1×12V Voedingsadapter
1×DC Voedingsconnector
1×Jumper Draden
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Over Koelventilator en DS18B20 Temperatuursensor

De ventilator die in deze handleiding wordt gebruikt, vereist een 12V voeding. Als er spanning wordt geleverd, gaat de ventilator aan; anders blijft hij uit. Om de ventilator met de Raspberry Pi te kunnen besturen, moet er een relais tussen worden geplaatst.

Als u niet bekend bent met temperatuursensoren en ventilatoren (hun pinout, werking, programmering, etc.), kunnen de volgende tutorials u helpen:

Aansluitschema

Raspberry Pi koelsysteem ventilator DS18B20 aansluitdiagram

This image is created using Fritzing. Click to enlarge image

Wij adviseren om een DS18B20 sensor met bijbehorende adapter aan te schaffen voor een eenvoudige installatie. Deze adapter bevat een geïntegreerde weerstand, waardoor een extra weerstand in de bekabeling niet nodig is.

Hoe het Systeem Werkt

  • De Raspberry Pi leest de temperatuur uit de temperatuursensor.
  • Is de temperatuur hoger dan de ingestelde maximumwaarde, dan schakelt de Raspberry Pi de ventilator aan.
  • Daalt de temperatuur onder de ingestelde minimumwaarde, dan schakelt de Raspberry Pi de ventilator uit.

Deze cyclus wordt continu herhaald.

Wilt u de ventilator in- en uitschakelen bij exact dezelfde temperatuurwaarde, stel dan de boven- en ondergrens op hetzelfde getal in.

Raspberry Pi Code voor Koelsysteem met DS18B20 Sensor

Laten we de code schrijven waarmee de Raspberry Pi de ventilator laat starten wanneer de temperatuur hoger is dan 25°C en blijft draaien totdat de temperatuur daalt onder 20°C.

Snelstart

  • Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi hebt geïnstalleerd.
  • Controleer of uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
  • Zorg dat uw Raspberry Pi internettoegang heeft indien u extra libraries moet installeren.
  • Is dit de eerste keer dat u een Raspberry Pi gebruikt? Bekijk dan de handleiding Raspberry Pi aan de slag.
  • Verbind uw pc via SSH met de Raspberry Pi, gebruikmakend van de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u uw pc verbindt met de Raspberry Pi via SSH.
  • Zorg dat de RPi.GPIO library geïnstalleerd is. Als dat niet zo is, installeer deze dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Voordat u de DS18B20 temperatuursensor met de Raspberry Pi gebruikt, moet u de 1-Wire interface op de Raspberry Pi inschakelen. Zie Hoe u de 1-Wire interface op Raspberry Pi inschakelt.
  • Installeer de library voor de DS18B20 temperatuursensor door het volgende commando uit te voeren:
pip install w1thermsensor
  • Maak een Python scriptbestand aan met de naam cooling.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/tutorials/raspberry-pi/raspberry-pi-cooling-system-using-ds18b20-temperature-sensor from w1thermsensor import W1ThermSensor import RPi.GPIO as GPIO import time # Constants THRESHOLD_ON = 25 # Upper threshold of temperature, change to your desired value THRESHOLD_OFF = 20 # Lower threshold of temperature, change to your desired value FAN_PIN = 21 # GPIO pin connected to relay, change to your desired GPIO pin # Setup GPIO.setmode(GPIO.BCM) GPIO.setup(FAN_PIN, GPIO.OUT) def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None def read_temperature(sensor): try: temperature_celsius = sensor.get_temperature() return temperature_celsius except Exception as e: print(f"Error reading temperature: {e}") return None def control_fan(temperature): if temperature is not None: if temperature > THRESHOLD_ON: print("The fan is turned on") GPIO.output(FAN_PIN, GPIO.HIGH) elif temperature < THRESHOLD_OFF: print("The fan is turned off") GPIO.output(FAN_PIN, GPIO.LOW) # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: temperature = read_temperature(ds18b20_sensor) control_fan(temperature) time.sleep(0.5) except KeyboardInterrupt: pass finally: GPIO.cleanup() else: print("DS18B20 Sensor not found.")
  • Sla het bestand op en voer het Python-script uit met het volgende commando in de terminal:
python3 cooling.py

Het script loopt oneindig door totdat u Ctrl + C indrukt in de terminal.

  • Verander de temperatuur in de omgeving van de sensor.
  • Controleer de status van de ventilator via de Serial Monitor.

Gevorderde Kennis

Deze regelingsmethode wordt een aan-uit regelaar genoemd, ook wel signaalregelaar of "bang-bang" controller. Het is eenvoudig om deze methode te implementeren.

Een alternatieve benadering is de PID-controller. Deze methode is stabieler voor temperatuurregeling, maar is complex en lastig te begrijpen en te implementeren. Daarom wordt de PID-controller niet veel gebruikt.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap bij de installatie en programmering.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!