I. CAPACIDAD TERMINAL
● Utilizar al microcontrolador en aplicaciones de control electrónico.
● Desarrollar y ejecutar programas en un microcontrolador PIC
● Programar y configurar interfaces básicas del microcontrolador.
II. COMPETENCIA ESPECÍFICA DE LA SESION
● Lecturas analógicas de un canal del PIC
● Configuración de un Sensor de Temperatura
● Lectura analógica en una pantalla LCD
III. CONTENIDOS A TRATAR
● Entradas analógicas
● Sensor de Temperatura
IV. RESULTADOS
● Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos.
V. MATERIALES Y EQUIPO
● CCS Compiler instalado.
● Entrenador de PICS
● Pantalla LCD
● PIC16F877A
● Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
● PC con Software de simulación.
VI. REPASO DEL LABORATORIO ANTERIOR
● Herramientas de Programación en Hardware y Software
VII. FUNDAMENTO TEÓRICO
● Lectura de un puerto analógico
● Sensor de temperatura LM35
● Sensor de temperatura DS18B20
● Utilizar al microcontrolador en aplicaciones de control electrónico.
● Desarrollar y ejecutar programas en un microcontrolador PIC
● Programar y configurar interfaces básicas del microcontrolador.
II. COMPETENCIA ESPECÍFICA DE LA SESION
● Lecturas analógicas de un canal del PIC
● Configuración de un Sensor de Temperatura
● Lectura analógica en una pantalla LCD
III. CONTENIDOS A TRATAR
● Entradas analógicas
● Sensor de Temperatura
IV. RESULTADOS
● Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos.
V. MATERIALES Y EQUIPO
● CCS Compiler instalado.
● Entrenador de PICS
● Pantalla LCD
● PIC16F877A
● Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
● PC con Software de simulación.
VI. REPASO DEL LABORATORIO ANTERIOR
● Herramientas de Programación en Hardware y Software
VII. FUNDAMENTO TEÓRICO
● Lectura de un puerto analógico
● Sensor de temperatura LM35
● Sensor de temperatura DS18B20
VIII. DESCRIPCIÓN Y FUNCIONAMIENTO DE LAS ENTRADAS ANALÓGICAS.
Una señal eléctrica analógica es aquella en la que los valores de la tensión o voltaje varían constantemente y pueden tomar cualquier valor. En el caso de la corriente alterna, la señal analógica incrementa su valor con signo eléctrico positivo (+) durante medio ciclo y disminuye a continuación con signo eléctrico negativo (–) en el medio ciclo siguiente.
En un sistema de control (como un microcontrolador) no tiene capacidad alguna para trabajar con señales analógicas, de modo que necesita convertir las señales analógicas en señales digitales para poder trabajar con ellas.
La señal digital obtenida de una analógica tiene dos propiedades fundamentales:
Valores :Que valor en voltios define 0 y 1. En nuestro caso es tecnología TTL (0 – 5V)
Resolución analógica :Número de bits que usamos para representar con una notación digital una señal analógica
IX. TAREAS GUIADAS DENTRO DEL LABORATORIO:
1. Simule y pruebe en el entrenador el programa del LCD de acuerdo al circuito y código siguiente. Asegúrese que el PIN RW esté conectado a GND (jumper sin conectar) y que el LCD esté conectado al PUERTO D mediante interruptores rojos debajo del mismo:
2. Realice los cambios sugeridos a continuación y muestre sus resultados
a. Donde dice “#device adc=8” cambie por “#device adc=10”; convierta la variable “lectura” en entero de 16 bits y la línea printf cambie “%4u” por “%4lu”. ¿Cuál es el cambio mostrado en la pantalla LCD? ¿por qué?.
b. Convierta el valor leído en valor de voltaje de 0 a 5 voltios. Para esto cambie la variable “lectura” a variable tipo float y configure su forma de mostrarse en el LCD. Luego, en la función While(true), añada la instrucción “lectura = lectura / 204.6”. Cambie las instrucciones para que en la pantalla del LCD aparezca algo así “Tension: 3.456 v”.
c. Finalmente agregue una condición IF para que si el valor de voltaje supera 4.5 voltios, mostrar el mensaje “WARNING” en la primera línea del LCD.
CODIGO USADO
//Desactivar dip switch de DISPLAYS para correcto
funcionamiento.
//Entrada analógica en el puerto A3.
#include <16f877a.h> // Incluimos archivo con PIC a
utilizar
#device adc=10 // Utilizamos 8 bits de
RESOLUCION de lectura
#use delay (clock=20M) // Indicamos al compilador que
trabajaremos a 20Mhz
#fuses HS, NOPROTECT, NOWDT // Configuración básica de los fusibles
#define LCD_ENABLE_PIN
PIN_D3 //Definimos los pines a
ser utilizados por la
#define LCD_RS_PIN
PIN_D2 //pantalla LCD
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7
PIN_D7
#include <lcd.c> // Incluimos librería para
manejar Pantalla LCD
int16 tem=0;
float lectura=0;
void main ()
{
lcd_init () ; // Inicializamos pantalla LCD
setup_adc_ports (AN0_AN1_AN3);
setup_adc (ADC_CLOCK_INTERNAL);
set_adc_channel (3); //lectura del canal analogico 3
delay_us (20);
WHILE (true)
{
tem = read_adc (); //
Leemos Canal A0
tem = tem / 10.23 ;
delay_ms (20) ;
lcd_gotoxy(1,1);
printf (lcd_putc, "Temp: %3lu\337C", tem); // imprimimos valor
lectura =
read_adc (); // Leemos Canal A0
lectura =
lectura / 409.2 ;
delay_ms (20) ;
// ubicamos cursos en LCD// esperamos para una correcta lectura
lcd_gotoxy(1,2);
printf
(lcd_putc, "Voltaje: %1.2f V", lectura); // imprimimos valor
IF (tem <= 100)
{
output_high (PIN_C0);
output_low (PIN_C1);
output_low (PIN_C2);
}
IF (tem <= 90)
{
output_high (PIN_C1);
output_low (PIN_C0);
output_low (PIN_C2);
}
IF (tem <= 15)
{
output_high (PIN_C2);
output_low (PIN_C0);
output_low (PIN_C1);
}
}
}
3. Tarea de investigación:
a. Averigüe cómo funciona un sensor LM35 y cómo se puede leer dicha temperatura en una pantalla LCD.
El LM35 es un sensor de temperatura con una precisión calibrada de 1 °C. Su rango de medición abarca desde -55 °C hasta 150 °C. La salida es lineal y cada grado Celcius equivale a 10 mV, por lo tanto:
150 °C = 1500 mV
-55 °C = -550 mV
Opera de 4v a 30v.
El LM35 no requiere de circuitos adicionales para calibrarlo externamente. La baja impedancia de salida, su salida lineal y su precisa calibración hace posible que este integrado sea instalado fácilmente en un circuito de control. Debido a su baja corriente de alimentación se produce un efecto de auto calentamiento muy reducido. Se encuentra en diferentes tipos de encapsulado, utilizado por transistores de baja potencia
b. Lo mismo con un sensor DS18B20.
Este sensor es idóneo cuando queremos medir la temperatura en ambientes húmedos e incluso dentro del agua. Esto es debido a que podemos comprar una versión que viene en forma de sonda impermeable.Este sensor puede medir temperaturas entre -55ºC y 125ºC.
Este sensor tambien admite resoluciones de 9-bit, 10-bit, 11-bit y 12-bit. Pero por defecto utiliza la resolución de 12-bit.
-Voltaje de Operación: 3.0V – 5.5V
-Rango de Trabajo: -55℃ hasta +125℃ (-67°F to +257°F)
-Precisión en el rango de -10°C hasta +85°C: ±0.5°C.
-Resolución seleccionable de 9-12 bits
X. OBSERVACIONES
-Los circuitos digitales, como por ejemplo un microcontrolador, usan la lógica de dos estados representados por dos niveles de tensión eléctrica.
-Se utilizaron valores de referencia en este caso para la temperatura y el voltaje.
-Fue necesario hacer cálculos matemáticos para hallar el dividendo para así lograr el limite del rango en el LCD.
-Se tuvo que incluir la librería del LCD1.c para poder visualizar los valores en nuestro LCD al momento de programar.
-Los circuitos digitales, como por ejemplo un microcontrolador, usan la lógica de dos estados representados por dos niveles de tensión eléctrica.
-Se utilizaron valores de referencia en este caso para la temperatura y el voltaje.
-Fue necesario hacer cálculos matemáticos para hallar el dividendo para así lograr el limite del rango en el LCD.
-Se tuvo que incluir la librería del LCD1.c para poder visualizar los valores en nuestro LCD al momento de programar.
XI. CONCLUSIONES
-Se pueden modificar las librerías según las necesidades que se tengan para la programación, También debemos adecuarnos al hardware existente, modificando el software en función al hardware.
-En una señal digital están las transiciones de alto a bajo y de bajo a alto, denominadas flanco de bajada y de subida, respectivamente.
-El programa de regulación de voltaje nos ayuda a interpretar los valores de 0 a 5V de manera eficiente
Realizamos la comunicación de los 16 pines con eficiencia al LCD con relación al código fuente.
-Se pueden modificar las librerías según las necesidades que se tengan para la programación, También debemos adecuarnos al hardware existente, modificando el software en función al hardware.
-En una señal digital están las transiciones de alto a bajo y de bajo a alto, denominadas flanco de bajada y de subida, respectivamente.
-El programa de regulación de voltaje nos ayuda a interpretar los valores de 0 a 5V de manera eficiente
Realizamos la comunicación de los 16 pines con eficiencia al LCD con relación al código fuente.
Comentarios
Publicar un comentario