Projet de Capteur de Température: Capteur de Température Numérique ICs

Mark Harris

|& nbsp Créé: 26 octobre 2020 &nbsp|& nbsp Mis à jour: Mars 16, 2021

Les capteurs de température numériques offrent le moyen le plus simple de mesurer et d’entrer une lecture de température très précise dans un microcontrôleur ou un autre dispositif logique. Dans le dernier article de cette série de capteurs de température, nous avons examiné les capteurs de température analogiques. Bien que ceux-ci puissent sembler plus faciles à mettre en œuvre en prenant simplement une simple lecture ADC, pour obtenir la mesure la plus précise, vous devrez calibrer l’ADC de chaque appareil pendant la production, ce qui n’est pas toujours possible. Dans cet article, nous explorons plusieurs options de capteurs de température numériques différentes. Les capteurs de température numériques seront généralement plus chers qu’un simple capteur de température analogique. Cependant, la facilité et la commodité de la production à l’aide de ces appareils rendent souvent le coût supplémentaire intéressant lorsque des niveaux élevés de précision de mesure sont requis.

Les capteurs de température numériques sont le cinquième type de capteur que nous examinons dans cette série. Nous concluons cette série avec l’article final, qui opposera tous les capteurs que nous avons testés les uns aux autres dans un concours en tête à tête sur un large éventail de conditions environnementales pour nous permettre de comparer leur fonctionnalité, leur précision et leur comportement. Nous avons commencé la série avec un article d’introduction dans lequel nous avons construit un ensemble de modèles pour les cartes de capteurs de température standard. Les versions analogique et numérique peuvent être empilées grâce à l’utilisation de connecteurs mezzanine ou lues indépendamment de leurs connecteurs de bord. Nous construirons des cartes hôtes pour tous ces capteurs plus tard dans la série, ce qui nous permettra de lire les données d’un seul capteur pour valider sa fonctionnalité ou de lire toute la pile de cartes afin que nous puissions enregistrer les données de toutes ensemble.

Dans cette série, nous allons examiner une large gamme de capteurs de température, parler de leurs avantages et inconvénients, ainsi que de certaines topologies typiques pour leur mise en œuvre. La série couvrira les types de capteurs suivants:

  • Thermistances à Coefficient de Température Négatif (NTC)
  • Thermistances à Coefficient de Température Positif (PTC)
  • Détecteurs de Température à Résistance (RTD)
  • Circuits Intégrés de Capteur de Température Analogique
  • Circuits Intégrés de Capteur de Température Numérique
  • Thermocouples

Comme pour mes projets, vous pouvez trouver les les détails du projet, les schémas et les fichiers de carte sur GitHub ainsi que les autres implémentations de capteurs de température. Le projet est publié sous la licence MIT open-source, qui vous permet d’utiliser les dessins ou une partie d’entre eux à des fins personnelles ou commerciales, comme vous le souhaitez.

Circuits intégrés de capteur de température numérique

Supposons que vous ne soyez intéressé que par la lecture de la sortie d’un capteur de température à l’aide d’un microcontrôleur ou d’un autre dispositif logique. Dans ce cas, un capteur de température numérique est électriquement l’option la plus simple à mettre en œuvre. Les capteurs de température numériques peuvent offrir d’excellents niveaux de précision car toute la détection, la compensation et la conversion sont effectuées sur puce. Il n’est pas nécessaire de calibrer l’ADC de votre microcontrôleur (ou ADC externe). De plus, vous n’avez pas à vous soucier des interférences électromagnétiques provenant de traces à proximité ou d’autres dispositifs installés sur les connexions entre le capteur de température analogique et le microcontrôleur qui pourraient influencer involontairement la lecture de la température.

Dans ce projet, nous allons mettre en œuvre quatre différentes options de capteurs de température numériques de différentes résolutions et plages de détection.

Name

MAX31826MUA+T

STS-30-DIS

EMC1833T

SI7051-A20-IMR

Type

Digital

Digital

Digital

Digital

Sensing Temp Min (°C)

