Está en la página 1de 8

BENEMERITA UNIVERSIDAD AUTONAMA DE

PUEBLA

COMPLEJO REGIONAL SAN JOSE CHIAPA

INGENERIA EN AUTOMATIZACION Y
AUTOTRONICA

TRANSDUCTORES, FILTRADO Y
ADECUACIONES

PROFESOR: MIGUEL ANGEL ORTEGA


PALACIOS.

ALUMNOS:
DAVID LOPEZ TELA
PEDRO MELQUIADES REGINO
JOSE EDUARDO JIMENEZ NAVA.
JESUS ALEJANDRO GUTIERREZ APARICIO

Práctica 2. Lectura sensor LM35 y velocidad en LCD


Práctica 2. Lectura sensor LM35 y velocidad en LCD

Objetivo general.

En esta práctica es aplicar conocimientos acerca de la resolución del sensor LM35, con el cual
vamos a calcular la velocidad del sonido con base al sensor LM35 y su señal analógica ya que
aplicaremos una fórmula para la velocidad del sonido con base a la temperatura que marca el
sensor para después mandar a imprimir estos datos a una pantalla LCD.

Objetivos específicos:

• Diseñar el circuito con base al PIC16F877A para captar la señal analógica del
sensor

• Identificar la librería adecuada para la LCD y lo puertos de salida para conectar


adecuadamente la LCD en el PIC

• Utilizar herramientas para armar el circuito, como diagramas de los


componentes a utilizar.

• Evaluar el circuito que este funcionando adecuadamente y corregir errores.

Introducción.

En la práctica se va realizar el diseño de un circuito con el sensor LM35, pantalla LCD y el


PIC16F877A con el fin de mandar datos a la pantalla LCD ya que estos datos serán la resolución
que tiene el señor LM35 en grados centígrados y la velocidad del sonido con base a la
temperatura que este marcando el sensor LM35 ya emplearemos una fórmula para calcular la
velocidad del sonido con base a la temperatura ya que todo esto planteado lo va estar realizando
el microcontrolador que es el PIC16F877A en el cual lo vamos a estar programando en un
lenguaje de programación en C mediante MPLAB.

Desarrollo.
En esta práctica se utilizaran los siguientes componentes:
Potenciómetro de 10K o 1K
Pantalla LCD de 16X2
PIC16F877A
Sensor LM35
Protoboard
Fuente de alimentación de 5 V ,Jumpers , Cristal de 4MHZ y 2 capacitores de 22 pF
Vamos a iniciar en ensamblar los componentes en la protoboard ya que primero vamos a
identificar el puerto analógico que vamos a ocupar para recibir la señal analógica del sensor
hacia el PIC ya que vamos a elegir el puerto RA0 ya que lo vamos a configurar después en la
programación después vamos a identificar los puerto que vamos a ocupar para la pantalla LCD
ya que seria el puerto RD1, RD2, RD4, RD5, RD6, RD7 estos puertos son los que vamos a ocupar
la pantalla.

Para conectar bien la pantalla vamos identificar VDD y VSS ya que son sus alimentaciones y “Vo
o Vee” lo vamos a conectar con un potenciómetro para regular el brillo de la letras, el “RS” va ir
conectado al puerto RD1 para habilitar la señal de instrucciones el “RW” va ir conectado a tierra
para deshabilitar ya que no lo vamos a ocupar, el “E” va ir conectado en le puerto RD2 para
habilitar la escritura de la LCD ya que vamos a mandar datos para que los escriba en la LCD y se
vea , D4 va conectado al RD4, D5 al RD5, D6 al RD6, D7 al RD7 ya esos con la líneas de
comunicación para mandar los datos.

Ilustración 1.1

Como se muestra en la ilustración 1.1 es el conectado del potenciómetro y para identificar los
pines ya que van de 1 al 16 como lo marca en la imagen.

Ilustración 2
En la ilustración 2 se puede mostrar la manera como se debe conectar los componentes como
lo es la pantalla LCD, el sensor LM35 y el cristal para que funcione adecuadamente el circuito ya
que ahora vamos a pasar la parte de programación el MPLAB de acuerdo a lo que hemos
planteado como la lecturar del sensor LM35 y como los puerto de comunicación de la LCD hacia
el PIC.

Para iniciar la programación primero hay que abrir la aplicación de MPLAB y crear un nuevo
proyecto con base al PIC16F877A para esto lo vamos a programar en el lenguaje C y elegimos el
compilador adecuado.

Ilustración 3

Como en la ilustración 3 el código va iniciar con incluir librerías adecuadas el PIC y vamos a
configurar los bits que tiene este PIC en este caso apagamos el perro guardián también el
oscilador que vamos a ocupar y también declaramos la librería de LCD_12ª.h esa la vamos a
ocupar para el control de la LCD y para mandar imprimir nuestros resultados.

