Tesmistor: alles wat u moet weten om de temperatuur in uw projecten te meten

thermistor

In andere artikelen zijn verschillende temperatuursensoren geanalyseerd. Een van de elementen of apparaten die u kunt gebruiken om die temperatuur te meten, is precies de thermistor, in het Engels thermistor (thermisch gevoelige weerstand of temperatuurgevoelige weerstand). Zoals de naam al doet vermoeden, is het gebaseerd op een materiaal waarvan de elektrische weerstand verandert naargelang de temperatuur waaraan het wordt blootgesteld.

Op deze manier kan door middel van een eenvoudige formule, bekend met de spanning en de intensiteit waaraan het wordt blootgesteld, de weerstand worden geanalyseerd om bepaal de temperatuur volgens de schaal. Maar het wordt niet alleen gebruikt als temperatuursensor, het kan ook worden gebruikt om enkele karakteristieken van het circuit te wijzigen op basis van de temperatuur, als een beschermingselement tegen overstroom, enz.

La keuze van sensortype Wat u voor uw project gaat gebruiken, hangt af van de behoeften die u heeft. Andere artikelen die u mogelijk interesseren over temperatuursensoren:

  • LM35: temperatuur- en vochtigheidssensor.
  • DS18B20: temperatuursensor voor vloeistoffen.
  • DHT22: precisie temperatuur- en vochtigheidssensor.
  • DHT11: goedkope temperatuur- en vochtigheidssensor.

Inleiding tot de thermistor

thermistor symbool

Op de markt vind je er veel thermistors met verschillende inkapselingen en van verschillende typen. Ze zijn allemaal gebaseerd op hetzelfde principe, hun halfgeleidermateriaal (nikkeloxide, kobaltoxide, ijzeroxide, ...) zal veranderen wanneer de temperatuur varieert, waardoor de interne weerstand verandert.

Soorten

Tussen thermistortypen we kunnen twee groepen uitlichten:

  • NTC-thermistor (negatieve temperatuurcoëfficiënt): deze thermistors met een negatieve temperatuurcoëfficiënt, naarmate de temperatuur stijgt, neemt ook de concentratie van ladingsdragers toe, daarom wordt hun weerstand verminderd. Dit maakt ze praktisch zodat ze kunnen worden gebruikt als:
    • Temperatuursensoren die in veel circuits vrij vaak voorkomen, zoals lage temperatuur resistieve detector, in de automobielsector voor metingen aan motoren, in digitale thermostaten, enz.
    • Aanloopstroombegrenzer, bij gebruik van een materiaal met een hoge aanvangsweerstand. Wanneer de stroom er doorheen gaat wanneer het circuit is ingeschakeld, warmt dit apparaat op vanwege de weerstand die het presenteert en naarmate de temperatuur stijgt, zal de weerstand geleidelijk afnemen. Dit voorkomt dat de stroom naar het circuit in het begin erg hoog is.
  • PTC-thermistors (positieve temperatuurcoëfficiënt): het zijn andere thermistors met een positieve temperatuurcoëfficiënt, met zeer hoge doteerstofconcentraties die ze het tegenovergestelde effect geven van NTC's. Dat wil zeggen, in plaats van de weerstand te verlagen met toenemende temperatuur, treedt het tegenovergestelde effect in hen op. Om die reden kunnen ze worden gebruikt als zekeringen om overstroomcircuits te beschermen, als timer om CRT- of kathodestraalbuisbeeldschermen te demagnetiseren, om de stroom van motoren te regelen, enz.
Grafiek van de NTC-thermistor

Grafiek van de weerstandscurve ten opzichte van de temperatuur van een NTC

Verwar de thermistor niet met de RTD (weerstandstemperatuurdetector)Omdat, in tegenstelling tot hen, thermistors de weerstand NIET bijna lineair veranderen. RTD is een soort weerstandsthermometer om temperatuur te detecteren op basis van de variatie van de weerstand van de geleider. Het metaal hiervan (koper, nikkel, platina, ...) heeft bij verhitting een grotere thermische agitatie die de elektronen zal verstrooien en hun gemiddelde snelheid zal verminderen (verhoogt de weerstand). Dus hoe hoger de temperatuur, hoe groter de weerstand, zoals bij de NTC.

Zowel RTD's, NTC's als PTC's komen vrij vaak voor, vooral NTC's. De reden is dat ze hun rol kunnen vervullen met een zeer klein formaat en een zeer goedkope prijs. Dat kan verwerven NTC-thermistors zoals de populaire MF52 voor een kleine prijs in winkels zoals Amazon, net als Geen producten gevonden., evenals in andere gespecialiseerde elektronicawinkels.

Wat betreft pinout, het heeft maar twee pinnen, net als normale weerstanden. De manier van aansluiten is hetzelfde als die van een willekeurige weerstand, alleen de weerstandswaarde blijft niet stabiel, zoals u al zou moeten weten. Voor meer informatie over de geaccepteerde temperatuurbereiken, de maximaal ondersteunde spanning, enz., Kunt u de gegevens van dedahtablad van het onderdeel dat u heeft gekocht.

Integratie met Arduino

Arduino-schema met thermistor

naar integreer een thermistor met uw Arduino-bord, de verbinding kan niet eenvoudiger zijn. Het is alleen nodig om die theorie en berekeningen aan te passen voor de code die je in je Arduino IDE moet genereren. In ons geval ben ik uitgegaan van het gebruik van een NTC-thermistor, met name het MF52-model. Als u een ander thermistormodel gebruikt, moet u de waarden A, B en C variëren om ze aan te passen volgens de Steinhart-Hart-vergelijking:

Steinhart-Hart modelvergelijking

zijnde T de gemeten temperatuur, T0 is de waarde van de omgevingstemperatuur (u kunt deze kalibreren zoals u geïnteresseerd bent, zoals 25ºC), R0 is de waarde van de weerstand van de NTC-thermistor (in ons geval die van het MF52-gegevensblad, en dat zou u niet moeten doen verwar het met de weerstand die ik aan het circuit heb toegevoegd), en de coëfficiënt B of Beta is te vinden in de technische fiche van de fabrikant.

El code het zou daarom zo zijn:

#include <math.h>
 
const int Rc = 10000; //Valor de la resistencia del termistor MF52
const int Vcc = 5;
const int SensorPIN = A0;

//Valores calculados para este modelo con Steinhart-Hart
float A = 1.11492089e-3;
float B = 2.372075385e-4;
float C = 6.954079529e-8;
 
float K = 2.5; //Factor de disipacion en mW/C
 
void setup()
{
  Serial.begin(9600);
}
 
void loop() 
{
  float raw = analogRead(SensorPIN);
  float V =  raw / 1024 * Vcc;
 
  float R = (Rc * V ) / (Vcc - V);
  
 
  float logR  = log(R);
  float R_th = 1.0 / (A + B * logR + C * logR * logR * logR );
 
  float kelvin = R_th - V*V/(K * R)*1000;
  float celsius = kelvin - 273.15;
 
  Serial.print("Temperatura = ");
  Serial.print(celsius);
  Serial.print("ºC\n");
  delay(3000);
}

Ik hoop dat deze tutorial je heeft geholpen ...


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.