Practica2 Arpi Paez

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Aprendizaje Práctico – MANUAL DE PROCEDIMIENTO

CARRERA: INGENIERIA ELECTRONICA PRÁCTICA #2: Monitor de Señales Analógicas

Equipo Responsable CÁTEDRA O MATERIA REVISIÓN N°: 2


--------- RELACIONADA
Accesorios:
SISTEMAS MICROPROCESADOS
------- EDICIÓN: 2
# ESTUDIANTES/ PRÁCTICA:
DOCENTE: Fecha:
Steven Arpi, Juan Miguel Páez C/
Ing. Pablo Cevallos L. Msc 9 DE DICIEMBRE DE 2019
PRÁCTICA 2
Tema: Monitor de Señales Analógicas
Objetivo General: Diseñar un sistema que permita exhibir en un panel alfanumérico los valores de una señal
analógica de tensión y de un sensor analógico.

Especificaciones:
 El panel alfanumérico estará compuesto de displays de 7 segmentos, con un mínimo de 3 y máximo 4
dígitos.
 Implementar un primer conversor A/D para capturar una señal de entrada en el rango de -10v a 10v.
 Implementar un segundo conversor A/D para capturar la señal cualquier de los siguientes sensores
(temperatura, humedad, nivel de iluminación, presión – Ref: sensores laboratorio de sistemas
embebidos)
 Implementar un control que seleccione el parámetro que será visualizado (Señal analógica o Señal del
Sensor)
 El resultado de la conversión para ambas señales analógicas deberá ser exhibido en las unidades de
medida adecuadas a cada señal (voltios, grados centígrados, etc.)

Competencias asociadas al manejo de uC


 Programación del Microcontrolador en Lenguaje C
 Configuración de los puertos E/S digitales.
 Manejo del módulo ADC
 Multiplexación de dispositivos de visualización

Sustento teórico:
1. Displays 7 segmentos
Pantalla LED alfanumérica, 4 rojo brillante llevado segmento de la exhibición del dígito 7 para el
tablero de instrumentos
Detalles rápidos:

 Pantalla LED de 14 segmentos


 Aphanumeric de 4 dígitos
 Altura de Charcter: 0,54" (13.8m m)
 Siz: 48 x 20 x 15.5m m
 Ánodo común /cathode
 Alto rojo brillante
 Tablero de instrumentos de las FO, indicador digital
Especificaciones dominantes/características especiales:

Características:
 14-segment 0,54 exhibición alfanumérica de 4 dígitos de la pulgada LED
 Altura de carácter: 0,54 pulgadas (13.8m m)
 Dimensiones externas: 48 x 20 x 15,5 milímetros
 Color: Rojo ultra brillante
 Longitud de onda: 625-630nm
 Intensidad luminosa: 80-100 mcd
 Voltaje delantero: 1.8-2.2V
2. Conversión Análogo/Digital (A/D)
Un conversor o convertidor de señal analógica a digital (Conversor Analógico Digital, CAD; Analog-to-Digital
Converter, ADC) es un dispositivo electrónico capaz de convertir una señal analógica, ya sea de tensión o corriente,
en una señal digital mediante un cuantificador y codificándose en muchos casos en un código binario en particular.
Donde un código es la representación unívoca de los elementos, en este caso, cada valor numérico binario hace
corresponder a un solo valor de tensión o corriente.
2.1. Configuración
Al configurar y usar el ADC lo siguientelas funciones deben ser consideradas:
• Configuración del puerto
• Selección del canal
• Selección de referencia de voltaje ADC
• fuente de reloj de conversión ADC
• Control de interrupción
• Formateo de resultados
• Selección de activación de conversión
• Tiempo de adquisición de ADC
• Tiempo de precarga de ADC
• Condensador adicional de muestra y retención
• Conversión de muestra simple / doble
• Salidas de anillo protector
3. Multiplexación
Multiplexación es la técnica de combinar dos o más señales, y transmitirlas por un solo medio de transmisión. La
principal ventaja es que permite varias comunicaciones de forma simultánea, usando un dispositivo llamado
multiplexor. El proceso inverso se conoce como demultiplexación. Un concepto muy similar es el de control de
acceso al medio.
Los multiplexores son circuitos combinacionales con varias entradas y una única salida de datos. Están dotados
de entradas de control capaces de seleccionar una, y solo una, de las entradas de datos para permitir su
transmisión desde la entrada seleccionada hacia dicha salida.

4. Sensor de temperatura
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 Celsius equivale a 10 mV, por lo tanto
150 °C = 1500 mV
-55 °C = -550 mV1
Opera de 4v a 30v.
4.1. Características
 Está calibrado directamente en grados Celsius.
 La tensión de salida es proporcional a la temperatura.
 Tiene una precisión garantizada de 0.5 °C a 25 °C.
 Baja impedancia de salida.
 Baja corriente de alimentación (60 μA).
 Bajo costo.

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, el más común es el TO-92, utilizado por transistores de baja potencia.
5. MPLAB MCC
El MPLAB® Code Configurator (MCC) es un complemento para MPLAB X IDE que simplifica esto hasta una
serie de selecciones simples de los menús dentro del MCC. El MCC genera código de controlador utilizando
una interfaz gráfica de usuario (GUI). Los controladores generados controlan los periféricos en los
microcontroladores PIC®. La GUI proporciona un medio sencillo para configurar la configuración de los
periféricos.
Además, el MCC se usa para configurar y generar bibliotecas, lo que le permite configurar y generar código
para bibliotecas de software y periféricos fuera de chip. Los controladores o bibliotecas generados se pueden
usar en cualquier programa de aplicación de dispositivo PIC.
El MCC requiere la creación de un proyecto MPLAB X IDE o la apertura de un proyecto existente antes de
iniciar el complemento MCC. Esto es necesario ya que el MCC necesita saber que el dispositivo utilizado en
el proyecto tiene acceso a información específica del dispositivo, como registros, bits y configuraciones, y
para configurar la GUI de MCC.
El MCC genera archivos de origen y de encabezado en función de las selecciones realizadas en la GUI. Los
archivos generados se agregan al proyecto activo de MPLAB X IDE.
Procedimiento:
Esquema Circuito Electrico

