viernes, 6 de diciembre de 2019

LABORATORIO N°13


MICROCONTROLADORES


Laboratorio N°13:

LECTURA DE ENTRADAS ANALÓGICAS DE TEMPERATURA.



I. CAPACIDAD TERMINAL

  1. Utilizar al microcontrolador en aplicacion de control electrónico
  2. Desarrollar y ejecutar programas en un microcontrolador PIC
  3. Programar y configurar interfaces básicas del microcontrolador

II. COMPETENCIA ESPECÍFICA DE LA SESIÓN
  1. Lecturas analogicas de un canal del PIC
  2. Configuración de un Sensor de Temperatura
  3. Lectura analógica en una pantalla LCD

III. FUNDAMENTOS TEÓRICOS

Existen dos tipos de entradas analógicas y digitales, de igual manera en las salidas que son analógicas y digitales, estas entradas mediante el interfaz, adapta y codifica de forma comprensible para la CPU las señales procedentes de los dispositivos de entrada.

a. Entradas analógicas

Los módulos de entradas analógicas convierten una magnitud analógica en un numero que se deposita en una variable interna del autómata. Lo que realiza es una conversión A/D, puesto que el autómata solo trabaja con las señales digitales. Esta conversión se realiza con una precisión o resolución determinada (número de bits) y cada cierto intervalo de tiempo (periodo de muestreo).

Las señales analógicas son las que varían en función del tiempo adquiriendo valores dentro de un intervalo continuo. La información analógica puede tomar infinitos valores. Las entradas analógicas permiten que se pude leer y trabajar con señales de tipo analógico, como pueden ser por ejemplo la temperatura, la presión o el caudal. Esta información se obtiene de los sensores, que son unos dispositivos de entrada que captan la señal analógica del exterior y devuelven un valor de tensión.

Despues se tiene que adaptar de forma comprensible para la CPU esta información, a este procesos se le denomina digitalización, que es el proceso de conversión de una señal analogica en digital. Lo que se realiza es una conversión A/D, puesto que en el caso de trabajar con microcontroladores solo pueden trabajar con señales digitales. Esta conversión se realiza con una precisión o resolución determinada.

ETAPAS:

-> Captación de la señal analógica de entrada mediante un sensor
->Lectura del valor de tensión.
->Conversión Analógico/digital

.En el caso del PIC 16F877a presenta un conversor análogo a digital con una resolución de 10 bits que puede leer los voltajes presentes en los pines de AN0 hasta AN7.


La conversión analogo-digital, se configura y controla con los registros ADCON0 y ADCON1, donde es posible configurar aspectos como el canal( pin del PIC) en que se hara la lectura, velocidad de muestreo, estado de la conversión, pines analogos o digitales, entre otros. Por otro lado la conversión resultante se alberga en los registros ADRESH y ADRESL como se muestra a continuación.




Canales usados como entrada analógica
En el binario formado por los bits PGF3 - PGF2-PGF1-PGF0, se debe ingresar la combinación correspondiente a los canales digitales o analogicos que se quieren usar como la siguiente gráfica nos muestra:

IV. DESARROLLO DE LAS TAREAS

Para el desarrollo de este laboratorio se colocaron las siguientes condiciones:

a. Donde dice '#devide adc=8' cambie por '#device adc=10', convierta la variable "lectura" en entero de 16 bits y la línea de 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 : " Tensión: 3.456V"

c. Agregar una condición IF para que cuando el voltaje supera 4.5 voltios, se mostrara un mensaje de advertencia en la primera linea del LCD.

En esta parte se logro cumplir el objetivo de crear la condición cuando el voltaje superaba los 4.5 voltios tendira que mostrar en la pantalla LCD un mensaje de advertencia, en este caso el mensaje fue "CORREporTUvida" de acuerdo a lo establecido.

d. La ultima condición que el docente indico que se debía cumplir es que aparezca valores de temperatura y de tensión pero que al 100°C la tensión este en un máximo de 2.5 V comos se muestra a continuación.

Y que al ser menor a 15 tendria que prender el LED_C3, al ser un valor mayor a 15 pero menor a 90 tendria que prender el LED_C2 y al ser mayor que 90 tendria que prender el LED_C1 como se muestra:

Toda la programación que se realizo fue la siguiente:



V. VIDEO DEMOSTRATIVO


link del video: https://youtu.be/mrQL-Hq1otg


VI. OBSERVACIONES Y CONCLUSIONES

a. Observaciones
  • Se observo que es necesario establecer bien los valores con los que se van a trabajar, ya que al inicio del laboratorio se tuvo una dificultad para trabajar con las dos variables de tensión y temperatura las cuales fueron solucionadas al introducir las variables en la programación en el caso del "float temperatura;".
  • Con respecto a las limitaciones de valores para cumplir los condiciones que se establecieron fue necesario utilizar limitaciones, cuando un numero es mayor a 15, cuando el valor esta de 15 a 90 y cuando el valor sea mayo que 90 delimitandolo.
  • Al inicio se coloco la definición a la variable con int lo que no permitía hacer el uso de las mediciones que se debían aplicar a este laboratorio la solución fue aplicar el float el cual nos permite hacer las mediciones respectivas.
  • Cuando se delimito el valor de la temperatura existía un conflicto en los LEDS que se programaban ya que al ser mayor de 90 prendían dos LEDS, cuando debía prender solo uno, en este caso se analizo la programación y se observo que solo esta mal establecido el valor de ">" el cual se corrigió y se cumplió con las condiciones establecidas.

b. Conclusiones
  • Se logro utilizar el PIC 16F877a logrando realizar las aplicaciones desarrollando y ejecutando la programación necesaria para cumplir con las mediciones de temperatura con las entradas analógicas del PIC.
  • Se comprobó la programación en el entrenador y en el Proteus para verificar el cumplimiento de la misma, en ambos casos funciono correctamente de acuerdo a los valores que se solicitaron.
  • Se concluye que es necesario saber las limitaciones con las que se va a trabajar plasmando las condiciones que se propongan, como es el caso de la temperatura tendría que marcar 100°C como máximo cuando la tensión sea 2.5V para lograr esto se dividió el valor de temperatura entre 10.3 cumpliendo asi el rango de medición propuesto.
  • Se logro comprender las entradas analógicas ya que convierten una magnitud analógica en un numero que se deposita en una variable interna del autómata, por lo tanto, lo que realiza es una conversión A/D, puesto que el autómata solo trabaja con las señales digitales

No hay comentarios:

Publicar un comentario