Go Down

Topic: Datasheet d'un ADC 16 bits (Read 1 time) previous topic - next topic

Cow faith


Bonjour,

Je suis en train d'effectuer un relevé de température assez précis à l'aide d'une thermistance (+-0.2°) et j'aurais voulu ne pas perdre en précision avec un bon ADC. J'ai donc trouvé le composant parfait qui est l'ADC 16 bits nommé MCP3426 chez microchip donc voici la datasheet :

http://ww1.microchip.com/downloads/en/DeviceDoc/22226a.pdf

J'obtiens théoriquement un pas de mesure de qqes microVolts avec cette petite merveille, mais hélas petit problème, je lis p.9 sur le relevé TotalError/InputVoltage une erreur de quelques mV... ???
Pour un adc aussi précis, ça va poser quelques soucis, aurais-je mal lu la datasheet?

Je vous remercie.

al1fch

#1
Nov 04, 2012, 03:45 pm Last Edit: Nov 04, 2012, 04:04 pm by al1fch Reason: 1
Bonjour Cow faith

"Résolution" n'est pas "précision".....

Un ADC de faible côut garantissant (sans reglage)  1mV d'erreur totale pour 2V en entrée c'est tout à fait excellent !!!
(C'est au niveau d'un multimetre de bonne qualité après quelques années d'utilisation...)
La première page de la doc indique d'ailleurs 0,05% comme précision de (l'excellente) référence de tension interne.
ça fait déjà une mesure précise sur 11 avec une puce "sortie d'usine". (pour une mesure sur thermistance c'est déjà comfortable)
Il est tout à fait normal que le pas de mesure (résolution) soit plus fin. (16bits)

De toutes façon il faut s'attendre à devoir abandonner quelques bits de poids faible, noyés dans le bruit.
Un  "16bits" comme celui là permet, avec de bonnes précautions de câblage et un peu de filtrage numérique  de faire un assez bon "ADC 12bits vrais"


Cow faith


Merci al1fch pour ta réponse, je pensais que les 4 derniers bits était aussi juste, ils servent en fait seulement à mesurer une variation de tension?

Ma thermistance indique une variation de tension à ses bornes de 2mV/°C à son courant nominal, ce qui induit une erreur de 0.5°c sur le mesure avec l'ADC. L'amplificateur interne x8 me permet-il de réduire l'erreur de 1mV à 0.25mV?
Je n'ai pas compris sur le graphe pourquoi il y a la même erreur en x1 et en x8...

Merci

al1fch

#3
Nov 04, 2012, 04:30 pm Last Edit: Nov 04, 2012, 06:07 pm by al1fch Reason: 1
L'erreur totale, dans la figure 2.5 est exprimée en fonction du % dans la plage de tension d'entrée.
C'est visiblement en X2 que l'erreur totale est la plus faible. (+- 500 µV en pleine échelle)
Pourquoi ? il faudrait analyser la part des diverses causes d'erreur interne (tension de référence, amplificateur...)
Autant se fier à la doc qui est censée résumer un bon paquet de mesures expérimentales.

Le capteur est-il réellement une thermistance ? En effet la ratio "2mV/°C" fait plutôt penser à la caractéristique d'un simple semiconducteur (diode, jonction Base-Emetteur de transistor...) utilisé en capteur de température.

Les thermistances (résistances variables avec la t°) sont non linéaires. Leur résistance varie fortement avec la température contairement à ce capteur très peu sensible.


Cow faith


Oui c'est en effet une thermistance CTN. Je l'ai acheté 5€ pour avoir les 0.2°c de précision, seulement j'ai fait l'erreur de prendre une résistance à 25°C trop faible (1kOhm). Du coup je dois limiter le courant à 0.1mA pour éviter l'auto-échauffement (comme on me l'a conseillé), ce qui me fait très approximativement les 2mV/°C dans la zone linéaire.
C'est effectivement difficilement mesurable...

http://datasheet.seekic.com/datasheet/1K2A1.html

Artouste



Oui c'est en effet une thermistance CTN. Je l'ai acheté 5€ pour avoir les 0.2°c de précision, seulement j'ai fait l'erreur de prendre une résistance à 25°C trop faible (1kOhm). Du coup je dois limiter le courant à 0.1mA pour éviter l'auto-échauffement (comme on me l'a conseillé), ce qui me fait très approximativement les 2mV/°C dans la zone linéaire.
C'est effectivement difficilement mesurable...

