Project temperatuursensor: Digitale temperatuursensor ICs

Mark Harris

/ &nbsp aangemaakt op: 26 oktober 2020 &nbsp / &nbsp bijgewerkt op: Maart 16, 2021

digitale temperatuursensoren bieden de eenvoudigste manier om een zeer nauwkeurige temperatuurmeting te meten en in te voeren in een microcontroller of ander logisch apparaat. In het laatste artikel in deze temperatuursensor serie hebben we gekeken naar analoge temperatuursensoren. Hoewel deze misschien gemakkelijker te implementeren lijken door gewoon een eenvoudige ADC-meting te nemen, moet u om de meest nauwkeurige meting te krijgen, de ADC van elk apparaat tijdens de productie kalibreren, wat niet altijd haalbaar is. In dit artikel duiken we in verschillende digitale temperatuursensoropties. Digitale temperatuursensoren zullen doorgaans duurder zijn dan een eenvoudige Analoge temperatuursensor. Echter, het gemak en het gemak van de productie met behulp van deze apparaten maken de extra kosten vaak de moeite waard waar hoge niveaus van meetnauwkeurigheid nodig zijn.

digitale temperatuursensoren zijn het vijfde type sensor waar we naar kijken in deze serie. We sluiten deze serie af met het laatste artikel, dat alle sensoren die we tegen elkaar hebben getest in een head to head wedstrijd zal plaatsen over een breed scala aan omgevingsomstandigheden om ons in staat te stellen hun functionaliteit, nauwkeurigheid en gedrag te vergelijken. We begonnen de serie met een introductieartikel waarin we een set sjablonen voor standaard temperatuursensorkaarten bouwden. Zowel de analoge als digitale versies kunnen worden gestapeld door het gebruik van mezzanine-connectoren of worden gelezen onafhankelijk van hun randconnectoren. We bouwen later in de serie hostboards voor al deze sensoren, waarmee we gegevens van één enkele sensor kunnen lezen om de functionaliteit ervan te valideren of om de hele stapel borden te lezen zodat we de gegevens van ze allemaal samen kunnen loggen.

in deze serie gaan we een kijkje nemen bij een breed scala van temperatuursensoren, waarbij we praten over hun voor-en nadelen, evenals enkele typische topologieën voor hun implementatie. De serie zal worden met betrekking tot de volgende sensoren:

  • Negatieve Temperatuur Coëfficiënt (NTC) – weerstanden
  • Positieve Temperatuur Coëfficiënt (PTC) thermistors
  • de Temperatuur van de Weerstand Detectoren (RTD)
  • Analoge Temperatuur Sensor ICs
  • Digitale Temperatuur Sensor ICs
  • Thermokoppels

Als met mijn projecten, u vindt de details van het project, de schema ‘ s, en de raad van bestanden op GitHub, samen met de andere temperatuur sensor implementaties. Het project wordt vrijgegeven onder de open-source MIT-licentie, waarmee u de ontwerpen of een deel ervan kunt gebruiken voor persoonlijke of commerciële doeleinden, zoals u dat wenst.

Digitale temperatuursensor ICs

stel dat u alleen geïnteresseerd bent in het lezen van de output van een temperatuursensor met behulp van een microcontroller of een ander logisch apparaat. In dat geval is een digitale temperatuursensor elektrisch de meest eenvoudige optie om te implementeren. Digitale temperatuursensoren kunnen uitstekende nauwkeurigheidsniveaus bieden aangezien alle detectie, compensatie en conversie op de chip wordt gedaan. Het is niet nodig om de ADC van uw microcontroller (of externe ADC) te kalibreren. Ook hoeft u zich geen zorgen te maken over elektromagnetische interferentie van nabijgelegen sporen of andere apparaten die zijn gemonteerd op de verbindingen tussen de Analoge temperatuursensor en de microcontroller die onbedoeld de temperatuurmeting kunnen beïnvloeden.

in dit project implementeren we vier verschillende digitale temperatuursensoren met verschillende resoluties en sensorbereiken.

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

Detectiebereik

Lokale

Lokale

Afstand

Lokale

Resolutie (Bits)

Nauwkeurigheid (°C)

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

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

±0.2°C

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

±0.1°C

Bedrijfstemperatuur (°C)

-55°C tot +125°C

-40°C tot +125°C

-40°C tot +125°C

-40°C tot +125°C

Functies

1 Draads Bus, Parasitaire Stroom

I2C

I2C, SMBus

I2C

Min Voedingsspanning

3 V

2.15 V

1.62 V

1.9 V

Max Voedingsspanning (V)

3.7 V

5.5 V

3.6 V

3.6 V

Stroomverbruik (uA)

4 mA (bij het lezen van lage logica niveau)

45 uA inactief
1.5 mA meten
Vdd*1.5 Alarm

700 uA-conversie,
75 uA stand-by

195 nA

Fabrikant

Maxim Integrated

Sensirion AG

Microchip

Silicon Labs

Pakket

8-MSOP

8-VFDFN

8-VDFN

6-DFN

ik heb ook de EMC1833T omdat het, voor mij, het is een fascinerende sensor. Het is een temperatuursensor op afstand, wat betekent dat het geen sensor gebruikt die zich in het onderdeel bevindt. In plaats daarvan detecteert het de temperatuur door de output van een externe sensor, die in dit geval een transistor is, om te zetten in een digitaal signaal. Ik ben er niet zeker van dat het noodzakelijkerwijs behoort tot deze “digitale temperatuursensor” categorie, omdat het niet helemaal past bij de andere sensoren waar we naar kijken. Toch staan transistors niet bekend als temperatuursensoren, dus ik had geen idee waar ik het moest plaatsen. Wat me fascineert aan deze sensor is dat hij de temperatuur kan meten met bijna elke transistor. Als u het ontwerpen van een ASIC, dan kunt u gemakkelijk een extra transistor op de matrijs voor dit doel. Vervolgens kunt u deze transistor, die door een sensor zoals de EMC1833T kan worden afgelezen, gebruiken om een externe meting van de matrijstemperatuur uit te voeren zonder extra complexiteit aan uw silicium toe te voegen. Een andere manier om dit te bekijken is dat u de temperatuur van uw matrijs kunt controleren zonder enig technisch risico te lopen in verband met het ontwerpen en bouwen van een op maat gemaakte digitale temperatuursensor in het silicium.

digitale Sensorimplementatie: MAX31826MUA+T

de eerste sensor die we gaan implementeren is de MAX31826 geproduceerd door Maxim Integrated. Deze sensor draait op een 1-draads bus in plaats van de meer typische I2C of SPI bus. Een potentieel probleem is dat 1-Wire waarschijnlijk niet als communicatieprotocol wordt aangeboden door de microcontroller waar je project om draait. Echter, het is een eenvoudig protocol bit-bang en heeft een aanzienlijk voordeel ten opzichte van de meer populaire keuzes in dat het slechts twee draden nodig om de sensor te bedienen. Met inbegrip van de levering van de macht, I2C vereist vier draden, en SPI heeft vijf draden nodig. Daarentegen vereist 1-Wire alleen een grond en een datalijn voor de meeste toepassingen, omdat het zichzelf van de datalijn kan voorzien met behulp van een parasitaire vermogenstechniek. Geïntegreerd in de sensor is een condensator die de voeding voor de IC kan ondersteunen tijdens de perioden waarin de datalijn in de lage staat is, waardoor de behoefte aan een speciale Spanningsvoorziening onder de meeste normale bedrijfsomstandigheden wordt weggenomen. Dit kan een zeer handige oplossing zijn voor platen die zeer beperkte ruimte beschikbaar hebben.

een ander interessant kenmerk van de sensor en zijn 1-draads bus is de mogelijkheid om een 4-byte adres voor het apparaat in te stellen met behulp van handmatig selecteerbare pinnen geïnstalleerd op het apparaat pakket. Dit maakt de installatie van maximaal 16 temperatuursensoren op een enkele 1-draads databus mogelijk door elk apparaat een uniek adres te geven. Dit kan een zeer handige optie zijn als u een tekort aan Microcontroller-pinnen hebt en tegelijkertijd detectiemogelijkheden nodig hebt met behulp van een groot aantal temperatuursensoren.

in vergelijking met de sensoren die we hebben bekeken in de vorige artikelen in deze serie, de MAX31826 is niet alleen zeer nauwkeurig, maar levert ook hoge-resolutie gegevens. De sensor biedt +/- 0.5 ° C Nauwkeurigheid tussen -10°C en + 85°C, met + / – 2°C nauwkeurigheid over het volledige temperatuurbereik van -55°C tot + 125°C. Alle sensor meetwaarden worden geleverd als 12-bits waarden, wat een hogere resolutie is dan de meeste microcontrollers bieden.

als temperatuursensor heeft de MAX31826 veel te bieden, maar hij is ook uitgerust met een onboard 1 kB EEPROM als bonus feature. Ik denk dat ze nog wat ruimte over hadden op de dobbelsteen. Als uw microcontroller geen geà ntegreerde EEPROM heeft en u een aantal configuratiegegevens voor uw toepassing moet opslaan, heeft deze temperatuursensor u gedekt. Als u extra niet-vluchtige opslag nodig hebt, zal deze temperatuursensor uw componententelling verminderen en ruimte op het bord besparen.

in de datasheet wordt aanbevolen het apparaat direct van stroom te voorzien in plaats van parasitaire busvoeding te gebruiken wanneer temperaturen boven de 100°C. Hoewel de meeste typische toepassingen deze temperatuurniveaus niet hoeven te bereiken, zullen de tests die we de sensor laten uitvoeren meer dan 100°C. Daarom volgen we voor deze oefening de aanbeveling om het apparaat direct van stroom te voorzien in plaats van de fascinerende parasitaire stroomoptie te verkennen.

Max31826 schema

de vorm van het bord en de algemene lay-out komen van het projectsjabloon dat we hebben gemaakt in de inleiding tot deze serie. Omdat we geen van de gebruikelijke communicatiebussen gebruiken, heb ik de bijbehorende netten en hun componenten van het bord verwijderd. Toch heb ik de aansluitingen op de stapelconnector achtergelaten om ervoor te zorgen dat dit geen problemen veroorzaakt voor andere gestapelde sensoren. Met de 1-draadbus, moeten wij slechts de spaander selecteren speld gebruiken om terug aan de gastheermicrocontroller te communiceren.

MAX31826 3D-schema

digitale Sensorimplementatie: STS-30-DIS

ik heb de STS-30-DIS die door Sensirion in een vorig project is geproduceerd, gebruikt vanwege zijn ongelooflijke precisie en gekalibreerde indicaties die traceerbaar zijn naar NIST. Dit was nodig omdat de instrumentatie werd ontwikkeld voor een foodservicebedrijf, dat gegevens moest verzamelen voor rapportagedoeleinden van de overheid. Met een kleine voetafdruk, breed spanningsbereik, ongelooflijke nauwkeurigheid en linearized 16-bit digitale uitgang, is er veel om van te houden over dit apparaat als je alleen positieve temperatuursensoren nodig hebt. Als u temperaturen onder het vriespunt moet waarnemen, is de STS-30A-DIS-variant geschikt voor auto ‘ s en heeft een detectiebereik van -40°C tot 125°C. Dit verhoogde detectiebereik heeft echter een geringe kosten voor de algehele nauwkeurigheid.

in het vorige artikel over analoge temperatuursensoren sprak ik over hoe geweldig analoge temperatuursensoren zijn voor toepassingen zoals procesbewaking, voor het in-en uitschakelen van een ventilator of voor andere thermische beheersystemen die kunnen werken zonder tussenkomst van een microcontroller. De STS-30 biedt een alarm pin die kan worden gebruikt om een soortgelijke functie te vervullen. Het is bedoeld voor verbinding met een interrupt pin van een microcontroller; echter, het heeft ook een volledige applicatie opmerking gewijd aan het, en het kan worden gebruikt voor het schakelen van belastingen automatisch. De mogelijkheid om met de microcontroller interrupt-functie te communiceren kan cruciaal zijn. Het staat de sensor toe om de microcontroller met een hoge prioriteit signaal onmiddellijk op de hoogte te stellen dat iets onmiddellijk moet worden gedaan, in plaats van te vertrouwen op de onregelmatige Microcontroller polling van de sensor en reactie op de gelezen gegevens. Als de alarmuitgang is aangesloten op een transistor om deze in staat te stellen een belasting aan te drijven, kan de sensor worden gebruikt voor zowel monitoring/logging als voor een autonome thermische beheersfunctie. In vergelijking met de analoge oplossingen, zou deze set-up de digitale STS-30 een goedkopere optie kunnen maken. Een aparte comparator zal niet nodig zijn, en de drempel voor de waarschuwing pin kan worden geconfigureerd door de gebruiker via een microcontroller/HMI zonder de eis voor het worden fabriek ingesteld.

de apparaten uit de STS-30-serie gebruiken allemaal een I2C-bus voor communicatie. Het schema dat we voor dit artikel implementeren bevat geen van de pull-up weerstanden die over het algemeen nodig zijn om de communicatiebus correct te laten functioneren. Deze pull-up weerstanden zullen in plaats daarvan worden gemonteerd op de host planken. Aangezien we slechts één set pull-up weerstanden per bus nodig hebben, zou het toevoegen van weerstanden aan elke sensor meerdere pull-up weerstanden aan de bus toevoegen en zou kunnen resulteren in de storing. Bovendien zouden alle parallel verbonden weerstanden hun totale weerstand verminderen.

met de addr-pin kunnen we kiezen tussen twee verschillende adressen voor het apparaat, waardoor we twee STS-30-componenten kunnen verbinden met dezelfde I2C-bus. Hoewel dit misschien niet zo indrukwekkend is als de mogelijkheden van het MAX31826-apparaat op de 1-draads bus, is het nog steeds handig omdat het ons in staat stelt om meer dan één apparaat te gebruiken. Ik trek de addr pin naar logic low (GND) aangezien dit het standaard adres 0x4A stelt, met logica getrokken naar de hoge staat, dit zet het op het alternatieve adres van 0x4B.

STS30 schema

ik vind het pakket op de STS-30 leuk omdat het compact is, maar nog steeds niet te gek, dus je kunt je bord met de hand samenstellen als je een stencil gebruikt. Het sensorpakket plus een 0603 ontkoppelingscondensator zijn samen ongeveer even groot als de MAX31826 die we hierboven bekeken hebben. Met een kleinere condensator zou het goed passen op een high-density board. Het grote grondkussen Onder het IC biedt een uitstekend pad voor het overbrengen van warmte van een grondvlak naar de temperatuursensorverbinding binnen het IC. Dit maakt het een perfecte keuze voor het plaatsen naast elk apparaat, zoals een grote MOSFET of een regelaar, die de grondplaat gebruikt om overtollige warmte in het bord te dumpen. Het plaatsen van het IC in de nabijheid van de warmtebron zal nauwkeurigere temperatuursensorresultaten opleveren.

STS-30-DIS direct connection 3D

digital Sensor Implementation: EMC1833T

zoals ik al eerder zei, vind ik het EMC1883 apparaat dat door Microchip wordt geproduceerd fascinerend, niet alleen omdat het een reeks fantastische functies heeft, maar ook omdat het de temperatuur kan aflezen die wordt waargenomen door een transistorverbinding. De STS-30 die we hierboven bekeken had een alert interrupt pin geactiveerd door een absolute waarde; echter, de EMC1883 kan worden geconfigureerd om ook een alert te genereren op basis van de snelheid van verandering van de gemeten temperatuur. Met deze snelheidswaarschuwing kunnen intelligente oplossingen voor warmtebeheer automatisch worden ingeschakeld in afwachting van hun behoefte in plaats van na de gebeurtenis. Dit heeft het potentieel om de betrouwbaarheid van het apparaat als geheel te verbeteren door het zorgvuldige beheer van de bedrijfstemperatuur. Net als bij de STS-30, Het is volledig software configureerbaar, die aanzienlijke voordelen biedt ten opzichte van elke fabriek set optie die u waarschijnlijk nodig hebt om te implementeren als je met behulp van een volledig analoge thermostaat om dezelfde resultaten te bereiken.

