Catégories: Circuits microcontrôleurs
Nombre de fois vus: 9996
Commentaires sur l'article: 0

Mesurer la température et l'humidité sur Arduino - une sélection de méthodes

 

Pour créer une station météo domestique ou un thermomètre, vous devez apprendre à associer la carte Arduino et un appareil pour mesurer la température et l'humidité. La mesure de la température peut être traitée à l'aide d'une thermistance ou d'un capteur numérique DS18B20, mais pour mesurer l'humidité utiliser des appareils plus complexes - capteurs DHT11 ou DHT22. Dans cet article, nous allons vous montrer comment mesurer la température et l'humidité à l'aide de l'Arduino et de ces capteurs.

Mesurer la température et l'humidité sur Arduino - une sélection de méthodes

Mesure de thermistance

La façon la plus simple de déterminer la température est d'utiliser thermistance. Il s'agit d'un type de résistance dont la résistance dépend de la température ambiante. Il existe des thermistances à coefficient de résistance de température positif et négatif - les thermistances PTC (également appelées posistors) et NTC, respectivement.

Dans le graphique ci-dessous, vous voyez la dépendance à la température de la résistance. La ligne pointillée montre la dépendance pour une thermistance TCS négative (NTC) et la ligne continue pour une thermistance TCS positive (PTC).

Dépendance à la température de la résistance

Que voyons-nous ici? La première chose qui attire votre attention est que le calendrier de la thermistance PTC est cassé et il sera difficile, voire impossible, de mesurer un certain nombre de valeurs de température, mais le calendrier de la thermistance NTC est plus ou moins uniforme, bien qu'il soit clairement non linéaire. Qu'est-ce que cela signifie? L'utilisation d'une thermistance NTC est plus facile à mesurer la température, car il est plus facile de découvrir la fonction par laquelle ses valeurs changent.

Pour convertir la température en résistance, vous pouvez prendre manuellement les valeurs, mais cela est difficile à faire à la maison et vous avez besoin d'un thermomètre pour déterminer les valeurs réelles de la température du milieu. Dans les fiches techniques de certains composants, un tel tableau est donné, par exemple, pour une série de thermistances NTC de Vishay.

Thermistances Datashit Vishay TC

Ensuite, vous pouvez organiser la traduction à travers les branches en utilisant la fonction if ... else ou switchcase. Cependant, s'il n'y a pas de tels tableaux dans les fiches techniques, vous devez calculer la fonction par laquelle la résistance change avec l'augmentation de la température.

Pour décrire ce changement, l'équation de Steinhart-Hart existe.

Équation de Steinhart-Hart

où A, B et C sont les constantes de thermistance déterminées en mesurant trois températures avec une différence d'au moins 10 degrés Celsius. En même temps, différentes sources indiquent que pour une thermistance NTC 10 kΩ typique, elles sont égales à:

Constantes de thermistance

B - coefficient bêta, il est calculé sur la base de la mesure de la résistance pour deux températures différentes. Il est indiqué soit dans la fiche technique (comme illustré ci-dessous), soit calculé indépendamment.

B - coefficient bêta de la fiche technique

Dans ce cas, B est indiqué sous la forme:

rapport bêta

Cela signifie que le coefficient a été calculé en fonction des données obtenues lors de la mesure de la résistance à des températures de 25 et 100 degrés Celsius, et c'est l'option la plus courante. Ensuite, il est calculé par la formule:

B = (ln (R1) - ln (R2)) / (1 / T1 - 1 / T2)

Un schéma de connexion typique d'une thermistance à un microcontrôleur est illustré ci-dessous.

Schéma de connexion de la thermistance au microcontrôleur

Ici, R1 est une résistance constante, la thermistance est connectée à la source d'alimentation et les données sont prises à partir du milieu entre elles, le diagramme indique conditionnellement que le signal est fourni à la broche A0 - ce entrée analogique Arduino.

Schéma de connexion de la thermistance au microcontrôleur

Pour calculer la résistance d'une thermistance, vous pouvez utiliser la formule suivante:

R de la thermistance = R1⋅ ((Vcc / Voutput) -1)

Pour traduire dans une langue compréhensible pour l'arduino, vous devez vous rappeler que l'arduino a un ADC 10 bits, de sorte que la valeur numérique maximale du signal d'entrée (tension 5V) sera 1023. Ensuite, conditionnellement:

  • Dmax = 1023;

  • D est la valeur réelle du signal.

Ensuite:

R de la thermistance = R1⋅ ((Dmax / D) -1)

