BTS Mesure BTS Mesure
DébutTP 1UARTLED RGBBilanCapteursDataloggingStationUltrasonCAN seriePontRégulationCO2

Objectif : Mise en œuvre d’un CAN série

Piloter un CAN série intégré avec un protocole de communication SPI.

Nous utiliserons le LTC1286 (CAN 12 bits à approximations successives intégré).

Notion de métrologie : erreur de gain, erreur d'offset.


Etape 1 : Câblage du CAN LTC1286
                 Exploitation  du datasheet LTC1286

Etape 2 : Réalisation et test du programme d'acquisition à l'aide des organigrammes fournis

Etape 3 : Evaluation de type A de l'incertitude du LTC1286 pour un étalon proche de 2,5 V

Etape 4 : Etalonnage du LTC1286

Le protocole SPI est une des liaisons série les plus répandues (avec l'I²C et l'UART)
sur des périphériques de types mémoires, horloges temps réelles, potentiomètre numériques…

Nous l'avons déjà utilisé pour la mise en œuvre d'une carte SD à l'aide de la bibliothèque SPI.
Dans ce TP nous n'utiliserons pas cette bibliothèque (fréquence d'horloge de 4 MHz incompatible avec le LTC1286)

Compte rendu à rendre

Consigne :

 Téléchargez le document réponse et complétez-le tout au long du TP.

 Le compte rendu doit être remis à la fin du TP.

Résultats à reporter :

 Les résultats des parties 3 et 4 doivent être saisis dans le fichier Excel TP_08_CAN_Serie_Excel

Les tableaux correspondants sont déjà préparés dans les onglets indiqués ci-dessous.

 Annexes à joindre au compte rendu :

  • Annexe 1 : Capture d’écran annotée du chronogramme DOUT du LTC1286 (analyseur logique ou oscilloscope).

  • Annexe 2 : Étude de la fidélité du convertisseur (à compléter dans l’onglet « Fidélité » du fichier Excel).

  • Annexe 3 : Procès-verbal d’étalonnage du LTC1286 (à compléter dans l’onglet « Étalonnage » du fichier Excel).



Contexte professionnel

Dans le domaine du nucléaire, la mesure précise des grandeurs physiques est essentielle pour garantir la sûreté, la performance et la traçabilité des installations.
Les capteurs de température, de pression ou de rayonnement fournissent des données indispensables à la surveillance et au contrôle des procédés.

Les métiers de la métrologie et de l’instrumentation nucléaire assurent la fiabilité de ces mesures.
Les techniciens vérifient, étalonnent et maintiennent les capteurs et les systèmes d’acquisition pour garantir des résultats conformes aux exigences qualité et réglementaires du secteur (ISO 17025, ISO 9001).

Le convertisseur analogique-numérique (CAN) est un élément central de ces systèmes.
Il transforme un signal analogique en une donnée numérique exploitable par les systèmes de supervision.
Dans certaines installations, des cartes à CAN série tel le LTC1286 sont encore utilisées pour la numérisation des signaux de capteurs de température.
Ces composants nécessitent un suivi métrologique régulier afin de corriger les erreurs de gain et d’offset.

Dans ce contexte, l’étude technologique pratique (ETP) a pour objectif de concevoir et réaliser un banc test d’étalonnage et de vérification des LTC1286.
Ce banc permettra de caractériser le composant, de déterminer ses erreurs systématiques et de calculer les équations de correction nécessaires à l’obtention de mesures fiables.

Ce travail s’inscrit directement dans les missions d’un technicien en instrumentation nucléaire ou d’un métrologue en centrale, chargés d’assurer la traçabilité métrologique des instruments utilisés sur site.
Il développe des compétences clés en étalonnage, analyse d’incertitude et exploitation de données de mesure, essentielles pour garantir la sécurité et la fiabilité des installations nucléaires.

Voir cette version plus détaillée.

Etape 1 : Câblage du CAN LTC1286 - Exploitation du datasheet

  • VCC = 5V
  • L'entrée  -IN  est mise à la masse.
  • La tension d'entrée sur  +IN  est appelée VIN.
  •  Mettre un condensateur C = 2.2 µF entre la masse et l'alimentation VCC ainsi qu'entre la masse et VREF.
  •  Les broches CLK (SCK <=> D13)  , DOUT (MISO : Master In Slave Out <=> D12)  et  CS (Chip Select ou Slave Select <=>D10)
     sont reliées aux entrées/sorties digitales 13,12 et 10 du microcontrôleur Arduino.

Questions préliminaires

On appelle N2 le mot binaire de 12 bits renvoyé sur la sortie DOUT par le CAN LTC1286.

