Práctica No. 2 Sensores de Temperatura

36
UPIITA-IPN Materia: Sensores Automotrices y Acondicionadores de Señal Práctica No. 2. Sensores de Temperatura Número de Equipo: 4 1) Hernández Cruz Luis Eduardo Nombre del Equipo: Mechanics and Electronics 2) Salinas Soria Erik Grupo: 7SM1 3) Suárez Alvarado César Omar Resumen En la siguiente práctica se lleva a cabo la aplicación del uso de amplificadores operacionales en la aplicación de instrumentos de medición para dispositivos electromecánicos, termodinámicos, maquinaria. En este caso uno ve como cada dispositivo necesita algún tipo de sistema de control, desde compuertas lógicas, contadores binarios, convertidores analógico- digital y micro controladores. La principal función es advertirle al usuario, los cambios que se detecten en su zona de ubicación. Los sensores, varían según su necesidad, en algunos casos, son interruptores de estado sólido, como las resistencias LDR, en caso de sensar el lux o la candela, los termistores NTC o PTC para los cambios de temperatura que llegasen a sensar. Las mediciones son necesarias para comprender los comportamientos físicos, que deseamos analizar y comprender para así poder interpretarlos. Por ello los sensores son las herramientas dentro de los dispositivos de control que nos ayudan a entender lo que deseamos que una maquina realice, sin la necesidad de que haya un operador. Abstract A thermistor is a type of resistor whose resistance varies significantly with temperature, more so than in standard resistors. The word is a portmanteau of thermal and resistor. Thermistors are widely used as inrush current limiters, temperature sensors, self-resetting overcurrent protectors, and self-regulating heating elements. A thermocouple is a temperature-measuring device consisting of two dissimilar conductors that contact each other at one or more spots. It produces a voltage when the temperature of one of the spots differs from the reference temperature at other parts of the circuit. Thermocouples are a widely used type of temperature sensor for measurement and control and can also convert a temperature gradient into electricity. Commercial thermocouples are inexpensive, interchangeable, are supplied with standard connectors, and can measure a wide range of temperatures. In contrast to most other methods of temperature measurement, thermocouples are self-powered and require no external form of excitation. The main limitation with thermocouples is accuracy; system errors of less than one degree Celsius (°C) can be difficult to achieve. The silicon bandgap temperature sensor is an extremely common form of temperature sensor (thermometer) used in electronic equipment. Its main advantage is that it can be included in a silicon integrated circuit at very low cost. The principle of the sensor is that the forward voltage of a silicon diode is temperature-dependent. Introducción Los sensores de temperatura, en una manera son las herramientas dentro de los sistemas de control que nos ayudan a entender cómo es que funcionan dentro de los dispositivos, dado que si uno se adentrara dentro de un sistema de control y este no tuviera alguna manera de entender los datos que se envían, la mayoría de entrada analógica que por pulsos de voltaje regula un control que necesitan cierto proceso de potencia, filtrado y conversión de señal de un voltaje a un pulso digital de lenguaje binario. El uso de sensores de temperatura depende del uso que uno le otorgue, de cierta manera uno como diseñador, así como el tipo que se desee utilizar, no solo por gusto del diseñador, sino

Transcript of Práctica No. 2 Sensores de Temperatura

Page 1: Práctica No. 2 Sensores de Temperatura

UPIITA-IPN Materia: Sensores Automotrices y Acondicionadores de Señal

Práctica No. 2. Sensores de Temperatura Número de Equipo: 4

1) Hernández Cruz Luis Eduardo Nombre del Equipo: Mechanics and Electronics

2) Salinas Soria Erik Grupo: 7SM1

3) Suárez Alvarado César Omar

Resumen

En la siguiente práctica se lleva a cabo la

aplicación del uso de amplificadores

operacionales en la aplicación de instrumentos de

medición para dispositivos electromecánicos,

termodinámicos, maquinaria. En este caso uno ve

como cada dispositivo necesita algún tipo de

sistema de control, desde compuertas lógicas,

contadores binarios, convertidores analógico-

digital y micro controladores. La principal

función es advertirle al usuario, los cambios que

se detecten en su zona de ubicación.

Los sensores, varían según su necesidad, en

algunos casos, son interruptores de estado sólido,

como las resistencias LDR, en caso de sensar el

lux o la candela, los termistores NTC o PTC para

los cambios de temperatura que llegasen a sensar.

Las mediciones son necesarias para comprender

los comportamientos físicos, que deseamos

analizar y comprender para así poder

interpretarlos.

Por ello los sensores son las herramientas dentro

de los dispositivos de control que nos ayudan a

entender lo que deseamos que una maquina

realice, sin la necesidad de que haya un operador.

Abstract

A thermistor is a type of resistor whose resistance

varies significantly with temperature, more so

than in standard resistors. The word is a

portmanteau of thermal and resistor. Thermistors

are widely used as inrush current limiters,

temperature sensors, self-resetting overcurrent

protectors, and self-regulating heating elements.

A thermocouple is a temperature-measuring

device consisting of two dissimilar conductors

that contact each other at one or more spots. It

produces a voltage when the temperature of one

of the spots differs from the reference

temperature at other parts of the circuit.

Thermocouples are a widely used type of

temperature sensor for measurement and control

and can also convert a temperature gradient into

electricity.

Commercial thermocouples are inexpensive,

interchangeable, are supplied with standard

connectors, and can measure a wide range of

temperatures. In contrast to most other methods

of temperature measurement, thermocouples are

self-powered and require no external form of

excitation.

The main limitation with thermocouples is

accuracy; system errors of less than one degree

Celsius (°C) can be difficult to achieve.

The silicon bandgap temperature sensor is an

extremely common form of temperature sensor

(thermometer) used in electronic equipment. Its

main advantage is that it can be included in a

silicon integrated circuit at very low cost. The

principle of the sensor is that the forward voltage

of a silicon diode is temperature-dependent.

Introducción

Los sensores de temperatura, en una manera son

las herramientas dentro de los sistemas de control

que nos ayudan a entender cómo es que

funcionan dentro de los dispositivos, dado que si

uno se adentrara dentro de un sistema de control

y este no tuviera alguna manera de entender los

datos que se envían, la mayoría de entrada

analógica que por pulsos de voltaje regula un

control que necesitan cierto proceso de potencia,

filtrado y conversión de señal de un voltaje a un

pulso digital de lenguaje binario.

El uso de sensores de temperatura depende del

uso que uno le otorgue, de cierta manera uno

como diseñador, así como el tipo que se desee

utilizar, no solo por gusto del diseñador, sino

Page 2: Práctica No. 2 Sensores de Temperatura

para poder satisfacer la necesidad que se necesite

cubrir.

Termistor

Un termistor es una resistencia que varía según la

temperatura que detecta, sin embargo el detectar

cambios es difícil de medir. Los termistores están

fabricados de manera que su resistencia cambia

drásticamente de tal manera que puedan cambiar

de 100 ohmios o más por grado centígrado.

Hay dos tipos de sensores dentro de los

termistores en este caso son los NTC y los tipo

