Академический Документы
Профессиональный Документы
Культура Документы
Abstract- This document shows the design Cuando se tienen estos datos, se utiliza la ecuacin
and construction of a temperature sensor based anterior para calcular la resistencia en una
on an NTC. We will see design, hardware and temperatura en particular:
software and some applications you may have
this sensor. This document can be interpreted as 1 1
(( ))
a guide for anyone interested in having your own 0
= 0
temperature sensor.
Donde:
I. INTRODUCCIN
A: El valor resistivo para una temperatura en Figura 1: Curva caracterstica para una NTC de 10K
concreto (en este caso de ejemplo 2800 para
25). La NTC puede medir temperaturas desde -30 hasta
B: La Beta (Temperatura caracterstica del 130 grados centgrados segn los datos del
material entre 2000K y 4000K). fabricante encontrados en el datasheet disponible en
la WEB.
III. HARDWARE analgica, utilizando su muestreo para establecer la
temperatura crtica de las salidas. sta parte se
Los elementos necesarios para construir el hardware especifica en la parte del software.
del sensor son:
C. Salidas
1 Arduino UNO
1 Protoboard Para las salidas se utilizan los LEDS y las
1 NTC resistencias de 220 ohmios con el fin de limitar la
1 Potencimetro de 10K ohmios corriente y que los LEDS no se quemen.
5 diodos LED
5 Resistencias 220 ohmios Este es el circuito esquemtico del sensor:
1 Resistencia 1 K ohmios.
Cables
Caja de proteccin
Se introducen los datos para hacer las ecuaciones Se declaran los pines de entrada y los pines de salida
que nos permitirn, en base a la lectura de la entrada
analgica conectada al divisor de tensin, calcular la //Declaracin de pines de salida
temperatura. pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
float Vin = 5.0; // [V] pinMode(pinLed3, OUTPUT);
Tensin alimentacin del divisor pinMode(pinLed4, OUTPUT);
float Rfija = 1000; // [ohm] pinMode(pinLed5, OUTPUT);
Resistencia fija del divisor
float R25 = 2800; // [ohm] //Declaracin pines de entrada
Valor de NTC a 25C pinMode(analogPin1, INPUT);
float Beta = 3900.0; // [K] pinMode(analogPin2, INPUT);
Parmetro Beta de NTC
float T0 = 293.15; // [K] Se comienza el bucle, en primer lugar se lee la seal
Temperatura de referencia en Kelvin del potencimetro para establecer una temperatura
de referencia sobre la que comparar la temperatura
float Vout = 0.0; // [V] de la NTC y disparar los avisos. Se lee el valor del
Variable para almacenar Vout pin analgico 2 y lo se almacena en tempMin:
//Y por ltimo la temperatura en
tempMin = analogRead(analogPin2); Kelvin
TempK =
Beta/(log(Rntc/R25)+(Beta/T0));
A continuacin se tiene una nueva instruccin:
//Ahora la pasamos a celsius
tempMin = map (tempMin, 0, 1023, TempC = TempK-273.15;
-100, 800);
Se envan por el puerto serie:
La funcin map tiene la siguiente estructura:
Serial.println();
map(valor, fromLow, fromHigh, toLow, toHigh) Serial.print("LA TEMPERATURA DE
LA NTC ES DE ");
Esta estructura convierte los calores que van de 0 a Serial.print(TempC);
1023 en valores escalonados y proporcionados desde Serial.println(" GRADOS
-100 has 800. Con esto se adapta la lectura del CELSIUS");
potencimetro a un rango de -100 a 800, Luego se Serial.println();
divide este valor en 10
El delay que se pone al final es para que mande los
tempMin = tempMin/10; datos de temperatura 500 milisegundos por el puerto
serie.
La temperatura que se devuelve es la de referencia o
crtica y est entre -10.0 y +80.0,. La temperatura delay(500);
de disparo se puede ajustar con una precisin de
0.1. V. BAQUELA Y CAJA DE
PROTECCIN
Se manda por el puerto serie el dato prefijado para
Esta parte del sensor es opcional, ya que no se puede
tener una referencia visual del mismo.
hacer en casa como las dems partes del sensor y no
es necesaria para su funcionamiento adems de
Serial.println("----------------- requerir conocimientos en programas de diseo de
------------------------------"); circuitos. Para pasar el circuito de la Protoboard a un
Serial.println(); circuito impreso es necesario tener un software de
Serial.print("AJUSTE DE diseo de circuitos, como PROTEUS, ORCAD,
TEMPERATURA MINIMA A "); MULTISIM etc.
Serial.print(tempMin);
Serial.println(" GRADOS En el software se disea el circuito del sensor, en
CELSIUS"); este caso de ejemplo se utilizo el programa
Serial.println(); PROTEUS, lo importante no es tener los mismos
Serial.println("----------------- componentes del circuito sino tener componentes en
------------------------------"); el diseo con los mismos puertos que tienen los
componentes fsicos ya que no siempre se pueden
El Serial.println() envia por puerto serie cualquier simular los componentes del diseo en fsico, como
cosa que se incluya dentro de ( ), si es una variable, es el caso de los LEDs o el potencimetro.
con poner el nombre de la variable es suficiente,
como se puede ver con tempMin, pero tambin se Diseo en ISIS del circuito:
puede mandar cualquier texto, siempre que se
incluya entre comillas.
Vout=(Vin/1024)*(analogRead(analogP
in1));
RECONOCIMIENTOS
VIII. REFERENCIAS
[1] (2012) Sensores de temperatura. [Online]. Disponible
en: http://www.antirrobo.net/sensores/sensores-de-temperatura.
html
[2] (2012) formato IEEE para presentar artculos.
[Online]. Disponible en http://www.cidca.edu.co/Formato_IEEE/
Formato _Articulos_IEEE.pdf
[3] R. C. Dorf y J. A. Svodoba. Circuitos elctricos, sexta
edicin. 2006
Cdigo completo del programa:
/*
Sensor NTC
*/
//Escala de Avisos
int escala = 2;
void setup() {
void loop()
{
//Se lee el potencimetro
tempMin = analogRead(analogPin2);
//Se mapea a valores de -100 a 800
tempMin = map (tempMin, 0, 1023, -100, 800);
//Se divide entre 10 para darle un decimal
tempMin = tempMin/10;
//Un delay para fijar el tiempo de muestra en el puerto, en este caso son
500 milisegundos
delay(500);
}