Pt100 et arduino

Bonsoir J'ai besoin de déterminer la température d'un liquide en utilisant une pt100 trois files 2 rouges et un blanc. J'ai connecté ma pt100 à mon arduino uno utilisant une résistance variable et une tension de 5v : c'est une tension que j'utilise pour un autre capteur mais y'a pas eu de lecture de température juste une très légère variation. J'ai essayé pour confirmer que ça ne marche pas de mettre la pt100 dans de la glace mais rien à faire pas de variation. Juste au début la sonde avait le bou un peu chaud. Y'a t-il un moyen de faire fonctionner ma pt100 avec mon arduino ????.

Merci

Juste au début la sonde avait le bou un peu chaud.

tu as encore une valeur ohmique en sortie de ta sonde(entre le blanc et un rouge)? A mon avis tu peux la jeté :/ Tu peux facilement trouver le tableau de correspondance (T°c / Ω) sur la toile.

Y'a t-il un moyen de faire fonctionner ma pt100 avec mon arduino ????.

Et bien comme dis plus haut, il te faut mesurer sa résistance avec un ohmmètre et l'arduino autre que lire une tension... Là soit tu abandonne soit tu continu :smiling_imp: . Il te faut savoir comment fonctionne un ohmmètre, internet est la pour ca. Du coup sa a l'air déjà plus faisable..

Oups ca ma l'air pas simple

Utiliser une sonde PT100 n'est pas difficile. Le sujet a été maintes fois traités sur ce forum francophone.

Le mieux est que tu fasse une recherche sur ce forum. Je vais te donner "un truc" pour faire une recherche limitée à ce forum francophone : 1) Tu utilise la fonction de recherche du forum "Search the arduino forum" : tu y écrit "PT 100" 2) Tu obtiens une page gogole avec comme phrase de recherche : "PT 100 site:http://forum.arduino.cc". La recherche se fait dans tous les sous fora et le maximum de réponses est en anglais. 3) Tu limites au forum francophone en remarquant que : a) L'adresse du forum anglais est : http://forum.arduino.cc b) celle du forum francophone est : http://forum.arduino.cc/index.php?board=33.0 La différence entre les adresses est juste le suffixe /index.php?board=33.0.

Il suffit d'ajouter ce suffixe à la phrase de recherche qui devient : PT 100 site:http://forum.arduino.cc /index.php?board=33.0 Maintenant toutes premières les réponses sont en français .

Un lien vers un document didactique :

http://www2.ac-lyon.fr/lyc69/descartes/IMG/pdf/Affiche_Pt100v3.pdf

Bonjour 68tjs,

je me permet une petite digression sur le sujet. J'avais déjà essayé de chercher avec http://forum.arduino.cc /index.php?board=33.0, mais chez moi ça donne quand même les réponses dans toutes les langues du forum.

Est ce que quelqu’un connait le moyen de faire une recherche uniquement dans le forum français?

C'est de la faute à gogole qui veut absolument compléter ta recherche. Pour n'avoir que du français il faut que tu spécifies à gogole que tu n'acceptes que le français (outil->language->français)

Génial. Et dire que je n'y avais même pas pensé.

C'est ça les vieux, avec l'age on devient feignant rusé :grin:

Bonjour 68 tjs j'ai fait ma petite recherche sur la pt100 sur le forum français j'ai trouvé des résultats qui préconisent l'emploi d'AOP bon ok pour cette solution mais j'ai besoin de savoir si la pt100 que j'ai acheté avec trois fils fonctionne et si j'ai des variations de resisitance. j'utilise une résistance variable de 10 k pour faire des réglages mais pas de variations en changeant de température en plus la sonde devient chaude c'est normale ???

Merci.

Pour tester si ta sonde fonctionne, essaie à l’ohmmètre. En chauffant ta sonde pas exemple avec les doigts tu dois voir la résistance varier. La variation n'est pas astronomique, je crois que c'est de l'ordre de 0.4 ohm par degré.

Si tu utilise une résistance variable de 10k et que tu la descends à 0, tu vas avoir une puissance dissipée dans ta sonde de 5*5/100=0.25 W (en supposant une alimentation 5V), ce qui commence à dégager de la chaleur. Maintenant si tu te brûles en la touchant c'est qu'il y a un problème.

Il ne faut pas faire passer trop de courant dans une PT100 sinon avant de la détruire tu provoquera un échauffement par effet Joule.

Si elle à déja chauffée de manière non prévue il est préférable de vérifier à l’ohmètre qu’elle fait toujours 100 ohms.
La loi de variation en fonction de la température est donnée dans la datasheet et/ou sur wikipédia.

Je part du principe que si tu doit utiliser une PT100 c’est qu’il te faut de la précision.
Câblage : 2fils, 3fils, 4fils.
http://www.technetea.com/PT100.html
Le montage 2 fils ne permet pas d’éliminer l’influence des fils de connexions, le 4 fils permet de le faire intégralement, le 3 fils est une amélioration du 2 fils sans atteindre la perfection du 4 fils.

Courant max:
Tu dois trouver cette indication dans la datasheet du produit dont tu dispose. Ce courant permettra de calculer la valeur de la résistance du pont.
Voici un schéma publié sur le forum:

PT100_arduino.png