Anexos: Esquemas, Diagramas de Flujo, Código de programación.


Diagrama de flujo:
INCIO

INICIALIZACION DEL SISTEMA POR MCC


INICIALIZACION PUERTOS= PUERTO D
DISPLAYS, RB7 RB6 SELECTOR DE CANALES
CH1 CH2, RA0 CANAL 1, RA1 CANAL 2, RC0
RC1 RC2 RC3 COMO HABILITADORES.

char vec[];
Creacion de variables int
captura, float resultado,
int dec-uni-y

NO

CH1==0 && CH1==0 &&


NO NO
CH2==1 CH2==1

SI SI

CAPTURA DE CAPTURA DE
CONVERSION ADC CONVERSION ADC
DE LA FUENTE DE LA FUENTE

TRANSFORMACION TRANSFORMACION
DEL VALOR DEL ADC DEL VALOR DEL ADC

CAPTURA DE
CAPTURA>512 CAPTURA<512 DIGITOS

SI SI

MULTIPLEXACION
CAPTURA DE CAPTURA DE
DE DIGITOS
DIGITOS DIGITOS

ENCENDIDO DEL
MULTIPLEXACION MULTIPLEXACION
SIGNO
DE DIGITOS DE DIGITOS

APAGADO DEL ENCENDIDO DEL


SIGNO SIGNO

Codigo MPLAB
#include "mcc_generated_files/mcc.h"

/*
Main application
*/
/*void multiplexacion(unsigned int z)
{
unsigned int entero;
unsigned char vec[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
entero=z;
unsigned char valores[3];
valores[0]=entero%10;
valores[1]=(entero/10)%10;
valores[2]=(entero/100)%10;
PORTD=0;
PORTD=vec[valores[0]];
PORTC=0b00000001;
__delay_ms(3);
PORTD=0;
PORTD=vec[valores[1]];
PORTC=0b00000010;
__delay_ms(3);
PORTD=0;
PORTD=vec[valores[2]];
PORTC=0b00000100;
__delay_ms(3);
}*/
unsigned char vec[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
void main(void)
{
// initialize the device
SYSTEM_Initialize();
float resultado;
unsigned int y;
unsigned int dec;
unsigned int cent;
unsigned int mil;
unsigned int z;
// When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
// Use the following macros to:
// Enable the Global Interrupts
//INTERRUPT_GlobalInterruptEnable();
// Enable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();
while (1)
{
// Add your application code
if(CH1_PORT==0 && CH2_PORT==1)
{
//Punto_SetHigh();
resultado=(ADCC_GetSingleConversion(Canal1))*(5.0/1023)*100;
//TRANSFORMACION DE 5V A -10V A 10V
y=(resultado*4)-1000;
if(ADCC_GetSingleConversion(Canal1)<512)
{
y=y*(-1);
mil=y/1000;
cent=y/100;
dec=(y-(cent*100))/10;

LATD=0b11000000;
LATC=0b00000001;
__delay_ms(5);
LATC=0x00;

LATD=vec[mil];
LATC=0b00000010;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);

LATD=vec[cent];

LATC=0b00000100;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);

LATD=vec[dec];
//PORTDbits.RD7=0;
LATC=0b00001000;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);
}
if(ADCC_GetSingleConversion(Canal)>512)
{

mil=y/1000;
cent=y/100;
dec=(y-(cent*100))/10;

LATD=vec[mil];
LATC=0b00000010;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);

LATD=vec[cent];
IO_RD7_SetHigh();
LATC=0b00000100;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);

LATD=vec[dec];
LATC=0b00001000;
__delay_ms(3);
LATC=0x00;
__delay_ms(3);
}

}
else if(CH1_PORT==1 && CH2_PORT==0)
{
resultado=(ADCC_GetSingleConversion(Canal2))*(5.0/1024)*100;
y=resultado;
//10mV=1Grado
cent=y/100;
dec=(y-(cent*100))/10;
uni=(y-(cent*100+dec*10));

LATD=vec[dec];
LATC=0b00000010;
__delay_ms(3);
LATC=0;
__delay_ms(3);

LATD=vec[uni];
LATC=0b00000100;
__delay_ms(3);
LATC=0;
__delay_ms(3);

LATD=0b00111001;
LATC=0b00001000;
LATC=0;
}
else
{
PORTD=0;
}
}
}
/**
End of File
*/
Conclusiones y recomendaciones:
La utilizacion de los puertos del micro controlador se configuran con los registros TRIS PORT, ademas,
consideramos que el puerto A tiene dos registros mas ADCON1 YCMCON ya que este puede ser una
entrada multiplexada Analogico digital. La programación estructurada es indispensable para un correcto
funcionamiento de microcontrolado. Para evitar los errores se recomienda comentar las líneas de código
mas importantes.
Bibliografía:
Microchip datasheed del Pic 16f18875

También podría gustarte