Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Comment vérifier et étalonner un capteur d'humidité

Quelle est la précision de votre capteur d'humidité ? Découvrez avec ce projet.

Les capteurs d'humidité sont courants, relativement peu coûteux et se déclinent en de nombreuses variétés différentes. Trop souvent, nous vérifions les fiches techniques, les utilisons avec une interface et (tant que les valeurs « semblent raisonnables ») nous acceptons les résultats.

Dans ce projet, nous montrons comment aller plus loin et vérifier la précision d'un capteur d'humidité. Nous illustrons également une méthode générale pour l'étalonnage du capteur et appliquons la méthode pour étalonner les résultats afin d'améliorer la précision des mesures d'humidité.

Configuration de test utilisée dans le projet (de gauche à droite, carte de microcontrôleur Quark D2000, interface de capteur, capteur HIH5030 dans un micro-environnement).

Fondements du projet

Pour vérifier la précision d'un capteur, les valeurs obtenues sont comparées à un étalon de référence. Pour vérifier la précision d'un capteur d'humidité, nous utilisons la méthode du « sel saturé » pour produire les étalons. En termes simples, certains sels (c'est-à-dire des composés ioniques tels que le sel de table ou le chlorure de potassium), lorsqu'ils sont dissous dans une solution aqueuse, produisent une atmosphère d'une humidité connue (voir la référence PDF).

Ces propriétés chimiques sont utilisées pour créer des micro-environnements de pourcentages d'humidité relative (HR) connus (c'est-à-dire des normes de référence), et les capteurs sont lus à l'intérieur du micro-environnement. Concrètement, nous allons fabriquer une solution dans un bocal scellé pour préserver l'atmosphère puis placer le capteur connecté dans le bocal scellé. Par la suite, le capteur est lu à plusieurs reprises et les valeurs enregistrées.

En répétant la procédure en utilisant plusieurs sels différents, chacun produisant une humidité relative différente, nous pouvons développer un profil pour le capteur testé. Étant donné que nous savons quelle est l'humidité relative pour chaque micro-environnement, nous pouvons évaluer les écarts de lecture de nos capteurs par rapport à ces valeurs connues, et ainsi évaluer la précision du capteur.

Si les écarts sont substantiels, mais pas insurmontables, nous pouvons appliquer des procédures d'étalonnage mathématique dans le logiciel pour augmenter la précision des mesures.

Un mot sur la sécurité

Avant d'aller plus loin, il est essentiel que vous manipuliez les produits chimiques utilisés dans ce projet de manière responsable.

Sels utilisés

En général, plus vous pouvez produire d'atmosphères HR pour les étalons de référence, meilleure sera la caractérisation du capteur à tester. Il y a, cependant, toujours une limite sur les ressources dans un sens pratique. Dans ce projet, quatre étalons de référence ont été utilisés et les sels utilisés pour produire les étalons de référence ont été choisis pour couvrir une gamme de valeurs d'HR possibles, mais également en tenant compte de la sécurité, de la disponibilité et du coût.

Les sels ci-dessous ont été choisis. Dans le cas du chlorure de sodium (sel de table), le sel kasher pur a été obtenu à bas prix dans une épicerie locale. Si vous optez pour cette voie, évitez d'utiliser du sel de table avec des additifs, comme de l'iode ou des antiagglomérants.

Sels utilisés dans le projet
Sel % HR (à 25°C) Source Fiche de données de sécurité
Chlorure de lithium 11h30 Outils de science à domicile FDS pour LiCl
Chlorure de magnésium 32,78 Outils de science à domicile FDS pour MgCl
Chlorure de sodium 75,29 Divers (voir texte) FDS pour NaCl
Chlorure de potassium 84,34 Outils de science à domicile FDS pour KCl

Créer un micro-environnement

Nous avons des normes pour presque tout et il y en a même une pour créer une humidité relative stable à partir d'une solution aqueuse (voir ASTM E104 – 02(2012)). Bien que mon banc, et probablement le vôtre, ne soit pas un laboratoire d'essai officiel, il vaut la peine de suivre les spécifications de la norme aussi étroitement que possible.

Notez également que les résultats présentés dans ce projet, bien que collectés avec soin, ne doivent pas être interprétés comme reflétant ou indiquant une déclaration de qualité globale de la précision de toute marque de capteur. Seul un petit nombre de capteurs ont été testés et ceux utilisés avaient des âges différents et des historiques d'utilisation différents.