http://datasheet.seekic.com/datasheet/1K2A1.html


bonsoir
vouloir mettre un ADC 16 bits derrière une CTN par definition non lineaire dont la dispersion de tolerance sans compter les autres facteurs est  en thermometrie generale
AMHA depenser du temps et de l'argent pour un résultat illusoire

si il s'agit de travailler sur la portion pseudo lineaire de la CTN, il est surement préférable de simplement utiliser un AOP et d'attaquer un CAN de l'rduino

B@tto

En fait ton raisonnement et tes choix technique ne coïncide pas : tu veux mesurer une température très précisément sauf que ta sonde à la base n'est pas capable de te fournir une précision suffisante et durable (ça compte !). Je te conseille plutôt de regarder les sondes PT100, perso c'est que j'utilise sur mes montages de labo. Avec une simple amplification et une linéarisation logicielle tu peux atteindre de très bonne performances.
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

Cow faith



Oui je comprend que l'utilisation d'une sonde +-0.2°C n'est pas incroyable, mais c'est suffisant pour moi si j'arrive à l'utiliser à son plein potentiel. Le problème est de conserver ces 0.2°c voir 0.3°c de précision à cause des incertitudes qui s'ajoutent partout.

En effet un AOP en amplification va ajouter lui aussi un forte incertitude avec les deux résistances 5% autours, que ce soit avec la PT100 ou ma thermistance :S.
Comment fais-tu Batto pour ne pas induire d'erreur avec l'amplification?


al1fch

#8
Nov 04, 2012, 06:24 pm Last Edit: Nov 04, 2012, 06:58 pm by al1fch Reason: 1
Cowfaith, le "+- 0,2°C" affiché par le constructeur est un argument commercial en faveur de l'intercheangabilité de la thermistance mais pour faire d'une telle thermistance un  capteur de température à +-0,2° exploitable ça ne suffit pas, il faut maitriser tous les autres éléments de la chaine : source de courant, amplification...(conditionnement du signal).  Il me semble qu'à de tels niveaux de précision de mesure de t° sur une plage de température étendue il y a en général calibrage :  pour vendre et maintenir dans les spécifications.

Pour tirer le meilleur de cette thermistance et si tu n'as pas encore acheté le convertisseur ADC je te conseillerai plutôt de rechercher un bon convertiseur ratiometrique et une résistance série à 0, 1% (ratiometrique parce que le capteur est içi résistif et que cela permet d'éviter l'imprécision de la référence de tension et  l'imprécision de la source de courant). (ADC ratiometrique possible si accès à Vref)
Ensuite selon la plage de température visée choisir la 'bonne' équation ou une simple linéarisation....
La doc fournit les deux coefficients principaux pour l'équation de Steinhart.
Un courant un peu plus élevé est envisageable à condition de n'alimenter la thermistance qu'une fraction de seconde pour faire qq mesures.

Cow faith


Ok al1fch je pense avoir compris. L'avantage de la PT100 c'est que je part déjà avec une précision deux fois supérieur, ce qui me permet de perdre un peu sur les autres éléments de la chaîne.
Donc soit je prend un convertisseur ratiométrique, soit un ampli diff avec un pont de wheatstone...

Merci pour toute vos réponses.

al1fch

#10
Nov 04, 2012, 06:55 pm Last Edit: Nov 04, 2012, 06:58 pm by al1fch Reason: 1
PT100 ( ou PT1000 dans mon cas)  =  excellente précision + bonne linéarité !!!
Quote
Donc soit je prend un convertisseur ratiométrique, soit un ampli diff avec un pont de wheatstone...

Si la mesure ratiometrique n'est pas possible il faut soigner la source de courant constant

Artouste



Ok al1fch je pense avoir compris. L'avantage de la PT100 c'est que je part déjà avec une précision deux fois supérieur, ce qui me permet de perdre un peu sur les autres éléments de la chaîne.
Donc soit je prend un convertisseur ratiométrique, soit un ampli diff avec un pont de wheatstone...

Merci pour toute vos réponses.

dans les applications de thermométrie "generale" , l'on cherche souvent à détecter les variations relatives et leurs évolutions dans le temps plus qu'à se polariser sur la mesure absolue.
ton application est laquelle ?




Go Up