Question:
Lecture du capteur de température RTD
mjh2007
2010-03-09 03:11:29 UTC
view on stackexchange narkive permalink

J'ai rencontré un certain nombre de problèmes pour obtenir de bonnes lectures analogiques stables à partir d'un capteur de température RTD. Les lectures de température ont tendance à rebondir jusqu'à +/- 5 degrés C. Le circuit est très basique, un diviseur de tension est formé entre une résistance fixe et un RTD connecté à la terre. La tension au RTD est ensuite introduite dans un amplificateur à gain programmable réglé à 16 V / V. Le signal analogique sorti de l'amplificateur de gain programmable est ensuite introduit dans un CAN 10 bits sur un microprocesseur PIC. J'ai implémenté un filtre passe-bas dans le logiciel pour tenter de résoudre le problème, mais les lectures de température sont toujours très instables. Quelqu'un a-t-il des suggestions sur où je pourrais chercher pour trouver la source du problème et le corriger?

Juste pour donner à chacun une mise à jour. Il semble que le problème provienne du régulateur de tension. Les condensateurs de filtrage aux sorties n'étaient pas assez grands. Nous avons utilisé la fiche technique 1uF recommandée 10uF. En regardant le rail de tension avec l'oscilloscope, on a constaté une ondulation d'environ 200 mV dans le diviseur de tension. Je pensais avoir vérifié cela avant, mais apparemment pas. Vérifier une alimentation avec juste un multimètre n'est vraiment pas suffisant, je suppose.
Quatre réponses:
#1
+4
Clint Lawrence
2010-03-09 04:30:25 UTC
view on stackexchange narkive permalink

Il y a quelques endroits à regarder.

Tout d'abord, vous devriez avoir un filtrage analogique avant d'échantillonner. Les mesures de température changent généralement lentement, il devrait donc être possible de filtrer de manière assez agressive. Même un simple RC peut être très efficace.

Considérez combien de câble vous avez entre le circuit et le RTD. Où passe ce câble par rapport aux autres câbles (potentiellement bruyants)? La séparation entre les faisceaux de câblage et la réduction de la longueur du câble peuvent être utiles dans ce cas. De même qu'un câblage blindé et / ou à paires torsadées de meilleure qualité.

Si vous avez accès à un oscilloscope, vous devriez essayer de mesurer le signal de tension que vous voyez entrer dans l'adc. En supposant qu'il y ait du bruit, la nature du bruit donnera une idée de sa provenance.

Considérez comment le capteur et votre circuit uC sont mis à la terre par rapport à ce que vous êtes mesure. Si le RTD est connecté à un objet mis à la terre, il est possible que le bruit soit couplé à la suite d'une boucle de terre.

Si vous pouvez publier plus de détails sur le circuit que vous avez, comment vous filtrez les exemples et l'application, il devrait être possible de fournir des commentaires plus spécifiques.

Bonnes suggestions Clint. Envoyer de petits signaux analogiques sur n'importe quelle distance n'est jamais facile. Pourriez-vous fournir une amplification ou une conversion en une interface de boucle de courant équilibrée ou même à l'extrémité du capteur pour réduire la sensibilité de l'interface au captage du bruit.
Vous avez raison d'amplifier près du capteur avant la transmission, mais je suppose que ce serait trop tuer dans cette situation. Nous essayons seulement de mesurer des dizaines de mV, pas des uV. Sans plus d'informations sur le circuit utilisé par mjh2007, tout cela devient une spéculation sauvage.
#2
+4
AngryEE
2010-03-09 21:24:31 UTC
view on stackexchange narkive permalink

La première chose que je regarderais est l'ondulation dans votre rail de tension. Les tensions bruyantes sont tueuses avec un diviseur de tension. Un système de mesure de meilleure qualité peut utiliser une source de courant constant régulé pour piloter le RTD au lieu d'un diviseur de tension. Un LM317 peut être utilisé pour ce faire - accrochez une résistance entre la borne OUTPUT et ADJ, et accrochez le RTD entre ADJ et GND. La valeur de la résistance entre la sortie et l'ajustement définira le courant traversant le RTD - utilisez une résistance précise pour être certain de la quantité de courant.

Sinon, essayez de faire le filtrage matériel si possible. Vous devez d'abord déterminer d'où vient le bruit pour le rendre efficace. Déterminez les fréquences de bruit que vous voyez, puis sondez l'entrée de l'étage de gain, la sortie et l'entrée du CAN. S'il y a du bruit partout, c'est dans la source, sinon il est injecté ailleurs. Assurez-vous que tous vos circuits intégrés ont des condensateurs de dérivation pour commencer. Ensuite, assurez-vous que vous n'avez pas de longues boucles de terre - rendez tout aussi direct (courant élevé) d'une connexion à la terre que possible. Ne mettez pas à la terre en guirlande - tout devrait avoir sa propre connexion à la terre qui ne passe pas par d'autres puces.

Si vous voyez du bruit à la source, il y a de fortes chances que ce soit votre source de tension pour le diviseur . Pour lutter contre cela, vous pouvez mettre un condensateur en parallèle avec le RTD pour faire un simple circuit de filtrage. Déterminez simplement les fréquences de bruit que vous voyez et faites correspondre le condensateur à la résistance du RTD et déterminez-le.

