Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Durchführen von Präzisionsmessungen mit Silizium-Temperatursensoren

Die Elektronikindustrie verlangt immer mehr Genauigkeit und Temperaturmessung ist da keine Ausnahme. Es gibt viele Temperaturerfassungslösungen, jede mit ihren Vor- und Nachteilen. Silizium-Temperatursensoren bieten, obwohl sie recht linear sind, nie die Genauigkeit anderer Lösungen. Die jüngsten Fortschritte bei der Siliziumtemperaturerfassung bedeuten jedoch, dass jetzt mit einer Siliziumlösung eine hohe Auflösung und Präzision erreicht werden kann.

Ein neuer Gefrierschrank

Es war März 2020 und Großbritannien stand kurz vor dem Lockdown. Die Welt füllte sich mit Lebensmitteln für den Fall, dass die Supermärkte schließen, und die Zukunft sah ungewiss aus. Dann funktionierte der Gefrierschrank im Bramble-Haushalt nicht mehr. Als die Worte des Kenny Rogers-Songs „You Picked a Fine Time to Leave me…“ in meinem Kopf widerhallten, suchten wir online nach einem neuen Ersatz.

Ein paar Tage später kam unser neuer Gefrierschrank, komplett mit digitaler Temperaturanzeige auf der Frontplatte, wie es sich Frau Bramble gewünscht hatte. Die empfohlene Einstellung war -18°C und nach einer Stunde hatte das Gerät die richtige Temperatur und war bereit für die Aufnahme von Speisen. Ich war skeptisch bezüglich der Genauigkeit der Temperaturanzeige, aber es war mir egal, solange es das Essen einfriert. Ein Problem ist jedoch, dass ein Ingenieursverstand ein unruhiger Verstand ist, und nachdem mich tagelang die angeblich weise Digitalanzeige ohne zu blinzeln anstarrte und mich mit ihren selbstbewussten Aussagen herausforderte, brach ich zusammen. Ich musste die Genauigkeitsansprüche dieses Neuzugangs in unserer Küche testen.

Temperatursensoren

In industriellen Anwendungen gibt es eine Vielzahl von Temperatursensoren mit Vor- und Nachteilen. Da in vielen Texten die Funktionsweise verschiedener Temperatursensoren beschrieben wird, wiederhole ich die Details hier nicht, sondern biete unten eine Zusammenfassung.

Thermoelemente

Thermoelemente bieten eine kostengünstige, mäßig genaue Möglichkeit, sehr hohe Temperaturen zu messen. Sie beruhen auf einer Spannung, die zwischen zwei Kontaktstellen erzeugt wird, die jeweils aus unterschiedlichen Metallen bestehen und auf unterschiedlichen Temperaturen gehalten werden, wie von Thomas Seebeck im Jahr 1821 entdeckt. Im Fall eines K-Typ-Thermoelements (aus den Legierungen Chromel und Alumel) gibt es aus eine Spannung von etwa 41μV/°C und kann verwendet werden, um Temperaturen über 1000°C zu messen. Nichtsdestotrotz beruht der Seebeck-Effekt auf einer Temperaturdifferenz zwischen zwei Kontaktstellen, so dass während die „heiße“ Kontaktstelle die interessierende Temperatur misst, die „kalte“ Kontaktstelle auf einer bekannten Temperatur gehalten werden muss. Ironischerweise wird an der Vergleichsstelle ein weiterer Temperatursensor benötigt, um die Temperaturdifferenz zu messen, und Teile wie der AD8494 bieten die perfekte Lösung dafür. Da Thermoelemente physikalisch klein sind, haben sie eine geringe thermische Masse, sodass sie schnell auf Temperaturänderungen reagieren.

RTDs

Um moderate Temperaturen (<500 °C) zu messen, werden in der Industrie häufig resistive Temperaturdetektoren (RTDs) verwendet. Diese Geräte bestehen aus einem Metallelement, das mit der Temperatur eine positive Widerstandsänderung zeigt, am häufigsten Platin. Tatsächlich ist der PT-100-Sensor das in der Industrie am weitesten verbreitete Widerstandsthermometer. Seinen Namen verdankt er seiner Herstellung aus Platin (PT) und einem Widerstand von 100 Ω bei 0 °C. Obwohl diese Geräte nicht bis zur hohen Temperatur eines Thermoelements messen, sind sie hochgradig linear und ihre Messwerte sind wiederholbar. Ein PT100 benötigt einen präzisen Antriebsstrom, der einen genauen Spannungsabfall am Sensor erzeugt, der proportional zur Temperatur ist. Der Widerstand der Anschlussdrähte des PT100 verursacht einen Fehler bei der Widerstandsmessung des Sensors, daher ist Kelvin-Erfassung typisch, was zu 3- oder 4-Leiter-Sensoren führt.