PTC, en los primeros, a medida que aumenta la

temperatura, decrece su resistencia; en los

segundos a medida que aumenta la temperatura

en este caso aumenta la resistencia. Se suele usar

los sensores NTC para fijar patrones de

temperatura, los PTC son usados en ciertos casos

para protección de los circuitos ahogando la

corriente y protegiendo el sobrecalentamiento de

los circuitos.

Para medir el valor de la resistencia de un

termistor, dado el voltaje que otorgue, este nos

indicara la temperatura en donde nos

encontramos.

Cuando se detecta, el voltaje medido, está

aumentando, podremos deducir, por la lógica de

la Ley de Ohm, que la resistencia del Termistor

NTC está disminuyendo y, por tanto, que la

temperatura se encuentra en un claro aumento y

viceversa (si el voltaje disminuye es porque la

temperatura ha descendido). La relación exacta

entre el voltaje medido y la resistencia del

termistor se puede calcular de la misma manera

que ya vimos en el caso de las fotorresistencias,

mediante el desarrollo matemático:

Vmed = (Rpull/(Rpull+Rtermistor)).Vfuente

La relación entre la resistencia y la temperatura

en este tipo de sensores no es lineal sino

exponencial. Dicha relación cumple con la

fórmula siguiente:

Donde A y B son constantes que dependen del

resistor.

Esas constantes que nos da el fabricante son:

A: El valor resistivo para una temperatura en

concreto (en nuestro caso 2800Ω para 25º).

B: La Beta (Temperatura característica del

material entre 2000K y 4000K).

Cuando nos especifican estos datos, podemos

utilizar la ecuación anterior para calcular la

resistencia en una temperatura en particular:

La característica tensión-intensidad (V/I) de un

resistor NTC presenta un carácter peculiar, ya

que cuando las corrientes que lo atraviesan son

pequeñas, el consumo de potencia (R I2) será

demasiado pequeño para registrar aumentos

apreciables de temperatura, o lo que es igual,

descensos en su resistencia óhmica; en esta parte

de la característica la relación tensión-intensidad

será prácticamente lineal y en consecuencia

cumplirá la ley de Ohm.

Pero si seguimos aumentando la tensión aplicada

a la NTC, se llegará a un valor de intensidad en

que la potencia consumida provocará aumentos

de temperatura suficientemente grandes como

para que la resistencia disminuya

apreciablemente, incrementándose la intensidad

hasta que se establezca el equilibrio térmico.

Para evitar esto, la mejor manera de conectarlo a

nuestro microcontrolador es mediante un divisor

de tensión donde Vout va a ser prácticamente

lineal.

LM35

El LM35 es un sensor de temperatura integrado

de precisión, cuya tensión de salida es

linealmente proporcional a temperatura en ºC

(grados centígrados).

Page 3: Práctica No. 2 Sensores de Temperatura

El LM35 por lo tanto tiene una ventaja sobre los

sensores de temperatura lineal calibrada en

grados Kelvin: que el usuario no está obligado a

restar una gran tensión constante para obtener

grados centígrados.

El LM35 no requiere ninguna calibración externa

o ajuste para proporcionar una precisión típica de

± 1.4 ºC a temperatura ambiente y ± 3.4 ºC a lo

largo de su rango de temperatura (de -55 a 150

ºC). El dispositivo se ajusta y calibra durante el

proceso de producción. La baja impedancia de

salida, la salida lineal y la precisa calibración

inherente, permiten la creación de circuitos de

lectura o control especialmente sencillos. El

LM35 puede funcionar con alimentación simple

o alimentación doble (+ y -).

Requiere sólo 60 µA para alimentarse, y bajo

factor de auto-calentamiento, menos de 0,1 ºC en

aire estático. El LM35 está preparado para

trabajar en una gama de temperaturas que abarca

desde los- 55 ºC bajo cero a 150 ºC, mientras que

el LM35C está preparado para trabajar entre -40

ºC y 110 ºC (con mayor precisión).

Características:

Calibrado directamente en grados Celsius

(Centígrados)

Factor de escala lineal de +10 mV / ºC

0,5ºC de precisión a +25 ºC

Rango de trabajo: -55 ºC a +150 ºC

Apropiado para aplicaciones remotas

Bajo costo

Funciona con alimentaciones entre 4V y 30V

Menos de 60 µA de consumo

Bajo auto-calentamiento (0,08 ºC en aire estático)

Baja impedancia de salida, 0,1W para cargas de

1mA.

El sensor de temperatura puede usarse para

compensar un dispositivo de medida sensible a la

temperatura ambiente, refrigerar partes delicadas

del robot o bien para analizar las temperaturas en

el transcurso de un trayecto de exploración.

Para hacernos un termómetro lo único que

necesitamos es un voltímetro bien calibrado y en

la escala correcta para que nos muestre el voltaje

equivalente a temperatura. Podemos conectarlo a

un conversor Analógico/Digital y tratar la medida

digitalmente, almacenarla o procesarla con un

µControlador o sim.

Termopar

Un termopar es un dispositivo de estado sólido

que se utiliza para convertir la energía en voltaje.

Consta de dos metales diferentes empalmados en

una juntura.

Pueden utilizarse como materiales para la

fabricación de termopares, tales como: hierro y

constantano, cobre y constantano o antimonio y

bismuto.

Los termopares se emplean como sensores de

temperatura e instrumentos semejantes a los

termómetros denominados pirómetros. En un

pirómetro, el voltaje producido por un termopar

origina que una corriente circule a través de un

medidor eléctrico, el cual se calibra para indicar

directamente el valor de la temperatura. Un

termopar puede colocarse en un horno; cuando

aumenta la temperatura en el horno, también

aumenta el voltaje que se genera en el termopar.

En consecuencia pasa más corriente por el

medidor. En tal caso, el medidor indica el

aumento de corriente como una temperatura

mayor. Con los pirómetros se puede medir con

mucha precisión, temperaturas que van desde

2700 hasta 10,800ºF (1,500 a 6,000ºC).

Un termopar no mide temperaturas absolutas,

sino la diferencia de temperatura entre el extremo

caliente y el extremo frío. Este efecto

termoeléctrico hace posible la medición de

temperatura mediante un termopar.

Tipos de Termopar.

Aunque existen más tipos de termopar estos son

los más comunes.

Page 4: Práctica No. 2 Sensores de Temperatura

Generalmente los termopares se fabrican con

tubos protectores o termopozos, esta es con el fin

de proteger los alambres del termopar contra las

atmósferas corrosivas y las altas presiones.

Así como los límites de error:

Protección para Termopares.

Estos pueden ser con conexiones a proceso

roscadas NPT milimétricas o bridadas.

Acero inoxidable 304 o 316.

Hierro negro.

Carburo de silicio.

Cerámica silma.

Cerámica aluminia pura.

TF 220°C.

Inconel 600 y 625.

Incoloy 800. Hasteloy.

Caracterización del Termistor NTC.

TERMISTOR Resistencia Temperatura

13.8 10

13.5 10

13.6 10

13.5 10

13.4 10

13 10

13.1 10

