Vous êtes sur la page 1sur 19

Pra

c
t ic
a
4

INSTITUTO TECNOLOGICO
SUPERIOR DE TIERRA
BLANCA

UNIDAD 2

ING. MECATRNICA
Practica de Sensor de
Temperatura. Microcontroladores
CATEDRATICO:
Ing. Hilario Martnes Arano.
ALUMNOS:
Selene Del Carmen Galo Romero
Diana Aguilar Aguilera
Carlos Alain Simonin Martnez
Pedro Antonio Martnez Tomas
Juan Daniel Rosales Molina
Adrin Navarro Arcos
Agustn Lora Reyes

FECHA DE ENTREGA:

508-C

UNIDAD 2

INDICE
Introduccin........................................................................................................................ 3
Objetivo General................................................................................................................. 4
Objetivo Especifico.............................................................................................................. 4
Marco Terico...................................................................................................................... 4
Diseos de los circuitos....................................................................................................... 6
Pre- Diseos...................................................................................................................... 15
Desarrollo practico............................................................................................................ 17
Conclusin Y Recomendaciones........................................................................................ 17
Referencias....................................................................................................................... 18

IM

408-C
2

UNIDAD 2

Introduccin
Los microcontroladores tienen un significativo muy importante en los dispositivos
digitales empleados en el control de uno sistema. Ya que son muy pequeos y esto les
ayuda a convertirse en un elemento muy importante.
Gracias a la implementacin de estos, es que hoy en da podemos realizar los distintos
proyectos que hemos realizado como visualizar en una Pantalla LCD 16x2 y el sensor de
temperatura LM335, a travs de la programacin introducida en un microcontrolador con el
apoyo del software MPLAB-IDE que es el ideal para este proyecto.
Tambin con la ayuda de Proteus podemos simular con el PIC elegido, antes de
realizarlo en la prctica con protoboard.

IM

408-C
2

UNIDAD 2

Objetivo General
Programar y aplicar los sistemas en microcontroladores y su interfaz utilizarla en la
automatizacin industrial.

Objetivo Especifico

Utilizar las herramientas para desarrollar programas que permitan afianzar los
conceptos tericos.
Evaluar el comportamiento de los programas realizados en un circuito de evaluacin de
desarrollo

Marco Terico
MICROCONTROLADOR
Sistema electrnico que integra las capacidades de una arquitectura especifica de
microprocesador, junto con las capacidades de acople a otros sistemas que brindan
los perifricos, todo, en un solo empaquetado.
Se logra integracin, disminucin del costo en implementacin de aplicaciones
especficas.
LAS VENTAJAS DE UN MICROCONTROADOR
Reduccin de la cantidad de espacio en la implementacin de un diseo dado.
Reduce el costo de implementacin.
Permite desarrollo de aplicaciones especficas de manera ms rpida y eficiente.
Los fabricantes dan mucho soporte sobre las aplicaciones ms comunes.
Se adaptan mejor a aplicaciones especificas
Al desarrollar una aplicacin basada en microcontrolador, es importante:

IM

Crear el diseo: en funcin de las caractersticas y performance deseadas, seleccionar


el microcontrolador que mejor se ajuste a la aplicacin, y luego disear la circuitera
asociada.
Escribir el firmware: que es el software que controlar al hardware.
Compilar el software: a fin de convertirlo en un cdigo entendible por el
microcontrolador.
Testear el cdigo. Es comn que un programa no funcione tal cual lo esperado la
primera vez, por lo que es necesario detectar y corregir los posibles errores.
Grabar el cdigo en el microcontrolador y verificar que se ejecute Correctamente en la
aplicacin final.
408-C
2

UNIDAD 2

En este caso utilizaremos la herramienta de desarrollo MPLAB IDE, la cual es muy


completa. Esta herramienta es desarrollada por Microchip como soporte a su lnea de
microcontroladores.
MPLAB permite al diseador realizar, entre otras, las tareas de:

Creacin y edicin del cdigo fuente mediante un editor incorporado.


Ensamblar, compilar y linkear cdigo fuente.
Depurar y controlar el funcionamiento del programa mediante un simulador
incorporado.
Realizar mediciones de tiempo con el simulador.
Observar el valor de las variables del programa.
Grabar el programa en el microcontrolador.

Programa en lenguaje ensamblador que muestra un mensaje en un LCD 16x2, la


temperatura recibida por el sensor LM35.
Pantalla LCD 16x2

La Pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo


microControlado de visualizacin grfico para la presentacin de caracteres, smbolos
o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas y de 16
caracteres cada una y cada carcter dispone de una matriz de 5x7 puntos (pixels),
aunque los hay de otro nmero de filas y caracteres. Este dispositivo est gobernado
internamente por un microcontrolador y regula todos los parmetros de presentacin,
este modelo es el ms comnmente usado y esta informacin se basar en el manejo
de este u otro LCD compatible.

El LM35 es un sensor de temperatura.