Thermistoren

Wenn eine kostengünstige Lösung benötigt wird und der Temperaturbereich klein ist, reicht oft ein Thermistor aus. Diese Geräte sind hochgradig nichtlinear, mit einer auf der Steinhart-Hart-Gleichung basierenden Charakteristik, die mit steigender Temperatur zu einer Widerstandsreduzierung führt. Der Vorteil eines Thermistors besteht darin, dass die Widerstandsänderung bei kleinen Temperaturänderungen groß ist, sodass trotz seiner Nichtlinearität eine hohe Genauigkeit erreicht werden kann. Thermistoren zeichnen sich auch durch eine schnelle thermische Reaktion aus. Die Nichtlinearitäten einzelner Thermistoren sind gut definiert, sodass sie mit Komponenten wie dem LTC2986 herauskalibriert werden können.

Dioden, Dioden überall, aber kein (Vbe) Drop to Sink…

Um die Echtheit des neuen Haushaltsmitglieds zu testen, habe ich mich schließlich für einen Silizium-Temperatursensor entschieden. Sie funktionieren sofort, benötigen keine Vergleichsstellentemperaturkompensation oder Linearisierung, sind mit analogen und digitalen Ausgängen erhältlich und werden vorkalibriert geliefert . Bis vor kurzem boten sie jedoch nur eine mäßige Genauigkeit. Obwohl sie gut genug sind, um den Gesundheitszustand elektronischer Geräte anzuzeigen, waren sie nie genau genug, um beispielsweise die Körpertemperatur zu messen, und erforderten normalerweise eine Genauigkeit von ±0,1 °C (gemäß ASTM E1112-Standard). Das hat sich mit der jüngsten Veröffentlichung der Silizium-Temperatursensoren ADT7422 und ADT7320 geändert, die mit Auflösungen von ±0,1 °C bzw. ±0,2 °C messen können.

Ein Silizium-Temperatursensor nutzt die Temperaturabhängigkeit der Vbe . eines Transistors , wie durch die Ebers-Moll-Gleichung gegeben, angenähert durch:

wo Ic ist der Kollektorstrom, Ist ist der umgekehrte Sättigungsstrom des Transistors, q ist die Ladung eines Elektrons (1.602 x 10 -19 Coulomb), k ist die Boltzmann-Konstante (1,38 x 10 -23 ) und T ist die absolute Temperatur.

Der obige Ausdruck für den Kollektorstrom gilt auch für den Strom in einer Diode; Warum verwendet jede Anwendungsschaltung einen Transistor und keine Diode? In Wirklichkeit enthält der Strom in einer Diode auch einen Rekombinationsstrom, der aus der Rekombination der Elektronen mit Löchern resultiert, wenn sie den Verarmungsbereich des pn-Übergangs passieren, und dies stellt eine Nichtlinearität des Diodenstroms mit Vbe . dar und Temperatur. Dieser Strom tritt auch in einem Bipolartransistor auf, fließt jedoch in die Basis des Transistors und erscheint daher nicht im Kollektorstrom, daher ist die Nichtlinearität viel geringer.

Die Neuordnung der obigen ergibt

Ist ist klein im Vergleich zu Ic , damit wir die ‘1‘ ignorieren können Term in der obigen Gleichung. Wir können jetzt sehen, dass Vbe ändert sich linear entsprechend einer logarithmischen Änderung von Ic . Wir können das auch sehen, wenn Ic und Ist konstant sind dann Vbe ändert sich linear mit der Temperatur, da k und q sind auch konstant. Es ist eine einfache Aufgabe, einen konstanten Kollektorstrom in einen Transistor zu zwingen und zu messen, wie die Vbe ändert sich mit der Temperatur.

