Arduino - Système de chauffage

Dans ce tutoriel, nous allons contrôler la température d'une pièce en utilisant un élément chauffant et un capteur de température DS18B20. Lorsque la température est trop basse, allumez l'élément chauffant. Lorsque la température est chaude, éteignez l'élément chauffant. Vous pouvez également adapter le code pour d'autres capteurs de température tels que DHT11 ou DHT22, LM35 à la place du capteur DS18B20.

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×Heating Element
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.

Sur l'élément chauffant et le capteur de température DS18B20

L'élément chauffant utilisé dans ce tutoriel utilise l'alimentation 12v. Si de l'énergie est fournie à l'élément chauffant, celui-ci émet de la chaleur. Pour contrôler l'élément chauffant par Arduino, nous devons utiliser un relais intermédiaire.

Si vous ne connaissez pas les capteurs de température et les éléments chauffants (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Diagramme de câblage

  • Schéma de câblage avec planche à pain
Schéma de câblage du système de chauffage 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 chauffage avec contrôle de température par Arduino.

This image is created using Fritzing. Click to enlarge image

Comment fonctionne le système

  • Arduino lit la température à partir du capteur de température
  • Si la température descend en dessous d'un seuil inférieur, Arduino active les éléments chauffants
  • Si la température monte au-dessus d'un seuil supérieur, Arduino éteint l'élément chauffant

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

Code Arduino pour 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-heating-system */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 2 // Arduino pin connected to DS18B20 sensor's DQ pin #define RELAY_PIN A5 // Arduino pin connected to relay which connected to heating element const int TEMP_THRESHOLD_UPPER = 20; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 15; // lower threshold of temperature, change to your desire value 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_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 heating element is turned off"); digitalWrite(RELAY_PIN, LOW); // turn off } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The heating element is turned on"); digitalWrite(RELAY_PIN, HIGH); // turn on } delay(500); }

Dans le code ci-dessus, l'Arduino active l'élément chauffant lorsque la température passe sous les 15°C et maintient l'élément chauffant allumé jusqu'à ce que la température dépasse les 20°C.

Étapes rapides

  • Connectez l'Arduino au PC via un câble USB
  • Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
  • Accédez à l'icône Libraries sur la barre gauche de l'Arduino IDE.
  • 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 sur l'IDE Arduino pour téléverser le code sur Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Vérifiez la température de l'élément chauffant et de votre pièce

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 le contrôle de température.

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