Seminario De Graduacin Microcontroladores Avanzados Tema Analizador Lgico

  • Slides: 22
Download presentation
Seminario De Graduación Microcontroladores Avanzados Tema: Analizador Lógico de Cuatro Señales Digitales de Entrada

Seminario De Graduación Microcontroladores Avanzados Tema: Analizador Lógico de Cuatro Señales Digitales de Entrada Realizado Mediante Microcontroladores Avanzados y GLCD. Integrantes: ○ Juan Pablo Orellana Valarezo ○ Christian Jhonny Alvarado Falcones

Antecedentes: Los Analizadores Lógicos se desarrollaron casi simultáneamente al mismo tiempo que los primeros

Antecedentes: Los Analizadores Lógicos se desarrollaron casi simultáneamente al mismo tiempo que los primeros microcontroladores que salieron al mercado. El Analizador Lógico es una herramienta clave para el desarrollo de los sistemas digitales, aunque existen similitudes con los osciloscopios.

Descripción General Del Proyecto Ø Nuestro proyecto consiste en el PIC 16 F 887

Descripción General Del Proyecto Ø Nuestro proyecto consiste en el PIC 16 F 887 que básicamente toma 4 señales digitales las que se mostraran en una pantalla GLCD dependiendo de la selección de frecuencia de muestreo para su posterior analisis.

Fundamento Teórico Software: Ø Mikro. C PRO for PIC v 4. 15 Ø Proteus

Fundamento Teórico Software: Ø Mikro. C PRO for PIC v 4. 15 Ø Proteus v 7. 1 SP 2

Fundamento Teórico Hardware: Ø PIC 16 F 887 Oscilador interno seleccionable de 8 a

Fundamento Teórico Hardware: Ø PIC 16 F 887 Oscilador interno seleccionable de 8 a 31 MHz. Hasta 36 pines de entrada/salida usando el oscilador interno. 14 entradas A/D contra 8 del PIC 16 F 877 A. Capacidad Interrupciones, Tres timers/counters (8, 16 y 8 bits). Convertidor A/D de 14 canales, 10 bit. Ø GLCD KS 0108 Conformado por una matriz de puntos de visualización de 128 pixeles de largo por 64 pixeles de alto. Su iluminación de fondo es variable RGB, además control de brillo. Fácil manejo con microprocesadores de 8 -Bits. Bajo poder de consumo. Contiene dos controladores internos un KS 0108 B y KS 0107 B.

Descripción E Implementación Del Proyecto v. Diagrama de Flujo:

Descripción E Implementación Del Proyecto v. Diagrama de Flujo:

Descripción E Implementación Del Proyecto v. Convertidor A/D: v Dos potenciómetros 0 -5 v

Descripción E Implementación Del Proyecto v. Convertidor A/D: v Dos potenciómetros 0 -5 v (RA 1, RA 2) 10 bits. v Pot 1 selecciona frecuencia y Pot 2 selecciona Factor de Multiplicación. Factor de conversión A/D Potenciómetro 1 Factor de conversión A/D Potenciómetro 2

Descripción E Implementación Del Proyecto v. Uso del Timer 1: señales 5 Hz-20 Hz

Descripción E Implementación Del Proyecto v. Uso del Timer 1: señales 5 Hz-20 Hz v 0 x. FFFF = 65535 interrupciones. v Cristal externo de 4 MHz, es decir 1 us cada instrucción. v Hasta 65, 535 ms sin pre-escalador, hasta 524, 28 ms con pre-escalador. v Tomamos 4 muestras de un periodo completo. v Ejm: 20 Hz, es decir con periodo de 0, 05 s generaremos interrupciones cada 12, 5 ms.

Descripción E Implementación Del Proyecto v. Uso del Timer 1: señales 50 Hz-2 KHz.

Descripción E Implementación Del Proyecto v. Uso del Timer 1: señales 50 Hz-2 KHz. v Tomamos muestras saltando uno o varios periodos dependiendo de la señal que vamos a mostrar. Interrupciones Generadas Saltando un Periodo. v Con cuatro periodos de la señal de la entrada podemos graficar un periodo completo en la GLCD.

Descripción E Implementación Del Proyecto v Gráficos en la GLCD: v Glcd_Dot(x, y, color),

Descripción E Implementación Del Proyecto v Gráficos en la GLCD: v Glcd_Dot(x, y, color), función principal para graficar, x toma valores de 0 -127, y toma valores de 0 -63 y color valores entre 0, 1 y 2. v Barrido horizontal hacia la derecha. v Se grafica dos pixeles por cada interrupción en cada uno de los cuatro canales. v Un periodo completo se grafica en 8 pixeles. v GLCD tiene 128 pixeles a lo ancho, por lo que se graficará 16 periodos completos de la señal a la entrada.

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v “Glcd_Dot” tarda aproximadamente 525

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v “Glcd_Dot” tarda aproximadamente 525 us. v 16 veces “Glcd_Dot” = 8, 4 ms v Tiempo total en ejecutarse función interrupción es de 8, 6 ms. v Se podría graficar señales desde 1. 91 Hz hasta 116, 28 Hz, (8, 6 – 524, 28 ms), tomando solo una muestra por periodo. v Tomando cuatro muestras por periodo el rango seria de 0, 48 Hz - 29, 07 Hz. v Procedimiento valido para frecuencias 5, 10 y 20 Hz. v Para frecuencias mayores a 20 Hz, tomamos muestras saltando 10 periodos de la señal de entrada para poder observar señales de menos frecuencia.

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v Ejm: 50 Hz, calculamos

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v Ejm: 50 Hz, calculamos un tiempo de interrupción cada 5 ms, tomando 4 muestras, pero la limitación de que debe ser entre 8, 6 ms y 524, 28 ms no nos permite programarlo así, ya que obtendríamos errores, si saltamos un periodo para tomar cada muestra entonces deberíamos sumar 20 ms de un periodo, obteniendo 25 ms, valor que se encuentra dentro del rango, pero para frecuencias menores a 50 Hz, en este caso, existirán errores.

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v Por esto extendemos la