El LM35 es un sensor de temperatura con una precisin calibrada de 1C y un rango


que abarca desde -55 a +150C. El sensor se presenta en diferentes encapsulados
pero el mas comn es el to-92 de igual forma que un tpico transistor con 3 patas, dos
de ellas para alimentarlo y la tercera nos entrega un valor de tensin proporcional a la
temperatura medida por el dispositivo. Con el LM35 sobre la mesa las patillas hacia
nosotros y las letras del encapsulado hacia arriba tenemos que de izquierda a derecha
los
pines
son:
VCC
Vout
GND.
La salida es lineal y equivale a 10mV/C por lo tanto:
+1500mV = 150C
+250mV = 25C

IM

408-C
2

UNIDAD 2

-550mV = -55C

Diseos de los circuitos

Cdigo del programa

processor 16f877
include<p16f877.inc>

;Variable para el DELAY del ADC


val equ h'20'

;Variables para el DELAY del ENABLE LCD


val2 equ 0x30
val1 equ 0x31

IM

408-C
2

UNIDAD 2

;Variables para separar el resultado de ADC


; en valor BCD
Unidades equ 0x32
Decenas equ 0x33
Centenas equ 0x34
Resto equ 0x35

org 0h
goto INICIO
org 05h

INICIO:
clrf PORTA

;Limpia el puerto A

clrf PORTB

;Limpia el puerto B

clrf PORTC

;Limpia el puerto C

clrf PORTD

;Limpia el puerto D

bsf STATUS,RP0
bcf STATUS,RP1

;Cambio al banco 1

;Configuracin de puertos C-D para el LCD


clrf TRISC

;Configura PORTC como salida

clrf TRISD

;Configura PORTD como salida

;Configuracin del puerto A para ADC

IM

408-C
2

UNIDAD 2
movlw 00h
movwf ADCON1

;Configura puerto A y E como analgicos

movlw 3fh
movwf TRISA

;Configura el puerto A como entrada

movlw h'0'

;Configuracin del puerto B para mostrar el resultado ADC


movwf TRISB

;Configura puerto B como salida

bcf STATUS,RP0

;Regresa al banco 0

;Inicio del programa


START
call START_LCD

;Inicializa LCD

goto START_ADC

;Comienza la lectura del Conv. A/D

;Inicia LCD
START_LCD:
bcf PORTC,0

; RS=0 MODO INSTRUCCION

movlw 0x01

; 0x01 limpia la pantalla en el LCD

movwf PORTD
call COMANDO

; Se da de alta el comando

movlw 0x0C

; Selecciona la primera lnea

movwf PORTD

IM

call COMANDO

; Se da de alta el comando

movlw 0x3C

; Se configura el cursor

408-C
2

UNIDAD 2
movwf PORTD
call COMANDO

; Se da de alta el comando

bsf PORTC, 0

; Rs=1 MODO DATO

return

;Rutina para enviar un dato


ENVIA:
bsf PORTC, 0

; RS=1 MODO DATO

call COMANDO

; Se da de alta el comando

return

;Rutina para enviar comandos


COMANDO:
bsf PORTC, 1

; Pone la seal ENABLE en 1

call DELAY2

; Tiempo de espera

call DELAY2
bcf PORTC, 1

; ENABLE=0

call DELAY2
return

;Rutina para limpar pantalla LCD


ERASE_LCD
bcf PORTC,0

; RS=0 MODO INSTRUCCION

movlw 0x01

; 0x01 limpia la pantalla en el LCD

movwf PORTD

IM

408-C
2

UNIDAD 2
call COMANDO

; Se da de alta el comando

bsf PORTC, 0

; Rs=1 MODO DATO

return

;Configuracin Convertidor A/D


START_ADC
movlw b'11000001' ;Configuracin ADCON0
movwf ADCON0

;ADCS1=1 ADCS0=1 CHS2=0 CHS1=0


;CHS0=0 GO/DONE=0 - ADON=1

CICLO: bsf ADCON0,2


call DELAY1
ESPERA btfsc ADCON0,2

;Conversin en progreso GO=1


;Espera que termine la conversin
;Pregunta por DONE=0?(Termin conversin)

goto ESPERA

;No, vuelve a preguntar

movf ADRESH,0

;Si

movwf PORTB

;Muestra el resultado en PORTB

;Rutina que muestra temperatura


PRINT_TEMP
call ERASE_LCD

;Limpia LCD

movlw 'T'
movwf PORTD
call ENVIA
movlw '='
movwf PORTD

IM

408-C
2

UNIDAD 2
call ENVIA

call READ_TEMP

;Llamada a rutina que obtine el


;valor de la temperatura a partir
;del

movf Centenas,W

resultado del Conv a/D

;Imprime el dgito de las centenas

movwf PORTD
call ENVIA
movf Decenas,W

;Imprime el dgito de las decenas

movwf PORTD
call ENVIA
movf Unidades,W

