Pt100 et arduino

Bonsoir

j'ai beau essayé mais ça ne marche pas tjs pas de modification la tension est bloquée sur 0.06 V et la température d'après code varie entre 2.73 et 2.69 même qd je plonge la sonde dans de l'eau chaude ????

Et à l'ohmmetre?

bonsoir Kamille

à l'ohmmetre ça varie de 100 ohm dans la glace à 116 ohms dans une solution chaude du chauffe eau.

turw:
bonsoir Kamille

à l'ohmmetre ça varie de 100 ohm dans la glace à 116 ohms dans une solution chaude du chauffe eau.

:grin:
c'est une pt100

Alors la solution c'est bien un AOP .....

turw:
Alors la solution c'est bien un AOP .....

un ...ou plusieurs pour adapter la dynamique et l’intégration du signal

Bonsoir Artouste

un .... ou plusieurs comment faire ???
j'ai une pt100 3 fils y'a t'il un montage complet qui me permettra de régler ce problème ? :cry:

Pour commencer j'espère que tu as bien compris la différence entre 2 fils, 3 ou 4fils.
Avec une sonde 3 fils : 1 fil est relié à une extrémité, en général la masse, les deux autres sont reliées ensemble : l'un sert à amener le courant, l'autre sert à prendre l'information de tension.

Ma proposition:
Attention cela risque d'être long !


Remarque 1 :
Je pense qu'il est préférable que tu imprime les deux fichiers png joins pour lire plus facilement ce qui suis.
Remarque 2
Sur mon schéma il y a deux sources d'alim V1 et V2. En aucun cas le schéma est double alimentation, c'est juste une astuce de développeur pour se sortir plus facilement des cas où l'ampli part en butée. Dans les premières simulations je mets V2 à 5 V et quand je vois que "c'est à peu près bon" je passe V2 à 0V.
R9 : R9 en sortie d'ampli op ne sert à rien et ne sera pas à câbler sur le montage réel, je l'ai placée parce que par expérience ce n'est jamais bon en simulation de laisser une sortie non connectée.

L'utilisation en 3 fils conduit à des schémas complexes, je te propose un schéma plus simple en deux fils (il suffit de relier entre eux deux des fils) qui n'utilise qu'un seul ampli op LM358.
Je suis parti sur un courant de 1 mA dans la sonde ce qui donne une résistance en série égale à 4,7k (R1 et R3).
Le schéma que j'avais publié imposait une double alim (+5V/-5V). En effet la valeur de la PT100 peut être inférieure à 100 ohms dans le cas de températures négatives.
Pour éviter cela je créé un décalage de tension en ajoutant la résistance R10. R10 doit être identique à R2 pour minimiser les variations.
D'une manière générale si tu utilises une PT100 c'est que tu as besoin de précision donc je pars du principe que toutes les résistances doivent avoir au minimum une précision de 1%.

Variation en température :
Pour ne pas tout compliquer je n'ai renseigné aucun paramètre de variation sur les résistances sauf pour la PT100 où c'était indispensable. J'ai recherché les valeurs pour Tc1 et Tc2 sur internet.
Attention généralement la température de base pour les simuls est de 300K soit 27 °C. Pour la PT100 il est obligatoire de la placer à 0°C.

Gain du montage :
Il est assuré par R5,R6 et R7,R8.
J'ai agit sur R5 et R7 pour ajuster le gain pour avoir "au mieux" 1,2V de variation pour une variation de 120°C.
Si la gamme de température est différente il faudra retoucher le gain, et sans doute aussi le centrage.
J'ai joué sur R5 et R7 plutôt que sur R6 et R8 parce qu'elles ont déjà une valeur de 100k et je ne voulais pas aller au delà à cause de difficultés d'appro possible au dela de 100k. Bien que les mettre à 4,7K aurait été intéressant pour limiter les appros, en applicant la règle de 3 si R5 et R6 = 4,7K, R6 et R8 = 127k.