Descripción E Implementación Del Proyecto v Limitaciones del Proyecto: v Por esto extendemos la interrupción hasta 10 veces su periodo a fin de conseguir poder observar hasta 10 señales menores a la frecuencia seleccionada. v Por lo que la limitación general que tiene nuestro proyecto es que para frecuencias mayores a 20 Hz, las gráficas pueden ser de señales con intervalos de frecuencia(f); 1*f/10; 2*f/10; 3*f/10…… 9*f/10; f y además 2 f. Tiempo de cada Interrupción considerando periodos omitidos

Programación del PIC v. Programa Principal:

Programación del PIC v. Programa Principal:

Simulaciones y Pruebas Experimentales v. Implementación en Protoboard:

Simulaciones y Pruebas Experimentales v. Implementación en Protoboard:

Simulaciones y Pruebas Experimentales v. Simulacion en Proteus: Frecuencia: 5 Hz CH 1: 5

Simulaciones y Pruebas Experimentales v. Simulacion en Proteus: Frecuencia: 5 Hz CH 1: 5 Hz. CH 2: 3 Hz. CH 3: 1 Hz. CH 4: 10 Hz.

Simulaciones y Pruebas Experimentales v. Tarjeta Electrónica PCB:

Simulaciones y Pruebas Experimentales v. Tarjeta Electrónica PCB:

Simulaciones y Pruebas Experimentales v. Proyecto Final:

Simulaciones y Pruebas Experimentales v. Proyecto Final:

Conclusiones: 1. - Este proyecto ha sido de mucha importancia para ampliar nuestros conocimientos

Conclusiones: 1. - Este proyecto ha sido de mucha importancia para ampliar nuestros conocimientos sobre Microcontroladores, principalmente el uso de interrupciones ya sean estás externas o como temporizadores, además el uso de la conversión analógico – digital A/D y el uso de la librería propia de Mikro. C para graficar en una GLCD. 2. - El analizador lógico nos permite observar varias señales al mismo tiempo a diferencia de un osciloscopio que nos permite observar una o máximo dos señales dependiendo del fabricante, estos analizadores lógicos podemos implementarlos con más señales a la entrada, pero para este proyecto tendría el inconveniente de que aumentaría un poco más las limitaciones por lo que lo ideal fue hacerlo para cuatro señales digitales. 3. - Se desarrollo un analizador lógico usando el PIC 16 F 887 a diferencia de otros microcontroladores más avanzados que por poseer mayor cantidad de memoria se podría grabar en una memoria EPROM para mejor manejo. Con este pic logramos sacar de una forma directa las señales a la GLCD sin ser

Conclusiones: 4. - La limitación para mostrar señales mayores a 20 Hz, en la

Conclusiones: 4. - La limitación para mostrar señales mayores a 20 Hz, en la que solo se pueden observar hasta 10 señales de menor frecuencia en intervalos iguales puede ser resuelta saltando más de 100 periodos en cada interrupción, pero esta solución trae consigo el inconveniente que las interrupciones tardaran mucho tiempo más en ejecutarse, tomando en cuenta el tiempo máximo de interrupción es de 524, 28 ms por 64 veces que grafica a lo ancho de la GLCD tomaría 33, 55 s, en el caso más largo, lo que es un tiempo demasiado extenso por lo que se prefirió dejarlo con la limitación. 5. -En la realización de este proyecto fue primordial el uso de las interrupciones, que fue el caso al que tuvimos que profundizar para el apropiado uso con las diferentes señales digitales que se puedan presentar a la entrada del dispositivo, específicamente el uso del Timer 1. Es de vital importancia la sincronización de las interrupciones con las señales ya que un pequeño margen de error hará que la imagen mostrada en la GLCD no corresponda a

Recomendaciones Investigar el correcto uso de las interrupciones como temporizadores, ya que base de

Recomendaciones Investigar el correcto uso de las interrupciones como temporizadores, ya que base de nuestro proyecto las usa y es de mucha importancia su correcto funcionamiento a fin de evitar errores. Revisar los datasheet del el PIC 16 F 887 y de la GLCD, para correcto funcionamiento ya que un error en las conexiones de estos dispositivos puede ocasionar que se quemen o su función sea errónea. Verificar la versión de Software que se usa, en nuestro caso tuvimos una complicación con la GLCD por la versión de Mikro. C PRO que estábamos usando, gracias al desarrollo de una nueva versión por MIKROELECTRONICA se pudo solucionar estos inconvenientes, de igual manera para el uso de el Software Proteus. Para nuestro proyecto el usuario final deberá entender bien las limitaciones ya que de no hacerlo, puede estar observando imágenes equivocadas que no correspondan a las señales emitidas en la entrada. En lo posible se debe aprovechar al máximo los recursos del pic, en este proyecto para la selección de la frecuencia de muestreo se podía usar un switch rotativo, pero con la deficiencia de que se debían usar mas puertos E/S por lo que lo más adecuado fue usar la conversión A/D con dos potenciómetros y tan solo usando dos puertos E/S del pic.

Gracias…

Gracias…