13 10

12.5 15

12.7 15

12.4 15

12.2 15

12.9 15

12.3 15

12.4 15

11.9 15

11.8 20

11.5 20

11.7 20

11.3 20

11 20

11.1 20

11.3 20

10.9 20

10.62 24

10.69 24

10.64 24

10.68 24

10.72 24

10.5 24

10.63 24

10.2 24

8.93 30

8.68 30

8.5 30

8.45 30

8.76 30

8.3 30

Page 5: Práctica No. 2 Sensores de Temperatura

8.79 30

8.41 30

6.98 35

6.74 35

6.5 35

6.57 35

6.44 35

6.82 35

6.67 35

6.79 35

5.88 40

5.94 40

5.5 40

5.38 40

5.66 40

5.45 40

5.86 40

5.27 40

5.69 45

5.63 45

5.64 45

5.86 45

5.74 45

5.71 45

5.37 45

5.61 45

4.95 50

4.92 50

4.66 50

4.79 50

4.84 50

4.39 50

4.73 50

4.56 50

4.6 50

Caracterización del sensor LM35.

LM35 Voltaje Temperatura

0.137 10

0.132 10

0.15 10

0.146 10

0.155 10

0.162 10

0.13 10

0.141 10

0.173 15

0.169 15

0.178 15

0.185 15

0.193 15

0.196 15

0.198 15

0.194 15

0.2 20

0.23 20

0.238 20

0.229 20

0.225 20

0.234 20

0.225 20

0.246 20

0.25 24

0.252 24

0.255 24

0.268 24

0.266 24

0.273 24

0.281 24

0.292 24

0.315 30

0.33 30

0.328 30

0.336 30

0.344 30

0.35 30

0.352 30

0.359 30

0.363 35

0.368 35

0.377 35

0.375 35

Page 6: Práctica No. 2 Sensores de Temperatura

0.381 35

0.395 35

0.396 35

0.415 35

0.422 40

0.427 40

0.43 40

0.432 40

0.439 40

0.442 40

0.449 40

0.454 40

0.461 45

0.469 45

0.473 45

0.478 45

0.483 45

0.489 45

0.485 45

0.491 45

0.494 50

0.499 50

0.512 50

0.517 50

0.523 50

0.52 50

0.526 50

0.522 50

0.525 50

Caracterización Gráfica de los sensores a

trabajar.

LM35DZ:

0

0.1

0.2

0.3

0.4

0.5

0.6

0 20 40 60

LM35DZ

Voltaje

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

13.8 25 33 32.3

LM35DZ

Voltaje

Page 7: Práctica No. 2 Sensores de Temperatura

Termistor NTC:

Desarrollo

1.- En el primer desarrollo, se tiene que realizar

un diseño de un circuito que tenga la tarea de

sensar los cambios de temperatura de un sensor

de temperatura, mediante un galvanómetro, el

cual tenga la capacidad de dar una lectura en la

cual este muestre los cambios. Se usara un sensor

LM35, el cual se linealizara y dará una precisión

del cambio de temperatura en el galvanómetro,

con escala de grados Celsius.

En este diseño se muestra un galvanómetro que

sirve como escala de medición en grados Celsius.

Para claro ejemplo se tiene el manejo, de este

dispositivo, con el uso de amplificadores

operacionales, este amplificara la ganancia del

sensor LM35, así desplazando la aguja y

censando la temperatura desde el LM35.

Aquí se ve como está configurado tanto el sensor

y el galvanómetro que da una temperatura

aproximada de alrededor, de unos 31oC.

Cuando se aplica un cambio de temperatura este

lo sensa y genera un aumento en el voltaje que se

le deja llegar al galvanómetro que no es más que

una herramienta de medición la cual, va

mostrando los cambios de temperatura.

0

5

10

15

0 20 40 60

Termistor NTC

Resistencia

0

5

10

15

13.8 25 33 32.3 43

Termistor NTC

Resistencia

Page 8: Práctica No. 2 Sensores de Temperatura

Aquí se muestra un claro ejemplo de cómo

funciona este dispositivo, en el cual el voltaje de

salida del sensor, determina el incremento de la

temperatura con la relación al incremento del

voltaje de salida del sensor, que se amplificara

para tener una mayor ganancia y poder calibrar

nuestro Galvanómetro.

2.- En el segundo diseño, se tiene que realizar un

diseño de un sensor de temperatura, el cual

mostrara la leyenda de los cambios de

temperatura, en una LCD, dado los grados

Celsius y Fahrenheit, la temperatura que sensa y

los cambios que podría llegar a sensar, dado que

el LCD, será la muestra de un circuito digital.

Se muestra que el dispositivo deberá ser

conectado a un microcontrolador Arduino, el cual

procesara la señal analógica, del sensor y este

será llevado a un proceso matemático el cual

convertirá las variaciones de voltaje en pulsos, y

estos son tratados como datos dentro del

microprocesador, al final obtendremos los

valores los cuales imprimiremos en nuestra

leyenda dentro de la LCD.

Se muestra que el dispositivo deberá ser

conectado a un microcontrolador Arduino, el cual

procesara la señal analógica, del sensor y este

será llevado a un proceso matemático el cual

convertirá las variaciones de voltaje en pulsos, y

estos son tratados como datos dentro del

microprocesador, al final obtendremos los

valores los cuales imprimiremos en nuestra

leyenda dentro de la LCD.

La imagen muestra la conexión de la placa

Arduino, y sus componentes los cuales muestran

como la señal de entrada del LM35, ubicada en el

Pin A0, envía la señal detectada por el sensor.

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

27.0

3

1

VOUT2

U3

LM35

D7

14

D6

13

D5

12

D4

11D

310

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

RV1

10K

Page 9: Práctica No. 2 Sensores de Temperatura

Ahora se mostrara el código:

#include <LiquidCrystal.h>//Incluir esta librería para poder usar el lcd.

LiquidCrystal lcd(12,11,5,4,3,2); //Definimos la pantalla LCD

float tempC;

float tempF;

int tempPin = 0; // Definimos la entrada en pin A0

char Grados = 'º';

void setup()

// Abre puerto serial y lo configura a 9600 bps

Serial.begin(9600);

lcd.begin(16,2);

pinMode(13,OUTPUT);

digitalWrite(13, HIGH); //Activamos la retroiluminación

void loop()

// Lee el valor desde el sensor

tempC = analogRead(tempPin);

// Convierte el valor a temperatura

tempC = (5.0 * tempC * 100.0)/1024.0;

//Grados Farenheitt

tempF = (1.8*tempC)+32;

// Envia el dato al puerto serial

Serial.print("Grados: ");

Serial.print(tempC);

Serial.print(Grados);

Serial.println("C");

Serial.print(tempF);

Serial.print(Grados);

Serial.println("F");

//Mostramos los grados en la pantalla LCD

lcd.setCursor(0,0);//Con este comando decimos en que línea queremos escribir

lcd.print("Grados: ");

lcd.print(tempC);

lcd.print(" C");

lcd.setCursor(0,1);

lcd.print("Grados: ");

