ESP32 - Koelsysteem met DS18B20 Temperatuursensor

Deze tutorial legt uit hoe u een koelsysteem maakt met ESP32, de DS18B20 temperatuursensor en een ventilator. In detail:

Hardware Vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
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 Voedingadapter
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Optioneel) DC Power Jack
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

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

We hebben specifieke tutorials over de DS18B20 temperatuursensor en ventilator. Elke tutorial bevat uitgebreide informatie en stapsgewijze instructies over hardware-pinout, werkingsprincipe, aansluitingen naar ESP32 en ESP32 code... Leer meer over deze modules via de volgende links:

Aansluitschema

  • Aansluitschema met breadboard (experimenteerprint)
ESP32 temperatuursensor koelsysteem aansluitdiagram

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema met adapter (aanbevolen)
ESP32 DS18B20 ventilator Aansluitschema

This image is created using Fritzing. Click to enlarge image

Voor een makkelijker aansluiting wordt aanbevolen een DS18B20 sensor te kopen die wordt geleverd met een aansluitadapter met ingebouwde weerstand, zodat een extra weerstand in de bedrading niet nodig is.

Hoe Werkt het Systeem

  • De ESP32 leest de temperatuur uit van de DS18B20 temperatuursensor
  • Als de temperatuur boven een hogere drempelwaarde komt, schakelt de ESP32 de ventilator automatisch aan
  • Als de temperatuur onder een lagere drempelwaarde zakt, schakelt de ESP32 de ventilator automatisch uit

ESP32 blijft continu de temperatuur controleren.

De lagere en hogere drempelwaarden kunnen dezelfde waarde zijn.

ESP32 Code

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin #define RELAY_FAN_PIN 18 // ESP32 pin GPIO18 connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if (temperature > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the fan on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the fan off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off } delay(500); }

De bovenstaande ESP32 code schakelt automatisch de ventilator aan zodra de temperatuur boven de 30°C komt, en houdt de ventilator aan tot de temperatuur weer onder de 15°C is.

Snelle Stappen

  • Als dit de eerste keer is dat u met ESP32 werkt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals in bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en de corresponderende COM-poort.
  • Klik op het Libraries icoon in de linker zijbalk van de Arduino IDE.
  • Zoek in het zoekvak naar “DallasTemperature” en zoek vervolgens de DallasTemperature bibliotheek van Miles Burton.
  • Klik op de Installeren knop om de DallasTemperature bibliotheek te installeren.
ESP32 Dallas Temperature bibliotheek
  • U wordt gevraagd om de afhankelijkheid te installeren. Klik op de Alles installeren knop om de OneWire bibliotheek te installeren.
ESP32 onewire bibliotheek
  • Kopieer de bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar de ESP32 door op de Upload knop te klikken in Arduino IDE.
  • Maak de sensor kouder of warmer. Bijvoorbeeld door de sensor naast een hete kop koffie te plaatsen.
  • Controleer de status van de ventilator.

Gevorderde Kennis

  • Het algoritme dat in deze tutorial wordt gebruikt om de temperatuur te regelen heet de on-off controller (ook bekend als de "bang-bang" controller of signaalgever). Dit algoritme is eenvoudig te implementeren en werkt goed bij temperatuurregeling.
  • Een alternatief voor dit algoritme is de PID-controller. De PID-controller maakt de gewenste temperatuur stabieler. Het is echter moeilijk te begrijpen en te implementeren. Daarom wordt de PID-controller niet veel gebruikt bij temperatuurregeling.

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 door het proces.

※ 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!