[go: up one dir, main page]

0% encontró este documento útil (0 votos)
35 vistas13 páginas

Informe 2

El informe detalla la práctica de medición de temperatura utilizando un sensor RTD y un microcontrolador, enfocándose en el funcionamiento, calibración y comparación con un sensor digital DS18B20. Se realizaron diversas mediciones y ajustes para optimizar la precisión del sistema, incluyendo el uso de amplificadores y la implementación de código en Python y Arduino. Las conclusiones destacan la efectividad del RTD para mediciones precisas, la facilidad de uso del DS18B20 y la importancia de la calibración.

Cargado por

Ivan Encinas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas13 páginas

Informe 2

El informe detalla la práctica de medición de temperatura utilizando un sensor RTD y un microcontrolador, enfocándose en el funcionamiento, calibración y comparación con un sensor digital DS18B20. Se realizaron diversas mediciones y ajustes para optimizar la precisión del sistema, incluyendo el uso de amplificadores y la implementación de código en Python y Arduino. Las conclusiones destacan la efectividad del RTD para mediciones precisas, la facilidad de uso del DS18B20 y la importancia de la calibración.

Cargado por

Ivan Encinas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Informe de Práctica 2

Medición de Temperatura usando un RTD, Sensor


Digital y un Microcontrolador
Estudiantes:
Ivan Rodrigo Encinas Mercado
Emanuel Rodrigo Quisbert Escobar
Materia: LMEC-356
Docente: Dr. Ing. Álvaro Montaño Saavedra

1. Objetivos
Comprender el funcionamiento de un sensor de temperatura RTD.

Realizar la medición de temperatura con un sensor digital y un microcontrolador.

Implementar un sistema de medición de temperatura usando un sensor PT100 y un


microcontrolador.

2. Habilidades Desarrolladas
Simular y montar sistemas de medición de temperatura.

Manejar sensores RTD y digitales con microcontroladores.

Implementar acondicionamiento de señal y calibración de sensores.

3. Desarrollo de la Práctica
Parte 1: Corriente de Norton
Se armó el circuito de la Figura 1 (convertidor V-I). Se midió la corriente de cortocircuito
conectando un amperı́metro entre los nodos de salida. Captura de circuito: ver Figura 1.

1
Práctica 2 LMEC-356

Figura 1: Circuito convertidor voltaje a corriente (Figura 1)

Tabla 1:

Parámetro Valor Medido Esperado Diferencia ( %)


Corriente de Norton (mA) 0.5 mA 1.15 mA 21.73
Voltaje máximo de operación (V) 3.739 V 3.46 V 2.34

Parte 2: Voltaje de operación


Se usó un potenciómetro para variar la carga. Se midió el voltaje cuando la corriente
empezó a desviarse del valor ideal.

Parte 3: Amplificador
Se agregó un amplificador operacional. Se midieron V1 y V2 para calcular la ganancia.
Captura de circuito: ver Figura 2.

2
Práctica 2 LMEC-356

Figura 2: Circuito amplificador (Figura 3)

Tabla 2:

V1 (V) V2 (V) Ganancia Medida Esperada Diferencia ( %)


0.147 V 3.6 V 24.989 26.733 8.39

Parte 4: RTD con uC


El PT100 fue integrado en un divisor resistivo. El voltaje fue amplificado y leı́do por el
microcontrolador.
Coeficientes Callendar-Van Dusen:

A (EU): 3,90802 × 10−3 B (EU): −5,80195 × 10−7

A (US): 3,97840 × 10−3 B (US): −5,8408 × 10−7

Parte 5: Sensor Digital DS18B20


Se conectó el sensor al uC. Se verificó la lectura con OneWire. Captura de simula-
ción/circuito fı́sico: ver Figura 9.

3
Práctica 2 LMEC-356

Figura 3: Conexión del DS18B20 al microcontrolador

Figura 4: Implementacion del DS18B20

4
Práctica 2 LMEC-356

Figura 5: Resultados de temperatura

Código En python
1 from machine import Pin
2 import onewire
3 import ds18x20
4 from time import sleep
5

6 # Pin de datos del sensor DS18B20


7 pin_ds = Pin (2)
8 ow = onewire . OneWire ( pin_ds )
9 ds = ds18x20 . DS18X20 ( ow )
10

