Patienter, söndagssteken, duschen och akvariet har alla ett gemensamt, det blir allt vanligare att mäta temperaturen digitalt. Valet av temperatursensor avgör prestanda. Ett gratis simuleringsverktyg förenklar uppgiften samtidigt som det spar tid och pengar.
Ladda ner artikeln här (länk, pdf). Fler tekniska rapporter finns på etn.se/expert |
När man utvecklar system för digital temperaturmätning måste man börja med att titta på de mekaniska specifikationerna – den delen av arbetet avhandlas dock inte här. Därefter är det dags för de elektrotermiska egenskaperna. Där behöver man besvara följande frågor:
•Vad är det tänkta temperaturområdet?
•Vilken mätnoggrannhet behövs?
•Vilken temperatursensor ska användas?
•Hur stora är toleranserna i de elektriska egenskaperna?
•Vilken samplingshastighet ska AD-omvandlaren ha?
• Vilka passiva komponenter behövs och vilka toleranser måste de ha?
Det är särskilt viktigt att avgöra temperaturområdet och mätnoggrannheten eftersom de avgör fortsättningen. Antag att temperaturområdet ska vara +25 °C till +150 °C och noggrannheten ±2 °C. Då finns det två temperatursensorer att välja på, en känslig men ickelinjär termistor och en resistiv sensor (RTD), exempelvis platina som är linjär men mindre noggrann.
När man ska välja sensor är det viktigt att avgöra vilka typer som uppfyller specifikationer. Det räcker inte med att besvara frågorna ovan eftersom egenskaperna interagerar med varandra på komplexa sätt.
Om man exempelvis väljer en termistor med god precision för att kunna mäta temperaturen noggrannare än ±0,2 °C och kombinerar den med en åttabitarsomvandlare kommer det att begränsa noggrannheten. Det är också bortkastade pengar att välja en sensor med låg noggrannhet och kombinera den med en 24-bitarsomvandlare.
Om man vill kunna mäta riktigt små temperaturskillnader behövs en AD-omvandlare med hög differentiell linjäritet plus lämpliga kalibreringsalgoritmer.
Ett annat sätt att få de mest noggranna mätningarna är att använda sensorer i platina av typen klass A (±0,15 °C vid 0 °C) med linjär temperaturkarakteristik. Dock är temperaturkoefficienten lägre än hos en termistor vilket innebär att signalen måste förstärkas, Det kräver ytterligare hårdvara vars toleranser måste tas i beaktande.
Allt detta gör valet av komponenter till en komplex uppgift som normalt kräver omfattande tester. Det skulle vara bättre om sensorn, AD-omvandlaren och den övriga hårdvaran kunde väljas i form av ett virtuellt prototypsystem som man kan simulera och därmed se vad noggrannheten blir. Exakt detta kan man göra med analoga simuleringsprogram som PSpice. Dessutom är de oftast kostnadsfria.
Oberoende av om man väljer en termistor med negativ temperaturkoefficient (NTC) eller en resistiv sensor i platina går det att hitta Spicemodeller för dem. Själva konstruktionen utgörs av en spänningsdelare med en termistor och ett motstånd med fast värde. En spänningskälla levererar den ström som behövs för mätningarna.
Spänningen från temperatursensorn förstärks och filtreras innan den digitaliseras. En lämplig komponent är NJRC9103 från japanska JRC som går att ansluta direkt till sensorn. Kretsen har en mikroprocessor och levererar digitala utdata. Den kan dessutom göra olika typer av kalibreringar.
Simuleringen av kretsen visar temperaturprofilen och sensorns karakteristik inklusive fördröjning och lutning plus digitaliseringen av signalen. Tidsavvikelsen i utläsning syns i den undre delen av figuren. För att göra det lättare att se effekterna av digitaliseringen valdes en upplösning i AD-omvandlaren på 10 bitar och en samplingstid på 200 ms.
Egenskaperna och toleransen hos sensorn – i detta exempel en NTC-termistor på 10 kOhm ur NTCALUG-familjen från Vishay – och det fasta motståndet är enkelt att simulera i Spice. Digitaliseringen av signalen och konverteringen av råa mätdata till temperaturer görs med hjälp av en analog modell för spänningskällorna. Intressant att notera är att antalet bitar (n) hos AD-omvandlaren är en parameter i simuleringen och kan varieras mellan 8 och 24. Samplingstiden i sample/hold-modulen är också en parameter. När man använder sigma-deltaomvandlare slipper man en extern krets för sample/hold, vilket har betydelse eftersom temperaturförändringar sker inom 100 ms.
I detta exempel börjar vi med att låsa samplingstiden till 10 ms. Den ideala upplösningen i AD-omvandlaren går att hitta genom att mata in värden mellan 8 och 24. När man beräknar felfunktionen som det effektiva värdet mellan den avlästa temperaturen och termistorns temperatur sjunker inte felvärdet ytterligare när antalet bitar är större än 16 (n>16).
Det går också att optimera seriemotståndet R1 för att minimera felvärdet. Som framgår av figur 4 når felfunktionen sitt minimum vid 4,7 kΩ på motståndet. Felfunktionen (ERR) definierades i Spice innan simuleringen genomfördes.
I nästa steg ändrades toleransen i termistorn och det fasta motståndet R1. Ett värsta scenario analyserades för bägge komponenterna. Figur 5 till 7 visar de tre fallen. Figur 5 visar resultaten för en sensor med negativ temperaturkoefficient med dR25/R25 = ±1 och en tolerans för B25/85 på ±0,5 procent kombinerad med ett tunnfilmsmotstånd ur TNPW-serien från Vishay med 0,5 procent.
Osäkerheten i mätningarna ökar från ±0,4 °C vid 25 °C till ±1,5 °C vid 100 °C. Simuleringarna gäller för värsta fallet. Om man beaktar toleranserna för R25 och B25/85 hos termistorn och toleranserna för det fasta motståndet R1, får man 2^3 = 8 fall. Den vita kurvan är referenskurvan. Simuleringen i figur 5 visar att toleransvärdena är jämnt fördelade. Det betyder att de relativa resistanserna mellan motstånden har valts korrekt.
Figur 6 visar att osäkerheten i temperaturmätningarna kan halveras genom att toleranserna hos motstånden halveras (R25 = 0,5 procent och B25/85 = 0,25 procent för termistorn och 0,25 procent för det fasta motståndet). Men det är ett väl ambitiöst steg eftersom det är tveksamt om alla tillverkare av motstånd kan garantera att B25/85 är ±0,25 procent.
Ett vanligt värde på koefficienten för B25 är ±1,5 procent. Om samma simulering görs med samma värden som i figur 5 men med en tolerans för B på ±1,5 procent syns resultatet i figur 7. Den relativt stora onoggrannheten vid höga temperaturer indikerar en långtifrån optimal konstruktion. Det syns också tydligt att resultaten i analysen av de värsta fallen för toleransvärdena inte är fördelade på ett idealt sätt.
Vi har visat att en relativt enkel krets kan simuleras för att åskådliggöra hur den totala noggrannheten i mätkretsen bestäms av hur man väljer de ingående kretsarna. Detta är en idealisk utgångspunkt för vidare experiment som kan sänka utvecklingstiden och tillverkningskostnaden.
De använda simuleringsfilerna går att beställa här: Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.