-55°C

0°C

-40°C

-40°C

Sensing Temp Max (°C)

+125° C

+60° C

+125° C

+125° C

Plage de Détection

Local

Local

À distance

Local

Résolution (Bits)

Précision (°C)

±0.5° C (+10 °C à +85 °C)

±2° C (-55 °C à 125 °C)

±0.2°C

±1° C (-20 ° C + 105 ° C)
±1,5 ° C (-40 ° C + 125 ° C)

±0.1°C

Température de fonctionnement (° C)

-55° C à +125°C

-40° C à +125°C

-40° C à +125°C

-40° C à +125°C

Fonctions

1 Bus Filaire, Puissance Parasite

I2C

I2C, SMBus

I2C

Tension d’alimentation Minimale

3 V

2.15 V

1.62 V

1.9 L

Tension d’alimentation maximale (V)

3.7 V

5.5 V

3.6 V

3.6 V

Consommation de courant (uA)

4 mA (lors de la lecture du niveau logique bas)

45 AU ralenti
1,5 Ma mesure
Dmv *1.5 Alarme

700 uA en conversion,
75 uA en veille

195 AU

Fabricant

Maxim Intégré

Sensirion SA

Puce Électronique

Laboratoires de Silicium

Forfait

8- MSOP

8- VFDFN

8- VDFN

6- DFN

J’ai inclus l’EMC1833T parce que, pour moi, c’est un capteur fascinant. Il s’agit d’un dispositif de détection de température à distance, ce qui signifie qu’il n’utilise pas de capteur situé à l’intérieur du composant. Au lieu de cela, il détecte la température en convertissant la sortie d’un capteur externe, qui dans ce cas est un transistor, en un signal numérique. Je ne suis pas sûr qu’il appartienne nécessairement à cette catégorie de « capteur de température numérique » car il ne correspond pas tout à fait aux autres capteurs que nous examinons. Pourtant, les transistors ne sont généralement pas bien connus comme étant utilisés comme capteurs de température, donc je ne savais pas où le mettre. Ce qui me fascine à propos de ce capteur, c’est qu’il peut mesurer la température en utilisant presque tous les transistors. Si vous concevez un ASIC, vous pouvez facilement inclure un transistor supplémentaire sur la matrice à cette fin. Vous pouvez ensuite utiliser ce transistor, qui peut être lu par un capteur tel que l’EMC1833T, pour prendre une mesure externe de la température de la matrice sans avoir à ajouter de complexité supplémentaire à votre silicium. Une autre façon de voir cela est que vous pouvez surveiller la température de votre matrice sans encourir de risque d’ingénierie associé à la conception et à la construction d’un capteur de température numérique sur mesure dans le silicium.

Mise en œuvre du capteur numérique: MAX31826MUA + T

Le premier capteur que nous allons implémenter est le MAX31826 produit par Maxim Integrated. Ce capteur fonctionne sur un bus à 1 fil plutôt que sur le bus I2C ou SPI plus typique. Un problème potentiel est qu’il est peu probable que 1-Wire soit proposé comme protocole de communication par le microcontrôleur autour duquel votre projet est basé. Cependant, il s’agit d’un protocole simple à bit-bang et présente un avantage considérable par rapport aux choix les plus populaires en ce sens qu’il suffit de deux fils pour faire fonctionner le capteur. Y compris l’alimentation, I2C nécessite quatre fils et SPI cinq fils. En revanche, le 1-Wire ne nécessite qu’une mise à la terre et une ligne de données pour la plupart des applications, car il peut se mettre hors tension de la ligne de données en utilisant une technique de puissance parasite. Intégré dans le capteur est un condensateur qui peut soutenir l’alimentation du circuit intégré pendant les périodes où la ligne de données est à l’état bas, ce qui élimine le besoin d’une alimentation en tension dédiée dans la plupart des conditions de fonctionnement normales. Cela peut être une solution très pratique pour les cartes dont l’espace disponible est extrêmement limité.