lcd.print(tempF);

lcd.print(" F");

// Espera cinco segundo para repetir el loop

Page 10: Práctica No. 2 Sensores de Temperatura

delay(1000);

En si el diseño es en parte una aplicación de un

sensor, el cual sería de apoyo y uso en casos

como el de hogares, domicilios, oficinas etc. los

cuales a veces necesitan de un sistema de

medición en este caso de temperatura. En esta

imagen se muestra el proyecto ya realizado.

Dado que su precisión es una de las mejores en

este tipo de dispositivos, se maneja la precisión

de ser un buen sensor de temperatura ambiente.

Pero también sensa los cambios de temperatura.

En ello se muestra el cambio de temperatura de

alrededor de 24.5oC a una temperatura de más de

107.4oC, al pasarle una llama sobre su superficie,

realizando los cálculos correspondientes, se

analizan los pulsos analógicos que son

transformados en bits y mostrados en la pantalla.

Al final se muestra su eficiencia para sensar

temperaturas menores a la del ambiente del lugar.

3.- Para este diseño, se tiene un diseño, de

controlador Analógico-Digital, el cual la entrada

de una señal analógica de poco voltaje, activara

la conversión de señales en la cual mandara

pulsos cuadrados digitales, los cuales

encenderán, cada uno de los leds dentro de los

vummers de una escala de 10oC a 100

oC.

En este diseño, se realiza algo parecido al diseño

anterior, pero en vez de enviar una leyenda de

cuando cambia el valor de la temperatura se

encenderá una de las líneas de los vummers,

hasta que se llegue al máximo establecido por el

proveedor.

Page 11: Práctica No. 2 Sensores de Temperatura

Aquí se muestra la simulación del proyecto el

cual cuenta con un vummer, conectado a 10

salidas de Arduino, las cuales mediante una

sentencia de condición encenderán cada una de

las líneas del vummer, las cuales se encenderán

al incremento de la temperatura y se apagaran al

decremento de la misma.

Para que se enciendan cada uno de las líneas de

los vummers analizaremos el código usado:

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

12345678

20

19

18

17

16

15

14

13

912

10

11

U2LED-BARGRAPH-RED

27.0

3

1

VOUT2

U3

LM35

R4220

R5220

R6220

R7220

R8220

R9220

R10220

R11220

R12220

R13220

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

12345678

20

19

18

17

16

15

14

13

912

10

11

U2LED-BARGRAPH-RED

100.0

3

1

VOUT2

U3

LM35

R4220

R5220

R6220

R7220

R8220

R9220

R10220

R11220

R12220

R13220

Page 12: Práctica No. 2 Sensores de Temperatura

#include <math.h>

float tempC;

float tempF;

int tempPin = 0; // Definimos la entrada en pin A0

int PotPin = 1;

//Escala de Avisos

int escala = 5;

//Variable para la temperatura de disparo

double tempMin = 0.0;

const int analogOutPin = 9; // Salida para el Galvanómetro

int outputValue = 0; // valor de salida para PWM Galvanómetro(analog out)

//Pines para los LED

int pinLed1 = 8;

int pinLed2 = 9;

int pinLed3 = 10;

int pinLed4 = 11;

int pinLed5 = 12;

int pinLed6 = 13;

int pinLed7 = 14;

int pinLed8 = 15;

int pinLed9 = 16;

int pinLed10 = 17;

char Grados = 'º';

void setup()

// Abre puerto serial y lo configura a 9600 bps

Serial.begin(9600); //Declaramos pines de salida

pinMode(pinLed1, OUTPUT);

pinMode(pinLed2, OUTPUT);

pinMode(pinLed3, OUTPUT);

pinMode(pinLed4, OUTPUT);

pinMode(pinLed5, OUTPUT);

pinMode(pinLed6, OUTPUT);

pinMode(pinLed7, OUTPUT);

pinMode(pinLed8, OUTPUT);

pinMode(pinLed9, OUTPUT);

pinMode(pinLed10, OUTPUT);

//Y los pines de entrada

pinMode(tempPin, INPUT);

pinMode(PotPin, INPUT);

void loop()

// Lee el valor desde el sensor

tempC = analogRead(tempPin);

Page 13: Práctica No. 2 Sensores de Temperatura

// Convierte el valor a temperatura

tempC = (5.0 * tempC * 100.0)/1024.0;

// Cambia el valor de salida de voltaje para el Galvanómetro:

analogWrite(tempPin, outputValue);

// Mapea el rango de temperatura del galvanómetro de acuerdo al voltaje otorgado:

outputValue = map(tempPin, 0, 1023, 0, 255);

//Primero leemos el potenciómetro

tempMin = analogRead(PotPin);

//Lo mapeamos a valores de -100 a 800

tempMin = map (tempMin, 0, 1023, -100, 800);

//Y lo dividimos entre 10 para darle un decimal

tempMin = tempMin/10;

//Grados Fahrenheit

tempF = (1.8*tempC)+32;

//Y lanzamos el ajuste establecido vía serie

Serial.println("-----------------------------------------------");

Serial.println();

Serial.print("AJUSTE DE TEMPERATURA MINIMA A ");

Serial.print(tempMin);

Serial.println(" GRADOS CELSIUS");

Serial.println();

Serial.println("-----------------------------------------------");

// Envia el dato al puerto serial

Serial.print("Grados: ");

Serial.print(tempC);

Serial.print(Grados);

Serial.println("C");

Serial.print(tempF);

Serial.print(Grados);

Serial.println("F");

//Ahora las comparaciones para las salidas

if(tempC < tempMin)

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, LOW);

digitalWrite(pinLed3, LOW);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

Page 14: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if (((tempC <= (tempMin + escala + 5)) & (tempC > tempMin)))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, LOW);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if (((tempC<=(tempMin+(escala*3)+5))&(tempC>tempMin+escala+5)))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*5)+5))&(tempC>tempMin+(escala*3)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*7)+5))&(tempC>tempMin+(escala*5)+5))

digitalWrite(pinLed1, HIGH);

Page 15: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*9)+5))&(tempC>tempMin+(escala*7)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*11)+5))&(tempC>tempMin+(escala*9)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*13)+5))&(tempC>tempMin+(escala*11)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, LOW);

Page 16: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed10, LOW);

