Cet ensemble comprend deux modules de ce type.Les deux modules utilisent le même conducteur thermique.L 'un d' eux, mais il existe également un compensateur qui définit une sortie numérique nulle en fonction de la température du potentiel.La sortie analogique AMM est pratiquement identique au signal du capteur simple.
Capteur simple
Capteur à presse
Caractéristiques
Le NTC est une résistance qui réduit la valeur de résistance pendant le chauffage.Vous avez besoin de cette caractéristique pour mesurer la température à l 'aide de NTC et pas seulement pour Commuter à une température spécifique.La figure indique les valeurs de résistance (Unité: kohm) (bleu) et (1024) des valeurs initiales lues par analogread (rouge);
La tension de sortie est partiellement linéaire.
Détermination de courbes de correction:
Avec un circuit simple, on peut essayer de déterminer une courbe de correction.À cette fin, nous utilisons des capteurs thermiques simples et DS18B20 comme référence.Nous sommes connectés à l 'interrupteur des deux modules avec + + 5V à arduino et à l' interrupteur des deux modules avec le GNd.Nous connectons le S - Pin du module NTC à A0 et le S - Pin du module DS18B20 à D2.Pour obtenir la même température que les deux capteurs, nous les relions, comme le montre la figure ci - dessous.
Nous Téléchargeons maintenant la procédure suivante à arduino.Et mettre à la terre les aiguilles d 'arduino pour arrêter la sortie.
Et testez - le.
* Le capteur DS18B20 sert de référence.
*/
"35; y compris & lt; onewire.h & gt;
"35; y compris la température de Dallas;
/ / connexion
Byte constant DS18B20 = 2; Capteur de référence
Capteur d 'octets constant = 0; Capteur d 'alimentation
Constante Byte de sortie = 8; / / supprime l 'entrée de sortie.
Byte constant = 13; / / mesure
/ / exemples de capteurs de référence DS18B20
Monoligne (DS18B20);
Capteur de température de Dallas (monoligne);
Adresse du dispositif
Pour stocker les données de correction, nous avons créé notre propre catégorie.
Kurban
Public:
Nate minval; / / valeur de validité initiale
Int maximum option; / / valeur de validité finale
Coefficient of fluctuation / / Amendement
Delta flottant / / déplacement relatif
Température flottante (sélection de nombres entiers)
Température du flotteur = flotteur (VAL) * coefficient + incrément;
Température de retour
}
};
/ / variables globales
Courbe de Cole / / matrice avec correction
Byte = 0; / / nombre de valeurs corrigées existantes
Byte Measurement = 1;
Le nombre de points flottants doit être égal à zéro; / / valeur cible actuelle
Int = 0; Capteur de courant
Float doit être Old = 0; / / valeur de réglage précédente
Sensibilité flottante alt = 0; / / dernière valeur de capteur
Paramètres non valides
/ / démarrage de l 'interface de câble
Lancement en série (115 200);
Capteur de référence
Capteur.
Accès à l 'adresse (ADR, 0);
/ / à 10;
Paramètres de résolution (ADR, 10);
/ / LED Output
Pinmode (LED, output);
Pinmode (Output, input)
Mesure = 1; Nous sommes en mode de mesure.
/ / seuil de mesure primaire
Serial.println (« début de l'analyse »);
Mesure ()
Doit être utilisé
Autres significations;
}
/ / lire la fonction des mesures
Mesure inefficace ()
/ / Request reference value
Temperature request
/ / lu par les examinateurs
/ / baisse de la tension à mesure que la température augmente
/ / nous l 'avons déduit de la valeur maximale pour l' inverser
Senses = 1024 lecture analogique (capteur);
/ / lire les valeurs de référence
Capteurs.gettempc (ADR);
}
Cycle non valide
/ / état d 'affichage
écriture numérique (LED, mesure);
/ / valeur déterminée
Mesure ()
Si
/ / nous vérifions si la différence a été atteinte
Alinéa c)
Si (doit être ancien) & gt; = 5)
Impression en série ("calcul");
Impression en série
Impression en série ("C");
Courbe [nombre].Minval = senseu Alt;
Courbe (nombre)
Coefficient of fluctuation = (devoir - U - old) / fluctuation (Sensor - U - old);
Facteur = facteur;
Courbe [quantité].Delta = shall -
Doit être utilisé
Autres significations;
Nombre +;
}
If (should & gt; 50)
Valeur de mesure = 0;
Serial.println (« analyse achevée »);
Pour (octets i = 0; i & lt; nombres; i +) {et
Impression continue (courbe [i].Mineval);
Impression en série ("-")
Impression en série (courbe [i].Maxval);
Impression en série ("-")
Impression en série (courbe [i]);
Impression en série ("-")
Impression en série (courbe [i].Delta);
}
Retard (5 000);
}
- autres {substantiv}
Byte Input = 0;
F (courbe de détection
While (Senses & gt; curve [i]. Maxval) and (I & lt; Number)) i +;
}
F (lecture numérique (sortie) = 1)
{
/ * aide à vérifier les fonctions
Serial.print ("trouver: min =")
Impression continue (courbe [i].Mineval);
Serial.print ("max =")
Impression en série (courbe [i].Maxval);
Serial.print ("fact =")
Impression en série (courbe [i]);
Serial.print ("Delta =")
Impression en série (courbe [i].Delta);
Serial.print ("Feeder =")
Impression en série (sensorielle);
*/
Flotteur = courbe [i], température (détection);
Serial.print ("valeur de mesure: Soll =")
Impression en série
Serial.print ("is =")
Impression en série (IST);
Serial.print ("deviation =")
Impression en série (Soll IST);
}
Retard (1 000);
}
Après le démarrage, le programme est en mode d 'analyse, c' est - à - dire que lorsque la température augmente de 5 degrés, l 'augmentation et le décalage calculés sont stockés dans le tableau.Cette situation persiste jusqu'à ce que la température dépasse 50 °C.
Le moyen le plus simple d 'obtenir un changement de température est d' utiliser un sèche - cheveux.Toutefois, il faut veiller à ce que le chauffage ne soit pas trop rapide, les deux capteurs ayant une inertie différente.
Lorsque la température atteint 50 °C, le contenu de la courbe de correction est affiché sur un moniteur série.À partir de maintenant, les valeurs cibles, les valeurs réelles et les écarts peuvent être affichés.Étant donné que l 'affichage est supprimé (guillemets 8) pour voir les résultats de l' analyse, il est nécessaire de séparer le guichet 8 du GNd.
Dans mon expérience, je ne suis pas satisfait des résultats.Les variations de température peuvent être trop rapides au cours de l'analyse.
Essayez.