Il est un peu tard pour apporter un autre changement matériel à la carte afin que nous ne puissions pas passer à une meilleure source de courant, mais vous avez eu raison de me diriger vers l'alimentation. Je l'avais vérifié avec un multimètre et ça avait l'air bien, mais quand je l'ai regardé avec l'oscilloscope, le problème est devenu clair. Merci!
#3
+4
Jason S
2010-03-09 23:26:00 UTC
view on stackexchange narkive permalink

Un coupable courant est le couplage de charge entre les canaux de l'ADC (ignorer si vous n'utilisez qu'un seul canal).

La plupart des microcontrôleurs avec ADC multicanaux ont un multiplexeur et un condensateur d'échantillonnage. Le condensateur d'échantillonnage peut être dans la plage 1-10pf. Lorsque vous passez d'un canal au suivant, ce condensateur d'échantillonnage conserve initialement la charge de la tension du canal précédent. Le condensateur d'échantillonnage doit alors se charger vers le haut / bas jusqu'à la tension sur le canal suivant, et a une constante de temps qui dépend de l'impédance externe sur l'entrée du canal ADC.

Il est recommandé d'utiliser un RC circuit directement sur les entrées du canal ADC. ( modifier: si vous avez un diviseur de tension, vous n'avez pas besoin du R; la résistance équivalente de Thevenin agit comme une résistance, donc un diviseur 10K et 1K donnera une résistance équivalente de 909 ohms. ) J'ai tendance à utiliser quelque chose dans le voisinage de 499 ohms, 100-300pf. Ce qui se passe, c'est que le condensateur externe dans le réseau RC agit comme un réservoir de stockage, donc lorsque le multiplexeur ADC commute, le condensateur externe charge très rapidement le condensateur d'échantillonnage. Il y a un compromis entre l'utilisation d'une petite capacité (constante de temps rapide, mais transitoire initial lorsque les commutateurs ADC mux sont très grands) par rapport à une grande capacité (très peu de transitoire initial sur le condensateur externe lorsque ADC mux commute, mais une constante de temps longue) et vous peut résoudre ce problème vous-même pour optimiser.

Vous devez généralement le faire même si vous utilisez un ampli-op pour tamponner la tension menant au CAN . En effet, les amplificateurs opérationnels ne sont pas très efficaces pour gérer des charges non linéaires à haute fréquence comme un multiplexeur + un condensateur d'échantillonnage.

Si vous ne mettez pas en mémoire tampon la tension menant à l'ADC avec un ampli opérationnel, notez qu'une résistance élevée de la source peut être un problème. Ce couplage de charge provoque un courant qui circule entre un canal et le suivant, avec un courant égal à f * C * deltaV, où f = fréquence d'échantillonnage, C = capacité d'échantillonnage interne et deltaV = tension entre les canaux successifs échantillonnés par l'ADC. Exemple: deltaV < = +/- 3V, C = 5pf, f = 1000Hz donne un courant de couplage de charge allant jusqu'à +/- 15nA. Si l'impédance de votre source est de 10K, vous obtiendrez une tension de décalage allant jusqu'à +/- 150uV en fonction de la différence de tension entre les canaux. (Cela ne devient vraiment un problème qu'avec des taux d'échantillonnage élevés ou des impédances de source élevées)

Bien que tout ce que vous écrivez soit correct, je ne vois pas comment cela répond à la question. Le circuit fonctionne bien dans un environnement, mais pas dans un autre. Si votre suggestion était le coupable, je m'attendrais à voir également le problème sur le banc.
ah, j'ai manqué ce détail du message original.
Bonne suggestion. Le PGA que j'utilise a un multiplexeur analogique intégré de sorte que les 8 canaux analogiques sont acheminés vers un multiplexeur puis le PGA puis vers un seul port analogique de microprocesseur. Je pensais que cela pouvait être un canal interférant avec les autres canaux, mais la fréquence à laquelle je change de canal et d'échantillonnage est très faible (20 Hz).
#4
  0
Jason S
2010-03-12 03:25:33 UTC
view on stackexchange narkive permalink

Vous pourriez également être confronté à une susceptibilité EMI. Les composants actifs (tels que votre PGA) sont sujets à un phénomène appelé redressement RF où une perturbation CA à hautes fréquences au niveau de l'amplificateur d'entrée provoque une perturbation CC à la sortie d'un amplificateur. Ceci est très courant dans les circuits à gain élevé (vous le verrez souvent dans les amplificateurs à thermocouple) dans un environnement électriquement bruyant.

Si tel est le problème, dérivez le bruit haute fréquence en mettant un ou plus de bons condensateurs de dérivation haute fréquence (1000pf-10000pf en céramique probablement le meilleur) à travers les points les plus proches qui sont les entrées de votre circuit. (par exemple, si vous avez un amplificateur différentiel à un ampli-op à 4 résistances:

alt text

puis mettez 2 condensateurs à l'entrée des résistances - à partir de V1 à GND et V2 à GND, vous devrez peut-être un troisième de V1 à V2 s'il y a beaucoup de bruit différentiel - et PAS à travers les entrées de l'ampli-op)



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 2.0 sous laquelle il est distribué.
Loading...