Une autre caractéristique intéressante du capteur et de son bus à 1 fil est la possibilité de définir une adresse de 4 octets pour l’appareil à l’aide de broches sélectionnables manuellement installées sur le boîtier de l’appareil. Cela permet d’installer jusqu’à 16 capteurs de température sur un seul bus de données à 1 fil en donnant à chaque appareil une adresse unique. Cela peut être une option très pratique si vous manquez de broches de microcontrôleur et, en même temps, que vous avez besoin de capacités de détection à l’aide d’un grand nombre de capteurs de température.

Par rapport aux capteurs que nous avons examinés dans les articles précédents de cette série, le MAX31826 est non seulement très précis, mais fournit également des données à haute résolution. Le capteur offre +/- 0.Précision de 5 ° C entre -10 ° C et + 85 ° C, avec une précision de + /- 2 ° C sur sa plage de température complète de -55 ° C à + 125 ° C. Toutes les lectures du capteur sont fournies sous forme de valeurs de 12 bits, ce qui représente une résolution supérieure à celle offerte par la plupart des microcontrôleurs.

En tant que capteur de température, le MAX31826 a beaucoup à offrir, mais il est également équipé d’une EEPROM intégrée de 1 Ko en bonus. Je suppose qu’il leur restait de la place sur le dé. Si votre microcontrôleur n’a pas d’EEPROM intégrée et que vous devez stocker des données de configuration pour votre application, ce capteur de température est là pour vous. Si vous avez besoin d’un stockage non volatil supplémentaire, ce capteur de température réduira le nombre de composants et économisera de l’espace sur la carte.

La fiche technique recommande d’alimenter directement l’appareil plutôt que d’utiliser une alimentation parasite du bus lorsque les températures peuvent dépasser 100 ° C. Alors que la plupart des applications typiques n’auront pas besoin d’atteindre ces niveaux de température, les tests que nous ferons subir au capteur dépasseront 100 ° C. Par conséquent, pour cet exercice, nous suivrons la recommandation d’alimenter directement l’appareil plutôt que d’explorer la fascinante option d’alimentation parasite.

 MAX31826 Schématique

La forme de la carte et la disposition générale proviennent du modèle de projet que nous avons créé dans l’introduction de cette série. Comme nous n’utilisons aucun des bus de communication habituels, j’ai supprimé les réseaux associés et leurs composants de la carte. Pourtant, j’ai laissé les connexions sur le connecteur d’empilement pour m’assurer que cela ne pose aucun problème pour les autres capteurs empilés. Avec le bus à 1 fil, il suffit d’utiliser la broche de sélection de la puce pour communiquer avec le microcontrôleur hôte.

 Schéma 3D MAX31826

Implémentation du capteur numérique: STS-30-DIS

J’ai utilisé le STS-30-DIS produit par Sensirion dans un projet précédent en raison de son incroyable précision et de ses indications calibrées traçables au NIST. Cela était nécessaire car l’instrumentation a été développée pour une entreprise de services alimentaires, qui devait recueillir des données à des fins de rapport du gouvernement. Avec un faible encombrement, une large plage de tension, une précision incroyable et une sortie numérique 16 bits linéarisée, cet appareil a beaucoup à aimer si vous n’avez besoin que d’une détection de température positive. Si vous devez détecter des températures sous le point de congélation, la variante STS-30A-DIS est qualifiée pour l’automobile et a une plage de détection de -40 ° C à 125 ° C. Cependant, cette plage de détection accrue a un léger coût pour la précision globale.