Pour que cela fonctionne il faut

  • soit un ampli rail moins en entrée → point besoin d’un ampli rail-to-rail 4 quadrants, le vénérable LM358 qui est rail moins en entrée convient parfaitement.
  • soit utiliser un ampli alimenté en +5V et -5V. C’est la meilleure solution car un ampli “rail-moins entrée” ne peut pas atteindre exactement le rail moins, il reste toujours quelques mV de déchet.
    Pour une utilisation +5V / -5V il faut soit deux blocs alim 5V mis en série avec la masse placée au point milieu, soit utiliser en mode inverseur un circuit intégré appelé " pompe de charge", : on entre du 0V/+5V, il en ressort du 0V/-5V.

Conseil : tu peux commencer avec un LM358 en mono tension (0V/+5V) et si les résultats ne sont pas suffisants passer en bi tension, toujours avec le même LM358.

Merci kamill
ok très bien ça marche et même dans la glace ma résistance est de 100 ohms.
Maintenant si je branche ma pt100 à mon arduino j’ai pas de variation ni dans la glace ni ailleurs :

non connecté j’ai 0.00 C
connecté j’ai sans résistance variable j’ai une variation de 0.04 - 0.06.

ci-joint le code :

#include <LiquidCrystal.h>

int sensor = A0;

int Vin;

float Temperature;

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

void setup()

{

lcd.begin(16, 2);

lcd.print("Temperature: ");
lcd.setCursor(8,1);
lcd.print(“V =”);

}

void loop()

{

Vin = analogRead (sensor);
Temperature=(200.0*Vin)/1024.0;

lcd.setCursor(11,1);
lcd.print(Vin/1024.0);

lcd.setCursor(0, 1);
lcd.print(Temperature/10);
lcd.print(" C");

delay(1000);

}

le calcul de la tension n’est pas correct.

mais pour le reste c’est ok… normalement,

Quand tu chauffes ta sonde avec tes doigts, tu dois voir une variation de résistance à l'ohmmètre. Elle est branchée comment sur ton arduino ? Comme ça ? Tu dois voir une variation de tension (la résistance de 100 Ω est un peu faible, mais permet d'avoir plus de variation).

Cependant si tu veux avoir de la précision , il faut s'orienter vers un montage comme t'a prescrit 68tjs. Il existe des conditionneurs Pt100 tout fait.

Merci 68tjs pour tes conseils et merci kamill je fais mes essais et je reviens vers vous

Merci a tous.

Le code ce n'est pas suffisant, il faut aussi le schéma électrique, surtout avec une PT100 !

Compte tenu du courant que tu fais passer dans la résistance as-tu vérifier que la mesure est faisable ? En d'autres termes : Tu connaîs la valeur de la PT100 à 0°C, tu peux calculer (ou trouver dans une table) la valeur à la température ambiante.

La bonne question est : est-ce la différence de tension aux bornes de la PT100 n'est pas trop faible pour que le convertisseur Analogique/digital de l'arduino puisse la détectée ?

Tu nous a dis que tu mettais une résistance variable de 10 k. Si je fais un rapide calcul en mettant 4,9k ohms en série avec la PT100 j'obtiens 0,1 V aux bornes de la PT100 à 0°C. A 20°C d'après les tables http://www.herrera.unt.edu.ar/iidpr/Archivos/Pt100%20T_vs_R%20Table.pdf j'obtiens 0,110 V

Dans ton code je ne vois nulle part que tu as changé la référence de l'ADC, pas de analogRef(internal) donc tu es resté sur 5V et donc la plus mauvaise sensibilité : 5mV --> tu devrais détecter 2 pas de quantification c'est impossible, rien qu'avec le bruit de quantification on doit être à +/- 3pas. Dans un premier temps, le temps de monter un ampli op que te permettra de t'éloigner du bruit de quantification, passe en référence interne 1,1 V.

Pour la solution définitive il faudra utiliser une vraie référence de tension, on en trouve autour de 4V, et régler la valeur du gain de l'ampli op pour obtenir une sortie de l'AOP voisine mais toujours inférieure à la valeur de la référence.

PS : Pour publier ton code tu devrais lire ce message : http://forum.arduino.cc/index.php?topic=315372.0

Bonjour 68tjs
Pour la référence interne de 1.1v elle pose un problème car j’utilise un MQ3 avec une tension de 5v.

Bonjour kamill Pour le branchement je vais utilise celui que vous m'avez envoyé juste la résistance de 100 ohms peut être variée ?

Plus la résistance sera grande, moins la sonde chauffera (risque de fausser les mesures), mais moins on aura de variation de tension en entrée de l'arduino. C'est vraiment un montage pour essayer ou avoir une valeur approximative. Si tu veux une valeur fine, il faut un ampli.

Tu peux commuter les référence de l’ADC à la volée à condition de jeter la première mesure qui suit le changement de référence.

Idem quand tu commuttes entre les entrée Ax PT100 et MQ3, tu touches au multiplexeur de l’ADC et il faut jeter la première mesure, vu le temps que prend une mesure j’en jete 5.

Règle de base avec l’ADC : dés que tu modifie quelque chose à l’ADC il faut jetter la première mesure.

Plus la résistance sera grande, moins la sonde chauffera

+1. Dans les datasheets on recommande de ne pas dépasser 1 mA sinon la puissance dissipée par le passage du courant provoque un auto échauffement de la sonde et la mesure devient fausse.