else if ((tempC<=(tempMin+(escala*15)+5))&(tempC>tempMin+(escala*13)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, HIGH);

digitalWrite(pinLed10, LOW);

else if (tempC > (tempMin + (escala*17)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, HIGH);

digitalWrite(pinLed10, HIGH);

//Un pequeño delay para no volver loco al puerto serie

delay(2500);

Se analiza que se necesita de una sentencia “if”,

para cumplir las condiciones, a su vez este

encenderá cada una de las barras del vummer.

Dado la condición se muestra como solo se

encienden tres líneas, dado que apenas sensa el

cambio de temperatura cumpliendo la condición

de encenderse tres líneas si la temperatura es

mayor a 20oC.

Page 17: Práctica No. 2 Sensores de Temperatura

En ésta imagen se muestra como rebasa los

100oC, esta situación cumple la condición del

cambio de temperatura al ser censada, la pequeña

flama que indica que se han alcanzado una

temperatura previamente mencionada.

Aquí se tiene el caso contrario, en el cual se llega

a la temperatura mínima, en este caso a una

temperatura menor a los 10oC, cumpliendo la

condición de solo encender una línea de los

vummers.

4.-Diseñar un circuito el cual active un ventilador

al alcanzar una temperatura de 50oC los cuales

servirán como señal de activación para encender

un ventilador de 12v.

Para el desarrollo de este proyecto, el cual

contiene el uso de un amplificador, se cuenta con

el apoyo, de un amplificador operacional y un

transistor el cual sirve como interruptor de estado

sólido.

5.-Diseñar un circuito el cual haga que funcione

un calefactor de agua, el cual que se mantenga el

agua entre 20oC y 30

oC, y no deje que aumente o

disminuya, la temperatura dentro de los rangos,

previamente establecido, dado que podrá ser

usado para establecer cierto confort en alguna

aplicación, personal.

Para este caso se tiene que usar un calefactor que

lleve una etapa de potencia, debido que el

dispositivo lleva una alimentación de 127v de

C.A la cual si no se aterriza bien podría dañar

nuestros componentes.

En esta imagen se muestra cómo es que se

configuro nuestro diseño y el cual cumple la

condición de cerrar el circuito de potencia,

siempre y cuando cumpla las condición de

encenderse cuando la temperatura del líquido o

agua no este entre los 20oC y no mayor a 30

oC, el

cual sirve como un calefactor para distintos usos.

Por ello para entenderlo mejor se analizara el

código:

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

23.0

3

1

VOUT2

U3

LM35

L112V

RL112VD3

DIODE

Q1BC547

L1(2)

Page 18: Práctica No. 2 Sensores de Temperatura

float tempC;

float tempF;

int tempPin = 0; // Definimos la entrada en pin A0

char Grados = 'º';

void setup()

// Abre puerto serial y lo configura a 9600 bps

Serial.begin(9600);

lcd.begin(16,2);

pinMode(13,OUTPUT);

digitalWrite(13, HIGH); //Activamos la retroiluminación

void loop()

// Lee el valor desde el sensor

tempC = analogRead(tempPin);

// Convierte el valor a temperatura

tempC = (5.0 * tempC * 100.0)/1024.0;

//Grados Farenheitt

tempF = (1.8*tempC)+32;

// Envia el dato al puerto serial

Serial.print("Grados: ");

Serial.print(tempC);

Serial.print(Grados);

Serial.println("C");

Serial.print(tempF);

Serial.print(Grados);

Serial.println("F");

if(20<tempC&&tempC<30)

digitalWrite(6,HIGH);

else

digitalWrite(6,LOW);

delay(1000);

Page 19: Práctica No. 2 Sensores de Temperatura

Aquí se muestra una imagen, la cual se ve el

funcionamiento de cómo lo enciende y empieza a

conducir corriente sobre una resistencia eléctrica,

para calentar el agua.

Aquí se muestra en reposo a una temperatura

ambiente menor a 30oC, lo cual no genera que

cierre el circuito de potencia.

Se muestra como se genera la calefacción del

líquido en el recipiente, dado que este rompe la

barrera de la mínima de 20oC, lo que genera que

se encienda el calefactor, cuando este llegue a

superar la temperatura de 30oC se apagara.

Si se observa de manera atenta se muestra la

ebullición del agua al calentarse la resistencia,

debido al aumento de la corriente sobre la misma,

la cual generar un incremento exponencial de

alrededor de unos 5.7oC, cada minuto, se debe

establecer que la temperatura del fluido, en este

caso agua es de unos 2 a 3 grados Celsius menor

a la ambiente, dado a su composición física.

Dado, que se trabajó con un sensor, el cual ya

está linealizado la variación de voltaje, con la

temperatura que llega a sensar y a variar a la vez.

La última parte de esta práctica consistió en la

implementación de los circuitos anteriormente

descritos pero ahora con el uso de un Termistor

NTC.

6.- Para este diseño, se obtiene el uso del sensor

NTC, el cual se deberá linealizar, dentro del

rango de una temperatura promedio de 20oC, los

cuales se deberán dar una medición en el

galvanómetro, indicando una temperatura

aproximada.

Page 20: Práctica No. 2 Sensores de Temperatura

Para linealizar al Termistor NTC, se debe

conectar dos resistencias en paralelo de valores

aproximados a 10kΩ y 4.7kΩ, de los cuales

regularan la señal del Termistor de un valor de

10kΩ, y se conectara una resistencia de 220Ω, la

cual conectada en serie para que la señal no se

llegue a perder en la caída de potencial.

Se tiene el uso de un Opamp, de uso genérico

LM358, el cual nos ayudara amplificar el voltaje

y su ganancia en la señal que envíe nuestro

Termistor NTC, el cual amplifica y genera la

variación del voltaje sobre el cual se muestra en

el galvanómetro.

Aquí se muestra al diseño, en funcionamiento,

con lo cual este llega a sensar la temperatura de

la habitación, (ese día la temperatura promedio

ambiente era alrededor de unos 12oC)

estableciendo una lectura de 14oC en el ambiente

de la habitación.

Ya en esta imagen muestra el incremento, que se

tiene al acercarse la flama de un mechero, este

llega a sensar la temperatura y para elevar su

aguja este tiende a reducir la resistividad misma

de los materiales que lo compone, en este caso el

retraso, con un medidor patrón es mínimo ya que

es casi instantánea la variabilidad de su

resistencia así como sus cambio.

7.- En este diseño, se debe de usar un sensor

NTC, para que muestre una leyenda en una LCD,

el cual indique las temperaturas, tanto en grados

Celsius y grados Fahrenheit, y muestre la

temperatura que sensa alrededor.

Para este caso, se tiene que el NTC mandara

señales analógicas de variación de voltaje, la cual

se hacen ajustes dentro de los códigos, en el

microcontrolador el cual reproducirá, una

leyenda con los posibles cambios de temperatura

que llegue a sentir.

Aquí está el código, el cual muestra cómo se

debe linealizar el código, con las resistencias

pull-up, dentro del microprocesador:

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

RV1

10K

+tc25.00

RT2KTY81

R410k

RV2

10K

Page 21: Práctica No. 2 Sensores de Temperatura

//Añadimos la librería math.h

#include <math.h>

#include <LiquidCrystal.h> //Incluir esta librería para poder usar el lcd

LiquidCrystal lcd(12,11,5,4,3,2); //Definimos la pantalla LCD

//Pines para las entradas analógicas

int tempPin = 0;

int PotPin = 1;

//Variable para la temperatura de disparo

double tempMin = 0.0;

//Datos para las ecuaciones

float Vin = 5.0; // [V] Tensión alimentación del divisor

float Rfija = 200.0; // [ohm] Resistencia fija del divisor

float R25 = 2800; // [ohm] Valor de NTC a 25ºC

float Beta = 3977.0; // [K] Parámetro Beta de NTC

float T0 = 293.15; // [K] Temperatura de referencia en Kelvin

float Vout = 0.0; // [V] Variable para almacenar Vout

float Rntc = 0.0; // [ohm] Variable para NTC en ohms

float TempK = 0.0; // [K] Temperatura salida en Kelvin

float TempC = 0.0; // [ºC] Temperatura salida en Celsius

float tempF;

char Grados = 'º';

void setup()

// Abre puerto serial y lo configura a 9600 bps

Serial.begin(9600);

lcd.begin(16,2);

pinMode(13,OUTPUT);

digitalWrite(13, HIGH); //Activamos la retroiluminación

void loop()

//Primero leemos el potenciómetro

tempMin = analogRead(PotPin);

//Lo mapeamos a valores de -100 a 800

tempMin = map (tempMin, 0, 1023, -100, 800);

//Y lo dividimos entre 10 para darle un decimal

tempMin = tempMin/10;

//Y lanzamos el ajuste establecido vía serie

Serial.println("-----------------------------------------------");

Serial.println();

Serial.print("AJUSTE DE TEMPERATURA MINIMA A ");

Serial.print(tempMin);

Page 22: Práctica No. 2 Sensores de Temperatura

Serial.println(" GRADOS CELSIUS");

Serial.println();

Serial.println("-----------------------------------------------");

//Y ahora calculamos la Temperatura

//Primero la Vout del divisor

Vout=(Vin/1024)*(analogRead(tempPin));

//Ahora la resistencia de la NTC

Rntc=(Vout*Rfija)/(Vin-Vout);

//Y por último la temperatura en Kelvin

TempK = Beta/(log(Rntc/R25)+(Beta/T0));

//Y ahora la pasamos a Celsius

TempC = TempK-273.15;

//Grados Fahrenheit

tempF = (1.8*TempC)+32;

//Y lo mostramos por puerto serie

Serial.println();

Serial.print("LA TEMPERATURA DE LA NTC ES DE ");

Serial.print(TempC);

Serial.print(Grados);

Serial.println("C");

Serial.print(tempF);

Serial.print(Grados);

Serial.println("F");

//Mostramos los grados en la pantalla LCD

lcd.setCursor(0,0);//Con este comando decimos en que línea queremos escribir

lcd.print("Grados: ");

lcd.print(TempC);

lcd.print(" C");

lcd.setCursor(0,1);

lcd.print("Grados: ");

lcd.print(tempF);

lcd.print(" F");

delay(1500);

Page 23: Práctica No. 2 Sensores de Temperatura

Al concluir el programa el resultado que se tiene

es la temperatura censada, por el Termistor NTC,

con el cual se desempeña la leyenda del cual

muestra los cambios de temperatura, tanto en

grados Celsius y Fahrenheit.

Dado la precisión de este tipo de sensor, no tiene

mucho problema con empatar con el medidor

patrón para determinar si este se encuentra bien

calibrado, y si así es la condición que se cumple

al haberlo linealizado este deberá dar una

condición de precisión.

Si uno llegara a variar la temperatura, este

respondería de manera rápida, cambiando los

valores de las temperaturas a su alrededor.

Pero a la vez este es capaz de realizar los

cambios de temperatura, cuando se le introduce a

una superficie que tiene menor temperatura, la

cual muestra cómo llega a cambiar los valores

descendiendo de casi 90oC, a solo 10

oC.

Esta tendrá la capacidad de descender, hasta casi

0oC, lo cual mantiene la relación de que sigue la

relación de disminuir la temperatura del sensor.

8.- Se deberá realizar un diseño de un circuito

Analógico-Digital, en la cual la entrada deberá

ser un sensor NTC, y a la salida deberá estar un

vummer, el cual se ira de una señal analógica de

variación de voltaje a una digital la cual active

mediante pulsos, los leds del vummer de un

rango de 10oC a 100

oC.

Page 24: Práctica No. 2 Sensores de Temperatura

Aquí se empieza, con el configurar el vummer,

de tal manera que este valla encendiendo, cada

una de las líneas, al cambiar la temperatura, ya

que este va a sensar el cambio en su alrededor y

cada luz que se enciende indica un incremento.

Como los circuitos anteriores se muestra como

reaccionara el sensor a los cambios de

temperatura, en el caso de la imagen muestra

como la temperatura debe variara entre los 25 a

29oC, esto es fácil de deducir gracias a que el

código que muestra solo tres líneas en el

vummer.

El código, de este diseño, es el siguiente:

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

12345678

20

19

18

17

16

15

14

13

912

10

11

U2LED-BARGRAPH-RED

R4220

R5220

R6220

R7220

R8220

R9220

R10220

R11220

R12220

R13220

+tc25.00

RT2KTY81

R1610k

RV2

10K

Page 25: Práctica No. 2 Sensores de Temperatura

//Añadimos la librería math.h

#include <math.h>

//Pines para los LED

int pinLed1 = 14;

int pinLed2 = 15;

int pinLed3 = 16;

int pinLed4 = 17;

int pinLed5 = 18;

int pinLed6 = 19;

int pinLed7 = 20;

int pinLed8 = 21;

int pinLed9 = 22;

int pinLed10 = 23;

//Pines para las entradas analógicas

int tempPin = 0;

int PotPin = 2;

const int analogOutPin = 9; // Salida para el Galvanómetro

int outputValue = 0; // valor de salida para PWM Galvanómetro(analog out)

//Escala de Avisos

int escala = 5;

//Variable para la temperatura de disparo

double tempMin = 0.0;

//Datos para las ecuaciones

float Vin = 5.0; // [V] Tensión alimentación del divisor

float Rfija = 200.0; // [ohm] Resistencia fija del divisor

float R25 = 2800; // [ohm] Valor de NTC a 25ºC

float Beta = 3977.0; // [K] Parámetro Beta de NTC

float T0 = 293.15; // [K] Temperatura de referencia en Kelvin

float Vout = 0.0; // [V] Variable para almacenar Vout

float Rntc = 0.0; // [ohm] Variable para NTC en ohms

float TempK = 0.0; // [K] Temperatura salida en Kelvin

float TempC = 0.0; // [ºC] Temperatura salida en Celsius

float tempF;

char Grados = 'º';

void setup()

//Comenzamos la comunicación puerto serie

Serial.begin(9600);

Page 26: Práctica No. 2 Sensores de Temperatura

//Declaramos pines de salida

pinMode(pinLed1, OUTPUT);

pinMode(pinLed2, OUTPUT);

pinMode(pinLed3, OUTPUT);

pinMode(pinLed4, OUTPUT);

pinMode(pinLed5, OUTPUT);

pinMode(pinLed6, OUTPUT);

pinMode(pinLed7, OUTPUT);

pinMode(pinLed8, OUTPUT);

pinMode(pinLed9, OUTPUT);

pinMode(pinLed10, OUTPUT);

//Y los pines de entrada

pinMode(tempPin, INPUT);

pinMode(PotPin, INPUT);

void loop()

//Primero leemos el potenciómetro

tempMin = analogRead(PotPin);

//Lo mapeamos a valores de -100 a 800

tempMin = map (tempMin, 0, 1023, -100, 800);

//Y lo dividimos entre 10 para darle un decimal

tempMin = tempMin/10;

//Y lanzamos el ajuste establecido vía serie

Serial.println("-----------------------------------------------");

Serial.println();

Serial.print("AJUSTE DE TEMPERATURA MINIMA A ");

Serial.print(tempMin);

Serial.println(" GRADOS CELSIUS");

Serial.println();

Serial.println("-----------------------------------------------");

//Y ahora calculamos la Temperatura

//Primero la Vout del divisor

Vout=(Vin/1024)*(analogRead(tempPin));

//Ahora la resistencia de la NTC

Rntc=(Vout*Rfija)/(Vin-Vout);

//Y por último la temperatura en Kelvin

TempK = Beta/(log(Rntc/R25)+(Beta/T0));

Page 27: Práctica No. 2 Sensores de Temperatura

//Y ahora la pasamos a Celsius

TempC = TempK-273.15;

//Grados Farenheitt

tempF = (1.8*TempC)+32;

// change the analog out value:

analogWrite(tempPin, outputValue);

// map it to the range of the analog out:

outputValue = map(tempPin, 0, 1023, 0, 255);

//Y lo mostramos por puerto serie

Serial.println();

Serial.print("LA TEMPERATURA DE LA NTC ES DE ");

Serial.print(TempC);

Serial.print(Grados);

Serial.println("C");

Serial.print(tempF);

Serial.print(Grados);

Serial.println("F");

//Ahora las comparaciones para las salidas

if(TempC < tempMin + escala)

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, LOW);

digitalWrite(pinLed3, LOW);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if (((TempC <= (tempMin + (escala*2) + 5)) & (TempC > tempMin + escala)))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, LOW);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