Pour chaque sel, un mélange de neige fondue a été créé en ajoutant de l'eau distillée à une consistance similaire à du sable très humide. Quatre ou cinq cuillères à soupe de produits chimiques et une cuillère à soupe d'eau distillée peuvent être essayées, mais vous devrez peut-être faire un peu d'expérimentation.

Le mélange a été fait dans un petit pot avec un joint étanche. Le verre ou même le plastique devraient bien fonctionner, tant qu'ils peuvent garder l'atmosphère à l'intérieur. Un petit trou peut être fait dans le haut du bocal pour faire passer les fils de connexion à l'interface du capteur, puis à un microcontrôleur. Le capteur connecté est ensuite positionné à environ 0,5 à 1,0 pouce au-dessus du mélange. Veillez à ce que le capteur n'entre jamais directement en contact avec la solution ou il sera probablement endommagé. Pour maintenir la connexion en place et pour sceller le trou dans le capuchon, du mastic de contact facilement amovible peut être utilisé.

Il est important que vous accordiez suffisamment de temps pour l'équilibrage avant de prendre la lecture finale. J'ai testé ce problème de manière empirique, en prenant des lectures toutes les minutes pendant jusqu'à six heures dans des cas de test sélectionnés. D'après mon expérience, cela a été plus long que nécessaire et j'ai opté pour un temps d'équilibrage de 90 à 120 minutes pour chaque capteur et sel. Ensuite, une moyenne des cinq dernières lectures a été utilisée pour la valeur finale. Pour tous les cas, les cinq valeurs ont montré très peu, voire aucune différence.

De plus, toutes les lectures ont été prises à une température ambiante d'environ 25° C (± 1°) et la valeur HR utilisée pour chaque norme était celle indiquée pour 25° C (voir ce PDF pour les valeurs).

Capteur HIH5030 sur une carte support à l'intérieur d'un micro-environnement contenant du chlorure de sodium.

Matériel

Microcontrôleur

Dans ce projet, nous interfaçons les capteurs à l'aide d'un microcontrôleur Quark D2000. Le D2000 est une carte 3V avec I2C et des interfaces analogiques-numériques.

Gardez à l'esprit, cependant, que la plupart des autres microcontrôleurs avec les interfaces appropriées peuvent être utilisés.

Interfaces de capteur

Capteurs testés dans le projet ; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (sur une carte support).

Quatre types différents de capteurs d'humidité ont été testés : DHT-22 (deux ont été utilisés), HIH5030, HIH6030 et HIH8121. Les schémas ci-dessous illustrent les interfaces simples utilisées pour chaque type de capteur, et la consultation des fiches techniques liées fournira des informations générales pour les circuits.

Interface DHT-22 vers D2000.

Nomenclature DHT-22 :U1, capteur DHT-22 ; R1, résistance de 4,7 kΩ ; Condensateur C1, 0,1 µF.

Interface HIH5030 vers D2000.

Nomenclature HIH5030 :U1, capteur HIH3050 ; ampli-op U2, MCP601P ; Condensateur C1, 1,0 µF ; C2, condensateur 0,1 µF.

Interface HIH6030 vers D2000.

Nomenclature HIH6030 :U1, capteur HIH6030 ; R1 et R2, résistance de 2,2 kΩ ; Condensateur C1, 0,22 µF ; C2, condensateur 0,1 µF.

Interface HIH8121 vers D2000.

Nomenclature HIH8121 :U1, capteur HIH8121 ; R1 et R2, résistance de 2,2 kΩ ; Condensateur C1, 0,22 µF.

Logiciel de capteur

Tous les programmes de collecte des données des capteurs sont écrits en langage C et peuvent être téléchargés en cliquant sur le bouton « Humidity Sensor Project Code ». Chacun est commenté et simple. Pour chaque capteur, le programme lit simplement le capteur toutes les minutes et envoie la valeur à un moniteur série. En tant que tels, ils doivent être faciles à adapter à votre application particulière.

Captures d'écran de la sortie de DHT22.c (gauche) et HIH5030.c (droite).

Procédure d'évaluation du capteur

Le tableau ci-dessous contient les données d'évaluation des capteurs dans chacun des quatre micro-environnements.

