Aide Sonde température PT100

Bonjour voila mon soucis :

J'ai comme projet de mettre en œuvre une sonde thermistance type PT100 4 fils qui fait augmenté la température en même temps de la résistance , le schéma avec arduino est effectué et bon mais je ne m'y connais pas dans le programme pour acquérir la résistance qu'il y a dans l'atmosphère à 0°c il y à 100 ohm et à 20°c la température de la classe il faut 109 ohm donc j'aimerais avoir un programme pour l'acquérir , j'utilise l'entrée A0 , 5V et une résistance en pont diviseur de tension avec la sonde 10 K ohm

Merci de m'aider

Bonjour, "Un problème clairement exposé est à moitié résolu"

La sonde PT100 ne fait pas augmenter la température, elle réagit en fonction de la température du milieu où elle se trouve. Pour le reste de la rédaction, je te laisse seul juge pour la compréhension.

Tu ne pourras pas mesurer directement la résistance de ta PT100 mais la tension à ses bornes qui est représentative de la résistance. Tu peux aller voir du côté du physicien allemand Georg Simon Ohm pour voir comment convertir les résultats de la mesure. [u]Attention[/u] : la PT100 n'a pas de comportement linéaire, il faut que tu lises la datasheet de la PT100 (voir sur le net avec ton butineur favori).

Tu es dans quelle classe et section ? @+

D'accord c'est plus clair mais sa m'explique pas encore comment faire un programme pour acquérir la résistance étant dans la sonde

Terminal STI2D sin

Re Faire l'organigramme du programme et le programme est de ton ressort. Sur le forum, personne ne le fera à ta place. Par contre, si tu as des problèmes avec ce que tu as fait, tu trouveras toute l'aide nécessaire. Ce n'est pas nous qui passons l'examen en fin d'année. :confused:

Tu as dû avoir un cours sur le sujet, c'est le moment de le reprendre.

Si tu as un pont diviseur dont tu connais la tension d'alimentation (V), une des résistances (R) et la tension aux bornes de la résistance inconnue (Ux), il n'y qu'une solution possible (voir la loi d'ohm).

Regarde si la solution pourrait être : Rx = Ux.R / (V - Ux) -> A toi de faire la démonstration. :grin:

Bref, "aide toi et le forum t'aidera" @+

J'ai avancé dans mon code mais le code ne veut pas se compiler pouvez vous me déboguer le code s'il vous plait :)

void setup()
{
  Serial.begin(9600);
  int AnalogPin = A0;
}

void loop()
{
  float vout = analogRead(AnalogPin);
  vout = (5 * vout) / 1024);
  Serial.println(vout);
  delay(1000);
}

Bonjour,

Il suffit de lire le message d’erreur
‘error: ‘AnalogPin’ was not declared in this scope’

Il faut que tu définisse la valeur de AnalogPin

Mais la valeur est variable ? elle dépend de ce qui arrive à l'entrée A0 non?

Non AnalogPin c'est le numéro de l'entrée que toi seul connait.

edit: je n'avais pas vu que tu l'avais définie dans le setup. AnalogPin doit être défini avant le setup si tu veux qu'elle soit connue de toutes les fonctions.

Moi, avant de foncer bille en tête dans le code, je me serais posé la question du résultat théorique de ma mesure. Parce qu'avec un diviseur de tension composé d'une PT100 et d'une résistance de 10K, je me demande bien ce que tu vas mesurer et avec quelle précision (en fait je ne me le demande pas j'ai déjà ma petite idée sur la question, mais toi tu ferais bien de te poser cette question).

Re, +1 ( :smiling_imp: )

Je dois mesurer une température , en fonction de la résistance que génère la sonde "thermistance" je dois faire un programme pour "convertir" cette valeur en °C avec comme tolérance une précision de +/- 1°C Je dois avoir en gros pour 20°C la température ambiante à 108 Ohm environ !!! c'est une sonde PT100 4 fils !

Bonjour, Il ne faut pas mélanger.

Saisai91: Je dois avoir en gros pour 20°C la température ambiante à 108 Ohm environ !!! c'est une sonde PT100 4 fils !

Regarde la documentation des constructeurs et fournisseurs de sonde Pt100 pour voir pourquoi il y a des sondes 2, 3 ou 4 fils

Saisai91: Je dois mesurer une température , en fonction de la résistance que génère la sonde "thermistance" je dois faire un programme pour "convertir" cette valeur en °C avec comme tolérance une précision de +/- 1°C