11 # Escanear sensores conectados


12 roms = ds . scan ()
13 if not roms :
14 print ( " No ␣ se ␣ e n c o n t r ␣ n i n g n ␣ sensor ␣ DS18B20 . " )
15 else :
16 print ( " Sensor ␣ encontrado : " , roms [0])
17

18 # Bucle principal
19 while True :
20 try :
21 ds . convert_temp ()
22 sleep (0.75)
23 temp = ds . read_temp ( roms [0])
24 print ( " Temperatura : ␣ {:.2 f } ␣ C " . format ( temp ) )
25 sleep (1)
26 except Exception as e :
27 print ( " Error : " , e )

5
Práctica 2 LMEC-356

28 break

Explicación del código


Parte 6: Calibración del RTD
Se compararon lecturas del RTD frente al DS18B20. Se ajustó el código o ganancia del
circuito. Explicación: Para llenar la tabla 4 se registraron al menos tres temperaturas con
ambos sensores. Las diferencias fueron calculadas, y se aplicó un ajuste lineal a la ecuación
del RTD (ganancia o compensación). Este ajuste fue verificado en nuevas mediciones.
Tabla 4:

Temp. RTD (°C) Temp. Patrón (°C) Diferencia (°C) Error ( %) Ajuste Aplicado
18.69 19.13 1.55 2.3 3.908*e-3 ; -5.77*e-7
4.72 2.06 2.64 129.13 3.00*e-3 ; -5.00*e-7
25.06 29.05 4.01 13.79 3.700*e-3 ; -5.500*e-7

Figura 6: Simulacion pt100

6
Práctica 2 LMEC-356

Figura 7: Implementacion pt100

Figura 8: Resultados de temperatura

4. Programa Arduino y Explicación


Código Arduino
1 float corriente = 1.001; // Corriente en amperios
2 float ganancia = 10.09; // Ganancia del amplificador
3 unsigned long tiempo = 0; // Tiempo para control de muestreo
4 int muestreo = 100; // Intervalo de muestreo en
milisegundos

7
Práctica 2 LMEC-356

5 int ADC_ = 0; // Variable para el valor de ADC


6 float voltref = 5.0; // Voltaje de referencia (5 V para
Arduino )
7 float voltaje , resistencia , temperatura , temp2 , temp3 ;
8 float A = 3.9083 e -3; // Coeficiente A
9 float B = -5.775 e -7; // Coeficiente B
10

11

12

13 void setup () {
14 // I n i c i a l i z a c i n del puerto serie
15 Serial . begin (9600) ;
16 pinMode ( LED_BUILTIN , OUTPUT ) ;
17 }
18

19 void loop () {
20 if ( millis () > ( muestreo + tiempo ) ) {
21 tiempo = tiempo + muestreo ;
22

23 // Leer el valor del ADC


24 ADC_ = analogRead ( A0 ) ;
25

26 // Convertir el valor del ADC a voltaje


27 voltaje = ADC_ * voltref / 1023.0;
28

29 // Calcular la resistencia del PT100


30 resistencia = ( voltaje / ( corriente * ganancia ) ) * 1000;
31

32 // Calcular la temperatura usando la f r m u l a PT100


33 // A s e g r a t e de que la resistencia e s t en el rango adecuado
34 if ( resistencia > 0 && resistencia < 1000) {
35 // F r m u l a de temperatura ( simplificada )
36 temperatura = ( resistencia - 100.0) / ( A + B * sqrt (
resistencia ) ) /100;
37

38 temp2 = ADC_ ;
39

40

41

42 } else {
43 temperatura = -999; // Valor no v l i d o si la resistencia es
incorrecta
44 }
45 // Mostrar la temperatura calculada
46 Serial . println ( temp2 , temperatura ) ;
47

48 }
49

8
Práctica 2 LMEC-356

50 if ( temp3 < 15) {


51 digitalWrite ( LED_BUILTIN , HIGH ) ;
52 delay (50) ;
53 }
54 digitalWrite ( LED_BUILTIN , LOW ) ;
55

56 }

Explicación del código


Se mide voltaje del divisor resistivo con RTD.

Se calcula la resistencia del RTD y, con la fórmula inversa, se obtiene la temperatura.

Se imprime el valor en el monitor serial.

