Está en la página 1de 21

UCSM - Trabajo de investigación - Sensor de temperatura de ambiente

UNIVERSIDAD CATÓLICA SANTA MARÍA


FACULTAD DE CIENCIAS E INGENIERÍAS FÍSICAS Y FORMALES

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

CURSO:
microprocesadores
TEMA
Sensor de temperatura de ambiente

DOCENTE:
Ing. pedro
ALUMNAS:
Huamani Huaracha Ulices
Tejada Ramirez Edson
AREQUIPA – PERÚ
2018

1
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

CONTROL DE TEMPERATURA DE AMBIENTE APLICADO A UN VENTILADOR


POR PWM

RESUMEN

En nuestro siguiente proyecto  se plantea una propuesta para poder automatizar el proceso de un ventilador a altas
temperaturas mediante el monitoreo y control de los elementos básicos como la temperatura y la ventilación. Nuestro
proyecto tiene maneja un rango de temperatura entre 38°C a 40°C.Utilizamos para realizar el proceso un Arduino, un
sensor de temperatura También se propone una estructura ideal . (Ver imagen 1)

Imagen 1

3. Introducción del Ventilador controlado por temperatura y on off con el foco

El presente trabajo corresponde al informe del proyecto de la clase de Ingeniería de control. El


proyecto fue nombrado "Ventilador controlado por temperatura" y consiste en un conjunto de
elementos conectados en un circuito de tal forma que, al aumentar la temperatura en el ambiente, el
ventilador encenderá hasta que la temperatura vuelva a bajar a la inicial. El circuito presenta ciertos
elementos claves para su funcionamiento como el circuito integrado LM35 y una programación
pwm , cuyo funcionamiento será detallado más adelante, así como los demás elementos utilizados y
el funcionamiento del circuito.

2
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Descripción del proyecto

Control de encendido de ventilador por temperatura ambiente. El calor se hace presente en estas
fechas, es cuando hacemos uso de un ventilador si no tenemos aire acondicionado. Y en esta ocasión
agregaremos un control a nuestro ventilador que lo encienda de forma automática cuando el calor en
el ambiente llegue a determinado número de grados, 38° por ejemplo, a continuación, se mostrara el
circuito que permite eso. El componente encargado de detectar y activar es el integrado LM35, es un
integrado que aguanta altas temperaturas y es el encargado que nos diga a que temperatura estamos,
que varía su resistencia de acuerdo a la temperatura a la que está expuesto. En nuestro circuito lo
hemos configurado de tal manera que, cuando el calor ambiente llegue a 38 grados activará y esto
hará que le ventilador se prenda una vez baje la temperatura el ventilador comenzara a disminuir su
velocidad y esto se hace para que nos mantengamos a una temperatura adecuado

PROCESO DE VENTILADOR CONTROLADO POR TEMPERATURA

Los factores de que usaremos son: la temperatura y la ventilación. De todos ellos la temperatura es el factor
de mayor importancia, ya que, pequeñas variaciones en sus valores pueden resultar que nos encontremos a
una altísima temperatura que no podríamos resistir.
Lo que nosotros haremos es programar para que estemos a una temperatura ambiente ya una vez pasado esta
temperatura se activa el ventilador claro esto se puede cambiar de acuerdo a la temperatura que deseamos, y
el programa de pwm hará que ventilación sea despacio encontrado a una temperatura ambiente pero la
desventaja de esto que su reacción es muy lenta y demora mucho

4. Actuadores:

VENTILADOR

La función del ventilador es de enfriar y establecer a una temperatura adecuada

FOCO

La función del foco es tener una temperatura ambiente y eso hace que actua el ventilador si pasa
sobre la temperatura dada.

CIRCUITO DE CONTROL:

ARDUINO UNO

La placa Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de sistemas


embebidos en proyectos multidisciplinarios. Toda la plataforma, incluyendo sus componentes de hardware
(esquemáticos) y Software, son liberados con licencia de código abierto que permite libertad de acceso a
ellos.

ATmega328P DIP

3
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Microcontrolador de alto desempeño Atmega328P de 8 bits, con arquitectura RISC. El Atmega328P en


formato DIP es utilizado en el Arduino Uno R3.
Posee características como: 32 KB de memoria flash; con la capacidad de leer-mientras-escribe, 1 KB de
memoria EEPROM, 2 KB de SRAM, 23 líneas de E/S de propósito general, 32 registros de proceso general,
tres temporizadores flexibles/contadores con modo de comparación, interrupciones internas y externas,
programador de modo USART, una interface serial orientada a byte de 2 cables, SPI e I2C, 6 canales 10-bit
Conversor A/D, "watchdog timer" programable con oscilador interno, y cinco modos de ahorro de energía
seleccionables por software. El dispositivo opera entre 1.8 y 5.5 voltios. Su arquitectura le permite ejecutar
instrucciones en un solo ciclo de reloj, alcanzando una potencia de 1 MIPS.