Ist hängt mit der Geometrie des Transistors zusammen und ist stark temperaturabhängig. Wie bei vielen Siliziumgeräten verdoppelt sich sein Wert mit jedem Temperaturanstieg um 10 °C. Während die Auswirkung dieser Stromänderung durch das ‘ln‘ Funktion haben wir immer noch das Problem, dass der Absolutwert von Vbe von Transistor zu Transistor ändert und daher eine Kalibrierung erforderlich ist. Praktische Silizium-Temperatursensoren verwenden also zwei identische Transistoren und erzwingen einen Kollektorstrom von Ic in eins und 10Ic ins andere. Identische Transistoren und ratiometrisch genaue Ströme lassen sich leicht in einem integrierten Schaltkreis herstellen, weshalb die meisten Siliziumsensoren diese Architektur verwenden. Die logarithmische Stromänderung bewirkt eine lineare Änderung von Vbe und der Unterschied in der Vbe ‘s wird dann gemessen.

Aus der obigen Gleichung für zwei Transistoren auf derselben Temperatur gehalten , der Unterschied zwischen ihren Vbe 's ist gegeben durch

seit

Wir können das sehen

Durch Erzwingen unterschiedlicher Ströme durch jeden Transistor und Messen der Differenz in Vbe , wir haben das nichtlineare Ist . entfernt Begriff, die Wirkung verschiedener absoluter Vbes und alle anderen nichtlinearen Effekte, die mit der Geometrie des Transistors verbunden sind. Seit k , q und ln 10 sind alle konstant, die Änderung in Vbe ist proportional zur absoluten Temperatur (PTAT). Bei einer 10-fachen Stromdifferenz ist die Differenz der beiden Vbe s ändert sich linear mit der Temperatur bei ungefähr 198μV/°C. Eine vereinfachte Schaltung, um dies zu erreichen, ist in Abbildung 1 dargestellt.


Abbildung 1. Ein grundlegender Schaltkreis zur Temperaturmessung.

Die Ströme in Abbildung 1 müssen sorgfältig gewählt werden. Ist der Strom zu hoch, verfälschen erhebliche Eigenerwärmung und Spannungsabfälle an den Innenwiderständen innerhalb des Transistors das Ergebnis. Wenn der Strom zu niedrig ist, führen Leckströme im Transistor zu erheblichen Fehlern.

Es sollte auch beachtet werden, dass sich die obigen Gleichungen auf den Kollektor beziehen Strom des Transistors, während Abbildung 1 einen konstanten Emitter zeigt Strom, der in den Transistor injiziert wird. Die Transistoren können so ausgelegt werden, dass das Stromverhältnis von Kollektor zu Emitter gut festgelegt ist (und nahe eins), sodass der Kollektorstrom proportional zum Emitterstrom ist.

Dies ist nur der Anfang der Geschichte. Um mit einem Silizium-Temperatursensor eine Genauigkeit von ±0,1 °C zu erreichen, müssen umfangreiche Charakterisierungen und Trimmen durchgeführt werden.

Ist es ein Vogel? Ist es ein Flugzeug?

Nein, es ist ein Super-Thermometer. Ja, sie existieren. Der unkalibrierte Silikon-Temperatursensor muss in ein mit Silikonöl gefülltes Bad gelegt und auf eine genaue Temperatur erhitzt werden, die mit einem Super-Thermometer gemessen wird. Diese Geräte können mit einer Genauigkeit von besser als fünf Dezimalstellen messen. Sicherungen im Sensor werden durchgebrannt, um die Verstärkung des Temperatursensors zu optimieren und somit seinen Ausgang mit der Gleichung y =mx + C . zu linearisieren . Das Silikonöl sorgt für eine sehr gleichmäßige Temperatur, sodass viele Geräte in einem einzigen Zyklus kalibriert werden können.

Der ADT7422 hat eine Genauigkeit von ±0,1 °C über einen Temperaturbereich von 25 °C bis 50 °C. Dieser Temperaturbereich ist um die typische menschliche Körpertemperatur von 38 °C zentriert, was den ADT7422 ideal für die genaue Überwachung der Vitalparameter macht. Für industrielle Anwendungen ist der ADT7320 so getrimmt, dass er eine Genauigkeit von ±0,2 °C hat, jedoch über einen breiteren Temperaturbereich von -10 °C bis +85 °C.


Abbildung 2. Der ADT7422 auf einer 0,8 mm dicken Leiterplatte montiert