1.1) Pourquoi est-il recommandé de mettre un condensateur au plus près des broches entre la masse et la tension de référence VREF?

1.2) Déterminer la relation donnant VIN en fonction de N2, VREF  et du nombre de bit du CAN utilisé.

1.3) Préciser la résolution du CAN ainsi que la valeur du quantum q.
        Mesurer au voltmètre le "5V" de l'Arduino. Remplacer VREF par cette valeur.
        Attention sur la figure q et Vin ont été calculés avec un VREF < 5 V...

1.4) En utilisant le datasheet et en ne prenant en compte que l'erreur de gain et d'offset :

  • calculer l'erreur type de gain en % de la pleine échelle ;

  • calculer Vin et son incertitude type lorsque N2=2041 et VREF = 5,00 V;

Évaluation de type B de l'incertitude : l’incertitude type n’est pas déterminée par une étude statistique
mais elle est « estimée » à partir d’informations : certificat d’étalonnage, classe des instruments, documentation constructeur

Exploitation de la documentation constructeur : le datasheet

L'erreur absolue en LSB  = Erreur de gain/2N * N2 + erreur d'offset
erreur en V = erreur en LSB * q

L'incertitude type (TYP, u) correspond à un intervalle de 1σ (écart-type sigma, s) soit un niveau de confiance de 68 % .
L'incertitude max  (MAX) correspond à un intervalle de 4σ soit un niveau de confiance de 99,994 % .
L'incertitude élargie (U) pour un niveau de confiance de 95 % correspond à un intervalle de 2σ.

L'incertitude élargie se note U  (de l’anglais « Uncertainty »)
Le Guide pour l'expression de l'incertitude de mesure (GUM) constitue le document de référence fondamental de la métrologie
Guide to the expression of Uncertainty in Measurement

  • calculer Vin et son incertitude à un niveau de confiance de 95 % lorsque N2=2041 et VREF = 5,00 V;

  • écrire le résultat sous la forme Vin = 2,427 ± 0,003 V  

  • Erreur d’Offset → Décalage systématique (biais constant)

  •  Erreur de Gain → Mauvaise pente (mauvaise échelle de conversion)

  •  Ces erreurs sont systématiques, donc elles s’ajoutent dans l’incertitude totale d’un capteur ou ADC.

Pour contrôler et étalonner le LTC 1286 nous allons utiliser le voltmètre de table FI2960 MT.
Voici un extrait de la documentation constructeur :

Soit une mesure de 005,0087 mVDC (6½ digits) sur la gamme 100mV. Comme pour le LTC 1286 on distingue :
    - une erreur de gain en % de la lecture :  0,003%*5,0087 = 0,00015 mV
    - une erreur d'offset en % de la gamme : 0,003%*100 = 0,003 mV
    Pour une erreur absolue de 0,00315 mV. V = 5,0087
± 0,0032 mV

1.5) Quelle est erreur absolue pour une mesure V = 02,4717 V faite par le FI2960MT ?
        V = 2,4717 ± ?
        Que peut-on dire de cette erreur devant celle du LTC1286 ?

1.6) Quel est intérêt d'utiliser un LTC1286 à la place du CAN de l'Arduino ?

 

 Etape 2 : RÉALISATION ET TEST DU PROGRAMME D'ACQUISITION

Nous n'utilisons pas la bibliothèque SPI car sa fréquence (4MHz) est trop élevée pour le LTC1286 (200 kHz max).

Voici le protocole à respecter d'après le datasheet :

Pour lire le résultat de la conversion il faut :

  • mettre CS à 0 ;
  • envoyer 2 impulsions d'horloge ;
  • puis pour les 12 impulsions d'horloge suivantes,
    après chaque impulsion d'horloge le LTC1286 envoie successivement les bits B11 (MSB) à B0 (LSB);
    chaque bit est lu grâce à la fonction digitalRead() : Dout=digitalRead(12);
    N2 = B11*211+B10*210+...+B1*21+B0*20
  • mettre CS à 1 (fin de la lecture de N2).

Cahier des charges :

2.1) A l'aide des organigrammes ci-contre, construire un programme permettant de communiquer avec le LTC1286.
       La structure du programme comportera :
               - un programme principal
               - une fonction utilisateur Horloge()
               - une fonction utilisateur Acquisition()

  

2.1-a)  Réaliser le sous-programme Horloge et le tester.
            Régler la temporisation pour avoir une fréquence d’environ 10 kHz à 1 kHz près (fmax = 200 kHz d’après le datasheet)