ESPECIFICACIONES TÉCNICAS

 Chip: ATMEGA328P-PU
 Formato DIP
 Pines: 28
 Memoria FLASH: 32KB
 Memoria RAM: 2KB
 EEPROM: 1KB
 Máxima frecuencia de funcionamiento: 20Mhz
 CPU: 8-bit AVR
 Pines de entrada/salida: 23
 Entradas Analógicas (ADC): 6

4
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

CARACTERÍSTICAS DE LA FAMILIA ATMEL

La familia de Microcontroladores AVR, pertenecen a ATMEL, los cuales poseen una


arquitectura moderna. Estos Microcontroladores están divididos en tres grupos: TinyAVR,
AVR Clasico y MegaAVR. Se muestran en la tabla 1.1 los dispositivos Microcontroladores
de la serie AVR. Todos ellos se fabrican en el mismo proceso y los mismos niveles de
implantación. Los dispositivos varían en densidad de memoria.

El µC tinyAVR son dispositivos con pines reducidos y menos características que los
megaAVR. Todos los dispositivos AVR tienen el mismo set de instrucciones y organización
de la memoria, así el migrar de un dispositivo AVR a otro es fácil. El núcleo es el mismo
para todos los dispositivos AVR. La diferencia entre estos grupos es la complejidad del

5
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

dispositivo. Así, el que posee más características es el megaAVR y que tiene menos es el
tinyAVR

DIAGRAMA DE BLOQUE ATMEGA328

El núcleo AVR posee un conjunto de instrucciones con 32 registros de trabajo de propósito


general. Los 32 registros se conectan directamente a la Unidad Aritmética y Lógica (ALU),
permitiendo a dos registros solamente acceder en una sola instrucción y sean ejecutadas en
sólo un ciclo de reloj. Alcanzando un desempeño de 10 veces más rápido que los
microcontroladores con tecnología CISC. El ATmega32 tiene las características: 32K bytes
de memoria Flash programable dentro del sistema, 1024 bytes de EEPROM, 2K bytes de
SRAM, 32 líneas de I/O de propósito general, 32 registros de propósito general, Interfase
JTAG, 3 Timers/Contadores con modos de comparación, interrupciones internas y externas,
un USART programable, una interfase serial orientada a byte de dos líneas, 8 canales de
convertidor AnalógicoDigital de 10 bits, con opción a ser diferenciales, un timer perro
guardian (watchdog) con oscilador interno, un puerto serial SPI, y 6 modos de ahorrar
potencia. El modo de ahorrar potencia salva el contenido de los registros pero congela al
oscilador, deshabilitando todas las funciones de CI hasta la próxima interrupción o reinicio
del Hardware. En el modo de ahorrar potencia, el timer asíncrono continua corriendo,
permitiendo al usuario mantener un tiempo base mientras el resto del dispositivo esta

6
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

“durmiendo”. Esto permite un ahorro de potencia. El ATmega32 AVR soporta: compiladores


en C, macro ensambladores, simuladores en debugger, emuladores dentro del circuito y los
kits de evaluación.

TERMINALES DE LOS MICROCONTROLADORES ATmega32.

A continuación de detallan las terminales del ATmega32.


Vcc Fuente de voltaje digital (5 Volts)
GND Tierra. Puerto A (PA7..PA0)
El puerto A
sirve como entradas analógicas al convertidor ADC. Además el puerto A sirve como puerto
de 8 bits de I/O bidireccionales, si el Convertidor A/D no es usado. El buffer de salida del
puerto A tiene la capacidad de abastecer y drenar corriente. Cuando los pines PA0 a PA7 son
usados como entrada y externamente jalados hacia abajo, ellos abastecen corriente si los
resistores internos pull-up s activan. Los pines del puerto A son de tres estados cuando la
condición de reset se activa.
Puerto B (PB7..PB0)
El puerto B es un puerto de 8 bits de I/O bidireccionales con resistores internos pull-up
(seleccionados por cada bit). El buffer de salida del puerto B tiene la capacidad de abastecer
y drenar corriente. Cuando los pines PB0 a PB7 son usados como entrada y externamente
jalados hacia abajo, ellos abastecen corriente si los resistores internos pull-up s activan. Los
pines del puerto B son de tres estados cuando la condición de reset se activa. El puerto B
también alberga funciones de registros de especiales, como se enlistan en la Tabla 1.2.

