Question:
Impossible d'obtenir une lecture précise avec le capteur de température PT100
Muhamed Krlić
2013-12-11 00:53:33 UTC
view on stackexchange narkive permalink

J'essaie d'obtenir une valeur de température plus précise à partir du capteur PT100 (2 fils) avec Arduino.

Voici à quoi ressemble mon circuit:

Circuit

Lorsque le capteur est à environ 20 ° CI, obtenez une valeur sur la broche A5 qui est de 432 et lorsque le capteur est à environ 30 ° CI, obtenez une valeur sur la broche A5 qui est de 440. Comme vous pouvez le voir, c'est une très petite plage ( 432 - 440).

Je veux une plage de signaux analogiques plus large, comme de 100 à 1000.

Peut-être que je peux d'une manière ou d'une autre obtenir la résistance de PT100 et avec une formule mathématique pour obtenir le température.

Que puis-je faire avec mon circuit pour obtenir une lecture de température plus précise?

Cinq réponses:
Joe Hass
2013-12-11 01:21:27 UTC
view on stackexchange narkive permalink

Vous ne pouvez pas obtenir des lectures plus précises avec un RTD directement connecté au convertisseur A / N de l'Arduino. Pour obtenir des lectures plus précises, vous devez placer le RTD dans un pont et utiliser un amplificateur d'instrumentation pour développer un signal plus grand.

alexan_e
2013-12-11 01:22:29 UTC
view on stackexchange narkive permalink

Vous pouvez utiliser un IC externe qui se charge de lire le capteur et ensuite obtenir le résultat numériquement, par exemple MAX31865

Peut-être que je pourrais d'une manière ou d'une autre obtenir la résistance de PT100 et avec une formule mathématique obtenir la température?

Vous pouvez trouver des tableaux de résistance sur Internet, vous pouvez créer un tableau en flash et utiliser l'interpolation pour calculer le température basée sur la résistance obtenue.

martinm
2013-12-11 12:06:37 UTC
view on stackexchange narkive permalink

Tout d'abord, si vous voulez obtenir de la précision avec un PT100, vous devez utiliser une version 4 fils et non 2.

Dans une version 4 fils, une paire sert à "alimenter" le PT100, le second est utilisé pour mesurer la chute de tension dans le PT100. De cette façon, la chute de tension dans le câble est minimale: puisque V = RI et I est presque nul dans la paire de mesure, pas de chute de tension. Cela étant dit, comme le PT100 n'a pas besoin de fil spécifique, il est très facile de convertir un PT100 2 fils en PT100 4 fils.

Vous devez également vous assurer de la résistance utilisée pour mesurer le courant à travers le PT100 est très précis (comme 0,01%). Je soupçonne également que vous aurez besoin d'un meilleur AD que celui que vous avez dans votre Arduino.

Une fois que vous êtes sûr d'obtenir des données suffisamment précises de votre AD, vous devrez alors utiliser des tables PT100 pour interpoler les valeurs. La méthode Newton est facile à programmer et donne de bons résultats.

Si vous pensez que tout cela est trop complexe à gérer, vous devriez alors passer d'un capteur de température plus simple. Par exemple, un NTC fonctionnerait probablement directement sur votre Arduino, mais vous obtiendrez une précision d'environ 1 ° au lieu de 0,03 °

C'est une excellente réponse de votre part ici, clarifie les choses. @alexan_e a suggéré que j'utilise MAX31856 (RTD à Digital conv.) Qui a un convertisseur A / N précis que vous suggérez .. Vous méritiez un vote pour une explication détaillée. Merci.
Bonjour, j'avais une question sur l'utilisation de 4 fils sur arduino, où la paire de mesure doit-elle se connecter?un à Analog in, et l'autre?à GND?
kimliv
2013-12-11 06:25:52 UTC
view on stackexchange narkive permalink

Ce sujet pourrait être une réponse pour vous Mesurer la résistance avec précision avec un arduino?

Pour calculer la température, vous pouvez utiliser cette formule:

Des éléments de thermomètre à résistance peuvent être fournis qui fonctionnent jusqu'à 1000 ° C. La relation entre température et résistance est donnée par l'équation de Callendar-Van Dusen:

\ $ R_T = R_0 \ left [1 + AT + BT ^ 2 + CT ^ 3 (T-100) \ right] \; (-200 \; {} ^ {\ circ} \ mathrm {C} < T < 0 \; {} ^ {\ circ} \ mathrm {C}), \ $ \ $ R_T = R_0 \ left [1 + AT + BT ^ 2 \ droite] \; (0 \; {} ^ {\ circ} \ mathrm {C} \ leq T < 850 \; {} ^ {\ circ} \ mathrm {C}). \ $

Ici, \ $ R_T \ $ est la résistance à la température \ $ T \ $, \ $ R_0 \ $ est la résistance à \ $ ​​0 ° C \ $, et les constantes (pour un \ $ \ alpha = 0,00385 \ $ platine RTD) sont:

\ $ A = 3,9083 \ fois 10 ^ {- 3} \; {} ^ {\ circ} \ mathrm {C} ^ {- 1} \ $

\ $ B = -5,775 \ fois 10 ^ {- 7} \; {} ^ {\ circ} \ mathrm {C} ^ {- 2} \ $

\ $ C = -4,183 \ fois 10 ^ {- 12} \; {} ^ {\ circ} \ mathrm {C} ^ {- 4}. \ $

Source: Wikipedia anglais ( http://en.wikipedia.org/wiki / Resistance_thermometer)

J'espère que cela vous a été utile.

Mathias Nilsson
2019-11-22 00:52:18 UTC
view on stackexchange narkive permalink

Je pense que vous devez alimenter entre 7 V et 12 V à la broche VIN de votre Arduino et utiliser la broche AREF pour un côté du PT100 et l'autre vers l'entrée analogique. Cela pourrait aider à obtenir une lecture cohérente, mais vousil faudra peut-être encore effectuer une mesure à 4 fils pour l’obtenir avec précision.

Le didacticiel de mesure de résistance Kelvin à 4 fils a une bonne explication pour la mesure à 4 fils.Vous l'avez probablement déjà compris.

Modifier Vous raccordez l'AREF à l'arduino 5v ou 3.3v et le pt100 de la même tension à une broche d'entrée analogique appropriée sur l'arduino.Les régulateurs de tension linéaires sur la carte arduino sont beaucoup plus stables que votre bloc d'alimentation USB et donneront donc une meilleure précision. Bases d'Arduino (référence analogique)



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...