Le chronogramme ci-dessous montre que l'état haut de l'horloge dure 55 µs au lieu de 50 µs. Soit 5 µs de trop   => delayMicroseconds(45);
Le chronogramme ci-dessous montre que l'état bas de l'horloge dure 60 µs au lieu de 50 µs. Soit 10 µs de trop  => delayMicroseconds(40);

2.1-b) Réaliser le sous-programme Acquisition et le tester en lançant une acquisition.

2.1-c) Finir par le programme principal LTC1286, lequel lance des acquisitions en boucle toutes les 500 ms
          et affiche sur le moniteur série : "12    2047    2.427"  soit k  Tab-> N  Tab-> Vin
          k numéro de la mesure tabulation (« \t ») N tabulation (« \t ») Vin (avec 3 chiffres après la virgule et retour à la ligne).
          Dans le setup ajouter :  Serial.println("Mesure \tN \tVin en V");

2.2) Pour une valeur VIN de 2,5 V contrôlée au multimètre de table,
       relever avec l'analyseur logique les signaux CS, CLK et DOUT montrant le cycle complet de l'acquisition d'un mot binaire N2.
       Retrouver à partir de ces chronogrammes, la valeur du mot binaire N2 reçu.
       Mesurer le temps nécessaire à réaliser un cycle acquisition.
       Joindre au compte rendu une capture d'écran des chronogrammes

Evaluation de type A de l'incertitude - Fidélité et justesse.

Evaluation de type A : c’est le cas où l'opérateur réalise une série de mesures répétées dans les conditions de répétabilité.
Elle se fonde sur l’application de méthodes statistiques à une série de valeurs expérimentales répétées.
L’incertitude-type u (ou s) est alors déterminée à partir du calcul de l’écart-type empirique corrigé sn-1

Condition de répétabilité : condition de mesurage dans un ensemble de conditions qui comprennent la même procédure de mesure,
 les mêmes opérateurs, le même système de mesure, les mêmes conditions de fonctionnement et le même lieu,
ainsi que des mesurages répétés sur le même objet ou des objets similaires pendant une courte période de temps

Fidélité : «Étroitesse de l'accord entre les indications ou les valeurs mesurées obtenues par des mesurages répétés du même objet ou d'objets similaires dans des conditions spécifiées » (VIM).

Le défaut de fidélité résulte des erreurs aléatoires.

Le défaut de fidélité sera quantifié par l’écart type de la série de meure.  u = Sn-1

Justesse de mesure : «Étroitesse  de  l'accord  entre  la  moyenne  d'un  nombre  infini  de  valeurs  mesurées répétées  et  une  valeur  de référence » (VIM).

biais de mesure (erreur de justesse) :

Le voltmètre FI2960MT nous donne la mesure de référence = référence

Le biais de mesure est une erreur systématique qui peut être corrigée par un étalonnage par exemple.

Loi normale : Lorsque les causes d'incertitudes sont nombreuses, indépendantes, et donnent des erreurs du même ordre de grandeur,
 l'histogramme de répartition de la série de mesures tend vers une courbe de Gauss lorsque le nombre n de mesures tend vers l'infini.

La loi normale n'est caractérisée que par deux paramètres :

  •  m : moyenne (indiquant la valeur centrale)
  •   σ (sigma <=> s) écart-type (indiquant la largeur de la courbe). 

Incertitude élargie U : L’incertitude élargie U est donc obtenue en multipliant l’incertitude-type composée par un facteur k
appelé facteur d’élargissement, qui permet d’obtenir un intervalle correspondant à un niveau de confiance choisi.

Pour une loi de distribution normale (cas le plus fréquent), le facteur d’élargissement k est assimilable au coefficient de Student t.
t est disponible dans la table de Student : il varie selon le nombre de mesures n et le niveau de confiance.

Etape 3 : Evaluation de type A de l'incertitude du LTC1286 pour un étalon proche de 2,5 V

 Les résultats sont à reporté dans l'onglet « Fidélité » du fichier Excel TP_08_CAN_Serie_Excel (tableau déjà préparé).

3.1)  - Réaliser une série de 300 mesures dans les conditions de répétabilité.
        - Arrêter le défilement automatique, sélectionner les 300 premières mesures et les copier ;
          coller les mesures dans TP_08_CAN_Serie_Excel (onglet Fidélité ) Méthode 1
        - Rechercher et remplacer tous les . par des , dans Excel.
        - Calculer dans Excel l’écart-type  et la moyenne de cette série de mesure.

