Introduction aux connaissances sur le capteur de température DS18B20
DS18B20 est un capteur de température numérique couramment utilisé. Il produit des signaux numériques, a les caractéristiques de petite taille, faible surcharge matérielle, forte capacité anti-interférence, haute précision, et est largement utilisé.
Introduction au capteur de température DS18B20
Caractéristiques techniques:
①. Mode d'interface monofilaire unique. Lorsque le DS18B20 est connecté à un microprocesseur, seulement 1 un fil est nécessaire pour réaliser une communication bidirectionnelle entre le microprocesseur et le DS18B20.
②. Plage de mesure de la température -55 ℃ ~ + 125 ℃, erreur inhérente de mesure de la température 1℃.
③. Prise en charge de la fonction réseau multipoint. Plusieurs DS18B20 peuvent être connectés en parallèle sur les trois seuls fils, et un maximum de 8 peut être connecté en parallèle pour réaliser une mesure de température multipoint. Si le nombre est trop grand, la tension d'alimentation sera trop basse, entraînant une transmission du signal instable.
④. Alimentation électrique fonctionnelle: 3.0~5,5 V/CC (Une alimentation parasite de ligne de données peut être utilisée).
⑤. Aucun composant périphérique n'est requis pendant l'utilisation.
⑥. Les résultats de mesure sont transmis en série sous forme numérique 9 à 12 bits..
⑦. Le diamètre du tube de protection en acier inoxydable est de Φ6.
⑧. Il convient à la mesure de la température de divers pipelines industriels moyens de DN15 ~ 25, DN40~DN250 et équipements dans des espaces étroits.
⑨. Filetages d'installation standards M10X1, M12X1.5, G1/2" sont facultatifs.
⑩. Le câble PVC est directement connecté ou une boîte de jonction à bille allemande est connectée, ce qui est pratique pour la connexion avec d’autres équipements électriques.
DS18B20 principe de synchronisation de lecture et d'écriture et de mesure de la température:
Le principe de mesure de la température DS18B20 est illustré à la figure 1. La fréquence d'oscillation de l'oscillateur à cristal à faible coefficient de température sur la figure est peu affectée par la température., et est utilisé pour générer un signal d'impulsion de fréquence fixe à envoyé pour compter 1. La fréquence d'oscillation de l'oscillateur à cristal à coefficient de température élevé change considérablement avec la température., et le signal généré est utilisé comme entrée d'impulsion du compteur 2. Comptoir 1 et le registre de température sont préréglés à une valeur de base correspondant à -55 ℃. Comptoir 1 soustrait le signal d'impulsion généré par l'oscillateur à cristal à coefficient de basse température. Lorsque la valeur prédéfinie du compteur 1 est réduit à 0, la valeur du registre de température sera augmentée de 1, et le préréglage du compteur 1 sera rechargé. Comptoir 1 redémarre pour compter le signal d'impulsion généré par l'oscillateur à cristal à coefficient de basse température, et le cycle continue jusqu'au compteur 2 compte pour 0, arrêter l'accumulation de la valeur du registre de température. A cette époque, la valeur dans le registre de température est la température mesurée. L'accumulateur de pente est utilisé pour compenser et corriger la non-linéarité du processus de mesure de la température., et sa sortie est utilisée pour corriger la valeur prédéfinie du compteur 1.
Chiffre 1 est le suivant:
2. Schéma de connexion DS18B20 et MCU
3. Définition des broches DS18B20:
QD: Entrée/sortie de données. Interface 1 fil à drain ouvert. Il peut également alimenter l'appareil lorsqu'il est utilisé en mode d'alimentation parasite VDD: alimentation positive GND: mise à la terre 4. Introduction à l'analyse interne DS18B20:
La figure ci-dessus montre le schéma fonctionnel du DS18B20, et la ROM 64 bits stocke le code de série unique de l'appareil. La mémoire tampon contient 2 octets de registres de température qui stockent la sortie numérique du capteur de température. En outre, la mémoire tampon donne accès aux registres de déclenchement d'alarme supérieur et inférieur de 1 octet (TH et TL) et registres de configuration 1 octet. Le registre de configuration permet à l'utilisateur de définir la résolution de la conversion de la température en numérique sur 9, 10, 11, ou 12 morceaux. ÈME, TL, et les registres de configuration sont non volatiles (EEPROM), afin qu'ils conservent les données lorsque l'appareil est éteint. Le DS18B20 utilise le protocole de bus à 1 fil unique de Maxim, qui utilise un signal de commande. La ligne de contrôle nécessite une faible résistance de rappel car tous les appareils sont connectés au bus via un port à 3 états ou à drain ouvert. (Broche DQ dans le cas du DS18B20). Dans ce système de bus, le microprocesseur (maître) utilise un code unique de 64 bits pour chaque appareil. Parce que chaque appareil possède un code unique, le nombre d'appareils pouvant être adressés sur un bus est pratiquement illimité.
Format du registre de température
Relation température/données
Signal d'alarme de fonctionnement
Après que le DS18B20 ait effectué une conversion de température, il compare la valeur de température à la valeur de déclenchement d'alarme en complément à deux définie par l'utilisateur et stockée dans les registres TH et TL à 1 octet. Le bit de signe indique si la valeur est positive ou négative: positif S=0, négatif S=1. Les registres TH et TL sont non volatiles (EEPROM) et ne sont donc pas volatiles lorsque l'appareil est éteint. TH et TL sont accessibles via des octets 2 et 3 de la mémoire.
Format de registre TH et TL:
Schéma de principe de l'alimentation du DS18B20 à l'aide d'une alimentation externe
64-code de mémoire morte laser à bits:
Chaque DS18B20 contient un code unique de 64 bits stocké dans la ROM. Le moins significatif 8 les bits du code ROM contiennent le code de la famille monofilaire du DS18B20: 28H. Le prochain 48 les bits contiennent un numéro de série unique. Le plus significatif 8 les bits contiennent un contrôle de redondance cyclique (CRC) octet, qui est calculé à partir du premier 56 bits du code ROM.
Carte mémoire DS18B20
Registre de configuration:
Chiffre 2
Octet 4 de la mémoire contient le registre de configuration, qui est organisé comme le montre la figure 2. L'utilisateur peut définir ici la résolution de conversion du DS18B20 en utilisant les bits R0 et R1, comme indiqué dans le tableau. 2. Les valeurs par défaut à la mise sous tension pour ces bits sont R0 = 1 et R1 = 1 (12-résolution en bits). Notez qu'il existe une relation directe entre la résolution et le temps de conversion. Peu 7 et des morceaux 0 à 4 dans le registre de configuration sont réservés à un usage interne de l'appareil et ne peuvent pas être écrasés.
Tableau 2 Configuration de la résolution du thermomètre
Génération CRC
L'octet CRC fait partie du code ROM 64 bits DS18B20 et est fourni dans le 9ème octet du bloc-notes.. Le code ROM CRC est calculé à partir du premier 56 bits du code ROM et est contenu dans l’octet de poids fort de la ROM. Le CRC du bloc-notes est calculé en fonction des données stockées dans le bloc-notes., donc ça change quand les données dans le bloc-notes changent. Le CRC fournit à l'hôte du bus une méthode de vérification des données lors de la lecture des données du DS18B20.. Après avoir vérifié que les données ont été lues correctement, le maître du bus doit recalculer le CRC à partir des données reçues puis comparer cette valeur au code ROM CRC (pour les lectures de ROM) ou le bloc-notes CRC (pour les lectures sur bloc-notes). Si le CRC calculé correspond au CRC lu, les données ont été reçues correctement. La décision de comparer les valeurs CRC et de procéder est entièrement à la discrétion du chef de bus. Il n'y a aucun circuit à l'intérieur du DS18B20 qui empêcherait l'exécution d'une séquence de commandes si:
Le DS18B20 CRC (ROM ou bloc-notes) ne correspond pas à la valeur générée par le maître du bus.
La fonction polynomiale équivalente pour le CRC est:
CRC = X8 + X5 + X4 + 1
Le maître du bus peut recalculer le CRC et le comparer à la valeur CRC du DS18B20 en:
Le générateur de polynôme est illustré à la figure 3. Le circuit comprend un registre à décalage et des portes Yihuo, et les bits du registre à décalage sont initialisés à 0. Le bit le moins significatif du code ROM ou le bit le moins significatif de l'octet 0 dans le bloc-notes doit être déplacé dans le registre à décalage un par un. Après avoir changé de peu 56 de la ROM ou du bit d'octet le plus significatif 7 du bloc-notes, le générateur de polynôme contiendra le CRC recalculé. Suivant, le code ROM 8 bits ou le signal CRC dans le bloc-notes DS18B20 doit être décalé dans le circuit. À ce point, si le CRC recalculé est correct, le registre à décalage sera composé uniquement de 0.
Chiffre 3: Générateur de CRC
V. Accéder au DS18B20:
La séquence pour accéder au DS18B20 est la suivante:
Étape 1. Initialisation;
Étape 2. Commande ROM (suivi de tout échange de données nécessaire);
Étape 3. Commande de fonction DS18B20 (suivi de tout échange de données nécessaire);
Note: Cette séquence est suivie à chaque accès au DS18B20, car le DS18B20 ne répondra pas si une étape de la séquence est manquante ou en panne. L'exception à cette règle est la ROM de recherche [F0h] et recherche d'alarme [Ech] commandes. Après avoir émis ces deux commandes ROM, l'hôte doit revenir à l'étape 1 en séquence.
(L'introduction ci-dessus est traduite du manuel officiel)
Commande ROM
1, Lire la rom [33H]
2, Match ROM [55H]
3, Salle de navire [CCh]
4, Recherche d'alarme [Ech]
Commande de fonction DS18B20
1, Convertir la température [44H]
2, Écrire Scratchpad (Mémoire) [4Eh]
3, Lire Scratchpad (Mémoire) [BEh]
4, Copier Scratchpad (Mémoire [48H]
5, Réveiller E2 [B8h]
6, Lire la puissance [B4h]
(Pour une description détaillée des commandes ci-dessus, voir le manuel officiel)
VI. Accès au chronométrage DS18B20
Pendant le processus d'initialisation, le maître du bus envoie une impulsion de réinitialisation (Émission) niveau bas pendant au moins 480µs en tirant sur le bus 1-Wire. Alors, le maître du bus libère le bus et entre en mode réception (RX). Après avoir libéré le bus, la résistance de rappel de 5 kΩ tire le bus 1-Wire vers le haut. Lorsque le DS18B20 détecte ce front montant, il attend 15µs à 60µs puis envoie une impulsion de présence en tirant le bus 1-Wire vers le niveau bas pendant 60µs à 240µs.
Calendrier d'initialisation:
Il existe deux types de plages horaires d'écriture: “Écrivez 1” plages horaires et “Écrivez 0” plages horaires. Le bus utilise un Write 1 créneau horaire pour écrire une logique 1 au DS18B20 et un Write 0 créneau horaire pour écrire une logique 0 au DS18B20. Tous les créneaux horaires d'écriture doivent durer au moins 60 µs avec un temps de récupération d'au moins 1 µs entre les créneaux horaires d'écriture individuels.. Les deux types d'intervalles de temps d'écriture sont initiés par le maître qui tire le bus 1-Wire au niveau bas. (voir la figure 14). Pour générer une écriture 1 créneau horaire, après avoir tiré le bus 1-Wire bas, le maître du bus doit libérer le bus 1-Wire dans un délai de 15µs. Après avoir libéré le bus, la résistance de rappel de 5 kΩ tire le bus vers le haut. Générer un
Écrire 0 créneau horaire, après avoir tiré la ligne 1-Wire vers le bas, le maître du bus doit continuer à maintenir le bus bas pendant toute la durée du créneau horaire (au moins 60µs). Le DS18B20 échantillonne le bus 1-Wire dans une fenêtre de 15 µs à 60 µs après que le maître a lancé l'intervalle de temps d'écriture.. Si le bus est haut pendant la fenêtre d'échantillonnage, un 1 est écrit sur le DS18B20. Si la ligne est basse, un 0 est écrit sur le DS18B20.
Note: L'intervalle de temps est une partie de l'auto-multiplexage série des informations d'intervalle de temps dédiée à un seul canal..
Chiffre 14 est le suivant:

Les plages horaires d'écriture DS18B20 sont pilotées par l'hôte pour amener le bus 1-Wire au niveau bas.
Lire le créneau horaire:
Le DS18B20 ne peut envoyer des données à l'hôte que lorsque celui-ci émet un créneau horaire de lecture.. Donc, l'hôte doit générer un créneau horaire de lecture immédiatement après avoir émis une commande de lecture de mémoire [BEh] ou une alimentation de lecture [B4h] commande pour que le DS18B20 fournisse les données requises. Alternativement, l'hôte peut générer un créneau horaire de lecture après avoir émis un Convert T [44H] ou Rappel E2 [B8h] commande pour connaître l'état. Tous les créneaux horaires de lecture doivent durer au moins 60 µs avec un temps de récupération minimum de 1 µs entre les créneaux horaires.. Un intervalle de temps de lecture est initié par le maître tirant le bus 1-Wire vers le niveau bas pour le maintenir bas pendant au moins 1 µs, puis relâchant le bus. (voir la figure 14). Après que le maître ait lancé un créneau horaire de lecture, le DS18B20 commencera à envoyer des 1 ou des 0 sur le bus. Le DS18B20 envoie un 1 en tenant le bus haut et envoie un 0 en tirant le bus vers le bas. Quand un 0 est envoyé, le DS18B20 libère le bus en maintenant le bus haut. La plage horaire se termine et le bus est ramené à l'état de repos élevé par la résistance de rappel..
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt















