temperatursensor projekt: Digital temperatursensor ICs

Mark Harris

/ & nbsp skapad: 26 oktober 2020 &nbsp / &nbsp uppdaterad: Mars 16, 2021

digitala temperaturgivare erbjuder det enklaste sättet att mäta och mata in en mycket exakt temperaturavläsning i en mikrokontroller eller annan logisk enhet. I den sista artikeln i denna temperatursensorserie tittade vi på analoga temperatursensorer. Även om dessa kan tyckas lättare att genomföra genom att bara ta en enkel ADC-läsning, för att få den mest exakta mätningen, måste du kalibrera varje enhets ADC under produktionen, vilket inte alltid är möjligt. I den här artikeln dyker vi in i flera olika digitala temperatursensoralternativ. Digitala temperatursensorer är vanligtvis dyrare än en enkel analog temperatursensor. Men enkelheten och bekvämligheten med produktion med hjälp av dessa enheter gör ofta den extra kostnaden värdefull där höga mätprecisionsnivåer krävs.

digitala temperatursensorer är den femte typen av sensor som vi tittar på i denna serie. Vi avslutar denna serie med den sista artikeln, som kommer att pitting alla sensorer vi har testat mot varandra i en head to head-tävling över ett brett spektrum av miljöförhållanden för att vi ska kunna jämföra deras funktionalitet, noggrannhet och beteende. Vi började serien med en inledande artikel där vi byggde en uppsättning mallar för standardtemperaturgivarkort. Både de analoga och digitala versionerna kan staplas genom användning av mezzaninkontakter eller läsas oberoende av deras kantkontakter. Vi kommer att bygga värdkort för alla dessa sensorer senare i serien, vilket gör det möjligt för oss att läsa data från en enda sensor för att validera dess funktionalitet eller att läsa hela stacken av brädor så att vi kan logga data från dem alla tillsammans.

i den här serien kommer vi att ta en titt på ett brett spektrum av temperatursensorer, prata om deras fördelar och nackdelar, liksom några typiska topologier för deras implementering. Serien kommer att täcka följande sensortyper:

  • negativa temperaturkoefficient (NTC) termistorer
  • positiva temperaturkoefficient (PTC) termistorer
  • motstånd Temperaturdetektorer (RTD)
  • Analog temperatursensor ICs
  • Digital temperatursensor ICs
  • termoelement

som med mina projekt kan du hitta detaljerna i projektet, schemat och kortfilerna på GitHub tillsammans med de andra temperatursensorimplementeringarna. Projektet släpps under öppen källkod MIT-licens, vilket gör att du kan använda mönster eller någon del av dem för personliga eller kommersiella ändamål, som du vill.

Digital temperatursensor ICS

Antag att du bara är intresserad av att läsa utmatningen från en temperatursensor med hjälp av en mikrokontroller eller annan logisk enhet. I så fall är en digital temperatursensor elektriskt det enklaste alternativet att implementera. Digitala temperatursensorer kan erbjuda utmärkta nivåer av noggrannhet eftersom all avkänning, kompensation och omvandling sker på chip. Det finns inget behov av att kalibrera din mikrokontrollers ADC (eller extern ADC). Du behöver inte heller oroa dig för elektromagnetisk störning från närliggande spår eller andra enheter som är monterade på anslutningarna mellan den analoga temperatursensorn och mikrokontroller som oavsiktligt kan påverka temperaturavläsningen.

i det här projektet kommer vi att implementera fyra olika digitala temperatursensorer med olika upplösningar och avkänningsområden.

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 (VIII C)

+125°C

+60°C

+125°C

+125°C

avkänningsområde

lokala

lokala

fjärrkontroll

lokala

upplösning (bitar)

noggrannhet (C)

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

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

±0.2°C

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

±0.1 kg C

Driftstemp (C)

-55°C till + 125

-40°C till + 125

-40°C till + 125

-40°C till + 125

funktioner

1 trådbuss, parasitisk kraft

I2C

I2C, SMBus

I2C

Min Matningsspänning

3 V

2.15 V

1.62 V

1.9 V

Max Matningsspänning (V)

3.7 V

5.5 V

3.6 V

3.6 V

nuvarande förbrukning (uA)

4 mA (när man läser låg logisk nivå)

45 ua tomgång
1,5 ma mätning
Vdd*1.5 larm

700 uA i omvandling,
75 ua standby

195 nA

tillverkare

Maxim integrerad

Sensirion AG

Microchip

Silicon Labs

paket

8-MSOP

8-VFDFN

8-VDFN

6-DFN

jag har inkluderat EMC1833T eftersom det för mig är en fascinerande sensor. Det är en fjärransluten temperaturavkänningsanordning, vilket innebär att den inte använder en sensor placerad inuti komponenten. Istället känner den av temperaturen genom att omvandla utgången från en extern sensor, som i detta fall är en transistor, till en digital signal. Jag är inte säker på att det nödvändigtvis hör hemma i den här kategorin ”digital temperatursensor” eftersom den inte passar helt med de andra sensorerna vi tittar på. Ändå är transistorer inte vanligtvis kända som att de används som temperatursensorer, så jag hade ingen aning om var jag skulle lägga den. Det som fascinerar mig med den här sensorn är att den kan mäta temperaturen med nästan vilken transistor som helst. Om du utformar en ASIC, kan du enkelt inkludera en extra transistor på munstycket för detta ändamål. Du kan sedan använda denna transistor, som kan läsas av en sensor som EMC1833T, för att göra en extern mätning av formtemperaturen utan att behöva lägga till ytterligare komplexitet i ditt kisel. Ett annat sätt att titta på detta är att du kan övervaka temperaturen på din dö utan att ådra sig någon teknisk risk i samband med att designa och bygga en skräddarsydd digital temperatursensor i kisel.

Digital Sensor Implementation: MAX31826MUA+T

den första sensorn vi kommer att implementera är MAX31826 producerad av Maxim Integrated. Denna sensor körs på en 1-Trådsbuss snarare än den mer typiska I2C-eller SPI-bussen. En potentiell fråga är att 1-tråd sannolikt inte kommer att erbjudas som ett kommunikationsprotokoll av mikrokontroller som ditt projekt är baserat på. Det är dock ett enkelt protokoll till bit-bang och har en stor fördel jämfört med de mer populära valen genom att det bara behöver två ledningar för att driva sensorn. Inklusive strömförsörjning kräver I2C fyra ledningar och SPI behöver fem ledningar. Däremot kräver 1-tråd endast en jord och en dataledning för de flesta applikationer, eftersom den kan driva sig från datalinjen med hjälp av en parasitisk kraftteknik. Integrerad i sensorn är en kondensator som kan upprätthålla strömförsörjningen för IC under de perioder då dataledningen är i lågt tillstånd, vilket tar bort behovet av en dedikerad spänningsförsörjning under de flesta normala driftsförhållanden. Detta kan vara en mycket bekväm lösning för brädor som har extremt begränsat utrymme tillgängligt.

en annan intressant egenskap hos sensorn och dess 1-trådbuss är möjligheten att ställa in en 4-byte-adress för enheten med manuellt valbara stift installerade på enhetspaketet. Detta möjliggör installation av upp till 16 temperatursensorer på en enda 1-tråds databuss genom att ge varje enhet en unik adress. Detta kan vara ett mycket bekvämt alternativ om du saknar mikrokontrollerstift och samtidigt kräver avkänningsfunktioner med ett stort antal temperatursensorer.

i jämförelse med sensorerna som vi har tittat på i de tidigare artiklarna i denna serie är MAX31826 inte bara mycket exakt utan levererar också högupplösta data. Sensorn erbjuder + / – 0.5°C noggrannhet mellan -10°C och +85°C med +/- 2°C noggrannhet över sin fulla temperaturområde -55°C till +125°C. Alla sensoravläsningar levereras som 12-bitars värden, vilket är en högre upplösning än de flesta mikrokontroller erbjuda.

som temperatursensor har MAX31826 mycket att erbjuda, men den är också utrustad med en inbyggd 1 kB EEPROM som en bonusfunktion. Jag antar att de hade lite extra utrymme kvar på tärningen. Om din mikrokontroller inte har en integrerad EEPROM och du behöver lagra vissa konfigurationsdata för din applikation, har denna temperatursensor täckt dig. Om du behöver ytterligare icke-flyktig lagring kommer denna temperatursensor att minska antalet komponenter och spara utrymme på brädet.

databladet rekommenderar direkt att driva enheten i stället för att använda parasitisk buss effekt när temperaturen kan överstiga 100 C. Medan de flesta typiska applikationer inte behöver nå dessa temperaturnivåer, de tester vi kommer att sätta sensorn genom kommer att överstiga 100 C. Därför, för denna övning, vi följer rekommendationen att direkt driva enheten i stället för att utforska den fascinerande parasitiska ström alternativ.

 MAX31826 schematisk

brädans form och allmänna layout kommer från projektmallen vi skapade i introduktionen till denna serie. Eftersom vi inte använder någon av de vanliga kommunikationsbussarna har jag tagit bort de tillhörande näten och deras komponenter från brädet. Ändå har jag lämnat anslutningarna på staplingskontakten för att säkerställa att detta inte orsakar några problem för andra staplade sensorer. Med 1-Trådsbussen behöver vi bara använda chip select pin för att kommunicera tillbaka till värdmikrokontroller.

MAX31826 3D schematisk

Digital Sensor implementering: STS-30-DIS

jag har använt STS-30-dis producerad av Sensirion i ett tidigare projekt på grund av dess otroliga precision och kalibrerade indikationer som kan spåras till NIST. Detta behövdes eftersom instrumenteringen utvecklades för ett matserviceföretag, som krävs för att samla in data för statliga rapporteringsändamål. Med ett litet fotavtryck, brett spänningsområde, otrolig noggrannhet och linjäriserad 16-bitars digital utgång finns det mycket att älska om den här enheten om du bara behöver positiv temperaturavkänning. Om du behöver känna temperaturer under fryspunkten är STS-30A-dis-varianten fordonskvalificerad och har ett avkänningsområde på -40 C till 125 C. Detta ökade avkänningsområde kommer dock till en liten kostnad för den totala noggrannheten.

i den tidigare artikeln om Analoga temperatursensorer talade jag om hur bra analoga temperatursensorer är för applikationer som processövervakning, för att slå på och stänga av en fläkt eller för andra termiska hanteringssystem som kan fungera utan ingrepp från en mikrokontroller. STS – 30 erbjuder en VARNINGSSTIFT som kan användas för att uppfylla en liknande funktion. Den är avsedd för anslutning till en avbrottsstift på en mikrokontroller; men den har också en fullständig applikationsanteckning tillägnad den, och den kan användas för att automatiskt byta laster. Möjligheten att samverka med mikrokontrollerns avbrottsfunktion kan vara avgörande. Det gör det möjligt för sensorn att omedelbart meddela mikrokontroller med en hög prioritet signal om att något måste göras omedelbart, snarare än att förlita sig på sällan mikrokontroller polling av sensorn och svar på lästa data. Om VARNINGSUTGÅNGEN är ansluten till en transistor för att göra det möjligt att driva en last, kan sensorn användas för både övervakning/loggningsändamål samt ha en autonom termisk hanteringsfunktion. Jämfört med de analoga lösningarna kan denna inställning göra den digitala STS-30 till ett billigare alternativ. En separat komparator krävs inte, och tröskeln för VARNINGSSTIFTET kan konfigureras av användaren via en mikrokontroller/HMI utan kravet på att den är fabriksinställd.

STS-30-seriens enheter använder alla en I2C-buss för kommunikation. Den schematiska vi implementerar för den här artikeln innehåller inte några av de pull-up-motstånd som vanligtvis krävs för att kommunikationsbussen ska fungera korrekt. Dessa pull-up motstånd kommer istället att monteras på värdbrädorna. Eftersom vi bara behöver en uppsättning av pull-up motstånd per buss, lägga motstånd till varje sensor skulle lägga till flera pull-up motstånd till bussen och kan resultera i dess fel. Dessutom skulle alla motstånd anslutna parallellt minska deras totala motstånd.

ADDR-pin-koden låter oss välja mellan två olika adresser för enheten, så att vi kan ansluta två STS-30-komponenter till samma I2C-buss. Även om detta kanske inte är lika imponerande som kapaciteten hos MAX31826-enheten på 1-Trådsbussen, är det fortfarande bekvämt eftersom det tillåter oss att använda mer än en enhet. Jag drar ADDR-stiftet till logic low (GND) eftersom det här ställer in standardadressen till 0x4A, med logic som dras till det höga tillståndet, ställer det till den alternativa adressen till 0x4B.

 STS30 schematisk

jag gillar paketet på STS-30 eftersom det är kompakt, men fortfarande inte för galet, så du kan handmontera ditt bräde om du använder en stencil. Sensorpaketet plus en 0603 avkopplingskondensator är tillsammans ungefär samma storlek som MAX31826 vi tittade på ovan. Med en mindre kondensator skulle den passa mycket bra på en högdensitetskort. Den stora markplattan under IC ger en utmärkt väg för överföring av värme från ett jordplan till temperaturavkänningsförbindelsen inuti IC. Detta gör det till ett perfekt val för att placera bredvid vilken enhet som helst, till exempel en stor MOSFET eller en regulator, som använder markplanet för att dumpa överflödig värme i brädet. Att placera IC i närheten av värmekällan ger mer exakta temperaturavkänningsresultat.

 STS-30-dis Direct Connetion 3D

Digital Sensor genomförande: EMC1833T

som jag tidigare nämnt, jag tycker EMC1883 enhet som produceras av Microchip fascinerande inte bara för att den har en rad fantastiska funktioner, men att den kan läsa temperaturen avkänd av en transistor korsning. STS – 30 som vi tittade på ovan hade en varningsavbrottsstift utlöst av ett absolut värde; EMC1883 kan emellertid konfigureras för att också generera en varning baserad på förändringshastigheten för den avkända temperaturen. Denna förändringsvarning kan tillåta intelligenta termiska hanteringslösningar att slås på automatiskt i väntan på deras behov snarare än efter händelsen. Detta har potential att förbättra enhetens tillförlitlighet som helhet genom noggrann hantering av dess Driftstemperatur. Som med STS-30 är den helt konfigurerbar programvara, vilket ger stora fördelar jämfört med alla fabriksinställda alternativ som du sannolikt skulle behöva implementera om du använde en helt analog termostat för att uppnå samma resultat.

den specifika modellen för EMC8xx-serien som vi testar stöder bara avkänningen av en enda korsning. Det finns dock andra modeller i serien som kan ge avkänning för upp till fem korsningar.

liksom STS-30 är detta en I2C-baserad sensor som rymmer installation av flera sensorer på en enda I2C-buss. En skillnad är att implementeringen av EMC1833T ADDR-pin skiljer sig från den binära på/av-naturen hos STS-30-enheten. Med den här enheten kan du ställa in upp till sex separata adresser genom att använda olika dragmotståndsvärden. ADDR-stiftet fungerar också som en av avbrottsstiften, som fungerar som termisk Varningsstift (tillsammans med termisk Varning/Varning 2 Stift). Liksom den tidigare enhetsinstallationen kommer jag inte att implementera pull-up motstånd på I2C-linjerna på temperatursensorkortet. De måste dock monteras någonstans i din krets för att göra det möjligt för sensorkommunikationsbussen att fungera korrekt.

databladet rekommenderar att du använder en 2N3904 bipolär junction transistor som fjärranalyselement eftersom jag inte har en tillgänglig CPU-transistor att använda för mätningar. Jag använder ytmonteringsvarianten av en 2N3904 för att känna av temperaturen på detta kort. Mmbt3904 är tillgänglig från praktiskt taget alla kiseltillverkningsföretag som hanterar BJTs – i det här fallet valde jag att använda en HALVLEDARDEL eftersom den var den bästa lagret. Det fanns flera miljoner tillgängliga när jag senast tittade på Octopart.

EMC1833T schematisk halvledare

som jag har gjort i tidigare artiklar i denna serie har jag placerat temperaturavkänningselementet, vår transistor, inom termisk paus. Jag har placerat de icke-avkännande elementen bakom termisk paus. Detta förhindrar att EMC1833T kan påverka temperaturavläsningen negativt på grund av eventuell värme som den kan generera själv.

EMC1833T 3D PCB Design

Digital Sensor genomförande: Si7051-A20-IMR

Slutligen har vi Silicon Labs Si7051-A20. Det är resultaten från den här enheten som jag är mest glada att se i hela serien. MAX31826 är en ganska exakt sensor; emellertid erbjuder Si7051 – A20 en imponerande + / – 0.1 C-precision med en otroligt låg strömförbrukning på bara 195 nA vid provtagning. Strömförbrukningen är åtminstone en storleksordning mindre än alla andra digitala temperatursensorer och väsentligt mindre än de analoga temperatursensorerna vi tittade på i föregående artikel.

där många sensorer har mycket hög annonserad noggrannhet gäller siffrorna vanligtvis bara för en begränsad del av det totala avkänningsområdet. Däremot erbjuder Si7051-A12 den rapporterade noggrannheten över hela sitt avkänningsområde -40 C till + 125 C. Vad mer är att 0.1 C-felet är ett worst case – scenario-noggrannhet, inte genomsnittet eller minimumet. Med sin 14-bitars upplösning vald, ger Si7051-A20 en repeterbar avläsning av 0,01 2bccjag älskar exakta och repeterbara sensorer!

som med de två sista sensorerna är Si7051-A20 en I2C-kompatibel sensor. Det erbjuder dock inte en adress-pin, vilket innebär att du bara kan ha en enda enhet ansluten till I2C-bussen om du inte antingen lägger till en I2C-omkopplare eller växlar strömmen mellan olika enheter anslutna på samma buss. Detta skulle kräva ytterligare Io-stift och lägga till kretskomplexitet, vilket gör Si7051-A20 mindre idealisk för avkänning av flera platser över ditt kretskort. Enheten har inte heller några varnings – / avbrottsstift, avsedda att användas enbart som en digital temperatursensor. I allmänhet, om du vill automatisera termisk hantering på ditt kretskort, kommer en mindre exakt och lägre kostnadssensor att vara mer än tillräcklig för en sådan applikation.

en av de funktioner som jag verkligen gillade om STS-20 när jag senast använde den var NIST-certifierad kalibrering som tillämpades på varje enhet, eftersom min klient krävde den funktionen. Medan Si7051-A20 inte nämner detta i sitt datablad, har det ett kalibreringscertifikat tillgängligt. Jag kunde också hitta ett annat mer specifikt kalibreringscertifikat; detta finns dock inte på Silicon Labs webbplats och kan därför endast gälla för de specifika enheter som detta företag köpte. Om så är fallet ställer det företräde för Silicon Labs som utfärdar specifika certifikat för sina kunder.

Si7051-A20 Direktanslutningsschema

liksom de andra I2C-implementeringarna som vi har täckt i den här artikeln har I2C-linjerna för detta kort inte pull-up-motstånd monterade på data/klocklinjerna. Du måste inkludera ett dragmotstånd på varje rad någonstans i din krets för att aktivera Si7051-A20 att kommunicera framgångsrikt.

6-pin DFN-paketet är också det enklaste att lämna prototyp av alla de blyfria alternativen vi har täckt i den här artikeln. Med hjälp av en stencil eller en pasta deponeringsverktyg som Voltera V-One, skulle denna sensor vara otroligt lätt att lämna plats och återflöde med hjälp av grundläggande verktyg, vilket gör den perfekt för prototyper i hemmet eller på kontoret lab.

 Si7051-A20 Direktanslutning 3D PCB schematisk

slutsats

vi har tittat på fyra olika digitala temperatursensorer i den här artikeln. Det finns dock hundratals andra digitala temperatursensoralternativ tillgängliga som kan uppfylla de specifika kraven i ditt projekt, som är välfyllda och tillgängliga. Medan analoga temperatursensorer är utmärkta vid autonom processövervakning eller användning med en analog till digital omvandlare, erbjuder de digitala temperatursensorerna betydande bekvämlighet när de integreras i en produkt som har en mikrokontroller. Som vi har sett i den här artikeln finns det digitala temperatursensorer som kan generera avbrott och varningar vid konfigurerbara tröskelvärden, vilket möjliggör spännande applikationer utöver en fabriksinställd komparatorbaserad termostat som du sannolikt skulle använda med en analog temperatursensor. Precisionen och noggrannheten hos moderna digitala temperatursensorer kan vara exceptionellt hög; men många alternativ förbrukar betydligt mer ström än sina analoga motsvarigheter, vilket kan ge viss temperaturförskjutning från självuppvärmning.

de mest populära och välsorterade digitala temperatursensorerna använder vanligtvis en I2C-buss för kommunikation; men SPI-och 1-Trådsbussalternativ är också tillgängliga för att möta tillgängligheten av alternativa kommunikationsbussar för ditt projekt.

som jag nämnde i början av artikeln kan du hitta detaljer om var och en av dessa sensorkort och alla andra temperatursensorimplementeringar på GitHub. Dessa mönster släpps alla under open source MIT-licensen, vilket gör att du kan göra nästan vad som helst med designen för personligt eller kommersiellt bruk.

vill du veta mer om hur Altium kan hjälpa dig med din nästa PCB-design? Prata med en expert på Altium.

Altium Designer Fri Rättegång

Leave a Reply

Din e-postadress kommer inte publiceras.