Pourcentage d'HR pour les capteurs de test (OBS =valeur observée, ERR =erreur en tant que différence par rapport à la norme, RMSE =racine moyenne erreur au carré)
DHT #1 DHT #2 HIH5030 HIH6030 HIH8121
Référence RH OBS ERR OBS ERR OBS ERR OBS ERR OBS ERR
11h30 (LiCl) 12,56 1.26 16,29 4.99 13.02 1.72 20,79 9.49 12.31 1.01
32,78 (MgCl) 32,36 -0,42 33,79 1.01 33,46 0.68 40,77 7,99 32,43 -0,35
75,29 (NaCl) 73.04 -2,25 74,50 -0,79 77,74 2,45 83,83 8.54 76,63 1.34
84,34 (KCl) 82,30 -2.04 82,15 -2.19 85,84 1.50 93,43 9.09 85.01 0.67
RMSE 1.657 2.799 1.708 8.796 0.920

Une fois que vous avez collecté les données des performances du capteur dans des environnements stables d'humidité relative connue, vous pouvez évaluer numériquement la précision d'un capteur.

Notez que dans le tableau, nous avons calculé l'erreur pour chaque capteur à chaque norme d'HR. Nous ne pouvons cependant pas simplement faire la moyenne de ces valeurs pour évaluer le capteur car certaines valeurs sont positives et d'autres négatives. Si nous prenions simplement une moyenne, la valeur résultante minimiserait l'erreur moyenne puisque les valeurs positives et négatives s'annuleraient.

Au lieu de cela, nous calculons une erreur quadratique moyenne (RMSE) pour caractériser la précision du capteur. La formule du RMSE est ci-dessous :

