SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
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
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).
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.
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
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
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
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 31o
C.
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
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
POWER
1K
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
VOUT
2
U3
LM35
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
LCD1
LM016L
RV1
10K
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
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.5o
C a una temperatura de más de
107.4o
C, 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 10o
C a 100 o
C.
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.
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
POWER
1K
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)
1
2
3
4
5
6
7
8
20
19
18
17
16
15
14
13
912
1011
U2
LED-BARGRAPH-RED
27.0
3
1
VOUT
2
U3
LM35
R4
220
R5
220
R6
220
R7
220
R8
220
R9
220
R10
220
R11
220
R12
220
R13
220
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
POWER
1K
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)
1
2
3
4
5
6
7
8
20
19
18
17
16
15
14
13
912
1011
U2
LED-BARGRAPH-RED
100.0
3
1
VOUT
2
U3
LM35
R4
220
R5
220
R6
220
R7
220
R8
220
R9
220
R10
220
R11
220
R12
220
R13
220
#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);
// 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);
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);
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);
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 20o
C.
En ésta imagen se muestra como rebasa los
100o
C, 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 10o
C, 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 50o
C 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 20o
C y 30o
C, 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 20o
C y no mayor a 30o
C, 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
POWER
1K
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
VOUT
2
U3
LM35
L1
12V
RL1
12VD3
DIODE
Q1
BC547
L1(2)
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);
}
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 30o
C, 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 20o
C, lo que genera que
se encienda el calefactor, cuando este llegue a
superar la temperatura de 30o
C 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.7o
C, 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 20o
C, los
cuales se deberán dar una medición en el
galvanómetro, indicando una temperatura
aproximada.
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 12o
C)
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
POWER
1K
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
9
D1
8
D0
7
E
6
RW
5
RS
4
VSS
1
VDD
2
VEE
3
LCD1
LM016L
RV1
10K
+tc
25.00
RT2
KTY81
R4
10k
RV2
10K
//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);
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);
}
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 90o
C, a solo 10o
C.
Esta tendrá la capacidad de descender, hasta casi
0o
C, 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 10o
C a 100o
C.
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
29o
C, 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
POWER
1K
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)
1
2
3
4
5
6
7
8
20
19
18
17
16
15
14
13
912
1011
U2
LED-BARGRAPH-RED
R4
220
R5
220
R6
220
R7
220
R8
220
R9
220
R10
220
R11
220
R12
220
R13
220
+tc
25.00
RT2
KTY81
R16
10k
RV2
10K
//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);
//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));
//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);
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);
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))
{
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 10o
C.
9.- En el siguiente diseño se tiene un sensor
NTC, el cual deberá activar un ventilador al
alcanzar una temperatura de 50o
C 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 50o
C,
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 50o
C, se encenderá.
Para entender su funcionamiento, debemos
marcar el código en Arduino, para su
funcionamiento:
#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);
}
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 50o
C, 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 20o
C y 30o
C, 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 20o
C y mantenerse así, pero no sobrepasando
los 30o
C.
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
POWER
1K
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)
L1
12V
RL1
12VD3
DIODE
Q1
BC547
+tc
25.00
RT2
KTY81
R16
10k
RV2
10K
#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);
}
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
20o
C o menor a 30o
C, 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.
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

Más contenido relacionado

La actualidad más candente

Instrumentacion y-sensores
Instrumentacion y-sensoresInstrumentacion y-sensores
Instrumentacion y-sensoresKev-in Prak
 
Instrumentos para medir la temperatura
Instrumentos para medir la temperaturaInstrumentos para medir la temperatura
Instrumentos para medir la temperaturaYisethRamos
 
Lab sensores linealización
Lab sensores linealizaciónLab sensores linealización
Lab sensores linealizaciónFernanda Ardila
 
Calibracion termocupla
Calibracion termocuplaCalibracion termocupla
Calibracion termocuplabrenda2606
 
Ind. de Temp. 022 04 02 00
Ind. de Temp. 022 04 02 00Ind. de Temp. 022 04 02 00
Ind. de Temp. 022 04 02 00quimrubau
 
Instrumentos de medida de temperatura[1]
Instrumentos de medida de temperatura[1]Instrumentos de medida de temperatura[1]
Instrumentos de medida de temperatura[1]mayymartinez
 
medidores de temperatura
medidores de temperaturamedidores de temperatura
medidores de temperaturaGusve Meza
 
Instrumentación De Control Clase 6 Temperatura
Instrumentación De Control   Clase 6 TemperaturaInstrumentación De Control   Clase 6 Temperatura
Instrumentación De Control Clase 6 TemperaturaUNEFA
 
Instrumentos de medición de temperatura
Instrumentos de medición de temperaturaInstrumentos de medición de temperatura
Instrumentos de medición de temperaturaluis_angel2015
 

La actualidad más candente (17)

