Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Thermomètre extérieur avec tendance, température maximale et minimale

Composants et fournitures

Arduino UNO
× 1
Capteur de température de précision TS-NTC-103, 10 kΩ
× 1
Adafruit Standard LCD - 16x2 Blanc sur Bleu
× 1
Alimentation RobotGeek 12VDC 2.0A - US
× 1
Condensateur 100 nF
× 2
Condensateur 470 µF
× 1
Résistance à film métallique tolérance 10k 0,1%
× 1
bouton poussoir (normalement éteint)
× 1
Potentiomètre rotatif (générique)
× 1
Résistance 10k ohm
× 1

À propos de ce projet

Présentation

J'ai fait ce thermomètre pour le plaisir, mais aussi pour acquérir une certaine expérience avec l'écriture de logiciels Arduino et avec l'utilisation d'un écran LCD. En travaillant dessus, j'ai décidé d'ajouter quelques fonctionnalités. Température maximale mesurée, température minimale et une flèche vers le haut ou vers le bas sur l'écran indiquant la tendance de la température. Un bouton poussoir permet de réinitialiser la température min et max affichée à la température actuelle.

Comment le construire

Sa construction est assez simple. Connectez les composants comme indiqué dans le programme. La sortie 5V de l'Arduino Uno doit être reliée à toutes les connexions +5V (flèches). Interconnectez également toutes les broches de masse. Le thermomètre est alimenté par une alimentation externe de 12 V DC connectée à l'Arduino. Téléchargez le croquis et téléchargez-le sur votre Arduino et vous avez terminé.

Ce dont vous avez besoin :

  • Arduino Uno
  • Écran LCD 1602A
  • Alimentation 12 V CC
  • B+B Thermo Technik TS-NTC-103 (10kΩ)
  • Résistance à film métallique 10kΩ, tolérance 0,1%
  • potmètre 10kΩ linéaire
  • Résistance 820 Ω (tolérance sans importance, 10 %, 5 % ou mieux)
  • Résistance 10 kΩ (tolérance sans importance)
  • Condensateur 0,1 uF (=100nF) 16V (2 pièces)
  • Elco 470 uF 16 V
  • bouton poussoir (normalement éteint)
  • Enclos si vous souhaitez l'intégrer

Le capteur, un NTC de haute précision

Le NTC que j'utilise est un capteur de température de précision de B+B Thermo Technik de 10 kΩ. Ce capteur a une tolérance de résistance à 25 °C de ±0,5% Les capteurs de température NTC de la série TS-NTC ont une large plage de mesure de -60 ... +150 °C et conviennent donc aux applications où maintenant on utilisait des résistances en platine coûteuses. La résistance de base ainsi que la valeur B se situent dans une tolérance de ±0,5%, de sorte que le composant peut être utilisé dans de nombreuses applications sans étalonnage de la température et peut également être remplacé sans réajustement. Par conséquent, au moyen d'une simple mesure de résistance, une précision de ± 0,12 K à 25 °C peut être atteinte de cette manière. Dans la plage de température de -60 ...+85 °C, l'erreur maximale est d'environ ±0,5K. Vous pouvez utiliser n'importe quel autre NTC de haute précision, mais vous devrez ensuite modifier les coefficients Steinhart-Hart dans le croquis pour les adapter à ce NTC (voir l'approximation Steinhart-Hart.)

Évidemment, pour les mesures de température de haute précision, l'autre résistance du diviseur de tension, en série avec le NTC, doit également être du type à faible tolérance. J'ai utilisé une résistance à film métallique de 10kΩ, tolérance 0,1%, 0,6W, coefficient de température 25 ppm. Toute autre résistance avec une tolérance de 0,5% ou moins fera l'affaire.

Câble NTC captant le bruit

Le NTC est placé à l'extérieur de la maison. Dans mon cas avec quelques mètres de câble. Pour éviter les interférences d'autres équipements électriquement «bruyants» dans la maison, j'ai placé un condensateur de découplage de 0,1 uF de l'entrée de température analogique de l'Arduino Uno (broche 14) à la terre. L'oscilloscope a encore montré du bruit sur la broche 14 après cela. Le bruit a été causé par l'horloge de l'écran LCD 1602. Il a disparu après qu'un condensateur de découplage de 0,1 uF a été placé entre le VDD et la broche Vss de l'écran LCD. Ce condensateur doit être soudé directement sur la carte PC LCD avec des fils aussi courts que possible (1 cm au maximum.)