3.2)  Tracer l'histogramme de la distribution des mesures à l'aide d'Excel
        Tuto Excel : la fonction matricielle FREQUENCE(tableau_données, matrice_intervalles)
        Joindre l'annexe 2 à votre compte rendu.
        L'allure de cette distribution suit plutôt quelle loi ?  


3.3)  Calculer le biais de mesure (quantification de l’erreur de justesse)
        Exprimer ce biais en V et en LSB.
        Le LTC1286 est-il juste ? Comment peut-on rendre le LTC 1286 plus juste ?

3.4)  Calculer l’écart-type ufidelité de cette série de mesure.
        Exprimez ufidelité en volt et en LSB.
        En déduire l'incertitude élargie Ufidélité pour un intervalle de confiance de 95%
        Le LTC1286 est-il fidèle ? Comment peut-on rendre le LTC 1286 plus fidèle ?

Etape 4 : Étalonnage du convertisseur LTC1286

PV d'étalonnage à remplir dans l’onglet « Étalonnage » du fichier Excel TP_08_CAN_Serie_Excel (tableau déjà préparé).

Contexte de l’étalonnage

L’étalonnage d’un convertisseur analogique-numérique (CAN) consiste à vérifier la conformité des valeurs mesurées par rapport à une valeur de référence connue
 et à caractériser les erreurs systématiques (gain et offset).

Dans cette partie, vous allez établir un procès-verbal d’étalonnage (PV d’étalonnage) pour le CAN série LTC1286,

afin de vérifier sa conformité à la demande client suivante :

4.1 – Moyenne de plusieurs acquisitions

 Objectif : Réduire le bruit de mesure (erreur aléatoire).

  1. Modifier le programme principal afin qu’il affiche la valeur moyenne de 10 acquisitions successives du LTC1286.

  2. Observer la stabilité des valeurs affichées sur le moniteur série.

  3. Reporter une série de 300 mesures dans l'onglet Fidélité Méthode 2
    Tracer l'histogramme et calculer le Ufidélité Méthode 2 comme à la question 3.2 et 3.4

  4. Question : Quelle erreur (aléatoire ou systématique) est réduite par cette méthode de moyennage ?

Consigne : Reporter les observations et la conclusion dans l’onglet « Étalonnage » du fichier Excel TP_08_CAN_Serie_Excel.

4.2 – Tableau d’étalonnage

 Objectif : Comparer les valeurs mesurées par le LTC1286 avec les valeurs de référence obtenues à l’aide du voltmètre FI2960MT.

  1. Régler la tension d’entrée à différentes valeurs connues (environ 0,5 V – 1 V – 2 V – 3 V – 4 V – 4,5 V – 4,9 V).

  2. Mesurer pour chaque valeur :

    • la tension de référence à l’aide du voltmètre FI2960MT,

    • la valeur numérique fournie par le LTC1286,

    • la tension mesurée par le LTC1286 calculée à partir de :

  3. Calculer pour chaque point :

    • l’erreur en mV,

    • l’erreur en LSB.

    • tracer sur Excel le graphe des écarts Ecart (Vmesuré)

  4. À la lecture du graphique des écarts, l’erreur observée correspond principalement à :
    🔘 une erreur d’offset (biais constant, décalage vertical),
    🔘 une erreur de gain (proportionnelle à la tension),
    🔘 une combinaison d’offset et de gain,
    🔘 ou une dispersion aléatoire (erreur de fidélité).
    Rédiger une conclusion de 3-4 lignes sur l'analyse graphique des écarts.

 Consigne : Reporter toutes les mesures et calculs dans l’onglet « Étalonnage » du fichier Excel TP_08_CAN_Serie_Excel (tableau déjà préparé).

4.3 – Modélisation de l’étalonnage

 Objectif : Déterminer la droite d’étalonnage et quantifier les erreurs de gain et d’offset.

 

  1. Tracer dans Excel la courbe .

  2. Utiliser la fonction DROITEREG() pour déterminer les coefficients de la droite : Vcorr = b1*N+b0
    pour recalculer les tensions corrigées.

 

  1. Reporter les valeurs de et dans le tableau Excel.

  2. Calculer et commenter :

    • l’erreur de gain (écart relatif entre et ),

    • l’erreur d’offset  en % de la pleine échelle (valeur de ),

    • leur équivalent en LSB (100% -> 4096 LSB)

  3. Comparer les valeurs obtenues aux tolérances constructeur du LTC1286.

  4. Question : En vous appuyant sur les valeurs d’offset, de gain et sur l’incertitude du modèle,
    votre LTC1286 est-il conforme à la demande client avant correction ?
    Justifiez votre réponse en précisant si le convertisseur respecte les spécifications à 68 %, 95 % ou 99,994 % de confiance.

