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

Mise en œuvre d’un capteur à ultrason

Vous pouvez télécharger le texte du TP ici.

Télécharger ce document réponse à rendre à la fin du TP.

Avec le fichier excel  Annexe 1 : Etalonnage capteur à Ultrason HC-SR04

Objectifs du TP :

Présentation du module HC-SR04 :

Etape 1 : Mise en œuvre du module HC-SR04, premières mesures 

Etape 2 : la fidélité

Etape 3 : étalonnage et vérification

Etape 4 : afficher la distance sur un écran LCD 

Etape 5 : le challenge

 

Contexte professionnel

Dans des secteurs à haute exigence comme l'industrie nucléaire, la surveillance et la sûreté des installations reposent impérativement sur des systèmes de mesure d'une fiabilité irréprochable.
L'utilisation de capteurs de distance, tels que le module à ultrason HC-SR04 étudié dans ce TP, est courante pour des applications critiques comme le positionnement ou le contrôle de niveau.

Pour qu'un tel capteur puisse être intégré dans une chaîne de mesure industrielle, une qualification métrologique complète est indispensable.
Cette démarche se déploie selon deux axes majeurs :

  1. L'Étalonnage et la Justesse :
    Tout d'abord, nous devons caractériser les
    erreurs systématiques du capteur (erreurs de gain et d'offset)
    Ces défauts de justesse doivent être compensés par un étalonnage rigoureux, processus qui consiste à relier la valeur mesurée à la valeur de référence.
     
    L'étalonnage permet d'établir un modèle de correction (d = a dt + b) essentiel pour garantir la validité des données.

  2. Le Budget d'Incertitude et la Fidélité :
    Ensuite, nous devons quantifier les incertitudes de mesure.
    Les erreurs aléatoires (défaut de fidélité), quantifiées par l'écart-type σ, sont traitées par l'évaluation de type A.
     Notre objectif est d'établir le budget d'incertitude complet en propageant toutes les sources (répétabilité, étalon, modélisation).
    Le résultat final, l'
    incertitude élargie U pour un niveau de confiance de 95%, est le garant de la qualité et de la conformité réglementaire de la mesure.

Ce Travail Pratique vous place donc dans la peau de l'ingénieur métrologue chargé de qualifier le capteur à ultrason, en appliquant les principes fondamentaux de l'étalonnage et de la maîtrise des incertitudes.

Présentation du module HC-SR04 :

Les caractéristiques techniques du module sont les suivantes :

-          Alimentation : 5v.

-          Consommation en utilisation : 15 mA.

-          Gamme de distance : 2 cm à 5 m.

-          Résolution : 0.3 cm.

-          Précision : 1 cm

-          Angle de mesure : < 15°.

Le fonctionnement du module est le suivant :

Il faut envoyer une impulsion niveau haut (à + 5v) pendant au moins 10 µs sur la broche ‘Trig Input’; cela déclenche la mesure. En retour la sortie ‘Output’ ou ‘Echo’, va fournir une impulsion + 5v dont la durée est proportionnelle à la distance si le module détecte un objet.

Voici une représentation graphique de la séquence de fonctionnement du module :

1. Pourquoi, sur la figure, l’obstacle est-il signalé au milieu de l’impulsion Echo ?

Rappel : Célérité du son dans l’air en m.s-1 : c = 331,2 + 0,607.θ, θ étant la température en °C.

2.      Quelle est la célérité des ultrasons dans l’air à une température de 25 °C ?

3.      Exprimer la formule donnant la distance d en cm pour une durée ΔT en µs de l’impulsion Echo.

4.      Application Numérique pour ΔT1 = 150 µs, ΔT2 = 1 ms, ΔT3 = 60 ms.

2) Mise en œuvre du module HC-SR04, premières mesures 

Pour utiliser le module HC-SR04, notre programme devra suivre le séquentiel suivant :

  • Créer une impulsion de 20 µs (>10 µs) sur la patte Trig
  • Mesurer la durée ΔT de l’impulsion Echo en µs
  • Calculer la distance d en cm correspondante
  • Afficher sur le moniteur série la durée ΔT et la distance d
  • Attendre 200 ms avant de réaliser une nouvelle mesure

Fonction à utiliser : pulseIn(broche, valeur, delai_sortie)

·         broche: le numéro de la broche sur laquelle vous voulez lire la durée de l'impulsion. (type int)

·         valeur: le type d'impulsion à "lire" : soit HIGH (niveau HAUT) ou LOW (niveau BAS). (type int)