Entradas Analógicas (ADC)

7
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Los Convertidores Analógicos Digitales permiten una comunicación eficaz entre los sistemas analógicos y los
sistemas digitales, tomando muestras del mundo real para generar datos que puedan ser manipulados por
un microcontrolador por ejemplo, obteniendo de ésta manera cualquier tipo de señal física en tensiones
eléctricas cuyos datos podrán ser procesados por el dispositivo electrónico.
Además fueron creados para poder aumentar la velocidad del procesamiento de las señales logrando así
acoplar los sistemas analógicos con los sistemas digitales.

Funcionamiento del ADC

El ADC convierte un voltaje analógico de entrada en un valor digital de 10 bits a través de aproximaciones
sucesivas. El valor mínimo representa a GND y el valor máximo representa al voltaje en el pin AREF menos 1
LSB. Opcionalmente, AVCC o un voltaje de referencia interna de 1.1V puede conectarse al pin AREF
escribiendo en los bits REFSn en el Registro ADMUX. La referencia de voltaje interna puede ser desacoplada
por un condensador externo en el pin AREF para mejorar la inmunidad al ruido.

El ADC genera un resultado de 10 bits que se presenta en los Registros de Datos del ADC (ADC Data
Registers), ADCH y ADCL. Por defecto, el resultado se presenta ajustado hacia la derecha, pero
opcionalmente puede presentarse ajustado hacia la izquierda configurando el bit ADLAR en el ADMUX.

EEPROM

CARACTERÍSTICAS DE LA EEPROM

La memoria EEPROM tiene sus propias características y peculiaridades que la distinguen del resto de
memorias. En primer lugar, y más evidente, es no volatil, es decir, mantiene los valores almacenados
cuando se pierde la alimentación.

Por otro lado, la memoria EEPROM es un recurso más escaso que el resto de memorias. La mayoría de
modelos de Arduino disponen de 1KB, mientras que el Mega tiene 4KB.

Una desventaja de la memoria EEPROM es que es mucho más lenta que la memoria SRAM. El proceso de
escritura de una celda (byte) cuesta en torno a 3.3 ms. El proceso de lectura es mucho más rápido (aunque
sigue siendo más lento que la SRAM), leer 1024 bytes cuesta en torno a 0.3ms, es decir, 10.000 veces más
rápida que la escritura.

Otra particularidad de la memoria EEPROM es que tiene una vida limitada, que se reduce con cada
operación de escritura. No existen límites para las operaciones de lectura.

n primer lugar, las funciones de EEPROM te permiten leer y escribir en esos bytes y se pueden usar
gracias a la librería EEPROM.h, éstas funciones son:

– EEPROM Read: La cual lee EEPROM y envía sus valores a la ventana serial del software de
Arduino.

8
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

– EEPROM Write: La cual guarda valores de una entrada analógica a EEPROM.

– Limpiar EEPROM: No existe una función específica. Por lo tanto, se cambian los bytes en
EEPROM a 0 usando EEPROM_write.

– EEPROM Put: La cual pone valores en EEPROM usando variables.

– EEPROM Get: La cual obtiene valores de EEPROM y los imprime como flotantes en la ventana
serial del software de Arduino.

– Iteración de EEPROM: No existe una función específica. Por lo tanto, se recorre todas las
locaciones de EEPROM usando EEPROM_write.

– EEPROM Update: La cual guarda valores leídos de A0 en EEPROM, escribiendo el valor sólo si
este es diferente del anterior.

– EEPROM CRC: No existe una función específica. Por lo tanto, se calcula el CRC (Cyclic
Redundancy Check (Verificación de redundancia Cíclica)) de los contenidos en EEPROM para
encontrar un error usando un algoritmo.

Placa Arduino UNO (GENUINO).

Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno


de processing y lenguaje de programación basado en Wiring, así como en el cargador de
arranque (bootloader) que es ejecutado en la placa. El microcontrolador de la placa se programa mediante un
computador, usando una comunicación serie mediante un convertidor de niveles RS-232 a TTL.

INSTRUCCIONES USADAS
-Int: almacena un valor entero;
-LiquidCrystal: con esta instrucción indicamos al microprocesador que vamos a usar una pantalla
LCD
-char: sirve para declarar un valor numerico de 16 bits
-void : Reservado para la declaración de funciones sin valor de retorno.
-Begin: Establece la velocidad de datos en bits por segundo

 -digitalWrite: active o desactiva un pin del microprocesador


-print: Mostramos el texto en la pantalla lcd
-setCursor: Con este comando decimos en que linea queremos escribir