het specifieke model van de EMC8xx-serie dat we testen ondersteunt alleen de detectie van een enkele junctie. Er zijn echter andere modellen in de serie die sensing kunnen bieden voor maximaal vijf kruispunten.

net als de STS-30 is dit een op I2C gebaseerde sensor die geschikt is voor het installeren van meerdere sensoren op een enkele I2C-bus. Een onderscheid is dat de implementatie van de EMC1833T ADDR pin verschilt van de binaire aan/uit aard van het STS-30 apparaat. Met dit apparaat kunt u tot zes afzonderlijke adressen instellen met behulp van verschillende pull-up weerstandwaarden. De ADDR-pin functioneert ook als een van de interrupt-pinnen, die fungeert als de thermische Waarschuwingspen (samen met de thermische waarschuwing/waarschuwing 2-Pin). Net als bij de vorige installatie van het apparaat, zal ik geen pull-up weerstanden implementeren op de I2C-lijnen op het temperatuursensorbord. Ze moeten echter ergens in uw circuit worden gemonteerd om de sensorcommunicatiebus correct te laten functioneren.

in het informatieblad wordt aanbevolen een bipolaire junctietransistor 2N3904 als teledetectieelement te gebruiken, aangezien ik niet over een CPU-transistor beschik om voor metingen te gebruiken. Ik gebruik de opbouwvariant van een 2N3904 om de temperatuur op dit bord te meten. De MMBT3904 is verkrijgbaar bij vrijwel elke silicium fabricage bedrijf dat zich bezighoudt met BJTs-in dit geval, ik koos voor het gebruik van een op halfgeleider deel als het was de best gevulde. Er waren enkele miljoenen beschikbaar toen ik voor het laatst naar Octopart keek.

EMC1833T schematische halfgeleider

zoals ik in de vorige artikelen van deze serie heb gedaan, heb ik het temperatuursensorelement, onze transistor, binnen de thermische breuk geplaatst. Ik heb de niet-sensorische elementen achter de thermische breuk geplaatst. Dit voorkomt dat de EMC1833T de temperatuurmeting negatief kan beïnvloeden door de warmte die hij zelf kan genereren.

EMC1833T 3D PCB-ontwerp

implementatie van digitale sensoren: Si7051-A20-IMR

tot slot hebben we de Silicon Labs Si7051-A20. Het zijn de resultaten van dit apparaat dat ik het meest enthousiast om te zien in deze hele serie. De MAX31826 is een vrij nauwkeurige sensor, maar de Si7051-A20 biedt een indrukwekkende + / – 0,1°C precisie met een ongelooflijk laag stroomverbruik van slechts 195 nA bij het nemen van monsters. Het stroomverbruik is minstens een orde van grootte minder dan alle andere digitale temperatuursensoren en aanzienlijk minder dan de analoge temperatuursensoren die we in het vorige artikel bekeken.

wanneer veel sensoren een zeer hoge geadverteerde nauwkeurigheid hebben, gelden de cijfers meestal slechts voor een beperkt deel van het totale detectiebereik. Daarentegen biedt de Si7051-A12 de gerapporteerde nauwkeurigheid over zijn volledige detectiebereik van -40°C tot +125°c. Wat meer is dat de 0,1°C fout is een worst-case scenario nauwkeurigheid, niet het gemiddelde of minimum. Met zijn 14-bits resolutie geselecteerd, biedt de Si7051-A20 een herhaalbare lezing van 0,01°C-Ik ben dol op nauwkeurige en herhaalbare sensoren!