Después mas abajo declaramos unas varias de tipo flotante para la señal analogía ya convertida
a digital del sensor LM35 para así hacer unas operaciones y que queden en grados Centígrados
y para calcular la velocidad del sonido y por ultimo una variable de tipo “char” de 10 bits para
mandar imprimir nuestros resultados como la del sensor y la velocidad del sonido para la pantalla
LCD.

Ilustración 4
En la Ilustración 4 se observa que agregamos una función con el void adc_config() ya que en esta
función vamos a declarar nuestro puerto RA0 como puerto analógico y no digital ponemos
nuestro voltaje de referencia así también lo habilitamos como pin de entrada también se
enciende el convertidor analógico a digital y justificamos nuestro resultado a la derecha
elegimos el tiempo que se va tardar en hacer la conversión y elegimos el canal que se va estar
leyendo la señal analógica que en este caso es el 0.

Ilustración 5

En la Ilustración 5 es la parte de void main donde se va estar ejecutando todo lo que hemos
planteado en este caso primero se inicia con la declaración de puerto que es el TRISD le ponemos
un cero para que se declare como puertos de salida luego le ponemos el PORTD igual le
ponemos 0 para que limpie todo el puerto y no haya una señal ya que estos puertos son para la
pantalla LCD.

Después declaramos la función adc_config () para hacer nuestra conversión analógico a digital,
luego se ponen los comandos Lcd_Init que es para iniciar la pantalla , LCD_Clear() es para limpiar
el puerto , LCD_Set_Cursor (1,1) en este elegimos la columna y la fila donde va empezar a escribir
nuestros datos que queremos imprimir en la pantalla LCD y por ultimo el LCD_Write_string() este
se ocupara para mandar números o palabras que se van a escribir en la LCD.

Por ultimo abrimos un While y habilitamos el GO_DONE con un 1 para que este encendido y
haga la conversión luego se abre otro While con otro GO_DONE y este va confirmar si sigue
siendo a 1 va seguir encendido el convertidos después con nuestras variables declaradas
anteriormente vamos agarrar la de “adc” ahí vamos aguardar la conversión que ahora va estar
en digital y es de 10 bits lo cuales están guardados en el ADRESH Y ADRESL para esto los
sumamos los dos ADRES Y movemos 8 pasos a la izquierda el ADRESH para que a la hora de
sumar de una resolución de 10 bits.

Para obtener el voltaje de la resolución que da el sensor que por cada 10mv es igual a 1 Cº se
ocupa la siguiente formula:

𝑉𝑜𝑙𝑡 = (𝑎𝑑𝑐 ∗ 5.0)/1024.0


𝑡𝑒𝑚𝑝 = 𝑣𝑜𝑙𝑡 ∗ 100
Ya que aplicando estas operaciones la temperatura nos queda en grados C º ya que en la primera
formula se obtiene el voltaje en un rango de 0 a 5v y ese voltaje debe estar repartido en 10 bits
que este caso son los 1024.0

Y para calcular la velocidad del sonido se ocupa la siguiente operación:

𝑉𝑆 = 331 + 0.6(𝑇)

ya que solo sustituimos el valor de temperatura con el resultado obtenido y los multiplicamos
por 0.6 y le sumamos 331 y esa es la velocidad del sonido con base a la temperatura y lo
mandamos a imprimir con los comandos de la LCD de acuerdo a la librería
Pero primero ponemos un sprintf que no va ayudar almacenar nuestro resultado en caracteres
para esto le `pone o.2 y f para que se muestre dos decimales y va ser un valor de tipo flotante
que se va mandar a imprimir en la LCD.

Resultados:

Ilustración 7 Ilustración 6
Ilustración 10
Ilustración 11

Ilustración 9 Ilustración 8

Como se muestra en la ilustraciones se muestra todo lo planteado anteriormente de


acuerdo a la operaciones que hicimos y a la programación que hemos hecho de
acuerdo a lo que sea planteado del sensor y la pantalla LCD.

En las ilustraciones se compara el resultado de la practica en físico y una en


simulación ya que primero se hace en simulación y si ya sale bien en simulación solo
hay que implementarlo en físico para que salga bien y estemos seguro de que si va
funcionar el circuito y la programación del PIC.
Conclusión
En esta practica es una manera de emplear diferentes asignaturas tales como lo es
la programación la electrónica y lo que es un poco de operaciones de acuerdo a la
necesidad, pero esta practica fue un poco compleja ya que para cada apartado tiene
su dificultad como lo es en la programación o a la hora de hacer las conexiones en
físico o en la protoboard.

La única problemática que tuvimos como equipo fue en la parte de las conexiones
del PIC16F877A hacia la pantalla LCD ya que dependía de nuestra protoboard ya que
esta tenía problemas y ocurrían falsos contactos de la protoboard lo cual provocaba
que a veces la pantalla no marcaba nada o no se alcanzaban a ver bien las letras en
la pantalla LCD.

También podría gustarte