·         delai_sortie (optionnel): le nombre de microsecondes à attendre pour début de l'impulsion. La valeur par défaut est 1 seconde. (type unsigned long)

Valeur renvoyée : la durée de l'impulsion (en microsecondes) ou 0 si aucune impulsion n'a démarrée avant le délai de sortie. (type unsigned long)

Organigramme en pseudocode :

DÉBUT

\\ Setup
    Initialiser liaison série
   ÉCRIRE "dt en µs \t d en cm" DANS Série   // \t = tabulation
    Patte Trig en sortie
    Patte Echo en entrée
    c = 331.2 + 0.607*Temp

\\ Loop
RÉPÉTER
    ÉCRIRE HIGH DANS Trig              // Créer une impulsion sur la patte Trig grâce à digitalWrite(Trig,HIGH)
    Tempo 20 µs                                     //  d'une durée de 20 µs (>10 µs)
    ÉCRIRE LOW DANS Trig
    dt=pulseIn(Echo,HIGH ,200000) (en µs)  // Mesurer la durée ΔT de l’impulsion Echo en µs
    d=k*dt                                                  // cf Question 3
    ÉCRIRE dt+"\t"+d DANS Série  // Afficher sur le moniteur série la durée ΔT en µs et la distance d avec 1 chiffre après la virgule
    Tempo 200 ms                            // Attendre 200 ms avant de réaliser une nouvelle mesure
JUSQU'À Stop

FIN

5.      Réaliser le programme répondant à ce cahier des charges, puis le tester.

Vous avez du mal à commencer ?
Arduino pour les nuls : affiche la structure du programme avec des commentaires.
Toujours en difficulté ?  Le corrigé.

6.      Visualiser sur l’oscilloscope les signaux des pattes Trig et Echo.
      Placer les curseurs afin de mesurer ΔT durée de l'impulsion Echo.
      Joindre une capture d'écran de votre oscilloscope à votre compte rendu.

7.      Mesurer la durée des impulsions Trig et Echo. Comparer ces durées à celles attendues.
     Puis visualiser la tension reçue par le récepteur US en synchronisme avec le signal Echo.

8.      Comparer la mesure d à la distance mesurée par un réglet. Justifiez si nécessaire la différence de mesure.

Appel 1 : faites valider par le professeur la partie mise en oeuvre

3) Incertitude de répétabilité