Page 28: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed10, LOW);

else if (((TempC<=(tempMin+(escala*4)+5))&(TempC>tempMin+(escala*2)+5)))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, LOW);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*6)+5))&(TempC>tempMin+(escala*4)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, LOW);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*8)+5))&(TempC>tempMin+(escala*6)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, LOW);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*10)+5))&(TempC>tempMin+(escala*8)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

Page 29: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, LOW);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*12)+5))&(TempC>tempMin+(escala*10)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, LOW);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*14)+5))&(TempC>tempMin+(escala*12)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, LOW);

digitalWrite(pinLed10, LOW);

else if ((TempC<=(tempMin+(escala*16)+5))&(TempC>tempMin+(escala*14)+5))

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, HIGH);

digitalWrite(pinLed10, LOW);

else if (TempC > (tempMin + (escala*17)+10))

Page 30: Práctica No. 2 Sensores de Temperatura

digitalWrite(pinLed1, HIGH);

digitalWrite(pinLed2, HIGH);

digitalWrite(pinLed3, HIGH);

digitalWrite(pinLed4, HIGH);

digitalWrite(pinLed5, HIGH);

digitalWrite(pinLed6, HIGH);

digitalWrite(pinLed7, HIGH);

digitalWrite(pinLed8, HIGH);