Pour mesurer la température de la salle de classe, il faut déjà fixer la plage de variation "théorique" du local. Par exemple -40°C à 60°C. ;) Avec le pont diviseur que tu as prévu (10k + Pt100) tu devrais pouvoir calculer la tension en entré de ton convertisseur analogique/numérique. Cette tension, te semble-t-elle réaliste par rapport à la plage d'entrée de ton convertisseur ana/dig (entre 0 et 5V si Aref=5V) ?

Dans le cas précis, si la température de la pièce passe de 20°C à 19°C, la tension à l'entrée du convertisseur ana/dig va varier de 5 mV. Qu'elle est la résolution du convertisseur ana/dig ?

Comme tu peux le constater, il y a encore un peu d'étude à faire @+

Voila j'ai effectuer le programme afin de récupérer la tension aux bornes , désormais il faut convertir cette tension en degré celsius quelqu'un pourrait m'aider à compléter mon programme

int AnalogPin = A0;
void setup()
{
  Serial.begin(9600);
  
}

void loop()
{
  float vout = analogRead(AnalogPin);
  vout = ((5 * vout) / 1024);
  
  Serial.print(vout);
  Serial.println(" volt");
  delay(1000);
}

Bonjour, Plusieurs petites remarques : 1) Je pense que tu es capable de faire une règle de trois ou une interpolation des mesures. Personne ne te fera la ligne qui manque. 2) Je n'ai pas les réponses aux questions posées, 3) Regarde les précautions qu'il faut prendre pour les mesures analogiques, 4) Donne nous les valeurs de ton pont de mesure, 5) Met également quelques valeurs des tensions mesurées.

Pour ton bien, je ne veux pas te fournir d'autres éléments si tu ne réponds pas aux questions posées. @+

[edit] Les valeurs affichées sont-elles de type integer ou float ?

Bonjour, j'ai enfin trouvé la formule en faisant quelques test de plus j'ai changé la résistance car elle était trop haute , j'ai pris donc une résistance de 100 ohm et j'obtiens bien environ 107 ohm et 2.6V pour l'air ambiant de la salle maintenant il reste à convertir la résistance en température :) mais le soucis se trouve dans la formule je ne sais pas comment trouver cette formule surtout que la plus part des sondes sur internet avec des formules déjà faite sont mauvaise , pourrais-tu m'aider ?

[Edit]

int AnalogPin = A0;
void setup()
{
  Serial.begin(9600);
  
}

void loop()
{
  float vout = analogRead(AnalogPin);
  vout = ((5 * vout) / 1024);
  
  float resistance = (vout * 40);
  
  float temperature = 
  
  Serial.print(vout);
  Serial.println(" volt");
  
  Serial.print(resistance);
  Serial.println(" ohm");
  
  Serial.print(temperature);
  Serial.println(" Degre C");
  
delay(1000);
}

la ligne float temperature = est à compléter mais j'ai des soucis au niveau calcul pour trouver la formule

Bonjour,

formule simplifiée: θ = ((Rθ/R0)-1)/α avec α=3,850E-3

Deux remarques

  • la résistance de 100 Ω en série est faible, l’échauffement de la sonde risque de ne pas être négligeable
  • le calcul de la résistance est incorrect (ou pour le moins approximatif) on a vout=5*R/(R+R2) -> R=vout*R2/(5-vout)

hello

Merci kamill de cette réponse claire, à quoi correspond les valeurs de theta , de plus la valeur de alpha est choisi selon quel norme car elle peux ne peux correspondre avec ma sonde ? je suis un peu perdu

theta c'est la température que tu veux calculer alpha c'est le coefficient a utiliser suivant la norme DIN 43760 (c'est aussi ce qui est indiqué dans le 1er § du document cité par dfgh)

Google ou Ixquick ou Exealed ou ........., il y a beaucoup de moteurs de recherche qui regorgent d'informations sur les sondes PT100. Un peu d'effort n'a jamais fait de mal.

Balancer un travail réalisé par les autres sans y ajouter une part [u]personnelle et conséquente[/u] n'est pas la meilleure solution pour avoir son bac.

Je dirai que c'est la plus mauvaise car lors de l'oral de présentation cela se voit comme le nez au milieu du visage. Déjà 3 mois de perdus depuis début janvier il faudrait peut-être sortir les pieds du même sabot et répondre aux questions posées qui sont justement posées pour te guider à trouver la solution toi même. Mais il semble que tu préfère trouver du tout cuit.