où O est la valeur observée du capteur et I est la valeur idéale du capteur (c'est-à-dire l'étalon de référence). Pour calculer le RMSE, nous mettons au carré chaque erreur (l'écart par rapport à la norme de référence), puis calculons la moyenne arithmétique de ces valeurs, et enfin, prenons la racine carrée de la moyenne.

Une fois que vous avez caractérisé la précision du capteur, vous pouvez utiliser le RMSE pour décider s'il est nécessaire de calibrer le capteur. Dans certains cas, le RMSE est petit et tout à fait acceptable pour votre application et vous pouvez raisonnablement décider qu'aucun étalonnage n'est requis.

Par exemple, les résultats du HIH8121 sont impressionnants. Le RMSE est inférieur à 1 % et tous les points d'échantillonnage ont une erreur inférieure à 2 %.

D'un autre côté, dans certains cas, vous pouvez constater que la réponse du capteur est si mauvaise et irrégulière que vous décidez simplement qu'un autre capteur est nécessaire pour votre application.

La décision d'étalonner doit toujours prendre en considération le degré de précision nécessaire pour la tâche. Néanmoins, nous pouvons améliorer la précision des lectures des capteurs par étalonnage, pour tous les capteurs du tableau.

Procédure d'étalonnage du capteur

Pour calibrer un capteur, nous devons d'abord déterminer mathématiquement la fonction qui relie les valeurs idéales aux valeurs observées. Une procédure de régression linéaire peut être utilisée pour déterminer cette fonction.

Le mot « linéaire » dans le nom de la procédure de régression ne signifie pas une fonction linéaire. Au lieu de cela, le terme fait référence à une combinaison linéaire de variables. La fonction résultante peut être linéaire ou curviligne. Les trois fonctions polynomiales ci-dessous représentent une régression linéaire (remarque :nous ignorons un cas à 0 degré qui n'est pas utile dans ce contexte).

  1. y =ax + b (premier degré, linéaire)
  2. y = ax 2 + bx + c (deuxième degré, quadratique)
  3. y =hache 3 + bx 2 + cx + d (troisième degré, cubique)

Dans le projet actuel, nous calculons les valeurs des capteurs à l'aide de quatre normes de référence (c'est-à-dire n =4). Ainsi, un polynôme de troisième degré est le polynôme de degré le plus élevé que nous puissions calculer. Il est toujours vrai que le polynôme de plus haut degré possible est n – 1, et dans ce cas, cela signifie 3 (4 – 1).

Les procédures des moindres carrés sont généralement utilisées pour la régression linéaire. Dans cette procédure, une ligne est ajustée de telle sorte que la somme des distances de chaque référence à la ligne soit aussi petite que possible. Il existe de nombreux programmes disponibles qui utilisent des procédures des moindres carrés pour effectuer une régression linéaire. Vous pouvez même utiliser Excel (cliquez ici pour plus d'informations).

Il convient également de noter que nous n'avons pas à utiliser la régression linéaire. Nous pourrions utiliser la régression non linéaire. Des exemples de régression non linéaire aboutissent à une fonction puissance ou à une fonction de Fourier. La régression linéaire, cependant, est bien adaptée aux données de notre projet et, en outre, la correction logicielle (étalonnage) est facilement mise en œuvre. En fait, dans ce projet, je ne pense pas que vous gagneriez grand-chose à utiliser la régression non linéaire.

Choisir le polynôme

En théorie, nous voulons utiliser le polynôme qui correspond le mieux aux données. C'est-à-dire le polynôme qui produit le plus petit coefficient de détermination, noté r 2 (ou R 2 , prononcé « R au carré »). Le plus proche r 2 est à 1, meilleur est l'ajustement. Avec l'estimation des moindres carrés, il est toujours vrai que plus le degré de polynôme utilisé est élevé, meilleur est l'ajustement.

Cependant, vous n'êtes pas obligé d'utiliser automatiquement le polynôme de degré le plus élevé possible. Étant donné que l'étalonnage aura lieu dans le logiciel, il peut y avoir des cas dans lesquels l'utilisation d'un polynôme de degré inférieur représente un avantage en termes de vitesse et/ou de mémoire, en particulier si la précision à obtenir en utilisant un polynôme de degré supérieur est très faible.

Ci-dessous, nous démontrons les procédures d'étalonnage du capteur HIH6030 à l'aide de polynômes de différents degrés, et ce faisant, nous illustrons la procédure générale qui s'applique à tout degré de polynôme que vous choisissez d'utiliser.

En utilisant les données du tableau précédent, nous effectuons d'abord la procédure de régression des moindres carrés pour déterminer les coefficients de chaque polynôme. Ces valeurs proviendront du progiciel de régression utilisé. Les résultats sont ci-dessous, y compris le r 2 valeurs.

  1. Linéaire :y =ax + b ; a =1,0022287, b = -8,9105659, r 2 =0,9996498
  2. Quadratique :y =ax 2 + bx + c; a =-0,0012638, b =1,1484601, c = -12,0009745, r 2 =0.9999944
  3. Cubique :y =hache 3 + bx 2 + cx + d; a =0,0000076, b =-2,4906103, c =1,2061971, d =-12,7681425, r 2 =0,9999999

Les valeurs observées peuvent maintenant être modifiées à l'aide des fonctions calculées. C'est-à-dire que les lectures du capteur peuvent être calibrées comme illustré dans le tableau ci-dessous (notez que les valeurs OBS, corrigées et ERR sont arrondies à deux décimales).

Valeurs observées et calibrées HIH6030 à l'aide de polynômes
RAW 1er Degré 2e degré 3e Degré
Réf RH OBS ERR Corrigé ERR Corrigé ERR Corrigé ERR
11h30 20,79 9.49 11,93 0.63 11,36 0,06 11h30 0.00
32,78 40,77 7,99 31,95 -0,83 32,83 0,05 32,78 0.00
75,29 83,83 8.54 75.11 -0,18 75,85 0,55 75,29 0.00
84,34 93,43 9.09 84,73 0.39 84,83 0.49 84,34 0.00
RMSE 8.795736 0,562146 0,371478 0.00212

On peut voir que les trois polynômes ont produit une diminution significative du RMSE, par rapport aux mesures observées, et c'est pourquoi vous calibrez. Le graphique ci-dessous illustre l'amélioration en utilisant le polynôme du 1er degré. Notez comment les points de données calibrés (corrigés) se trouvent maintenant près de la diagonale idéale.

Lire plus d'informations….

Comment vérifier et calibrer un capteur d'humidité

Le projet/post en cours peut également être trouvé en utilisant :


Processus de fabrication

  1. Fonctionnement du capteur d'humidité et ses applications
  2. IdO de base – RaspberryPI HDC2010 comment
  3. Capteur de température Python et Raspberry Pi
  4. Station météo Raspberry Pi
  5. Capteur de température et de luminosité Raspberry Pi
  6. Contrôle du capteur et de l'actionneur Raspberry Pi
  7. Aéroponie avec Raspberry Pi et capteur d'humidité
  8. Windows 10 IoT Core et SHT15
  9. Comment vérifier un moteur CC