Arduino - Koelsysteem met DS18B20 Temperatuursensor

In deze tutorial gaan we de temperatuur regelen met een ventilator en de DS18B20 temperatuursensor. Wanneer de temperatuur te hoog is, zetten we de koelingsventilator aan. Wanneer de temperatuur weer lager is, schakelen we de ventilator uit. Wilt u in plaats van de DS18B20 sensor liever een DHT11 of DHT22 gebruiken, bekijk dan Arduino - Koelsysteem met DHT Sensor.

Hardware Vereist

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
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×Jumperdraden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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 in deze tutorial gebruikte koelventilator werkt op een 12V voeding. Wanneer er spanning op de ventilator wordt gezet, start deze; wanneer de spanning wegvalt, stopt de ventilator. Om de ventilator via Arduino te kunnen besturen, gebruiken we een relais als schakelaar tussen de Arduino en de ventilator.

Als u nog niet bekend bent met temperatuursensoren en ventilatoren (pinout, werking, programmeren, enzovoorts), raden we aan om de volgende tutorials te bekijken:

Pinout

De pinout-informatie van de DS18B20 temperatuursensor en het relais vindt u in bovenstaande tutorials. Gebruik deze om de juiste aansluiting te maken voor het koelsysteem.

Bedradingsschema

  • Bedradingsschema met breadboard (experimenteerprint)
Arduino koelsysteem ventilator bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Bedradingsschema met adapter (aanbevolen)
Arduino temperatuursensor bestuurt ventilator bedradingsschema

This image is created using Fritzing. Click to enlarge image

Wij raden aan een DS18B20 sensor met een draadadapter te gebruiken voor een eenvoudige aansluiting. De adapter bevat een ingebouwde weerstand, zodat een aparte weerstand in de bedrading niet nodig is.

Hoe het Systeem Werkt

  • Arduino leest de temperatuur uit de temperatuursensor
  • Als de temperatuur boven een ingestelde hogere drempel komt, schakelt Arduino de ventilator aan
  • Als de temperatuur onder een ingestelde lagere drempel daalt, schakelt Arduino de ventilator uit

Dit proces wordt continu in de loop herhaald.

Wilt u dat de ventilator aan gaat bij een temperatuur boven een bepaalde waarde en uit gaat onder diezelfde waarde, dan stelt u de hogere en lagere drempel beide in op diezelfde temperatuur.

Arduino Code voor Koelsysteem met DS18B20 sensor

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // Arduino pin connected to DS18B20 sensor's DQ pin const int RELAY_FAN_PIN = A5; // Arduino pin connected to relay which connected to fan OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial sensors.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { sensors.requestTemperatures(); // send the command to get temperatures temperature = sensors.getTempCByIndex(0); // read temperature in Celsius if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } delay(500); }

In bovenstaande code schakelt Arduino de ventilator aan wanneer de temperatuur boven 25°C komt, en blijft de ventilator aan totdat de temperatuur onder de 20°C valt.

Snelle Stappen

  • Verbind de Arduino met de PC via de USB-kabel
  • Open de Arduino IDE, selecteer het juiste bord en de juiste poort
  • Navigeer naar het Libraries icoon in de linker balk van de Arduino IDE
  • Zoek op “DallasTemperature” en vind de DallasTemperature library van Miles Burton
  • Klik op de Installeren knop om de DallasTemperature library te installeren
Arduino Dallas Temperature library
  • U wordt gevraagd om de afhankelijkheid van de library te installeren
  • Klik op de Installeer Alles knop om de OneWire library te installeren
Arduino OneWire library
  • Kopieer de bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop om de code naar de Arduino te uploaden
  • Maak de omgeving rond de sensor warmer of kouder
  • Observeer de status van de ventilator

Geavanceerde Kennis

De hierboven gebruikte regelmethode is een aan-uit regelaar, ook wel een signaal- of "bang-bang" regelaar genoemd. Deze methode is eenvoudig te implementeren.

Er is een alternatief genaamd de PID-regelaar. Met een PID-regelaar wordt de gewenste temperatuur stabieler gehouden, maar het begrijpen en implementeren ervan is veel ingewikkelder. Daarom is de PID-regelaar minder populair voor 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 die u kunnen helpen bij het opzetten en begrijpen van het koelsysteem.

Reacties

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