Centrage de la sortie:
Il est possible de décaler les courbes pour sortir des zones de saturation de l'AOP. En sortie un LM358 ne peut guerre descendre en dessous de 0,5V, ni aller au delà de Vcc- 1,5V soit 3,5V.
Ce décallage est assuré par R12, R13. En regardant de près on peut voir que R12 et R13 sont une astuce pour représenter un potientiomètre de 50 K. Pour les besoin de la simulation le paramètre de variation est rb et R12= rb et R13 = 50k -rb ( j'aurais pu pousser le vice jusqu'à créer un paramètre angle et faire varier R12 et R13 en fonction de l'angle).

Utilité du centrage :
En fonction de la référence de tension que tu utilisera tu pourra ajuster le centrage pour avoir le maximum de précision sur l'ADC du micro.

Logiciel :
Tu as de la chance actuellement je n'ai rien d'exploitable sous Linux, pour te répondre j'ai donc du partir à la peche d'un vieux portable XP, de le mettre en route et de télécharger "qucs studio".
si comme je le suppose tu tourne sous w$ je mets le fichier en pj

Astuce finale :
Précision sur la production globale ou sur un lot donné.
Il faut toujours acheter des résistances "en ruban". c'est une assurance qu'elles proviennent du même lot de fabrication.
Ce qu'il faut voir c'est que le fournisseur donne une précision tous lots de fabrication confondu par exemple 2%.
Mais à l'intérieur d'un lot la précision entre les pieces peut n'être que de 0,5% ou même moins.

pt100.zip (1.22 KB)

Bonjour,

j'utilise une pt100 avec mon arduino j'ai pu grâce au forum avoir un schéma qui m'a permis d'avoir de bon résultat et un intervalle de lecture important seulement le capteur reste toujours instable en lecture il affiche par exemple 2.44, 2.93, 0.89, 1.59 quand il est plongé dans une eau glacée bien sur les voleurs sont encore erronées il reste quelque réglage à faire mais je dois d'abord stabiliser la pt100 et c'est mon problèm y'a t-il un moyen pour ça ?

Merci

Pour avoir des conseils et éventuellement des solutions (nous ne sommes pas des génies universels) il faudrait que :

  1. tu réponde aux questions qu'on te pose.
    --> Quelle est la gamme de température ? question posée 2 ou 3 fois.
    --> Quelle précision tu cherche. Je ne me rappelle pas si la question a déjà étée posée mais c'est le minimum que tu dois nous donner.

  2. que tu joigne un schéma de ce que tu fait.

  3. que tu joigne ton code.

  4. Tu dis que tu as du bruit que et si tu expliquais comment tu fait la mesure : le câble est blindé ? Il fait combien de dizaines de mètres ?

Pour le moment c'est :

boule_de_cristal.jpg

bonjour
+1 avec 68tjs
schema de ton crcuit d'interface
la tension d'excitation de la pt100 provient d'où ?

Bonjour
Merci pour votre réponse. Désolé pour le manque d'informations

Actuellement toute mon alimentation se fait par mon arduino pin 5v qui est alimente par un câble USB

J'utilise un circuit d'amplification qui alimente la pt100 de 3 fils.

Le schéma de connection :

http://forum.arduino.cc/index.php?action=dlattach;topic=349392.0;attach=138899

La température de travail est entre 0 et 50 °C et une tension entre 0.11 et 0.35 v.

La longueur des fils est de 2m.

Pour le bruit j'ai suppose que comme je travail avec 5 v et j'ai un max de mesure qui ne dépasse pas 0.4v j'ai suppose qu'il y a le phénomène de bruit.

Merci

Pas de découplage?

Merci pour votre réponse c'est très complet comme explication.

turw:
Bonjour
Merci pour votre réponse. Désolé pour le manque d'informations

Actuellement toute mon alimentation se fait par mon arduino pin 5v qui est alimente par un câble USB

J'utilise un circuit d'amplification qui alimente la pt100 de 3 fils.

Le schéma de connection :

Pt100 et arduino - Français - Arduino Forum

La température de travail est entre 0 et 50 °C et une tension entre 0.11 et 0.35 v.

La longueur des fils est de 2m.

Pour le bruit j'ai suppose que comme je travail avec 5 v et j'ai un max de mesure qui ne dépasse pas 0.4v j'ai suppose qu'il y a le phénomène de bruit.

Merci

tu a 2 voies d'amelioration

utiliser une tension stable pour exciter ta PT100 , ton 5V n'est pas stable
utiliser en aref de ton arduino la ref interne de 1.1

OK merci

turw:
Merci pour votre réponse c'est très complet comme explication.

Tu noteras le point d'interrogation. C'est une question pas une réponse.

La température de travail est entre 0 et 50 °C et une tension entre 0.11 et 0.35 v.

Non. A 0°C tu ne devrais pas avoir 110 mV mais 0 mV. disons inférieur ou égal à 10 mV.
A 50°C tu devrais avoir 420 mV.

Dans le schéma "forum" les résistances qui fixent le gain de l'ampli sont respectivement égales à 47 k et 1 Megohms, ce qui donne un gain d'environ 21.

Pour moi 1 megohms c'est beaucoup trop élevé (un ampli op n'est pas parfait et la 1 megohm est court circuiée par des éléments internes à l'ampli op --> on aura la preuve un peu plus loin), c'est pour cela que dans les simulations que j'ai pris la peine de faire (et utiliser XP a été pénible) je t'avais proposé 10 fois moins.

Je t'ai dit aussi qu'un ampli op peut difficilement atteindre le rail moins en sortie, pour cela il faut utiliser un modèle spécial dit rail-to-rail. C'est pour cela que dans ma proposition j'avais ajouté une résistance de 100 ohms pour provoquer un décalage en sortie.
Et c'est sans doute pour cela qu'à 0°C tu obtiens 110 mV

Où est placé l'ampli op ?

  • Au plus prés de la sonde PT100 ?
  • Au plus près de l'arduino ?
    A 0°C tu ne doit pas avoir de différence de tension entre les deux bras (104,16 mV de chaque coté.
    A 50°C l'écart entre les deux bras sera d'enviton 20 mV (la PT100 passe de 100 ohms à 119,4 ohms).
    Avec un gain de 21 on devrait mesurer en sortie 420 mV or tu n'en mesure que 350 c'est la preuve que la résistance de 1 megohms est court-circuitées par une résistance parasite dans l'ampli op.

Un développeur se doit de vérifier que les résultats obtenus sont cohérents.

Précision des résistances et calcul d'erreur :
Quelle est la précision des résistances ?
Le calcul des tensions milieu de chaque bras revient à un calcul de pont potentiométrique.
Si Ra et Rb sont à 10% chacune, le résultat du rapport Ra/Rb ou Ra*Rb sera égal à : 10 % +10% = 20%
Idem pour le gain de l'ampli op ce qui fait qu'avec des résistances tout venant à 10 % le résultat final sera à +/- 40%.
D'où mon couplet pour utiliser le maximum de résistances identiques : même valeur, même lot de fabrication et choisir au minimum des précisions de 1% pour minimiser les dispersions.

Quid des fils de 2 mètres ?
Sont-il torsadés ? Sont-il blindés ?
Le mieux est de prendre du câble ethernet : il est blindé et il comporte plusieurs paires.
Transporter des différences de tensions de 20 mV sur 2 mètres est difficile et ce n'est pas la bonne solution.
L'ampli doit être déporté au plus prés de la sonde PT100, avec un câble ethernet son alimentation ne posera pas de problème.

  • Une paire signal à mesurer et sa masse
  • Une autre paire Vcc et sa masse d'alim
  • Les paires non utilisées court-circuitées à la masse coté arduino.

Eau froide :
Quelle température ?

Ne pas oublier de protéger la sortie de l'ampli op avec une résistance série de 100 ohms.
De plus cette résistance aura l'avantage d'adapter la paire signal qui comme toute paire torsadée dans les câbles ethernet est une ligne d'impédance constante exactement comme un câble coaxial sauf que pour l'ethernet l'impédance est de 100 ohms.

Ensuite comme l'a rappelé fdufnews ne pas lésiner sur les découplages d'alimentation.
Comme l'a rappelé Artouste choisir la référence de l'ADC pour qu'elle soit la plus proche possible de la tension max à mesurer.

J'ajouterais ne pas utiliser l'alim par l'USB, elle est prévue pour du numérique pas pour de l'analogique : elle n'est pas assez propre. Point agravant et elle est donnée à +/- 5%. Le régulateur interne à la carte arduino est bien plus propre et plus stable.

Et s'il y a encore du bruit on verra pour une amélioration de dernier ressort mais pour le moment il y a un grand chantier avec des grosses marges de progression.

Un grand merci 68tjs.
Je vais réaliser le montage d'amplification que vous avez concu. La tension que je vais utiliser est celle de l'aref. Juste je vais utiliser ma pt100 avec un mq3. La pt100 sera utilisée pour compenser la température vs concentration gaz. Ma question est la suivante : je peux utiliser le même aref pour les deux ? Si j'ai deux tensions différente j'utilise dans ce cas un stabilisateur de tension ? Correct.

Merci je commence tout de suite a bientôt ...

Je ne comprend pas bien.
Tu es dans ton projet, tu as tout dans la tête, mais hélas pour toi, pas moi.

je vais utiliser ma pt100 avec un mq3. La pt100 sera utilisée pour compenser la température vs concentration gaz.

Donc en fait tu utilises une PT100 uniquement pour son coté pratique : elle est bien emballée et facile d'usage. Ou deuxième solution : il y en avait une qui traînait dans un tiroir.
Dans ce cas tu n'as pas besoin d'une grande précision: est-ce qu'une mesure à +/- 2 °C peut convenir ?
Si oui un capteur comme un 18b20 (+/- 0,5°C je crois) ou un DHT22 ne conviendrait-il pas ?
Ce sont des capteurs "numérisés", la mise en œuvre serait beaucoup plus simple.

Je reprend sur le sujet tel qu'il a été commencé avec la PT100.

La tension que je vais utiliser est celle de l'aref.

On parle de la tension de référence pour l'ADC ou de la tension pour alimenter un montage qui servira aussi pour la référence de tension ?

Ma question est la suivante : je peux utiliser le même aref pour les deux ?

Nous t'avons déjà dit qu'il est possible de modifier par programmation la source de référence pour l'ADC.
La précaution importante à bien respecter est que dès que tu changes quoique ce soit à la configuration de l'ADC il ne faut pas conserver la première mesure.

C'est à dire :
-Si tu changes d'entrée par exemple passer de A0 à A1
-ou si tu changes la tension de référence

  • ou les deux en même temps
    il faut jeter la première mesure.
    Il faut absolument que tu lises le paragraphe de la datasheet qui concerne la conversion analogique digitale.
    L'ADC ne donne pas une mesure "au pas prés", si l'ADC renvoi 124 c'est toujours 124 +/- quelques pas.
    Là aussi il faut faire un calcul d'erreur, je te laisse le soin de le faire.

Je reviens sur les capteurs "numérisés", ce travail de calcul d'erreur c'est le constructeur qui l'a fait,.Il suffit de lire la datasheet pour trouver toutes les précisions.

Si j'ai deux tensions différente j'utilise dans ce cas un stabilisateur de tension ? Correct.

Je ne comprend rien. Je ne vois pas ce dont tu parles et ce que le "stabilisateur" de tension vient faire ici.
Peut tu développer stp.