Die Kalibrierung des Silizium-Temperatursensors ist jedoch nicht das einzige Problem. Wie bei extrem präzisen Spannungsreferenzen können Belastungen des Chips die Genauigkeit des Sensors beeinträchtigen und die Wärmeausdehnung von PCB, Leadframe, Kunststoffformteilen und freiliegenden Pads müssen berücksichtigt werden. Der Lötprozess bringt auch seine eigenen Probleme mit sich. Der Reflow-Lötprozess erhöht die Temperatur eines Teils auf 260 °C, wodurch die Kunststoffverpackung weich wird und sich der Leadframe des Dies verzieht, sodass beim Abkühlen des Teils und dem Aushärten des Kunststoffs eine mechanische Spannung im Die verankert wird. Die Ingenieure von Analog Devices verbrachten viele Mannmonate mit heiklen Experimenten, um herauszufinden, dass eine PCB-Dicke von 0,8 mm der perfekte Sweet Spot war und eine Genauigkeit von ±0,1 °C selbst nach dem Löten erreicht werden konnte.

In der Software

Der Großteil der Systemsoftware beschäftigt sich mit der Formatierung der Daten des ADT7320 und deren Anzeige auf dem LCD. Das Abrufen der Daten vom ADT7320 ist trivial. Wenn der Prozessor initialisiert wird, werden sowohl die CS- als auch die SCLK-Leitung auf hoch gesetzt und die SCLK-Leitung zwischen den Umwandlungen im Leerlauf auf hoch gesetzt. Die CS-Leitung wird dann auf Low gesetzt, um eine Datentransaktion einzuleiten. Bei SPI werden Daten bei der steigenden Flanke der SCLK-Leitung in den ADT7320 eingelesen und bei der fallenden Flanke ausgelesen. Der folgende Code beschreibt die Initialisierungsroutine.

Um die serielle Schnittstelle zurückzusetzen, wird die CS-Leitung auf Low gesetzt, die DOUT-Leitung auf High gesetzt und SCLK wird 40 Mal oszilliert. Die CS-Linie wird dann hoch genommen. Dies taktet 40 '1's in den ADT7320 und setzt die serielle Schnittstelle zurück. Nach dem Zurücksetzen des SPI-Busses ist eine Verzögerung von mindestens 500 us erforderlich.

Der nächste Codeblock sendet das Befehlsbyte an den ADT7320 und teilt ihm mit, ob die Transaktion ein Lesen oder Schreiben ist und welches Register zu adressieren ist. Die Linie

data =0b00001000;

weist den ADT7320 an, in Register 0x01 zu schreiben. Der ADT7320 ist dann so programmiert, dass er Daten mit einer Auflösung von 16 Bit über die Leitung ausgibt

data =0b10000000;

Die DOUT-Leitung wird auf ‚0‘ vorkonditioniert, das MSB des Datenbytes wird abgefragt und die DOUT-Leitung wird hoch gesetzt, wenn das MSB ‚1‘ ist. Die SCLK-Leitung wird hoch genommen, um die Daten in den ADT7320 zu takten.

void reset_adt7320(void)            /* ADT7320 initialisieren */{     unsigned char n, data; /* serielle Schnittstelle zurücksetzen */        clearbit(PORTA, CS); setbit(PORTA, DOUT); for(n=40; ​​n>0; n--)        {                clearbit(PORTA, SCLK); setbit(PORTA, SCLK); }        setbit(PORTA, CS); Verzögerung_10ms(); /* muss nach dem Zurücksetzen>500 us warten */            /* auf 16-Bit-Modus gesetzt */        clearbit(PORTA, CS); Daten =0b00001000; /* clear bit 6 (write), reg #001 */        /* send command byte */        for(n=8; n>0; n--)        {                clearbit(PORTA, SCLK); Clearbit (PORTA, DOUT); /* Vorbedingung DOUT */                    if checkbit(data, (n-1))                {                        setbit(PORTA, DOUT); }                setbit(PORTA, SCLK); /* Taktdaten bei steigendem SCLK */        }        data =0b10000000; /* kontinuierliche Konvertierung, 16 Bit */        /* Datenbyte senden */        for(n=8; n>0; n--)        {                clearbit(PORTA, SCLK); Clearbit (PORTA, DOUT); /* Vorbedingung DOUT */                    if checkbit(data, (n-1))                {                        setbit(PORTA, DOUT); }                setbit(PORTA, SCLK); }        setbit(PORTA, CS);}

