Logo Studenta

Práctica 2 Termistor_Eduardo_Rodríguez_19131252 (1)

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTRUMENTACIÓN 
INFORME DE 
PRÁCTICA 2 MEDICIÓN DE 
TEMPERATURA CON 
TERMISTOR 
Catedrático: MSC JESUS ANTONIO BOTELLO T. 
Alumno: Eduardo Antonio Rodríguez Guerra 
Número de control: 19131252 
22 de Abril de 2022 
 
 
 
 Práctica #2 Medir temperatura con Arduino y termistor 
¿Qué es un termistor? 
Un termistor es un dispositivo cuya resistencia varia al variar la temperatura. Podemos emplear esta 
variación de la resistencia para realizar una medición de la temperatura ambiente. 
Un termistor está formado por un semiconductor como óxido férrico, el óxido de níquel, o el óxido de 
cobalto. Al aumentar la temperatura, varia la concentración de portadores, por lo que varía la resistencia 
del dispositivo. 
Existen dos tipos de termistores, 
✓ NTC, tienen una resistencia inferior al aumentar la temperatura 
✓ PTC, tienen una resistencia superior al aumentar la temperatura (también llamado posistor) 
siendo más habituales los termistores de tipo NTC. 
Los termistores son dispositivos baratos, pequeños, duraderos, con un rango de medición relativamente 
amplio, considerablemnete precisos y rápidos, y poco susceptibles al ruido. Esto hace que sean 
ampliamente empleados en la medición de temperatura en climatización, almacenamiento de líquidos, y 
automoción. 
La mayor desventaja de los termistores es su fuerte comportamiento no lineal. Esto no es tan problema, 
dado que disponemos de modelos matemáticos bien conocidos que permiten calcular con precisión la 
medición de temperatura. Sin embargo, nos obligan a emplear necesariamente números en coma flotante 
y cálculos logarítmicos, que deben ser evitados en procesadores dado que ralentizan la ejecución 
significativamente. 
Precio 
Los termistores son dispositivos muy baratos. Podemos encontrar 10 termistores MF52 por 
$ 21.86 en vendedores internacionales en Ebay, gastos de envío incluidos. 
 
 
 
 
 
 
 
 
 
 
 
¿Cómo funciona un termistor? 
Como hemos comentado, la relación entre temperatura y resistencia en un termistor es 
fuertemente no lineal. La siguiente gráfica corresponde muestra esta relación para un 
termistor de la familia MF52 y Rnominal 10 kOhm. 
Lógicamente, cada familia y modelo de termistor presenta una gráfica distinta, pero el 
comportamiento es similar. 
Existen varios modelos matemáticos para aproximar el comportamiento de un termistor, 
más o menos complejos. El modelo de Steinhart-Hart es una aproximación de tercer 
orden, ampliamente empleado, dado por la siguiente ecuación, 
 
 
Si queremos incluir la corrección por autocalentamiento, podemos incluir la siguiente 
ecuación al modelo. 
 
 
 
 
 
 
 
Con el empleo de estas ecuaciones el error debido al modelo matemático es inferior a 
0,005ºC, para todo el rango de temperaturas de medición (de -30 a 110 ºC). Por tanto, 
introduce un error que resulta despreciable frente al resto de factores, como la tolerancia 
de las resistencias, del propio termistor, o la aritmética de coma flotante. 
Esquema eléctrico 
El esquema eléctrico sería el siguiente. 
 
 
 
 
 
 
 
 
 
Montaje 
Por su parte, el montaje eléctrico en una protoboard quedaría de la siguiente manera 
 
 
 
 
 
 
 
 
 
Ejemplos de código 
A continuación un ejemplo de código. El siguiente código realiza la lectura de la resistencia 
del termistor, y emplea la ecuación de Steinhart-Hart para calcular la temperatura y 
mostrarla por puerto serie. 
#include <math.h> 
 
const int Rc = 10000; //valor de la resistencia const int Vcc = 5; 
const int SensorPIN = A0; 
 
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("T = "); 
 Serial.print(celsius); 
 Serial.print("C\n"); 
 delay(2500); 
} 
 
Los valores A, B y C empleados están calibrados para una resistencia MF52 
10kOhm, y deberán ser cambiados para otro tipo de termistores. 
En ocasiones, podemos obtener estos valores directamente del Datasheet del 
componente. Sin embargo, resulta frecuente que únicamente se proporcione un 
valor Beta, correspondiente con un modelo de menor precisión que Steinhart-Hart. 
En estos casos, debemos obtener los valores A, B y C por ajuste de la tabla de 
resistencias y temperaturas del sensor. 
 
Con la finalidad de reforzar los conocimientos previos decidimos incluir el sensor LM35, para así realizar el 
respectivo análisis y concluir así cual de los dos era más eficaz.

Continuar navegando