digitalWrite(pinLed9, HIGH);

digitalWrite(pinLed10, HIGH);

//Un pequeño delay para no volver loco al puerto serie

delay(2500);

Por ello, la condición de los cambios de

temperatura, se llegan a presentar, una de las

condiciones es que tenga una temperatura

mínima, que sirva de barrera, para que este

empiece a ejercer cambios, y se enciendan las

líneas de los vummers.

A su vez cuando deja de sensar los incrementos

de temperatura, este puede, regresar rápidamente

a su estado original o disminuir la temperatura

anterior o cercana previamente al incremento de

la temperatura de la llama.

A su vez muestra el decremento de la

temperatura censada por el NTC, el cual puede

medir temperaturas por lo menor a lo establecido

en el limitador. En el caso de la imagen inferior

se llega a temperaturas menores a los 10oC.

Page 31: Práctica No. 2 Sensores de Temperatura

9.- En el siguiente diseño se tiene un sensor

NTC, el cual deberá activar un ventilador al

alcanzar una temperatura de 50oC la cual activara

el ventilador y al caer esa temperatura se activara

su estado de reposo.

En este diseño, se hace una sentencia que cumpla

la condición de encender un ventilador a 50oC,

mientras no llegue a esa temperatura no

encenderá.

Pero, al cumplir la condición, este se encenderá,

y activara al ventilador, el cual al llegar la

temperatura de 50oC, se encenderá.

Para entender su funcionamiento, debemos

marcar el código en Arduino, para su

funcionamiento:

Page 32: Práctica No. 2 Sensores de Temperatura

#include <math.h>

int tempPin = 0;

int PotPin = 3;

double tempMin = 0.0;

float Vin = 5.0; // [V] Tensión alimentación del divisor

float Rfija = 200.0; // [ohm] Resistencia fija del divisor

float R25 = 2800; // [ohm] Valor de NTC a 25ºC

float Beta = 3977.0; // [K] Parámetro Beta de NTC

float T0 = 293.15; // [K] Temperatura de referencia en Kelvin

float Vout = 0.0; // [V] Variable para almacenar Vout

float Rntc = 0.0; // [ohm] Variable para NTC en ohms

float TempK = 0.0; // [K] Temperatura salida en Kelvin

float TempC = 0.0; // [ºC] Temperatura salida en Celsius

char Grados = 'º';

void setup()

Serial.begin(9600);

pinMode(6,OUTPUT);

void loop()

tempMin = analogRead(PotPin);

tempMin = map (tempMin, 0, 1023, -100, 800);

tempMin = tempMin/10;

Serial.println("-----------------------------------------------");

Serial.println();

Serial.print("AJUSTE DE TEMPERATURA MINIMA A ");

Serial.print(tempMin);

Serial.println(" GRADOS CELSIUS");

Serial.println();

Serial.println("-----------------------------------------------");

Vout=(Vin/1024)*(analogRead(tempPin));

Rntc=(Vout*Rfija)/(Vin-Vout);

TempK = Beta/(log(Rntc/R25)+(Beta/T0));

TempC = TempK-273.15;

if(TempC>50)

digitalWrite(6,HIGH);

Page 33: Práctica No. 2 Sensores de Temperatura

else

digitalWrite(6,LOW);

Serial.println();

Serial.print("LA TEMPERATURA DE LA NTC ES DE ");

Serial.print(TempC);

Serial.print(Grados);

Serial.println("C");

delay(1000);

Al caer la condición de una temperatura menor

de 50oC, se vuelve apagar, cumpliendo con el

objetivo y la condición de trabajo.

10.- Diseñar un circuito el cual haga que

funcione un calefactor de agua, el cual que se

mantenga el agua entre 20oC y 30

oC, y no deje

que aumente o disminuya, la temperatura dentro

de los rangos, previamente establecido, dado que

podrá ser usado para establecer cierto confort en

alguna aplicación, personal. El sensor a utilizar

en este caso deberá ser un termistor NTC, el cual

activara el calentador al romper ese rango.

Como en el caso anterior del sensor LM35, se

debe encender cuando no este en la temperatura