net als bij de laatste twee sensoren is de Si7051-A20 een I2C-compatibele sensor. Het biedt echter geen adrescode aan, wat betekent dat u slechts één eenheid kunt hebben die op de I2C-bus is aangesloten, tenzij u een I2C-schakelaar toevoegt of de macht tussen verschillende eenheden die op dezelfde bus zijn aangesloten schakelt. Dit vereist extra IO-pinnen en voegt circuitcomplexiteit toe, waardoor de Si7051-A20 minder ideaal is voor het detecteren van meerdere locaties op uw printplaat. Het apparaat heeft ook geen alarm/interrupt-pinnen, bedoeld om puur als digitale temperatuursensor te worden gebruikt. Over het algemeen, als u op zoek bent naar het automatiseren van thermisch beheer op uw printplaat, een minder nauwkeurige en lagere kosten sensor zal meer dan voldoende zijn voor een dergelijke toepassing.

een van de functies die ik echt leuk vond aan de STS-20 toen ik deze voor het laatst gebruikte, was de NIST gecertificeerde kalibratie die op elk apparaat werd toegepast, omdat mijn client die functie nodig had. Hoewel de Si7051-A20 hier geen melding van maakt in zijn datasheet, heeft hij een kalibratiecertificaat beschikbaar. Ik kon ook een ander meer specifiek kalibratiecertificaat vinden; dit staat echter niet op de website van Silicon Labs en kan daarom alleen van toepassing zijn op de specifieke eenheden die dit bedrijf heeft gekocht. Zo ja, het heeft een prioriteit voor Silicon Labs het uitgeven van specifieke certificaten voor haar klanten.

Si7051-A20 schema voor directe verbinding

net als de andere I2C-implementaties die we in dit artikel hebben behandeld, hebben de I2C-lijnen voor deze kaart geen pull-up weerstanden op de data/kloklijnen. U moet een pull-up weerstand op elke lijn ergens binnen uw circuit om de Si7051-A20 om succesvol te communiceren.

het 6-pins DFN-pakket is ook het makkelijkst te gebruiken prototype van alle leadless opties die we in dit artikel hebben behandeld. Met behulp van een stencil of een pasta depositie tool zoals de Voltera V-One, zou deze sensor ongelooflijk gemakkelijk te plaatsen en terug te zetten met behulp van basisgereedschappen, waardoor het perfect voor prototyping in het huis of kantoor lab.

Si7051-A20 directe verbinding 3D PCB schema

conclusie

we hebben gekeken naar vier verschillende digitale temperatuursensoren in dit artikel. Er zijn echter honderden andere digitale temperatuursensoropties beschikbaar die kunnen voldoen aan de specifieke eisen van uw project, die goed gevuld en beschikbaar zijn. Terwijl analoge temperatuursensoren uitstekend zijn in autonome procesbewaking of gebruik met een analoog naar digitaal converter, bieden de digitale temperatuursensoren aanzienlijk gemak bij de integratie in een product dat een microcontroller heeft. Zoals we in dit artikel hebben gezien, zijn er digitale temperatuursensoren die interrupts en waarschuwingen kunnen genereren op configureerbare drempels, die het mogelijk maakt voor spannende toepassingen buiten een fabriek set comparator gebaseerde thermostaat zoals u waarschijnlijk zou gebruiken met een Analoge temperatuursensor. De precisie en nauwkeurigheid van moderne digitale temperatuursensoren kan uitzonderlijk hoog zijn; echter, veel opties verbruiken aanzienlijk meer stroom dan hun analoge tegenhangers, die enige temperatuur offset van zelfverwarming kan bieden.

de meest populaire en goed gevulde digitale temperatuursensoren gebruiken meestal een I2C-bus voor communicatie; echter, SPI en 1-Wire bus opties zijn ook direct beschikbaar om te voldoen aan de beschikbaarheid van alternatieve communicatiebussen voor uw project.

zoals ik aan het begin van het artikel al zei, kunt u details vinden van elk van deze sensorborden en alle andere temperatuursensorimplementaties op GitHub. Deze ontwerpen zijn allemaal vrijgegeven onder de open-source MIT-licentie, waarmee je vrijwel alles kunt doen met het ontwerp voor persoonlijk of commercieel gebruik.

wilt u meer weten over hoe Altium u kan helpen met uw volgende PCB-ontwerp? Praat met een expert bij Altium.

Altium Designer Gratis Proefperiode

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.