Consigne : Reporter tous les résultats numériques, les graphiques et les conclusions dans l’onglet « Étalonnage » du fichier Excel.

4.4 – Vérification après correction

Objectif : Évaluer la justesse après correction à l’aide du modèle d’étalonnage.

 

  1. Utiliser le modèle obtenu précédemment :

     
  2. Compléter à nouveau le tableau d’étalonnage dans Excel (colonnes « après correction »).

  3. Comparer les nouvelles erreurs avec celles du tableau initial.

  4. Questions :

    • Les erreurs sont-elles réduites ?

    • Le biais de mesure a-t-il disparu ?

    • Quelle est l’incertitude élargie à 95 % (calculée à partir de et du facteur ) ?

 Consigne : Reporter les valeurs corrigées, les comparaisons et la conclusion dans l’onglet « Étalonnage » du fichier Excel TP_08_CAN_Serie_Excel.

4.5 – Bilan des incertitudes

 Objectif : Compléter et interpréter le tableau des incertitudes du LTC1286.

  1. Dans l’onglet « Étalonnage », compléter le tableau récapitulatif des sources d’incertitude en y indiquant :

    • l’incertitude type (u),

    • la loi de probabilité (normale ou rectangulaire),

    • le facteur d’élargissement (k),

    • la variance ,

    • et la contribution relative (%) de chaque source.

  2. Calculer l’incertitude élargie totale U (pour un niveau de confiance de 95 %).

  3. Questions :

    • Quelle source d’incertitude est la plus dominante ?

    • Quelle est la valeur totale de exprimée en volts et en LSB ?

    • Le résultat global est-il conforme à l’EMT (Erreur Maximum Tolérée) du constructeur ?

Consigne : Compléter le bilan des incertitudes directement dans l’onglet « Étalonnage » du fichier Excel TP_08_CAN_Serie_Excel puis commenter vos résultats dans la cellule prévue à cet effet.

Erreur de résolution d’un CAN (ou d’un instrument numérique)

Un convertisseur analogique–numérique (CAN) code une tension analogique continue en une valeur numérique discrète.
Chaque valeur numérique correspond à une plage de tension : elle ne représente donc pas une valeur exacte, mais un intervalle de largeur égale au quantum .

Chaque code N représente toutes les tensions comprises entre :

Ainsi :

  • le code 2048 représente toutes les tensions entre 2047,5 q et 2048,5 q,

  • le code 2049 démarre à 2048,5 q, etc.

Calcul de l’incertitude type liée à la résolution

 

Etape 5 :  Il vous reste du temps ?

 Ajouter au montage un écran LCD qui affiche q, N et la tension mesurée

6) Pour aller plus loin.

Il est possible d'utiliser la bibliothèque SPI pour communiquer avec le LTC1286.

Cela permet de communiquer plus vite.

Pour cela il faut :

  • diminuer la fréquence d'horloge (16/4 = 4 MHz par défaut) en dessous de 200 kHz grâce à la fonction :
    SPI.setClockDivider(SPI_CLOCK_DIV128);     // Horloge à 16000/128 = 125 kHz

  • lire l'octet de poids fort et éliminer les 2 bits haute impédance (HI-Z) et le bit nul
    les 3 bits de poids fort sont à éliminer
    (en SPI_MODE0, les bits sont lus sur un front montant d'horloge)
    pour cela nous allons faire un décalage à gauche de  3 bits et garder  les 5 bits à droite
    N1=SPI.transfer(0x00)<<3;

  • lire l'octet de poids faible
    seuls les 7 bits à gauche sont à garder (5+7 = 12 bits) le dernier bit lu est en haute impédance (HI-Z)
    pour cela nous allons faire un décalage à droite de 1 bit et garder  les 7 bits à gauche  :
    N2=SPI.transfer(0x00)>>1;

  • on assemble les 2 octets pour reconstituer le mot transmis
    N1 correspond au 5 bits de poids fort B11 à B7
    il faut déplacer le bit de N1 de rang 7 au rang 11 en le multipliant par 24
    N2 correspond au 7 bits suivants B6 à B0
    N=16*N1+N2;

Voici un programme réalisant ce cahier des charges.

Téléverser ce programme et observer à l'analyseur logique CS (10), MISO (12)  et SCK (13).
Combien de temps faut-il au LTC1286 pour transmettre N ?

Remplacer SPI_CLOCK_DIV128 par SPI_CLOCK_DIV64
Quelle est la nouvelle fréquence d'horloge ?

Le LTC1286 fonctionne-t-il encore correctement ?