termómetro digital
termómetro digitaltermómetro digital
termómetro digital
 
Medición de Temperatura
Medición de TemperaturaMedición de Temperatura
Medición de Temperatura
 
Circuitos ntc y ptc
Circuitos ntc y ptcCircuitos ntc y ptc
Circuitos ntc y ptc
 
Instrumentacion y-sensores
Instrumentacion y-sensoresInstrumentacion y-sensores
Instrumentacion y-sensores
 
Medición de temperatura
Medición de temperaturaMedición de temperatura
Medición de temperatura
 
Módulos control de temperatura termocuplas
Módulos control de temperatura termocuplasMódulos control de temperatura termocuplas
Módulos control de temperatura termocuplas
 
Instrumentos para medir la temperatura
Instrumentos para medir la temperaturaInstrumentos para medir la temperatura
Instrumentos para medir la temperatura
 
Lab sensores linealización
Lab sensores linealizaciónLab sensores linealización
Lab sensores linealización
 
Calibracion termocupla
Calibracion termocuplaCalibracion termocupla
Calibracion termocupla
 
Ind. de Temp. 022 04 02 00
Ind. de Temp. 022 04 02 00Ind. de Temp. 022 04 02 00
Ind. de Temp. 022 04 02 00
 
Instrumentos de medida de temperatura[1]
Instrumentos de medida de temperatura[1]Instrumentos de medida de temperatura[1]
Instrumentos de medida de temperatura[1]
 
El termómetro
El termómetroEl termómetro
El termómetro
 
medidores de temperatura
medidores de temperaturamedidores de temperatura
medidores de temperatura
 
Instrumentos Medición de Temperatura
Instrumentos Medición de TemperaturaInstrumentos Medición de Temperatura
Instrumentos Medición de Temperatura
 
Instrumentación De Control Clase 6 Temperatura
Instrumentación De Control   Clase 6 TemperaturaInstrumentación De Control   Clase 6 Temperatura
Instrumentación De Control Clase 6 Temperatura
 
Instrumentacion
InstrumentacionInstrumentacion
Instrumentacion
 
Instrumentos de medición de temperatura
Instrumentos de medición de temperaturaInstrumentos de medición de temperatura
Instrumentos de medición de temperatura
 

Similar a 210187322 practica-no-2-sensores-de-temperatura

Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picRoberto Di Giacomo
 
Temperatura.electiva tema ii
Temperatura.electiva tema iiTemperatura.electiva tema ii
Temperatura.electiva tema iiMaria Eugenia
 
Definir el funcionamiento de los termistores como sensores
Definir el funcionamiento de los termistores como sensoresDefinir el funcionamiento de los termistores como sensores
Definir el funcionamiento de los termistores como sensoresYesua7
 
Tipos de medidores de temperatura
Tipos de medidores de temperaturaTipos de medidores de temperatura
Tipos de medidores de temperaturaAna Belén Reyes
 
Control automatico de temperatura
Control automatico de temperaturaControl automatico de temperatura
Control automatico de temperaturapeche luis
 
Módulos control de temperatura escáner y revisión de fallas
Módulos control de temperatura escáner y revisión de fallasMódulos control de temperatura escáner y revisión de fallas
Módulos control de temperatura escáner y revisión de fallasNelson Javier Guerrero Camacho
 
Instrumentos de Medidas de Temperarura2
Instrumentos de Medidas de Temperarura2Instrumentos de Medidas de Temperarura2
Instrumentos de Medidas de Temperarura2RicardoParedes68
 
Termistor ni-tutorial-7112-es
Termistor   ni-tutorial-7112-esTermistor   ni-tutorial-7112-es
Termistor ni-tutorial-7112-esLuis Varillas
 

Similar a 210187322 practica-no-2-sensores-de-temperatura (20)

Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador pic
 
Sensores Temperatura.pdf
Sensores Temperatura.pdfSensores Temperatura.pdf
Sensores Temperatura.pdf
 
Sensores
SensoresSensores
Sensores
 
Labo 2 instru
Labo 2 instruLabo 2 instru
Labo 2 instru
 
temperatura
temperaturatemperatura
temperatura
 
Fisico lab 3
Fisico lab 3Fisico lab 3
Fisico lab 3
 
Sistema de control de temperatura experimental
Sistema de control de temperatura experimentalSistema de control de temperatura experimental
Sistema de control de temperatura experimental
 
Sistema de control de temperatura experimental
Sistema de control de temperatura experimentalSistema de control de temperatura experimental
Sistema de control de temperatura experimental
 
Temperatura
TemperaturaTemperatura
Temperatura
 
Temperatura.electiva tema ii
Temperatura.electiva tema iiTemperatura.electiva tema ii
Temperatura.electiva tema ii
 
Temperatura.electiva tema ii
Temperatura.electiva tema iiTemperatura.electiva tema ii
Temperatura.electiva tema ii
 
