Arduino - Système de refroidissement utilisant le capteur de température DS18B20

Dans ce tutoriel, nous allons contrôler la température à l'aide d'un ventilateur et d'un capteur de température DS18B20. Lorsque la température est trop élevée, allumez le ventilateur de refroidissement. Lorsque la température est fraîche, éteignez le ventilateur de refroidissement. Si vous souhaitez utiliser un DHT11 ou un DHT22 au lieu du capteur DS18B20, consultez Arduino - Système de refroidissement utilisant un capteur DHT.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×4.7 kΩ resistor
1×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

À propos du ventilateur de refroidissement et du capteur de température DS18B20

Le ventilateur de refroidissement utilisé dans ce tutoriel utilise une alimentation de 12 volts. Si l'alimentation est assurée pour le ventilateur, le ventilateur fonctionne et vice versa. Pour contrôler le ventilateur par Arduino, nous devons utiliser un relais intermédiaire.

Si vous ne connaissez pas les capteurs de température et les ventilateurs (brochage, fonctionnement, programmation...), renseignez-vous sur ces derniers dans les tutoriels suivants :

Diagramme de câblage

  • Schéma de câblage avec plaque d'essai
Schéma de câblage du système de ventilateur de refroidissement Arduino

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage avec adaptateur (recommandé)
Schéma de câblage du système de ventilation commandé par un capteur de température Arduino

This image is created using Fritzing. Click to enlarge image

Nous suggérons l'achat d'un capteur DS18B20 qui est équipé d'un adaptateur de câblage pour une connexion facile. L'adaptateur inclut une résistance intégrée, ce qui élimine le besoin d'une résistance séparée dans le câblage.

Comment fonctionne le système

  • Arduino lit la température à partir du capteur de température
  • Si la température dépasse un seuil supérieur, Arduino active le ventilateur
  • Si la température descend en dessous d'un seuil inférieur, Arduino éteint le ventilateur

Le processus ci-dessus est répété indéfiniment dans la boucle.

Si vous souhaitez activer et désactiver le ventilateur lorsque la température est respectivement supérieure et inférieure à une valeur spécifique, il vous suffit de régler le seuil supérieur et le seuil inférieur à la même valeur.

Code Arduino pour un système de refroidissement avec capteur DS18B20

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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); }

Dans le code ci-dessus, l'Arduino active le ventilateur lorsque la température dépasse 25°C et maintient le ventilateur en marche jusqu'à ce que la température soit inférieure à 20°C.

Étapes rapides

  • Connectez l'Arduino au PC via un câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la carte et le port appropriés
  • Accédez à l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
  • Recherchez "DallasTemperature", puis trouvez la bibliothèque DallasTemperature de Miles Burton.
  • Cliquez sur le bouton Install pour installer la bibliothèque DallasTemperature.
Bibliothèque de température Dallas Arduino
  • On vous demandera d'installer la dépendance de la bibliothèque.
  • Cliquez sur le bouton Install All pour installer la bibliothèque OneWire.
Bibliothèque onewire Arduino
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Observez l'état du ventilateur

Connaissances avancées

La méthode de contrôle ci-dessus est le régulateur tout ou rien, également connu sous le nom de signalisateur ou régulateur "bang-bang". Cette méthode est très simple à mettre en œuvre.

Il existe une méthode alternative appelée le régulateur PID. Avec le régulateur PID, la température souhaitée est plus stable mais très difficile à comprendre et à mettre en œuvre. Par conséquent, le régulateur PID n'est pas populaire dans la régulation de température.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!