9
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Entradas de pines
Pin 12, 11, 5, 4, 3,2 pines digitales: define la pantalla LCD
Pin 13 pin digital: activa la retroiluminación
Pin 0 pin analógico: recibe la señal de calor externa
Pin 5v+ regula la sensibilidad del transistor

PROGRAMA

1. #include <LiquidCrystal.h> //Incluir esta libreria para poder usar el lcd


2.  
3. int Ana1 = A0; //Entrada analogica de LM35
4. LiquidCrystal lcd(12,11,5,4,3,2); //Definimos la pantalla LCD
5. int Temp = 0;
6. char Grados = 'º';
7.  
8. void setup(){
9. Serial.begin(9600);
10. lcd.begin(16,2);
11. pinMode(13,OUTPUT);
12. digitalWrite(13, HIGH); //Activamos la retroiluminacion
13. }
14.  
15. void loop(){
16. Temp = analogRead(Ana1); //Leemos el valor de la entrada analogica
17.  
18. // Primero transformamos la lectura analógica de tensión a un valor de temperatura
19. Temp = (5.0 * Temp * 100.0)/1024.0;
20. Serial.print("Grados: ");//Mostramos los grados en el serial
21. Serial.print(Temp);
22. Serial.print(Grados);
23. Serial.println("C");
24.  
25.  
26.  
27. //Mostramos los grados en la pantalla LCD
28. lcd.setCursor(0,0); //Con este comando decimos en que linea queremos escribir
29. lcd.print("Temperatura: ");
30. lcd.setCursor(0,1);
31. lcd.print(Temp);
32. lcd.setCursor(3,1);
33. lcd.print("°C");
34.  

10
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

35.  
36. delay(1000); //Al ser temperatura no hace falta leerlo tan seguido
37. }

Especificaciones técnicas

Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM
output)
Analog Input Pins 6
DC Current for I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz

Power, Inputs and Outputs.

Pines de alimentation (Power Pins)

Bien alimentemos al arduino mediante la conexión USB o mediante una fuente externa
(recomendada de 7-12V), vamos a tener unas salidas de tensión continua debido a unos
reguladores de tensión y condensadores de estabilización. Estos pines son:
VIN: se trata de la fuente tensión de entrada que contendrá la tensión a la que
estamos alimentando al Arduino mediante la fuente externa.
5V: fuente de tensión regulada de 5V, esta tensión puede venir ya sea de pin VIN a

11
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

través de un regulador interno, o se suministra a través de USB o de otra fuente de


5V regulada.
3.3V: fuente de 3.3 voltios generados por el regulador interno con un consumo
máximo de corriente de 50mA.
GND: pines de tierra.

Digital Inputs/Outputs

Cada uno de los 14 pines digitales se puede utilizar como una entrada o salida. Cada pin
puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia de pull-up
(desconectado por defecto) de 20 a 50 kOhm. Además, algunos pines tienen funciones
especializadas como:
*Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisión (TX) de datos
serie TTL.
*Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de interrumpir
el programa secuencial establecido por el usuario.
*Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso). Constituyen 8
bits de salida PWM con la función analogWrite ().
*Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo a la
comunicación SPI.
*Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es de alto
valor, el LED está encendido, cuando el valor está bajo, es apagado.

Analog Inputs

12
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

El Arduino posee 6 entradas analógicas, etiquetadas desde la A0 a A5, cada una de las cuales
ofrecen 10 bits de resolución (es decir, 1024 estados). Por defecto, tenemos una tensión de
5V, pero podemos cambiar este rango utilizando el pin de AREF y utilizando la función
analogReference(), donde le introducimos una señal externa de continua que la utilizara
como referencia.

CONTROL ON-OFF
También llamados de «encendido/apagado» o «todo/nada», son los sistemas de control más básicos. Estos
envían una señal de activación («sí», «encendido» o «1») cuando la señal de entrada es menor que un nivel de
referencia (definido previamente), y desactivan la señal de salida («no», «apagado» o «0») cuando la señal de
entrada es mayor que la señal de referencia.
Los controladores «sí/no» son utilizados en termostatos de aire acondicionado. Estos activan el aire frío
(«sí») cuando la temperatura es mayor que la de referencia (la de preferencia del usuario) y lo desactivan
(«no») cuando la temperatura ya es menor (o igual) que la de referencia.
Diagrama de bloques:

SENSOR

5. LM35

13
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

El sensor proporciona una señal analógica controlador, la cual representa el punto actual en el que se
encuentra el proceso o sistema. La señal puede representar ese valor en tensión eléctrica, intensidad
de corriente eléctrica o frecuencia.
(ver imagen 2)