de 20oC y mantenerse así, pero no sobrepasando

los 30oC.

Para comprender el funcionamiento de nuestro

diseño, debemos mostrar el código, del

microcontrolador, el cual se tiene en el código:

ARDUINO MEGA

CCT001

D35

D34

D33

D32

D31

D30

D29

D28

D27

D26

D25

D24

D23

D22

A5

A4

A3

A2

A1

A0

RESET

GND

POWER1K

VCC1

GND1

VCC1

GND1

L 1K

D36

D37

D38

D39

D40

D41

D42

D43

D44

D45

D46

D47

D48

D49

D50

D51

D52

D53

A6

A7

A8

A9

A11

A12

A10

A13

A14

A15

P13

P12

P11

P10

P8

P9

P7

P6

P5

P4

P3

TX

RX

RX1

RX2

TX1

TX2

TX3

RX3

SDA

SCL

AREF

(SCK)

(SS)

(MISO)

(MOSI)

L112V

RL112VD3

DIODE

Q1BC547

+tc25.00

RT2KTY81

R1610k

RV2

10K

Page 34: Práctica No. 2 Sensores de Temperatura

#include <math.h>

int tempPin = 0;

int PotPin = 4;

double tempMin = 0.0;

float Vin = 5.0; // [V] Tensión alimentación del divisor

float Rfija = 200.0; // [ohm] Resistencia fija del divisor

float R25 = 2800; // [ohm] Valor de NTC a 25ºC

float Beta = 3977.0; // [K] Parámetro Beta de NTC

float T0 = 293.15; // [K] Temperatura de referencia en Kelvin

float Vout = 0.0; // [V] Variable para almacenar Vout

float Rntc = 0.0; // [ohm] Variable para NTC en ohms

float TempK = 0.0; // [K] Temperatura salida en Kelvin

float TempC = 0.0; // [ºC] Temperatura salida en Celsius

char Grados = 'º';

void setup()

Serial.begin(9600);

pinMode(6,OUTPUT);

void loop()

tempMin = analogRead(PotPin);

tempMin = map (tempMin, 0, 1023, -100, 800);

tempMin = tempMin/10;

Serial.println("-----------------------------------------------");

Serial.println();

Serial.print("AJUSTE DE TEMPERATURA MINIMA A ");

Serial.print(tempMin);

Serial.println(" GRADOS CELSIUS");

Serial.println();

Serial.println("-----------------------------------------------");

Vout=(Vin/1024)*(analogRead(tempPin));

Rntc=(Vout*Rfija)/(Vin-Vout);

TempK = Beta/(log(Rntc/R25)+(Beta/T0));

TempC = TempK-273.15;

if(20<TempC&&TempC<30)

digitalWrite(26,HIGH);

Page 35: Práctica No. 2 Sensores de Temperatura

else

digitalWrite(26,LOW);

Serial.println();

Serial.print("LA TEMPERATURA DE LA NTC ES DE ");

Serial.print(TempC);

Serial.print(Grados);

Serial.println("C");

delay(1000);

Para ello el control del calefactor, debemos

entender que se conecta a un circuito de potencia,

el cual al cumplirse la condición encenderá al

circuito.

Por ello si por alguna razón no se llega a cumplir

la condición de que el agua se encuentre mayor a

20oC o menor a 30

oC, este deberá de encender al

calefactor.

COMENTARIOS:

Para esta práctica, la caracterización de

los sensores, fue de gran parte de cómo

entender cada uno de ellos, a su vez este

ejercicio, aplico previos conocimientos de

prácticas anteriores, en las cuales se

muestran en la linealización del NTC, o

como los cambios de voltaje indican un

cambio al afectar la temperatura que

sensa el circuito LM35, y como los

sensores termopares, llegan a ser los más

precisos, como ser usados de medida

patrón en la práctica.

Se usó el microcontrolador Arduino,

como sistema de control para algunos de

los diseños, debido a la facilidad que hay

dentro de su programación, por ello fue

de gran ayuda ya que el diseñar un

prototipo, con circuitos integrados, los

cuales nos ayudaran a realizar un circuito

más eficiente el cual nos hacía más

preciso en su utilización.

Por último, el uso de sensores, es una de

las maneras modernas, en que se llega a

controlar un proceso de automatización

como base de los parámetros, en los

cuales estos son determinados como los

rango que se desean controlar o tener una

información de lo que se trata de medir,

sensar o determinar como el rango, que

debe realizar un cambio o establecer una

condición, para cambiar el estado del que

se encuentra.

Page 36: Práctica No. 2 Sensores de Temperatura

CONCLUSIONES:

De los sensores de temperatura empleados en

esta práctica se comprobaron las características

de cada uno de ellos, observando una gran

diferencia respecto a su velocidad de respuesta,

tal fue el caso del sensor LM35DZ que resultó

ser el más rápido de estos. Se tiene el

inconveniente de tener que hacer una

linealización para poder adecuar el

funcionamiento correcto del Termistor NTC; se

observó el problema con una diferencia de

alrededor de 3 grados en el circuito analógico con

su salida en un Galvanómetro.

Hernández Cruz Luis Eduardo

Se concluye que el uso de los sensores de

temperatura, nos ayuda a comprender cómo es

que cada componente electrónico se comporta de

manera diferente, que si uno quiere velocidad en

el cambio de la temperatura es un NTC el que se

debe usar, si se quiere linealidad y facilidad de

uso un LM35, en cuanto a precisión entre uno y

otro es de alrededor de 0.005 milésimas de

unidad Celsius.

Salinas Soria Erik Armando

Existen diferentes tipos de sensores de

temperatura con características específicas de

acuerdo a su aplicación, costo y materiales, lo

que los hace diferentes en cuanto a tiempo de

reacción o velocidad con la que censan los

cambios de temperatura. De los sensores

utilizados el LM35 resulto más eficaz a pesar de

tener una respuesta lenta, ya que el uso del

termistor se complicó ya que al linealizar el

dispositivo se tuvo un error mayor con respecto

al patrón de medida utilizado.

Suárez Alvarado César Omar

BIBLIOGRAFÍA:

“Sensores y acondicionadores de Señal”

Autor: Ramón Pallás Areny

4ª Edición

Editorial Marcombo

Págs. Consultadas: Capitulo 2.4 160-165

Arduino: Curso práctico de formación

Autor: Óscar Torrente Artero

1a Edición

Editorial Alfaomega

Págs. Consultadas: Capitulo 7. 423-428

Electrónica Analógica para Ingenieros

Autor: Jorge Pleite Guerra, Ricardo Vergaz

Benito, José Manuel Ruiz de Marcos

1ª Edición

Editorial McGraw-Hill

Págs. Consultadas: Tema 14, 17 327-351

Cibergrafía:

Título: Sensores NTC

http://www.arduteka.com/2011/12/componentes-

el-sensor-ntc/

Título: Sensor LM35

http://electronica.webcindario.com/componentes/

lm35.htm

http://www.x-robotics.com/sensores.htm#LM35

Título: Termopares

http://www.termokew.mx/termopares.php