;Imprime el dgito de las unidades

movwf PORTD
call ENVIA
movlw ' '
movwf PORTD
call ENVIA
movlw h'DF'

;Imprime el simbolo ""

movwf PORTD
call ENVIA
movlw 'C'
movwf PORTD
call ENVIA

goto CICLO

IM

;Repite el ciclo de lectura ADC

408-C
2

UNIDAD 2

;Rutina que obtine el valor de la temperatura


;a partir del

resultado del Conv a/D

READ_TEMP:
clrf Centenas
clrf Decenas
clrf Unidades

movf ADRESH,W
addwf ADRESH,W

;Dupilca el valor de ADRESH para

;obtener un valor de temperatura real aprox


movwf Resto

;Guarda el valor de ADRESH en Resto

;Comienza el proceso de otencin de valores BCD


;para Centenas, Decenas y unidades atraves de restas
;sucesivas.
CENTENAS1
movlw d'100'

;W=d'100'

subwf Resto,W

;Resto - d'100' (W)

btfss STATUS,C

;Resto menor que d'100'?

goto DECENAS1

;SI

movwf Resto

;NO, Salva el resto

incf Centenas,1

;Incrementa el contador de centenas BCD

goto CENTENAS1

;Realiza otra resta

DECENAS1

IM

408-C
2

UNIDAD 2
movlw d'10'

;W=d'10'

subwf Resto,W

;Resto - d'10' (W)

btfss STATUS,C

;Resto menor que d'10'?

goto UNIDADES1

;Si

movwf Resto

;No, Salva el resto

incf Decenas,1

;Incrementa el contador de centenas BCD

goto DECENAS1

;Realiza otra resta

UNIDADES1
movf Resto,W

;El resto son la Unidades BCD

movwf Unidades
;clrf Resto

;Rutina que obtiene el equivalente en ASCII


OBTEN_ASCII
movlw h'30'
iorwf Unidades,f
iorwf Decenas,f
iorwf Centenas,f
return

;Rutina que genera un Delay de 20 microSeg aprox.


;para el Conv. A/D
DELAY1:
movlw h'30'
movwf val

IM

408-C
2

UNIDAD 2
Loop

decfsz val,1
goto Loop
return

;Subrutina de retardo para ENABLE_LCD


DELAY2:
movlw 0xFF
movwf val1
Loop1:
movlw 0xFF
movwf val2
Loop2:
decfsz val2,1
goto Loop2
decfsz val1,1
goto Loop1
return
end

IM

408-C
2

UNIDAD 2

Pre- Diseos

IM

408-C
2

UNIDAD 2

IM

408-C
2

UNIDAD 2

IM

408-C
2

UNIDAD 2

Desarrollo practico
Procedimiento
1.- Para hacernos un termmetro lo nico que necesitamos es un voltmetro bien calibrado y
en la escala correcta para que nos muestre el voltaje equivalente a temperatura. El LM35
funciona en el rango de alimentacin comprendido entre 4 y 30 voltios. Podemos conectarlo
a un conversor Analgico/Digital y tratar la medida digitalmente, almacenarla o procesarla
con un microControlador o similar.
2.- Usos: 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 loggear
temperaturas en el transcurso de un trayecto de exploracin.
3.- El siguiente montaje es un medidor de temperatura de un canal usando un PIC16F877 y
un LCD para mostrar los datos aunque se puede modificar fcilmente el programa para
obtener los datos de temperatura y calcular con ellos lo que fuese necesario. El rango de
medidas que soporta este montaje es solo de temperaturas positivas y abarca desde 0 a
+150C.
4.-Programar el
adecuado
5.-Probar
el

microcontrolador utilizando
para el
programador.
circuito
introduciendo

el

MPLAB-IDE o

diferentes

el

software

datos binarios.

Conclusin Y Recomendaciones
Como se pudo ver con la ayuda de los microcontroladores se pudo disear un sistema de
automatizacin, en donde gracias a esto se comprob el funcionamiento un circuito donde
podemos visualizar la temperatura en la pantalla LCD 16x2, con la ayuda del sensore de
temperatura LM335 y con el microcontrolador 16F877. Con la ayuda de Mplab, Proteus y el
quemador de Pic; como lo visualizamos en las imgenes anteriores de la practica realizada
el protoboard.

IM

408-C
2

UNIDAD 2

Referencias

IM

Luis Edier Gaan, Introduccin a microntroladores PIC, Disponible


http://es.slideshare.net/RUDEROCKER/55228710-manualmicrosypantalla,
[8/septiembre/2014].

Mackenzie I Scout, Microcontroladores 8051, cuarta edicin, Prentice Hall, Mexico,


2007.

Moyano Jonathan, introduccin a los microntroladores, Disponible


http://www.ikkaro.com/introduccion-microcontroladores/.[8/septiembre/2014].

408-C
2

en:

en:

Vous aimerez peut-être aussi