L'oscilloscope a montré que le signal sur la broche 14 était propre après cela. Pour éviter le bruit et les ondulations de l'alimentation à découpage, j'ai placé un elco de 470 uF entre le 5V et la masse de l'Arduino

Pose du NTC

Pour éviter des mesures de température erronées, le NTC et son boîtier ne doivent jamais être exposés au soleil. Il faut donc le placer à l'ombre, de préférence du côté nord de la maison (côté sud si vous êtes dans l'hémisphère sud) ou même loin de la maison. Pas serré contre le mur, mais au moins quelques mm à l'extérieur du mur, car le mur peut être de quelques degrés plus chaud que l'air extérieur. Et de préférence un mur sans chauffage derrière comme le mur du garage.

A propos du logiciel.

La bibliothèque LiquidCrystal est incluse pour les 1602 commandes LCD. Plusieurs constantes et variables sont déclarées. Veuillez lire les commentaires dans le sketch pour plus d'informations. A, B et C sont les coefficients Steinhart - Hart pour le NTC que j'utilise. Pour les autres NTC, vous devez modifier ces coefficients. L'intervalle entier de la ligne 17 définit le temps entre deux mesures successives, qui est de 3 secondes. Afin d'obtenir un déroulement régulier de la mesure de température, une moyenne glissante est calculée sur 30 mesures successives (numReadings sur la ligne 22). Par conséquent, la température affichée est toujours la moyenne de la température des 90 dernières secondes. Pour le calcul de la moyenne courante, un tableau est utilisé :lectures[numLectures] ou dans ce cas lectures[30] à la ligne 21. Chaque lecture est un entier compris entre 0 et 1023.

Approximation de Steinhart-Hart

Un NTC (Coefficient de Température Négatif) est une résistance avec une résistance dépendante de la température. La résistance diminue si la température augmente. Malheureusement, la relation entre la résistance et la température n'est pas linéaire. Mais la courbe R-T peut être approximée par une formule. En pratique, deux formules d'approximation sont utilisées. La formule dite Beta et la formule Steinhart-Hart. Puisque ce dernier donne la meilleure approximation, c'est celui que j'utilise. Souvent, le fabricant nous donne des valeurs pour les deux approximations. Cependant, le TS-NTC-103 peut être utilisé dans une large plage de températures de -60 à +150 degrés Celsius. Étant donné que nous l'utilisons dans une plage beaucoup plus petite d'env. -10...+30 degrés Celsius, nous obtenons une meilleure approximation si nous calculons nous-mêmes les coefficients spécialement pour cette plage. J'ai utilisé trois paires résistance-température des spécifications du fabricant dans notre plage de travail (-10, 0 et +20 degrés Celsius). Il est simple de calculer les coefficients avec le calculateur en ligne de Stanford Research Systems. Dans le diagramme ci-dessous, vous voyez les données (points rouges) l'approximation du modèle Beta et l'approximation Steinhart-Hart. Dans le coin inférieur droit, vous voyez qu'avec une valeur de résistance de 10k, la température approximative est de 25 035 degrés Celsius avec l'approximation Steinhart-Hart, ce qui est plutôt bon, et de 25 7716 degrés Celsius avec l'approximation Beta, ce qui est nettement moins bon (le NTC est de 10k à 25 degrés Celsius)

Lien vers le calculateur NTC

Code

Arduino
La version 1.4 résout un problème de convention dans la déclaration de fonction PrintPG() qui provoquait une erreur de compilation dans l'éditeur hors ligne mais aucun problème dans l'éditeur Web. La version 1.3 inclut l'hystérésis pour la flèche de tendance

Schémas


Processus de fabrication

  1. Contrôle d'accès avec QR, RFID et vérification de la température
  2. Mesure des températures avec un capteur DS18B20 1 fil et Raspberry Pi
  3. Lire la température avec DS18B20 | Raspberry Pi 2
  4. Mesure de la température avec RASPBERRY PI
  5. Capteur de température Python et Raspberry Pi
  6. Température et humidité faciles sur Raspberry Pi
  7. Contrôle de la température avec Raspberry Pi
  8. DIY :surveillance et régulation de la température pour HomeBrew
  9. Surveillance de la température ambiante contrôlée par Raspberry Pi avec sortie d'image Gnuplot et capacité d'alerte par e-mail