Dans l’article précédent sur les capteurs de température analogiques, j’ai parlé de la qualité des capteurs de température analogiques pour des applications telles que la surveillance de processus, pour allumer et éteindre un ventilateur ou pour d’autres systèmes de gestion thermique qui peuvent fonctionner sans intervention d’un microcontrôleur. Le STS-30 offre une broche d’ALERTE qui peut être utilisée pour remplir une fonction similaire. Il est destiné à la connexion à une broche d’interruption d’un microcontrôleur; cependant, il a également une note d’application complète qui lui est dédiée, et il peut être utilisé pour commuter automatiquement les charges. La possibilité de s’interfacer avec la fonction d’interruption du microcontrôleur peut être cruciale. Il permet au capteur d’informer immédiatement le microcontrôleur avec un signal de haute priorité que quelque chose doit être immédiatement fait, plutôt que de se fier à l’interrogation peu fréquente du capteur par microcontrôleur et à la réponse aux données lues. Si la sortie d’ALERTE est connectée à un transistor pour lui permettre d’entraîner une charge, le capteur pourrait être utilisé à la fois à des fins de surveillance/journalisation ainsi qu’à une fonction de gestion thermique autonome. Par rapport aux solutions analogiques, cette configuration pourrait bien faire du STS-30 numérique une option moins chère. Un comparateur séparé ne sera pas nécessaire et le seuil du code PIN d’ALERTE peut être configuré par l’utilisateur via un microcontrôleur / IHM sans qu’il soit nécessaire de le définir en usine.

Les appareils de la série STS-30 utilisent tous un bus I2C pour les communications. Le schéma que nous mettons en oeuvre pour cet article ne comprend aucune des résistances de traction généralement nécessaires au bon fonctionnement du bus de communication. Ces résistances de traction seront plutôt installées sur les cartes hôtes. Comme nous n’avons besoin que d’un jeu de résistances de traction par bus, l’ajout de résistances à chaque capteur ajouterait plusieurs résistances de traction au bus et pourrait entraîner son dysfonctionnement. De plus, toutes les résistances connectées en parallèle réduiraient leur résistance globale.

La broche ADDR nous permet de choisir entre deux adresses différentes pour l’appareil, ce qui nous permet de connecter deux composants STS-30 au même bus I2C. Bien que cela ne soit pas aussi impressionnant que les capacités de l’appareil MAX31826 sur le bus à 1 fil, cela reste pratique en ce sens qu’il nous permet d’utiliser plus d’un appareil. Je tire la broche ADDR sur logic low (GND) car cela définit l’adresse par défaut sur 0x4A, avec la logique tirée à l’état haut, cela la définit sur l’adresse alternative de 0x4B.

 Schéma STS30

J’aime le paquet sur le STS-30 car il est compact, mais pas trop fou, vous pouvez donc assembler votre planche à la main si vous utilisez un pochoir. Le paquet de capteurs et un condensateur de découplage 0603 sont ensemble à peu près de la même taille que le MAX31826 que nous avons examiné ci-dessus. Avec un condensateur plus petit, il s’adapterait très bien à une carte haute densité. Le grand tapis de terre sous le CI fournit un excellent chemin pour transférer la chaleur d’un plan de masse à la jonction de détection de température à l’intérieur du CI. Cela en fait un choix parfait pour le placer à côté de n’importe quel appareil, tel qu’un grand MOSFET ou un régulateur, qui utilise le plan de masse pour déverser l’excès de chaleur dans la carte. Placer le circuit intégré à proximité de la source de chaleur donnera des résultats de détection de température plus précis.

 STS-30-DIS Connexion directe 3D

Mise en œuvre du capteur numérique: EMC1833T

Comme je l’ai mentionné précédemment, je trouve le dispositif EMC1883 produit par Microchip fascinant non seulement parce qu’il possède une gamme de fonctionnalités fantastiques, mais aussi parce qu’il peut lire la température détectée par une jonction de transistor. Le STS-30 que nous avons examiné ci-dessus avait une broche d’interruption d’alerte déclenchée par une valeur absolue; cependant, l’EMC1883 peut être configuré pour générer également une alerte basée sur le taux de changement de la température détectée. Cette alerte de taux de changement peut permettre d’activer automatiquement des solutions de gestion thermique intelligentes en prévision de leur besoin plutôt qu’après l’événement. Cela a le potentiel d’améliorer la fiabilité de l’appareil dans son ensemble grâce à une gestion soigneuse de sa température de fonctionnement. Comme avec le STS-30, il est entièrement configurable par logiciel, ce qui offre des avantages considérables par rapport à toute option réglée en usine que vous auriez probablement besoin d’implémenter si vous utilisiez un thermostat entièrement analogique pour obtenir les mêmes résultats.