Evaluation de type A de l'incertitude - La fidélité

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 (σ, sigma 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
Les mesures automatisées gérées par votre programme répondent parfaitement à ces conditions...

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 » (Vocabulaire International de Métrologie : 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 = σn-1 = Sn-1

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.
Pour un niveau de confiance de 95 % et un nombre de mesure >50, k tend vers 2.

 

9.            - Réaliser une série de 50 mesures dans les conditions de répétabilité.
        -  Arrêter le défilement automatique, sélectionner les 50 premières mesures et les copier ;
           coller les mesures dans un tableau Excel.
        - Rechercher et remplacer tous les . par des , dans Excel.

10.      Calculer dans Excel l’écart-type  et la moyenne de cette série de mesure.

11.      A l’aide de la table de Student déterminer l’incertitude élargie, pour un intervalle de confiance de 95 %, correspondante à cette erreur aléatoire.

Pour réduire cette erreur aléatoire nous allons réaliser une série de 4 mesures et afficher sa valeur moyenne.
Si une de ces mesures vaut 0 (écho non reçu) afficher 0 comme résultat.

12.    Modifier le programme pour que celui-ci affiche la valeur moyenne d'une série de 4 mesures

Le filtre moyenneur permet principalement de corriger :

A. Les erreurs aléatoires (défaut de fidélité)

B. Les erreurs systématiques (défaut de justesse)

C. Les deux (fidélité et justesse)

D. Aucune erreur, seulement l’exactitude

somme = 0     //  format : non signé (unsigned) 32 bits (long) soit Nmax = 232 - 1 = 4,29.109
  // Attention au format  : si une somme d'entier (int 16 bits) dépasse 32767 le résultat (en int)  devient négatif...

 POUR  i = 0 JUSQU'À 3 FAIRE {
   
t0 = millis()         // top départ
    ÉCRIRE HIGH DANS Trig              
    Tempo 20 µs
    ÉCRIRE LOW DANS Trig
    dt=pulseIn(Echo,HIGH ,200000) (en µs) 
    somme = somme+dt     // faire la somme des 4 mesures
     SI  
(
dt==0) ALORS {  // renvoi 0 si une mesure est hors limite.
            
somme=0
          break          
// Sortir de la boucle POUR si une mesure est hors limite

     
  } FINSI
    TANT QUE (millis()-t0<200)  FAIRE rien    // 200 ms entre 2 mesures                 
} FINPOUR

    dt=somme/4                   //   somme/4 = la moyenne...
   
d=k*dt                               // cf Question 3
    ÉCRIRE  dt+"\t"+d DANS Série  // Afficher sur le moniteur série la durée ΔT en µs et la distance d avec 1 chiffre après la virgule

  • Mesure répétée par l’opérateur (répétabilité opérateur)

    • L’opérateur place l’obstacle à 25 cm.

    • Il réalise 10 mesures indépendantes, en repositionnant l’obstacle à chaque fois.

    • On obtient ainsi une série de 10 valeurs reflétant la variabilité liée à la manipulation.

  • Traitement statistique

    • Calculer l’écart-type expérimental de la série de 10 mesures.

    • Déterminer le coefficient de Student correspondant à n = 10 (donc 9 ddl).

    • En déduire l’incertitude élargie due à la répétabilité opérateur : Uop

  • Synthèse globale de la fidélité

    • L’incertitude totale liée à la fidélité est obtenue par somme quadratique des deux contributions :

    Appel 2 : faites valider par le professeur la partie fidélité

    4) Etalonnage et vérification du capteur

    Dans le cadre d’un projet de contrôle de niveau réalisé pour l’entreprise AquaBox Manufacturing,
    le capteur ultrason HC-SR04 est utilisé pour mesurer la hauteur d’eau dans des réservoirs de petite capacité.

     Le capteur est installé au-dessus de la cuve et mesure la distance entre la surface du liquide et le capteur,
    dans une gamme d’utilisation allant de 5 à 50 cm.
    Le client impose une exigence d’exactitude de ±1 cm afin de garantir la précision du suivi du niveau.

    Pour vérifier que le capteur répond à cette exigence, nous commencerons par comparer ses indications au modèle théorique,
    basé sur la vitesse du son et la relation entre le temps de vol (ToF : Time of Flight) et la distance.
    Cette première étape permettra d’évaluer si le capteur est conforme sans aucune correction supplémentaire.

    Si les résultats montrent que le modèle théorique ne permet pas de respecter l’EMT, nous établirons alors un modèle corrigé, incluant :

    • un gain (correction d’échelle),

    • un offset (correction de biais).

    Cette équation affine constituera le modèle de correction du capteur, permettant d’améliorer la justesse de la mesure et, si nécessaire, de satisfaire l’exigence du client.

    Cet étalonnage, réalisé dans notre laboratoire à l’aide d’un banc de positionnement, fournira le procès-verbal d’étalonnage (PV) qui sera transmis au service qualité pour validation.

    Vous allez donc procéder à l’étalonnage du capteur HC-SR04, en suivant les différentes étapes proposées.
    Au fur et à mesure des questions, vous compléterez le fichier Excel servant de procès-verbal d’étalonnage (PV).

     13. Etalonner ce capteur.

    14. Etude de l'erreur de mesure due à la fonction pulseIn() :
          Tracer dtOscilloscope(dtArduino) et l'erreur
           
    En théorie dtArduino = dtOscilloscope. Est-ce le cas ?
           Cette erreur est-elle systématique ou aléatoire ?
           Peut-on corriger cette erreur ?

    Si les points sont dispersés : l'erreur est aléatoire.
    Il s'agit alors d'une erreur de fidélité.
    Une erreur de fidélité peut-être atténuée en effectuant une moyenne sur une série de mesure.

    Si les points sont alignés l'erreur est systématique.
    Ici on peut décomposer cette erreur systématique en 2 :
              ♦ une erreur d'offset (si b
    0)
              ♦ une erreur de gain (si a≠1) 
    Il s'agit alors d'une erreur de justesse qui implique un biais de mesure.
    Un biais de mesure peut-être corrigé par un étalonnage par exemple
    .

    15. Modélisation et étalonnage corrigé

    Le modèle théorique ne reproduit pas exactement les valeurs mesurées.
    Compléter la colonne Écart :

     coefficient k : conversion µs → cm (≈ c / 2 / 10000)
     k = c / (2 * 10000) avec c ≈ 340 m/s

    Le facteur k = c / (2 × 10000) vient du fait que l’onde fait un aller-retour et que l’on veut un résultat en cm.

     

  • Tracer le graphe des écarts b(X). Que constatez-vous sur le signe et l’amplitude des écarts ?

  • Ces écarts sont-ils constants ou proportionnels à la distance ?

  • Quelle est la nature de l’erreur dominante : offset, gain, ou mixte ?

  • Tracer x(dtArduino). Etablir l'équation de cette droite.


     

  • 16. À partir des données du tableau et de DROITEREG, déterminer les coefficients b1 et b0.

  • Quelle est la signification physique de b1 et b0 ?

  • En déduire la vitesse expérimentale du son :
    Comparer à la valeur théorique à 25 °C (≈ 346 m/s).

  • Commenter la cohérence du résultat. Quelles pourraient être les causes de l’écart observé ?
    (Température réelle, latence du module, dispersion des mesures, etc.)

    Etude des résidus du modèle corrigé

    L’établissement d’un modèle corrigé : x = b1​*ΔT + b0​ a pour but principal de :

  • a. Améliorer la fidélité du capteur (réduire la dispersion des mesures).

  • b. Améliorer la justesse du capteur (corriger les biais systématiques).

  • c. Améliorer l’exactitude globale (car la justesse s’améliore, la fidélité reste identique).

  • d. N’a aucun effet notable sur les performances du capteur.

  • 18. Evaluer l'incertitude élargie (95%) du modèle Umodélisation
          Tuto Excel :  la formule matricielle DROITEREG. Ecart type des résidus : u = Sey = Sn-2

    19. Evaluer les sources d'incertitude suivantes :
            - Uétalon (la règle)
            - Ufidélité

    20. Propagation des incertitudes : évaluer l'incertitude élargie
          pour un niveau de confiance de 95 % de votre étalonnage.

    Faire une conclusion.

    Pour remplir ce tableau, reprendre les consignes du TP Datalogging

    Consigne de conclusion (à compléter en 4 phrases)

    Conclusion : L’exactitude de notre capteur est évaluée en comparant l’incertitude élargie de la chaîne de mesure avec l’EMT de 1 cm demandée par le client.
    Complétez ci-dessous les quatre éléments suivants pour conclure :

    1. U = …
    Indiquez la valeur numérique de votre incertitude élargie finale.

    2. Conformité : …
    Précisez si le capteur respecte ou non l’EMT de 1 cm (U ≤ EMT ?).

    3. Exactitude : …
    Expliquez en une phrase si l’exactitude globale de la chaîne répond ou non à l’exigence du client.

    4. Maillon faible de la chaîne : …
    Identifiez l’élément qui contribue le plus à l’incertitude (répétabilité, modélisation, lecture, capteur…).

  • Exactitude : capacité intrinsèque de la chaîne de mesure à être proche de la vraie valeur. (justesse + fidélité)

  • Conformité : décision finale indiquant si l’instrument respecte l’EMT ou la tolérance exigée.

  • Exactitude = qualité.

  • Conformité = verdict.

  • L’étalonnage d’un capteur permet principalement de corriger :

    A. Les erreurs aléatoires (défaut de fidélité)

    B. Les erreurs systématiques (défaut de justesse)

    C. Les deux (fidélité et justesse)

    D. Aucune erreur, seulement l’exactitude

    21. Rechercher dans le VIM la définition de :
           Utiliser la fonction recherche (Find) 
            - la précision en français et precision en anglais
            - la justesse de mesure. Le capteur à ultrason est-il juste ?
            - la fidélité de mesure. Le capteur à ultrason est-il fidèle ?
            - l'exactitude de mesure. Le capteur à ultrason est-il exact ?
    Copier ces définitions dans votre compte rendu.

    Appel 3 : faites valider par le professeur la partie étalonnage

    5) Afficher la distance sur un écran LCD 

    22.      Afficher sur l’écran LCD la distance d en cm, ou le texte : « Mesure hors limite » si dt=0.

    Pour utiliser un écran LCD rendez-vous au TP Capteurs

    Appel 4 : faites valider par le professeur la partie étalonnage

    6) Le challenge : compteur de passage

    23. Ecrire un programme permettant de compter le nombre de passage dans l'allée centrale.
          Afficher le nombre de passage sur l'écran LCD.
          Allumer le rétroéclairage de l'écran LCD lors d'un passage et l'éteindre au repos.

    Comment ne pas compter plusieurs fois le même passage ?
    Piste : → on crée 2 booléens : passage et passage_ancien
                → Si ( d<100 cm et dt>0) passage=1 sinon passage=0
               → Pour détecter un nouveau passage  il faut que :
                    passage==1 et passage_ancien==0

          
     

    Appel final : faites valider par le professeur la partie challenge

    Rendre le compte rendu soit :