Maintenant, nous utilisons cela pour calculer la résistance, puis calculer la température de la thermistance en utilisant l'équation bêta dans un langage de programmation pour Arduino. Le croquis sera comme ceci:

Esquisse

DS18B20

Encore plus populaire pour mesurer la température avec.Arduino a trouvé un capteur numérique DS18B20. Il communique avec le microcontrôleur via l'interface 1 fil, vous pouvez connecter plusieurs capteurs (jusqu'à 127) à un fil, et pour y accéder, vous devrez trouver l'ID de chacun des capteurs.

Remarque: vous devez connaître l'ID même si vous n'utilisez qu'un seul capteur.

Capteur numérique DS18B20

Le schéma de connexion du capteur ds18b20 à Arduino ressemble à ceci:

Schéma de connexion du capteur ds18b20 à Arduino
Schéma de connexion du capteur ds18b20 à Arduino

Il existe également un mode d'alimentation parasite - son schéma de connexion ressemble à ceci (vous avez besoin de deux fils au lieu de trois):

Diagramme de connexion du capteur Arduino

Dans ce mode, le bon fonctionnement n'est pas garanti lors de la mesure de températures supérieures à 100 degrés Celsius.

Le capteur de température numérique DS18B20 se compose d'un ensemble complet de nœuds, comme tout autre SIMS. Vous pouvez regarder son appareil interne ci-dessous:

Capteur de température numérique DS18B20

Pour l'utiliser, vous devez télécharger la bibliothèque Onewire pour Arduino, et pour le capteur lui-même, il est recommandé d'utiliser la bibliothèque DallasTemperature.

Esquisse

Cet exemple de code montre les bases du travail avec 1 capteur de température, le résultat en degrés Celsius est émis via le port série après chaque lecture.


DHT11 et DHT22 - capteurs d'humidité et de température

DHT11 et DHT22 - capteurs d'humidité et de température

Ces capteurs sont populaires et souvent utilisés pour mesurer l'humidité et la température ambiante. Dans le tableau ci-dessous, nous avons indiqué leurs principales différences.

 
DHT11
DHT22
Détermination de l'humidité dans la plage
20-80%
0-100%
Précision de mesure
5%
2-5%
Détermination de la température
0 ° C à + 50 ° C
-40 ° C à + 125 ° C
Précision de mesure
2,5%
plus ou moins 0,5 degrés Celsius
Fréquence d'interrogation
1 fois par seconde
1 fois en 2 secondes
Schéma de connexion du capteur d'humidité à Arduino

Le schéma de connexion est assez simple:

  • 1 conclusion - nutrition;

  • 2 conclusion - données;

  • 3 conclusion - non utilisé;

  • 4 conclusion - le fil général.

Si vous avez un capteur sous forme de module, il aura trois sorties, mais vous n'avez pas besoin de résistance - il est déjà soudé à la carte.

Schéma de raccordement du capteur d'humidité sous forme de module à arduino

Pour le travail, nous avons besoin de la bibliothèque dht.h, elle n'est pas dans le jeu standard, elle doit donc être téléchargée et installée dans le dossier des bibliothèques dans le dossier avec l'arduino IDE. Il prend en charge tous les capteurs de cette famille:

  • DHT 11;

  • DHT 21 (AM2301);

  • DHT 22 (AM2302, AM2321).

Exemple d'utilisation de la bibliothèque:

Exemple d'utilisation de la bibliothèque

Conclusion

De nos jours, créer votre propre station de mesure de la température et de l'humidité est très simple grâce à la plateforme Arduino. Le coût de tels projets est de 3-4 cents roubles. Pour la durée de vie de la batterie, et non la sortie vers un ordinateur, peut être utilisé affichage des caractères (nous les avons décrits dans un article récent), vous pouvez alors construire un appareil portable à utiliser à la maison et dans la voiture. Écrivez dans les commentaires ce que vous aimeriez apprendre d'autre sur l'artisanat artisanal simple sur arduino!

Voir aussi sur ce sujet:Capteurs populaires pour Arduino - connexion, diagrammes, croquis

Voir aussi sur e.imadeself.com:

  • Capteurs les plus populaires pour Arduino
  • Connexion de capteurs analogiques à Arduino, lecture de capteurs
  • L'utilisation du pont de Wheatstone pour mesurer des quantités non électriques
  • Capteurs de température. Deuxième partie Thermistances
  • Capteurs d'humidité - comment ils sont disposés et fonctionnent

  •