Le modèle spécifique de la série EMC8xx que nous testons ne prendra en charge que la détection d’une seule jonction. Cependant, il existe d’autres modèles de la série qui peuvent fournir une détection jusqu’à cinq jonctions.

Comme le STS-30, il s’agit d’un capteur basé sur I2C qui permet d’installer plusieurs capteurs sur un seul bus I2C. Une distinction est que l’implémentation de la broche ADDR EMC1833T est différente de la nature on / off binaire du périphérique STS-30. Cet appareil vous permet de configurer jusqu’à six adresses distinctes en utilisant différentes valeurs de résistance de traction. La broche ADDR fonctionne également comme l’une des broches d’interruption, agissant comme la broche d’Avertissement thermique (avec la broche d’ALERTE / Avertissement thermique 2). Comme l’installation précédente de l’appareil, je n’implémenterai pas de résistances de traction sur les lignes I2C de la carte du capteur de température. Cependant, ils doivent être installés quelque part dans votre circuit pour permettre au bus de communication du capteur de fonctionner correctement.

La fiche technique recommande d’utiliser un transistor à jonction bipolaire 2N3904 comme élément de télédétection car je n’ai pas de transistor CPU disponible à utiliser pour les mesures. J’utilise la variante de montage en surface d’un 2N3904 pour détecter la température sur cette carte. Le MMBT3904 est disponible auprès de pratiquement toutes les entreprises de fabrication de silicium qui traitent des BJT – dans ce cas, j’ai choisi d’utiliser une pièce à semi-conducteur car c’était la mieux stockée. Il y en avait plusieurs millions quand j’ai regardé Octopart pour la dernière fois.

 EMC1833T Semiconducteur schématique

Comme je l’ai fait dans les articles précédents de cette série, j’ai placé l’élément de détection de température, notre transistor, dans la coupure thermique. J’ai placé les éléments non sensibles derrière la coupure thermique. Cela empêche l’EMC1833T de pouvoir influencer négativement la lecture de la température en raison de la chaleur qu’il peut générer lui-même.

 Conception de circuits imprimés 3D EMC1833T

Mise en œuvre du capteur numérique: Si7051-A20-IMR

Enfin, nous avons les laboratoires de silicium Si7051-A20. Ce sont les résultats de cet appareil que je suis le plus heureux de voir dans toute cette série. Le MAX31826 est un capteur assez précis; cependant, le Si7051-A20 offre une précision impressionnante de +/- 0,1 ° C avec une consommation d’énergie incroyablement faible de seulement 195 nA lors de l’échantillonnage. La consommation d’énergie est au moins d’un ordre de grandeur inférieure à celle de tous les autres capteurs de température numériques et sensiblement inférieure aux capteurs de température analogiques que nous avons examinés dans l’article précédent.

Lorsque de nombreux capteurs présentent des précisions annoncées très élevées, les chiffres ne s’appliquent généralement qu’à une partie limitée de la plage de détection globale. En revanche, le Si7051-A12 offre la précision signalée sur toute sa plage de détection de -40 ° C à + 125 ° C. De plus, l’erreur de 0,1 ° C est une précision du pire scénario, et non la moyenne ou le minimum. Avec sa résolution de 14 bits sélectionnée, le Si7051-A20 fournit une lecture répétable de 0,01 ° C – J’adore les capteurs précis et répétables!

Comme pour les deux derniers capteurs, le Si7051-A20 est un capteur compatible I2C. Cependant, il n’offre pas de broche d’adresse, ce qui signifie que vous ne pouvez avoir qu’une seule unité connectée au bus I2C, sauf si vous ajoutez un commutateur I2C ou commutez l’alimentation entre différentes unités connectées sur le même bus. Cela nécessiterait des broches d’E / S supplémentaires et ajouterait une complexité de circuit, ce qui rendrait le Si7051-A20 moins idéal pour détecter plusieurs emplacements sur votre carte de circuit imprimé. L’appareil ne dispose pas non plus de broches d’alerte / interruption, destinées à être utilisées uniquement comme capteur de température numérique. Généralement, si vous cherchez à automatiser la gestion thermique de votre carte de circuit imprimé, un capteur moins précis et moins coûteux sera plus que suffisant pour une telle application.

