MICROCONTROLADORES
INGENIERIA ELECTRONICA-UNAC
Universidad Nacional del Callao
Callao-Perú
CONTROL DE TEMPERATURA DE UN SISTEMA (sensor)
por:
RIOS GRANADOS, LUIS ANGEL
(100709B)
MENIS HURTADO WEIDER ANTONIO
(100748H)
Escuela profesional de
Ingeniería
Electrónica.
Prof. ZENON CUCHO M.
INTRODUCCION
Los microcontroladores están conquistando el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la invasión acaba de comenzar y el nacimiento del siglo XXI será testigo de la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte de los aparatos que fabricaremos y usamos los humanos.
OBJETIVOS
Aplicar la teoría aprendida en el curso de teoría como de laboratorio.
Lograr la implementación del circuito simulado.
Lograr controlar la temperatura, de nuestro sistema a utilizar.
MARCO TEORICO
Para desarrollar este proyecto usamos principalmente el microcontrolador ATmega8, en nuestro sistema tenemos, también componentes que vamos a llamar bloques; estos bloques son el sensor, ventilador, la EEPROM, el LCD (2× 16) Y el entrenador AVR.
Dentro del microcontrolador tendremos bloques los cuales son; el ADC (Convertidor analógico digital), interrupciones (INT0, INT1).
DESCRIPCIÓN GENERAL DE LOS BLOQUES:
A. ENTRENADOR AVR
Descripción
Este entrenador está basado en la popular serie de microcontroladores AVR de ATMEL. El equipo
contiene una placa base de metal para el montaje de los diferentes E-blocks, una fuente de alimentación, una colección de E-blocks individuales, bandejas de almacenaje de plástico antideslizante y accesorios tales como tuercas, tornillos, cables y conectores IDC. Los diferentes E-blocks junto con el resto de accesorios permiten montar una amplia gama de sistemas electrónicos, sencillos montajes para el estudio de los diferentes componentes así como proyectos completos basados en varios E-blocks. Diferentes tarjetas y sensores de E-blocks pueden ser añadidos a estos sistemas en la medida en que se necesiten.
Cada una de las tarjetas, E-blocks, que forman el paquete contiene una ficha técnica de descripción de la misma donde se incluye toda la información necesaria para su uso así como los esquemas de la misma.
El corazón de este sistema es la tarjeta Multiprogramador AVR que incluye todos los elementos necesarios para programar los microcontroladores AVR. Esta tarjeta es compatible con la familia de microcontroladores AVR con encapsulados desde 20 pines hasta 40 pines que pueden ser insertados en su correspondiente zócalo DIL en la tarjeta. Las entradas/salidas del microcontrolador están disponibles en cuatro puertos E-block. El oscilador empleado para el microcontrolador elegido podrá ser un cristal externo (que puede ser cambiado fácilmente) o el propio oscilador interno. Las herramientas adicionales de programación están disponibles como extras e incluyen todo el software necesario para formar un completo sistema de aprendizaje y desarrollo de sistemas basados en microcontroladores AVR. El producto se entrega embalado en bandejas de plástico antideslizante utilizables tanto para el almacenaje como para el transporte.
Funciones
Proporciona una selección de E-blocks que pueden ser usados para una amplia gama de aplicaciones en la programación de microcontroladores AVR, desde el aprendizaje del funcionamiento del microcontrolador hasta la realización de proyectos completos. Ventajas del sistema
Al ser un sistema muy modular permite su expansión con otras tarjetas E-blocks en un futuro.
Minimiza el tiempo de construcción de proyectos.
Puede ser usado por estudiantes desde ciclos formativos hasta Universidad (NUESTRO CASO).
Partes
Los elementos incluidos en el equipo son:
1 BP232 Placa base para E-blocks
1 EB003 E-block Tarjeta de interface para sensores
1 EB004 E-Block Tarjeta con diodos LED
1 EB005 E-Block Tarjeta con display LCD
1 EB019 E-block Tarjeta CPU con microcontrolador ATMEL AVR
1 EB007 E-Block Tarjeta con interruptores
1 EB008 E-Block Tarjeta con cuatro displays de 7 segmentos
1 EB013 E-block Tarjeta con convertidor D/A y memoria
1 EB016 E-Block Tarjeta para montaje de prototipos con Proto-Board
1 EB283 Programador en-circuito para micros AVR vía USB
1 HP2045 Bandeja plástico
1 HPPSU2 Fuente de alimentación ajustable
MEMORIA EEPROM ATMEL 24C256
El AT24C128/256 ofrece 131.072 / 262.144 bits de serie eléctricamente borrable y memoria programable de solo lectura (EEPROM) organiza 16.384 / 32.768 palabras de 8 bits cada uno. función en cascada del dispositivo permite hasta 4 dispositivos para compartir una común Bus de 2 hilos. El dispositivo está optimizado para su uso en muchas aplicaciones industriales y comerciales
que son esenciales baja potencia y bajo voltaje de operación. Los dispositivos están disponibles de ahorro de espacio de 8 pines JEDEC SOIC, 8-pin EIAJ, 8-pin JEDEC SOIC, 14-pin TSSOP y 8 pines paquetes de vuelta. Además, toda la familia está disponible en 5.0V (4.5V a 5.5V), 2.7V (2.7V a 5.5V) y 1.8V (1.8V a 3.6V) versiones.
Configuración
C. SENSOR TTC 103
Características
a) Cumple la directiva RoHS
b) Ф5mm Tamaño del cuerpo
c) Radiales revestidas con resina plomo
d) -30 ~ 125 temperatura de funcionamiento
e) Amplio rango de resistencia
f) rentable
g) Agencia de reconocimiento: UL / CSA / TUV / CQC
D. APLICACIONES RECOMENDADAS
a) Electrodomésticos (aire acondicionado, refrigerador, ventilador eléctrico, cocina eléctrica, lavadora, microondas, máquina de consumición, CTV, radio.)
b) electrónica del automóvil
c) Computadoras
d) metro digital
E. VENTILADOR
Uso: caja de la computadora y el proveedor de energía
Tipo: Ventilador
Material del disipador de calor: pbt
Marca:VAS DI KAI
Número de Modelo: 8025M
Lugar del origen: China (Continental)
dimensión: 70x70x15mm
/oem y odm: dio la bienvenida
tensión nominal: 12v
voltaje de funcionamiento: 10.8-13.2v
teniendo: Hydro, una bola, dos bolas
peso neto: 52g
el tipo de ventilador: 12v del ventilador
potencia de entrada: 1. 08w, 1. 44w, 2. 04w
la velocidad: 2200 rpm, 3000,3800
nivel de ruido: 2 1. 5db, 26.7db, 3 2. 6db
F. DISPLAY (16X2)
PINES DEL DISPLAY LCD.
Tabla Número de Pin
Número de Pin
Símbolo
1
Vss
2
Vcc o Vdd
3
Vee o Vo
4
RS
5
R/W
6
E
7...14
DB0...DB7
15 y 16
A y K
DESCRIPCIÓN DE LOS PINES DEL LCD.
Los pines 15 y 16 corresponden a la iluminación de fondo del LCD, pero aquí el orden varía mucho. Sea como fuere, los 14 primeros pines siempre deberían coincidir.
Tabla Nombre de señal
Nombre de señal
Función
DB0-DB7
o
D0-D7
8 líneas de bus de datos. Para transferencia bidireccional de datos entre el MCU y el LCD. DB7 también se puede usar como bit busy flag. En operación de 4 bits solo se usa el nibble alto.
E
Enable – Señal de inicio de operación de lectura/escritura.
R/W
Señal para seleccionar operación de lectura o escritura.
0 : Escribir en LCD
1 : Leer de LCD
RS
Register Select
0 : Registro de comandos (escritura).
: Busy flag + puntero de RAM (lectura).
1 : Registro de datos (escritura, lectura). Acceso a DDRAM o CGRAM.
Vee o Vo
Ajuste de contraste del LCD. Vee = GND es máximo contraste.
Vdd o Vcc
Alimentación = +5 V típicamente.
Vss
Alimentación = 0 V (GND).
A y K
Son los pines de Ánodo y Cátodo de la iluminación de fondo que tienen algunos LCD.
Un modo de operación del LCD (con ventajas y desventajas) le permite trabajar sin conectar el pin RW al microcontrolador. En ese modo pin RW siempre debe plantarse a GND.
SET DE INSTRUCCIONES DEL DISPLAY LCD
Es el controlador interno HD44780 (u otro) del LCD quien ejecutará las operaciones de mostrar las letras en la pantalla, mover el cursor, desplazar el contenido de la pantalla, etc. Lo que nos toca a nosotros es enviarle los códigos de esas operaciones. A continuación, un resumen.
Instrucciones del Display LCD
Instrucciones
Código
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
Instrucciones de comando
Clear Display
0
0
0
0
0
0
0
0
0
1
Return Home
0
0
0
0
0
0
0
0
1
×
Entry Mode Set
0
0
0
0
0
0
0
1
I/D
S
Display ON/OFF Control
0
0
0
0
0
0
1
D
C
B
Cursor or Display Shift
0
0
0
0
0
1
S/C
R/L
×
×
Function Set
0
0
0
0
1
DL
N
F
×
×
Set CGRAM Address
0
0
0
1
Puntero de RAM (CGRAM)
Set DDRAM Address
0
0
1
Puntero de RAM (DDRAM)
Read Busy Flag
& RAM Pointer
0
1
BF
Puntero de RAM (DDRAM o CGRAM)
Instrucciones de datos
Write to CGRAM
or DDRAM
1
0
Escribir dato
Read from CGRAM
or DDRAM
1
1
Leer dato
Configuración del LCD
En la interface de 7 líneas el bus de datos del LCD se conecta con el microcontrolador por sus 4 pines más altos: D4, D5, D6 y D7. Como todas las instrucciones (de datos y de comando) son de un byte, los bytes deben ser transferidos en dos mitades. Primero se envía o recibe el nibble alto y luego el nibble bajo, siendo cada nibble validado por un pulso del pin Enable. Esas rutinas extras harán crecer un poco el firmware (programa del microcontrolador).
En la contraparte, con el microcontrolador aún disponiendo de las tres líneas de control, podemos realizar cualquier operación de lectura y escritura, lo mismo que en la interface completa de 11 líneas pero ahorrándonos 4 pines. Este beneficio suele prevalecer sobre el hándicap derivado del firmware.
Los LCDs están fabricados con tecnología CMOS, por lo que algunos modelos sugieren conectar los pines de entrada no usados a alguna señal estable para evitar que por ellos se filtre algún ruido que pueda perturbar la operación del LCD.
G. DESCRIPCION GENERAL DEL PROYECTO:
1,2,31,2,3
1,2,3
1,2,3
DIAGRAMA DE FLUJO DE LA INTERRUPCION INT0
RetornoRetornoRSIRSI11Referencia_temp++Referencia_temp++
Retorno
Retorno
RSI
RSI
1
1
Referencia_temp++
Referencia_temp++
DIAGRAMA DE FLUJO DE LA INTERRUPCION INT1
RetornoRetornoRSIRSI22Referencia_temp--Referencia_temp--
Retorno
Retorno
RSI
RSI
2
2
Referencia_temp--
Referencia_temp--
CONFIGURACION DEL ADC
33INICIOINICIO
3
3
INICIO
INICIO
ADMUX <=0X40ADCSRA<=0X86ADLAR<= "1" ajuste a la derechaADEN <= "1" Habilita el ADCREFS1:0 <= "01" Voltaje de referencia AVCCADMUX <= seleccionara el ADC0ADPS2:0 <= El pre escalador es 64ADMUX <=0X40ADCSRA<=0X86ADLAR<= "1" ajuste a la derechaADEN <= "1" Habilita el ADCREFS1:0 <= "01" Voltaje de referencia AVCCADMUX <= seleccionara el ADC0ADPS2:0 <= El pre escalador es 64
ADMUX <=0X40
ADCSRA<=0X86
ADLAR<= "1" ajuste a la derecha
ADEN <= "1" Habilita el ADC
REFS1:0 <= "01" Voltaje de referencia AVCC
ADMUX <= seleccionara el ADC0
ADPS2:0 <= El pre escalador es 64
ADMUX <=0X40
ADCSRA<=0X86
ADLAR<= "1" ajuste a la derecha
ADEN <= "1" Habilita el ADC
REFS1:0 <= "01" Voltaje de referencia AVCC
ADMUX <= seleccionara el ADC0
ADPS2:0 <= El pre escalador es 64
RETORNORETORNO
RETORNO
RETORNO
H. DISEÑO DEL PROYECTO EN PROTEUS
FUNCIONAMIENTO:
Inicialmente tendremos que ingresar una temperatura fija, cuyo registro quedara guardado en la memoria eeprom(ejemplo Tº20),luego para dar inicio al funcionamiento , tendremos que activar el modo maestro; una vez habilitado podremos elegir entre subir(INTERRUPCION 0) y bajar(INTERRUPCION 1) la temperatura que se mostrara en el LCD, luego activamos nuevamente el modo maestro dar paso al funcionamiento del ventilador que estará delimitado por un receptor de temperatura (TTC103), cuyo funcionamiento es condicional, por ejemplo(Si al incio tuvimos registrado una temperatura de 20ºC, y con la ayuda de nuestro termistor llegamos a sobe pasar dicha temperatura, automáticamente se iniciara el funcionamiento del ventilador, siendo esta una interrupción externa, hasta llegar a la temperatura inicial que fue 20ºC, y una vez ejecutado el funcionamiento y su finalidad este se detendrá inmediatamente.)
J. CODIGO EN VMLAB
K. CONCLUSIONES
Es más recomendable utilizar una memoria eeprom externa, para no tener complicaciones en la manera de configurar los códigos en el microcontrolador.
El margen de error en relación de la simulación y la experimentación es casi imperceptible.
Pudimos aplicar la teoría aprendida en clase correctamente.
L. WEBGRAFIA
http://microcontroladores-e.galeon.com/
http://www.cursomicros.com/
http://www.youtube.com/watch?v=kC0CuNqAA1U