Temperatura.electiva tema ii
Temperatura.electiva tema iiTemperatura.electiva tema ii
Temperatura.electiva tema ii
 
Definir el funcionamiento de los termistores como sensores
Definir el funcionamiento de los termistores como sensoresDefinir el funcionamiento de los termistores como sensores
Definir el funcionamiento de los termistores como sensores
 
Tipos de medidores de temperatura
Tipos de medidores de temperaturaTipos de medidores de temperatura
Tipos de medidores de temperatura
 
Temperatura
TemperaturaTemperatura
Temperatura
 
Control automatico de temperatura
Control automatico de temperaturaControl automatico de temperatura
Control automatico de temperatura
 
Módulos control de temperatura escáner y revisión de fallas
Módulos control de temperatura escáner y revisión de fallasMódulos control de temperatura escáner y revisión de fallas
Módulos control de temperatura escáner y revisión de fallas
 
Sensor ntc y ptc
Sensor ntc y ptcSensor ntc y ptc
Sensor ntc y ptc
 
Instrumentos de Medidas de Temperarura2
Instrumentos de Medidas de Temperarura2Instrumentos de Medidas de Temperarura2
Instrumentos de Medidas de Temperarura2
 
Termistor ni-tutorial-7112-es
Termistor   ni-tutorial-7112-esTermistor   ni-tutorial-7112-es
Termistor ni-tutorial-7112-es
 

Último

Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 

Último (20)

Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 

210187322 practica-no-2-sensores-de-temperatura

  • 1. 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
  • 2. 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).
  • 3. 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.
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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 31o C. 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
  • 8. 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 POWER 1K 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 VOUT 2 U3 LM35 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L RV1 10K
  • 9. 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
  • 10. 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.5o C a una temperatura de más de 107.4o C, 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 10o C a 100 o C. 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.
  • 11. 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 POWER 1K 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) 1 2 3 4 5 6 7 8 20 19 18 17 16 15 14 13 912 1011 U2 LED-BARGRAPH-RED 27.0 3 1 VOUT 2 U3 LM35 R4 220 R5 220 R6 220 R7 220 R8 220 R9 220 R10 220 R11 220 R12 220 R13 220 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 POWER 1K 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) 1 2 3 4 5 6 7 8 20 19 18 17 16 15 14 13 912 1011 U2 LED-BARGRAPH-RED 100.0 3 1 VOUT 2 U3 LM35 R4 220 R5 220 R6 220 R7 220 R8 220 R9 220 R10 220 R11 220 R12 220 R13 220
  • 12. #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);
  • 13. // 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);
  • 14. 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);
  • 15. 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);
  • 16. 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 20o C.
  • 17. En ésta imagen se muestra como rebasa los 100o C, 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 10o C, 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 50o C 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 20o C y 30o C, 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 20o C y no mayor a 30o C, 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 POWER 1K 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 VOUT 2 U3 LM35 L1 12V RL1 12VD3 DIODE Q1 BC547 L1(2)
  • 18. 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); }
  • 19. 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 30o C, 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 20o C, lo que genera que se encienda el calefactor, cuando este llegue a superar la temperatura de 30o C 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.7o C, 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 20o C, los cuales se deberán dar una medición en el galvanómetro, indicando una temperatura aproximada.
  • 20. 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 12o C) 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 POWER 1K 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 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L RV1 10K +tc 25.00 RT2 KTY81 R4 10k RV2 10K
  • 21. //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);
  • 22. 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); }
  • 23. 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 90o C, a solo 10o C. Esta tendrá la capacidad de descender, hasta casi 0o C, 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 10o C a 100o C.
  • 24. 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 29o C, 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 POWER 1K 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) 1 2 3 4 5 6 7 8 20 19 18 17 16 15 14 13 912 1011 U2 LED-BARGRAPH-RED R4 220 R5 220 R6 220 R7 220 R8 220 R9 220 R10 220 R11 220 R12 220 R13 220 +tc 25.00 RT2 KTY81 R16 10k RV2 10K
  • 25. //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);
  • 26. //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));
  • 27. //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);
  • 28. 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);
  • 29. 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))
  • 30. { 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 10o C.
  • 31. 9.- En el siguiente diseño se tiene un sensor NTC, el cual deberá activar un ventilador al alcanzar una temperatura de 50o C 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 50o C, 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 50o C, se encenderá. Para entender su funcionamiento, debemos marcar el código en Arduino, para su funcionamiento:
  • 32. #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); }
  • 33. 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 50o C, 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 20o C y 30o C, 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 20o C y mantenerse así, pero no sobrepasando los 30o C. 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 POWER 1K 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) L1 12V RL1 12VD3 DIODE Q1 BC547 +tc 25.00 RT2 KTY81 R16 10k RV2 10K
  • 34. #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); }
  • 35. 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 20o C o menor a 30o C, 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.
  • 36. 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