L’une des fonctionnalités que j’ai vraiment aimé du STS-20 lors de ma dernière utilisation était l’étalonnage certifié NIST appliqué à chaque appareil, car mon client avait besoin de cette fonctionnalité. Bien que le Si7051-A20 n’en fasse aucune mention dans sa fiche technique, il dispose d’un certificat d’étalonnage disponible. J’ai également pu trouver un autre certificat d’étalonnage plus spécifique; cependant, cela ne se trouve pas sur le site Web de Silicon Labs et, par conséquent, ne peut s’appliquer qu’aux unités particulières achetées par cette société. Si c’est le cas, il définit une priorité pour les laboratoires de silicium émettant des certificats spécifiques pour ses clients.

 Schéma de connexion directe Si7051-A20

Comme les autres implémentations I2C que nous avons couvertes dans cet article, les lignes I2C de cette carte ne sont pas équipées de résistances de traction sur les lignes de données / horloge. Vous devrez inclure une résistance de traction sur chaque ligne quelque part dans votre circuit pour permettre au Si7051-A20 de communiquer avec succès.

Le package DFN à 6 broches est également le prototype le plus facile à manipuler de toutes les options sans plomb que nous avons couvertes dans cet article. À l’aide d’un pochoir ou d’un outil de dépôt de pâte comme le Voltera V-One, ce capteur serait incroyablement facile à placer et à refusion à la main à l’aide d’outils de base, ce qui le rend parfait pour le prototypage en laboratoire à la maison ou au bureau.

 Schéma de circuit imprimé 3D à connexion directe Si7051-A20

Conclusion

Nous avons examiné quatre capteurs de température numériques différents dans cet article. Cependant, il existe des centaines d’autres options de capteurs de température numériques disponibles qui peuvent répondre aux exigences spécifiques de votre projet, qui sont bien approvisionnées et disponibles. Alors que les capteurs de température analogiques sont excellents pour la surveillance autonome des processus ou l’utilisation avec un convertisseur analogique-numérique, les capteurs de température numériques offrent une commodité significative lors de leur intégration dans un produit doté d’un microcontrôleur. Comme nous l’avons vu dans cet article, il existe des capteurs de température numériques qui peuvent générer des interruptions et des alertes à des seuils configurables, ce qui permet des applications intéressantes au-delà d’un thermostat basé sur un comparateur réglé en usine comme vous l’utiliseriez probablement avec un capteur de température analogique. La précision et la précision des capteurs de température numériques modernes peuvent être exceptionnellement élevées; cependant, de nombreuses options consomment beaucoup plus de courant que leurs homologues analogiques, ce qui peut fournir un certain décalage de température par rapport à l’auto-échauffement.

Les capteurs de température numériques les plus populaires et bien approvisionnés utilisent généralement un bus I2C pour les communications; cependant, des options de bus SPI et 1 fil sont également facilement disponibles pour répondre à la disponibilité de bus de communication alternatifs pour votre projet.

Comme je l’ai mentionné au début de l’article, vous pouvez trouver des détails sur chacune de ces cartes de capteurs et toutes les autres implémentations de capteurs de température sur GitHub. Ces conceptions sont toutes publiées sous la licence MIT open-source, ce qui vous permet de faire à peu près n’importe quoi avec la conception pour un usage personnel ou commercial.

Souhaitez-vous en savoir plus sur la façon dont Altium peut vous aider dans la conception de votre prochain PCB ? Parlez à un expert chez Altium.

 Essai gratuit d'Altium Designer

Leave a Reply

Votre adresse e-mail ne sera pas publiée.