5. Cuestionario
a) Principio de Funcionamiento de un Sensor RTD
Un RTD (Resistance Temperature Detector) funciona basado en el principio de
que la resistencia eléctrica de ciertos metales (como platino, nı́quel o cobre) varı́a de manera
lineal y predecible con la temperatura. La relación está dada por:

R(T ) = R0 [1 + α(T − T0 )]

donde:

R(T ): Resistencia a temperatura T .

R0 : Resistencia a temperatura de referencia T0 (usualmente 0°C).

α: Coeficiente de temperatura del material (Ω/Ω/C).

b) Caracterı́sticas de Sensores PT100 y PT1000

Caracterı́stica PT100 PT1000


Resistencia a 0°C 100 Ω 1000 Ω
Sensibilidad (α) 0.00385 Ω/Ω/C 0.00385 Ω/Ω/C
Rango tı́pico -200°C a 850°C -200°C a 850°C
Precisión ±0,1C a 0°C ±0,1C a 0°C
Aplicaciones Industria, laboratorios Baja potencia, IoT

9
Práctica 2 LMEC-356

c) Uso de PT100 según Número de Hilos


2 hilos: Para aplicaciones donde la precisión no es crı́tica (error por resistencia de
cables).
Ejemplo: Termostatos residenciales.

3 hilos: Compensa la resistencia de los cables. Usado en industria.


Ejemplo: Control de motores.

4 hilos: Máxima precisión (elimina errores por resistencia de cables).


Ejemplo: Calibración de equipos médicos.

d) Cálculo de Sensibilidad y Coeficiente a 70°C


Datos:
R0 = 100 Ω, α = 0,00389 Ω/Ω/K a 0°C

1. Sensibilidad (S): Derivada de R(T ):

dR
S= = R0 α = 100 × 0,00389 = 0,389 Ω/C
dT

2. Coeficiente a 70°C: Para platino, α es constante en este rango.


⇒ α70C = 0,00389 Ω/Ω/K .

e) Programa para Graficar Temperatura con RTD


#include <Arduino.h>
#include <math.h>
#include <SD.h>

#define RTD_PIN A0
#define R0 100.0
#define ALPHA 0.00389

void setup() {
Serial.begin(9600);
pinMode(RTD_PIN, INPUT);
}

void loop() {
float Vout = analogRead(RTD_PIN) * 5.0 / 1023.0;
float R = (5.0 * 1000.0 / Vout) - 1000.0; // Puente de Wheatstone
float T = (R - R0) / (R0 * ALPHA); // Ecuación RTD

10
Práctica 2 LMEC-356

Serial.print("Temperatura: "); Serial.print(T); Serial.println(" °C");


delay(1000);
}

Salida: Gráfica T vs t en Python con matplotlib.

f ) Aplicación Práctica: Alarma por Sobretemperatura


Objetivo: Activar un ventilador si T > 50C.

Circuito:

1. RTD (PT100) conectado a puente de Wheatstone.


2. Amplificador de instrumentación para señal.
3. Microcontrolador (Arduino) compara T con umbral.
4. Relay activa ventilador si Tmedida > Tumbral .

Código:

if (T > 50) {
digitalWrite(RELAY_PIN, HIGH); // Enciende ventilador
} else {
digitalWrite(RELAY_PIN, LOW);
}

Figura 9: Implementacion de motor con pt100 y 18d20

11
Práctica 2 LMEC-356

6. Conclusiones
El RTD proporciona una medición precisa pero requiere acondicionamiento.

El DS18B20 es fácil de usar y sirve como sensor patrón.

La calibración mejora notablemente la precisión del RTD.

7. Resolución y Observaciones
Resolución de lectura: ADC de 10 bits = 4.88mV por nivel.

Se recomienda filtrar señal con promedio móvil o filtro digital.

8. Referencias
Omega Engineering, RTD Handbook, www.omega.com

Texas Instruments, Op Amp Applications Guide

Arduino.cc, Analog Read and Serial Communication

Maxim Integrated, DS18B20 Datasheet

LMEC-356 - Guı́a de Práctica 2, Dr. Ing. Álvaro Montaño Saavedra

9. Anexos
Hoja de datos firmada (adjunta escaneada en el archivo .zip)

Simulaciones de Proteus

Código .ino original

12

También podría gustarte