Laboratorio N°13
Lecturas de entradas analogicas
1.- Competencias especificas
- 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.
2.- Marco Teórico
Un PIC es un circuito integrado programable (Programmable Integrated Circuited), el cual contiene todos los componentes para poder realizar y controlar una tarea, por lo que se denomina como un microcontrolador.Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de general instrument.
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de entrada/salida a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.
3.- Interrupciones de un microcontrolador
Es una de las caracterasticas de los microcontroladores, de las mas importantes que constituye la capacidad de sincronizar la ejecucion de programas con acontecimientos externos; es decir, cuando se produce una interrupcion, el micro automaticamente deja lo que esto haciendo, va a la direccion 04h de programa y ejecuta lo que encuentre a partir de alli hasta encontrarse con la instruccion RETFIE que le hara abandonar la interrupcion y volver al lugar donde se encontraba antes de producirse dicha interrupcion. Hemos de diferenciar entre dos tipos de interrupciones posibles en un PIC:
1. - Mediante una accion interna. El desbordamiento de la Pila (Stack) por una operacion indebida, por ejemplo:
- Al completarse la escritura de datos en una EEPROM.
- Por desbordamiento del registro TMR0 al rebasar el valor 255 (FFh) a 0.
2. - Mediante una accion externa, la mas util. Al producirse un cambio del nivel en uno de sus pines por una accion externa.
- Estando en el modo de reposo (SLEEP), un cambio de nivel en el pin RB0/INT .
- Un cambio de nivel en uno de los pines RB4 a RB7 estando configurados como entrada.
4.- Lectura de un valor analogico
Esta característica es muy
importante a la hora de trabajar con sensores, debido a que estos entregan
valores de tensión para reflejar la variable física que
esta midiendo.
En estas entradas se pueden sensar
valores de 0 a 5 V y se pueden representar(según el PIC) con
diferentes resoluciones, como por ejemplo 256 valores, 1024(revisar datasheet).
Así si trabajamos con
una resolución de 256 tendremos para 0V una salida de 0 y para los 5V
veremos el numero 255, lo mismo con otras resoluciones y valores intermedios.
Para configurar las
entradas analógicas debemos ir a Analog en el wizard
y seleccionar que entradas ocuparemos para nuestros propósitos, por
ejemplo yo configurare A0, A1 y A3.
5.- Pines de alimentacion.
Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K conectado a Vdd.
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K conectado a Vdd.
Modulo PIC
6.- Sensor analogico LM35.
El LM35 es un sensor de temperatura de buenas prestaciones a un bajo precio. Posee un rango de trabajo desde -55ºC hasta 150ªC. Su salida es de tipo analógica y lineal con una pendiente de 10mV/ºC. El sensor es calibrado de fábrica a una precisión de 0.5ºC.
Es un sensor muy popular por su fácil uso y variadas aplicaciones. No necesita de ningún circuito adicional para ser usado. Se alimenta directamente con una fuente de 5V y entrega una salida analógica entre 0V a 1.5V. Este voltaje analógico puede ser leído por el ADC de un microcontrolador como PIC o Arduino. Entre sus aplicaciones podemos encontrar termómetros, termostatos, sistemas de monitoreo y más.
- Voltaje de Operación: 4V – 30V (5V recomendado)
- Rango de Trabajo: -55℃ hasta +150℃
- Precisión en el rango de -10°C hasta +85°C: ±0.5°C
- Pendiente: 10mV / ºC
- Bajo consumo energético: 60uA
- No necesita componentes adicionales
- Pines: +VCC, V salida, GND
- Baja impedancia de salida
7.- Sensor analogico DS18B20
El sensor de temperatura DS18B20 es uno de los sensores más versátiles que puedes encontrar en el mercado.
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. A lo largo de este artículo veremos las particularidades, ventajas y desventajas del DS18B20. No se trata de un sensor de temperatura común, veremos que es algo más.
8.- Video
9.- Observaciones
- EL delay dado en el ejemplo es innecesario, ya que para disminuir las oscilaciones de la lectura analógica se puede cambiar la configuración de la Fosc del módulo.
- Se uso la instrucción para apagar los Leds del puerto C ya que al iniciar el programa habían ocasiones donde se quedaban prendidos.
- Se agrego un incremento de la barra de leds ubicados en el puerto C a medida que la entrada analógica incrementaba, para esto se aplicó un arreglo de datos, una nueva variable y un nuevo escalamiento para la misma.
- Al introducir un número mayor de resolución en el ADC del PIC, este solo multiplicaba la base al valor introducido, haciendo que el dato resultante no fuese de 1 en 1, sino que saltase cierta cantidad de valores.
10.- Conclusiones
- Se logró implementar el funcionamiento de las entradas analógicas empleando el PIC16F877A para una lectura de 8 bits como para lecturas de 10 bits, siendo esta última el máximo valor de resolución que se puede lograr con este microcontrolador.
- Se logró realizar la programación para el escalamiento de una señal analógica de entrada a un intervalo de valores definidos como temperatura o voltaje.
- Mediante la investiguación realizada, Se logró comprender sobre el funcionamiento del sensor analógico LM35 y sobre el tipo de escalamiento que se requeriria para interpretar el voltaje adquirido en su temperatura leída.
No hay comentarios:
Publicar un comentario