Imagen 2

6. Set point

Utilizaremos un set point porque es el valor deseado o variable esencial de un sistema. La señal
que reciba, la compara con una señal interna deseada y ajusta la salida del dispositivo para
mantener, tan cerca como sea posible, el equilibrio entre la temperatura medida y la temperatura
deseada.

7. Propuesta
En la siguiente imagen podemos observar el esquematico del circuito que implementamos para el
ventilador

IMAGEN DE LA CONEXIONES

8. Objetivos generales
El objetivo general del proyecto es que se introduzca en el campo de la investigación y la elaboración
de nuevos proyectos que sean útiles en una sociedad que busca un avance tecnológico.
9. Objetivos específicos
Implementar un circuito en el cual se ponga en práctica los conocimientos adquiridos
Calcular y verificar los datos teóricos con los datos experimentales.
Establecer la correcta calibración de las etapas del sistema de control.

10. Función de transferencia del motor


Las ecuaciones del modelo de arriba se pueden expresar en términos de la variable de Laplace.

s ( Js +b ) =KI ( s)
(Ls+R)I(s)=V(s)-Ksθ( s)

Llegamos a la siguiente función de transferencia en lazo abierto mediante la eliminación de I ( s )


entre las dos ecuaciones anteriores, cuando se estime que la velocidad de rotación de la salida y el
voltaje de la armadura se considera la entrada.

14
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

θ(˙ s) K
P ( s )= =
V (s ) ( Js+b )( Ls+ R ) + K 2

11. Respuesta del lm35


Nuestra respuesta será lineal mientras más temperatura; tendremos más calor y mayor ventilación

12. Modelo matemático del proceso


Función de transferencia del sensor

13.
Evidencias
Nuestra

Incubadora de pollitos maneja un rango de 20 °C a 37°C:


Vista superficial de la incubadora:

15
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

 Vista lateral:

16
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

 HACIENDO UNAS PRUEBAS

 Y esperamos que llegue a 38°C

17
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

 Cuando llega a 38 grados se acciona el ventilador y se prende el ventilador y veremos que la


temperatura comenzara a disminuir

IMAGEN AQUI

18
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Conclusiones
El ventilador controlado por temperatura es un circuito fácil de hacer y de implementar, una buena opción
para poner en práctica en nuestros hogares
Podemos ver que gracias a este proyecto al hacerlo a una escala mayor podemos ayudar bastante ya que a
excesiva calor que hoy presentamos este proyecto seria esencial
Finalmente, nos damos cuenta que somos capaces de crear productos que al comprarlos en el mercado nos
costaría mucho dinero, y al créalos nosotros de una manera fácil economizamos, además de ganar practica en
el campo de la electrónica, específicamente en el parte de control.
14. Recomendaciones
 De acuerdo a las conclusiones obtenidas y la confiabilidad de los datos, se recomienda evaluar las
temperaturas en distintas zonas de país ya que varían y hacerle unos ajustes en esos caso.

 Se recomienda incluir en el futuro factores de estudio sobre prototipos más avanzados, para
determinar las cualidades de cada una al momento de elegir el modelo apropiado.
15. Esquemático

IMAGEN DEL ESQUEMATICO

19
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

Diagrama de flujo
SENSOR DE TEMPERATURA

INICIO

0
Librerías LCD y TABLA están
incluidas?

Configurar la Frecuencia de Reloj del Sistema a 2MHz

Seleccionar el Canal 0 del ADC

Habilitar ADC y Configurar Reloj a 125KHz

Iniciar conversión

Leer los valores de ADCL y ADCH


y acumular los 8 bits en ADCsuma

Terminó la conversión?

Obtener una
lectura promedio

Comparar lectura promedio con


las temperaturas de la tabla

Obtener indice

Mostrar la temperatura
en LCD

20
UCSM - Trabajo de investigación - Sensor de temperatura de ambiente
.

16. Programa implementado en PWM


IMAGEN DE PROGRAMA

17. Referencias bibliográficas


 http://www.academia.edu/8041807/Desarrollo_de_una_Incubadora_Automatizada
 https://es.slideshare.net/santiagotoledo921/fabricacin-de-incubadoras-de-pollos-caseras-1
 Corripio, Armando B. Tuning of industrial control systems. Instrument Society of America. 1990.
 Astrom, Karl J.; Hagglund, Tore. PID controllers: theory, design, and tuning. Second edition.
 Instrument Society of America. 1995.
 [McMillan, Gregory K. Tuning and control loop performance: a practitioners’s guide. Third edition.
Instrument Society of America. 1994.

21

También podría gustarte