Der Funktionsaufruf zum Abrufen der Temperaturdaten ist ähnlich wie unten gezeigt. Die Linie

data =0b01010000;

weist den ADT7320 an, Register 2 für die 16-Bit-Daten zu lesen.

Der Code wartet dann mindestens 240 ms, bis der ADT7320 eine Temperaturumwandlung durchführt. 16 Bit Temperaturdaten werden dann ausgetaktet, dann wird die CS-Leitung auf High gesetzt.

     clearbit(PORTA, CS); /* Daten =Befehlsbyte */    Daten =0b01010000; /* Lesemodus, Register 2 */       /* ADT7320 lesen */    for(n=8; n>0; n--)    {         clearbit(PORTA, SCLK); Clearbit (PORTA, DOUT); /* Vorbedingung DOUT */                if checkbit(data, (n-1))            {                    setbit(PORTA, DOUT); }            setbit(PORTA, SCLK); }    delay_150ms(); /* Temperaturkonvertierung */    delay_150ms(); /* Temperaturdaten lesen */    for(n=16; n>0; n--)    {         clearbit(PORTA, SCLK); if checkbit(PORTA, DIN)            {                    setbit(temp, (n-1)); }            setbit(PORTA, SCLK); }     setbit(PORTA, CS);

Das komplette Codeset ist hier verfügbar.

Wie kalt sind meine Würste genau?

Der ADT7320 wurde etwa 30 Minuten im Gefrierschrank gelassen, um zu sehen, bei welcher Temperatur sich unser neuer Kauf eingestellt hat.

Abbildung 3 zeigt die Gefriertemperatur von -18,83 °C.


Abbildung 3. Die Temperatur des Gefrierschranks bei -18,83 °C

Ich fand dies beeindruckend genau, da Lebensmittel nicht mit dieser Temperaturpräzision gelagert werden müssen. Dann habe ich die Temperatur in meinem Büro an einem Sommertag in Großbritannien gemessen. 22.87 °C wie in Abbildung 4 gezeigt. 


Abbildung 4. Die Temperatur meines Büros bei 22.87 °C

Schlussfolgerung

Silizium-Temperatursensoren haben einen langen Weg zurückgelegt und sind extrem präzise geworden, was eine Überwachung der Vitalparameter mit hoher Genauigkeit ermöglicht. Während die Technologie in ihnen auf fundierten Prinzipien basiert, erfordert das Trimmen, das erforderlich ist, um sie auf untergradige Genauigkeitsniveaus zu bringen, einen erheblichen Aufwand. Selbst wenn dieses Maß an Genauigkeit erreicht wird, können mechanische Belastungen und Löten die Gewinne aus stundenlanger Kalibrierung leicht zunichte machen.

Der ADT7320 und der ADT7422 stellen den Höhepunkt jahrelanger Charakterisierung dar, um selbst nach dem Löten auf die Leiterplatte eine Präzision unter einem Grad zu erreichen.

Referenzen

Huijsing, Johan und Michiel Pertijis. Präzisions-Temperatursensoren in CMOS-Technologie. Springer, 2006.
Horowitz, Paul und Winfield Hill. Die Kunst der Elektronik . Cambridge University Press, April 2015.
Analog Circuit Design, Band 2, Kapitel 32. Linear Technology, Dezember 2012.
AD590 Datenblatt. Analog Devices, Inc., Januar 2013.
ADT5912 Datenblatt (wird veröffentlicht). Analog Devices, Inc.


Eingebettet

  1. Silizium
  2. Sensortypen mit ihren Schaltplänen
  3. Infineon:AMR-basierte Winkelsensoren als Single- und Dual-Die-Version
  4. ams beleuchtet die Sensors Expo 2019 mit innovativen Demonstrationen
  5. Die Gesundheitssensoren von Maxim für ultrakleine Wearables
  6. IBASE:COM Express-Module mit breitem Betriebstemperaturbereich
  7. Kartierung des Temperaturflusses in Haushalten mit billigen Sensoren
  8. Messen Sie Temperaturen mit einem 1-Draht-DS18B20-Sensor und Raspberry Pi
  9. Temperatur lesen mit DS18B20 | Raspberry Pi 2
  10. Temperaturmessung mit RASPBERRY PI