Table des matières:
- Étape 1: préparez votre appareil
- Étape 2: étalonnage en deux points
- Étape 3: Utilisez les valeurs que vous obtenez de la bonne manière
Vidéo: Étalonnage du capteur DS18B20 avec Arduino UNO : 3 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
CLAUSE DE NON-RESPONSABILITÉ:
L'appareil que vous voyez sur les images est utilisé dans un autre projet en tant que thermostat pour le processus de développement de film. Vous pouvez trouver ce projet ici. Pour calibrer un capteur, ou plus d'un, vous n'aurez besoin que de ce que vous trouverez dans ce projet, rien de plus, et c'est assez basique aussi ! Allons-y!
Étape 1: préparez votre appareil
Voici une liste de ce dont vous avez besoin:
- Arduino UNO (ou MEGA)
- Capteur(s) DS18B20
- Résistance 4kOhm - 5kOhm (j'ai utilisé un 5k1Ohm)
- Écran LCD pour lire les valeurs (vous pouvez également utiliser un ordinateur portable et simplement les lire sur un moniteur série)
- Un croquis qui utilise le capteur et montre en quelque sorte les valeurs
Tout d'abord, vous devez connecter vos modules et votre capteur à votre contrôleur. Je vous laisse la partie compliquée de l'écran LCD pour rechercher sur le Web, et je vais juste vous dire comment connecter le capteur.
Habituellement, ces capteurs sont livrés avec trois fils de couleur: noir, rouge, jaune. Les deux premiers sont pour l'énergie et le troisième est pour les données. Connectez le noir à GNN, le rouge à Vcc (5V) et le jaune sur une entrée analogique, disons A0.
Connectez maintenant la résistance entre le jaune et le rouge pour terminer les connexions.
Branchez également l'écran LCD (je suggère un simple écran LCD 16x2 avec connexion i2c pour n'utiliser que 4 fils au total) et vous avez terminé avec les fils et les câbles.
Maintenant le croquis qui est super simple:
#include "OneWire.h"
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1(ONE_WIRE_BUS_1); Capteur de température Dallas1(&ourWire1); #include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd (0x27, 16, 2); float RawValue =0;
void setup(){ lcd.init(); LCD rétro-éclairage(); sensor1.begin(); sensor1.setResolution(11); } boucle vide(){ sensor1.requestTemperatures(); float RawValue = sensor1.getTempCByIndex(0); lcd.setCursor(0, 0); lcd.print("Sens. 1 "); lcd.print(RawValue, 1); }
Comme vous pouvez le voir, nous utilisons la bibliothèque Dallas Temperature et un écran LCD avec connexion i2c.
Dans la configuration, nous initions l'écran LCD et le capteur et dans la boucle, nous demandons simplement la température et stockons la valeur dans la variable RawValue pour l'afficher sur l'écran LCD.
Si vous voulez rester plus simple, utilisez simplement le moniteur série avec le croquis suivant
#include "Wire.h"#include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1(ONE_WIRE_BUS_1); Capteur de température Dallas1(&ourWire1);
float RawValue =0;
void setup(){
retard(1000); Serial.begin(9600); sensor1.begin(); sensor1.setResolution(11);
}
boucle vide(){ sensor1.requestTemperatures(); float RawValue = sensor1.getTempCByIndex(0); Serial.print("Sens. 1 "); Serial.println(RawValue, 1); }
Suivez-moi maintenant au cœur du projet pour calibrer le capteur.
Étape 2: étalonnage en deux points
Quelque chose à savoir d'abord
Pour calibrer un thermo-capteur, vous devez mesurer quelque chose dont vous connaissez la température. La façon simple de le faire à la maison consiste à utiliser de l'eau bouillante et un bain de glace fondante, également appelé bain « triple point ». Dans ces cas, nous savons que l'eau bout à 100°C au niveau de la mer. Gardez à l'esprit que pour faire une mesure précise, vous devez connaître votre altitude et y calculer la température d'ébullition appropriée.
Tu peux le vérifier ici!
Pour être honnête, vous devriez vérifier la pression atmosphérique et non l'altitude. Mais cette façon est assez précise.
Le bain à point triple, ou bain de glace, est la température à laquelle l'eau existe dans les trois états solide, liquide et gazeux, cette température est de 0, 01°C. Nous utiliserons, pour simplifier, 0°C.
Connaissant la valeur lue par le capteur et la valeur qui devrait être, nous pouvons modifier la valeur brute du DS18B20 en quelque chose de plus correct.
REMARQUE: vous pouvez également utiliser plus de température pour calibrer le capteur en le mettant simplement dans une autre substance dont vous connaissez le point d'ébullition comme l'éther (35°C), le pentane (36, 1°C), l'acétone (56°C) ou L'éthanol (78, 37°C), mais ces substances bouillantes produisent des gaz hautement inflammables ! Alors ne le fais pas !
Eau bouillante:
Mettez de l'eau dans une casserole et faites chauffer jusqu'à ébullition (des bulles de gaz se forment et l'eau s'agite). Immergez votre capteur là où il ne touche que de l'eau. Attendez quelques minutes et lisez l'écran LCD ou le moniteur série
La température doit rester la même pendant au moins une minute. Si oui, notez cette valeur. C'est votre: valeur RawHigh.
Baignoire triple points:
Prenez maintenant un grand verre (vous n'avez besoin de rien d'énorme ni de pot) et remplissez-le jusqu'au bord de glaçons. Essayez d'utiliser des glaçons de petite taille. Remplissez maintenant les 80% du verre avec de l'eau froide. Remplir avec de la glace si le levier essaie de descendre.
Maintenant, placez votre capteur à l'intérieur de la chose eau/glace et attendez une minute et demie. Lisez la température qui doit rester la même pendant 30 secondes au moins. Si c'est le cas, notez-le, c'est votre valeur RawLow.
Étape 3: Utilisez les valeurs que vous obtenez de la bonne manière
Donc, maintenant vous avez quelques valeurs importantes:
- BrutÉlevé
- BrutFaible
- RéférenceHaut
- RéférenceBas
Les valeurs de référence sont bien évidemment de 99,9°C pour l'eau bouillante (à mon altitude de 22m), et de 0°C pour le bain de glace fondante. Calculez maintenant les plages de ces valeurs:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Vous êtes maintenant prêt à utiliser ce capteur dans n'importe quel autre projet en étant sûr qu'il vous donnera une bonne mesure. Comment? En utilisant la valeur que vous avez obtenue ici dans le projet, vous allez créer avec ce capteur.
Dans votre futur projet, vous devrez utiliser les valeurs que vous lisez dans celui-ci et je suggère de le faire en utilisant les mêmes noms que ceux que j'ai utilisés ici.
Déclarez les variables avant la section void setup() comme ceci:
float RawHigh = 99,6;float RawLow = 0,5;float ReferenceHigh = 99,9;float ReferenceLow = 0;float RawRange = RawHigh - RawLow;float ReferenceRange = ReferenceHigh - ReferenceLow;
Ensuite, chaque fois que vous utiliserez le capteur, vous pouvez utiliser la formule suivante pour calculer la valeur corrigée:
float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue est évidemment la lecture du capteur.
C'est ça!
Vous savez maintenant comment calibrer votre capteur DS18B20 ou tout autre capteur que vous utiliserez ! S'amuser!
Conseillé:
Étalonnage du capteur d'humidité du sol : 5 étapes
Étalonnage du capteur d'humidité du sol : Il existe de nombreux humidimètres du sol sur le marché pour aider le jardinier à décider quand arroser ses plantes. Malheureusement, saisir une poignée de terre et inspecter la couleur et la texture est aussi fiable que bon nombre de ces gadgets ! Certaines sondes enregistrent même
Capteur de respiration bricolage avec Arduino (capteur d'étirement tricoté conducteur): 7 étapes (avec photos)
Capteur de respiration bricolage avec Arduino (capteur d'étirement tricoté conducteur): Ce capteur de bricolage prendra la forme d'un capteur d'étirement tricoté conducteur. Il s'enroulera autour de votre poitrine/estomac, et lorsque votre poitrine/estomac se dilate et se contracte, le capteur et par conséquent les données d'entrée qui sont transmises à l'Arduino. Donc
Étalonnage du capteur d'humidité : 7 étapes
Calibrage du capteur d'humidité : J'ai 3 capteurs qui peuvent mesurer l'humidité relative de l'air : BME280, SHT21, DHT22. Ils ont déclaré la capacité de mesurer avec une précision de +/-3% de la plage de 20 à 80%Cependant, lors de tests dans les mêmes conditions pour 3 capteurs, j'ai obtenu 3 résultats différents. Peut-être o
Reconnaissance des couleurs avec capteur TCS230 et Arduino [Code d'étalonnage inclus] : 12 étapes
Reconnaissance des couleurs avec capteur TCS230 et Arduino [code d'étalonnage inclus] : aperçuDans ce didacticiel, vous découvrirez le capteur TCS230 et comment l'utiliser avec Arduino pour reconnaître les couleurs. À la fin de ce tutoriel, vous trouverez une idée fascinante pour créer un stylo sélecteur de couleurs. Avec ce stylo, vous pouvez numériser les couleurs de la
Étalonnage et test du module capteur 6 axes FSP200 : 6 étapes
Étalonnage et test du module de capteur à 6 axes FSP200 : Le FSP200 est un processeur d'unité de mesure inertielle à 6 axes qui fournit une sortie de cap et de direction. Il effectue une fusion d'accéléromètre et de capteurs gyroscopiques pour un cap et une direction stables et précis. Le FSP200 est adapté pour une utilisation dans les applications robotiques